php - 使用 fsockopen 通过 TLS 而不是 SSL 的 PayPal ipn 处理程序

标签 php paypal

我正在尝试设置 Paypal IPN 处理程序脚本,但出现以下错误。

$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 

最佳答案

您不能像在 curl 中那样通过 fsockopen() 显式设置标志以使用 SSL,您也许可以使用 SSL 包装器来代替,看看它是否有效,

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

关于php - 使用 fsockopen 通过 TLS 而不是 SSL 的 PayPal ipn 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36953261/

相关文章:

cordova - 该应用程序未获准在此类付款中使用以下参数

PayPal Braintree 集成 - 什么是访问 token ?

asp.net-mvc-3 - 如何使用 asp.net mvc 3 在注册按钮上重定向到 paypal 页面

paypal - 如何关闭 PayPal 客户收据

用于将文本文件插入数据库的php代码

php - 从 powershell 传递到批处理时丢失部分 url

使用txt文件的PHP评论框

PHP:合并/添加多维数组?

php - 从 PHP 和设置权限在 phpBB3 中创建论坛

javascript - jquery表单提交而不点击提交按钮