سلام دوستان من درگاه پرداخت ساامان رو پیاده کردم . به این مشکل بر میخورم . کسی میفهمه چی میگه این ؟
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://acquirer.samanepay.com/payments/referencepayment.asmx?wsdl' : failed to load external entity "https://acquirer.samanepay.com/payments/referencepayment.asmx?wsdl"
بنده شبیه این مشکل رو داشتم ، شما قبل از هر چیز از تایپ داده ها و کلید های api مطمئن باشید
مرحله بعدی مربوط میشه به SSL ! که روی لوکال یا بعضی سرور ها مشکل داره توی لوکال حتما چک کنین که OpenSSL فعال باشه و اگر نبود اضافه کنین ( آموزشش هم توی نت سرچ کنی زیاده )
موارد زیر رو چک کنین
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
ماژول های زیر فعال باشند :
SOAP
php_openssl
openssl
curl
در فایل php.ini مورد زیر رو از کامنت خارج کنین
;extension=php_openssl.dll
لینک مرتبط :
https://stackoverflow.com/questions/25142227/unable-to-connect-to-wsdl
https://stackoverflow.com/questions/5065281/how-to-enable-ssl-in-wamp-server
--- نقل قول : ( روش تست شده )
The easy way for local host SSL / HTTPS communication:
Go download: cacert.pem file
https://codeload.github.com/VersatilityWerks/5719158/zip/master
In php.ini * un-comment and change:
curl.cainfo = "c:/wamp/bin/php/php5.5.12/cacert.pem"
You can find where your php.ini file is on your machine by running php --ini in your CLI
I placed my cacert.pem in the same directory as php.ini for ease.
مشکل یا از روش فراخونی یا از بانک سامان هستش چون نمیتونه اطلاعاتی رو از ادرس مورد نظر لود کنه مستندات api سامان رو چک کنید
اصلا داخل try catch بزارید مگه هر چی تو try catch میره نباس خطا بده ؟
یه مشکلی در لود wsdl سامان داره
بله . استاد بهترین روش کال کردن وب سرویسای سواپ چیه ؟ کد زیر رو ببیینید . درسته ؟
$soapClient = new SoapClient('https://acquirer.samanepay.com/payments/referencepayment.asmx?wsdl',
array('trace' => true));
$verifyResult1 = $soapClient->VerifyTransaction($RefNum, $MID);
یا اینکه باید با استفادهع از xml اینکارو کرد ؟
چک کنید حتما SoapClient روی سرورتون فعال باشه در غیر اینصورت میتونید از کلاس nusoap هم استفاده کنید ولی معمولا روی هاستها SoapClient رو فعال میکنن
بنده شبیه این مشکل رو داشتم ، شما قبل از هر چیز از تایپ داده ها و کلید های api مطمئن باشید
مرحله بعدی مربوط میشه به SSL ! که روی لوکال یا بعضی سرور ها مشکل داره توی لوکال حتما چک کنین که OpenSSL فعال باشه و اگر نبود اضافه کنین ( آموزشش هم توی نت سرچ کنی زیاده )
موارد زیر رو چک کنین
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
ماژول های زیر فعال باشند :
SOAP
php_openssl
openssl
curl
در فایل php.ini مورد زیر رو از کامنت خارج کنین
;extension=php_openssl.dll
لینک مرتبط :
https://stackoverflow.com/questions/25142227/unable-to-connect-to-wsdl
https://stackoverflow.com/questions/5065281/how-to-enable-ssl-in-wamp-server
--- نقل قول : ( روش تست شده )
The easy way for local host SSL / HTTPS communication:
Go download: cacert.pem file
https://codeload.github.com/VersatilityWerks/5719158/zip/master
In php.ini * un-comment and change:
curl.cainfo = "c:/wamp/bin/php/php5.5.12/cacert.pem"
You can find where your php.ini file is on your machine by running php --ini in your CLI
I placed my cacert.pem in the same directory as php.ini for ease.
برای لاراول میتونید از پکیج زیر استفاده کنید (بانک سامان نیز ساپورت میشه)
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟