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获得响应,但模拟的响应返回已经过验证

Paypal IPN 系统无法正常工作?

无法在 Codeigniter 中接收 PayPal IPN 响应

PHP Paypal“官方”IPN 监听器无法正常工作

无法在 paypal 中配置 PDT 或 IPN