2016-04-30 4 views
2

Я пытаюсь настроить сценарий обработчика IPS PayPal, но я получаю ошибку ниже.PayPal ipn обработчик через TLS вместо SSL с помощью fsockopen

$fp = fsockopen('tls://www.sandbox.paypal.com', 443, $errno, $errstr, 30); 

Эта линия вызывает эти ошибки ниже -

ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: 
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure /mypaypalipn.php 988 
ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): Failed to enable crypto /mypaypalipn.php 988 
ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): unable to connect to tls://www.sandbox.paypal.com:443 (Unknown error) /mypaypalipn.php 988 

Я пытался искать здесь, на StackOverflow и понять, что его версия SSL вызывает эту проблему и решение, как изменение

curl_setopt($ch, CURLOPT_SSLVERSION, 3); 

до:

curl_setopt($ch, CURLOPT_SSLVERSION, 4); 

Но я не использую cURL. Что мне делать, чтобы заставить его работать с fsockopen?

Это из phpinfo -

Зарегистрированные поток Торцевые транспорты

tcp, udp, unix, udg, ssl, sslv3, sslv2, tls 

Apache/2.4.12 

SSL Version: OpenSSL/1.0.1e 
+0

Я только что сменил код на cURL, и теперь он отлично работает. – NoNice

ответ

0

Вы не можете явно установить флаг для использования SSL с fsockopen() как в завиток, возможно, вы можете использовать SSL обертку вместо увидеть, что если работы,

fsockopen('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30) 
+0

Да, я уже это пробовал - раньше он работал, но Paypal теперь приводит к tls по соображениям безопасности. – NoNice

Смежные вопросы