0

自从使用 Paypal Sandbox 几天以来,我的头发都掉光了。我的 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。而已。

4

1 回答 1

1

这是因为 CURL 在 PHP 7 legacy 中使用的 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 库...

于 2016-11-28T15:07:11.093 回答