Paypal IPN - 无法打开套接字 - OVH mutu
Posted
技术标签:
【中文标题】Paypal IPN - 无法打开套接字 - OVH mutu【英文标题】:Paypal IPN - unable to open socket - OVH mutu 【发布时间】:2016-07-19 17:29:16 【问题描述】:自从使用 Paypal 沙盒几天以来,我的头发都掉光了。我的 IPN 不再工作了。我无法与 fsockopen() 或 Curl 建立 SSL 连接。我尝试过使用不同的帐户和不同的主机。什么都没有。
$host = 'www.sandbox.paypal.com';
if(function_exists('openssl_open'))
$fp = fsockopen('ssl://'.$host,443,$errno,$errstr,30);
if($fp)
echo "success : ";
var_dump($fp);
else echo "echec : ".$errno." | ".$errstr;
fclose($fp);
这个短代码返回 echec : 0 |
响应与 www.paypal.com 相同
奇怪的是,通过 www.google.com,我有:成功:资源(2)类型(流)
我使用的是 php 7,它通常应该具有 Paypal 要求的最新版本(g5、SHA256 ...)。有没有办法与 Paypal 建立这种联系?
更新:我检查了https://www.sha2sslchecker.com/ 上的SHA。我由 OVH 托管在一个共享计划中。只有 SHA1 可用。 Paypal 现在需要 SHA2。就是这样。
【问题讨论】:
【参考方案1】:这是因为 PHP 7 legacy 中 CURL 使用的 OVH openssl 版本 0.9.8。更改为 PHP 7 Estable 和 cgi(此更新 openssl 库版本为 paypal 所需的 1.0.1t)
我使用这个 ipn 验证器并且工作没有问题: https://github.com/paypal/ipn-code-samples
阅读和检查 PHP 必备条件: https://github.com/paypal/tls-update ...PHP 使用系统提供的 curl 库。 curl 库需要 OpenSSL 1.0.1c 或更高版本。您可能还需要更新您的 SSL/TLS 库...
【讨论】:
以上是关于Paypal IPN - 无法打开套接字 - OVH mutu的主要内容,如果未能解决你的问题,请参考以下文章
nodejs - 无法让 paypal-ipn 工作。 Paypal 不断返回“无效”
(Laravel)无法从PayPal IPN获得响应,但模拟的响应返回已经过验证