Paypal 无法连接到沙盒服务器。 Return 错误 14077410(sslv3 警报握手失败)

Paypal can not connect to Sandbox server. Return error 14077410 (sslv3 alert handshake failure)

连接沙箱 paypal 的网站一直在工作,直到最近

它可以连接 will curl

但是第二次发送请求时

显示

的错误

错误:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

我尝试了一些在线参考并设置了它的 SSL SHA-256 证书,但它 return 同样的错误。其他人建议在 curl 连接时切换到 TLS,但它可能不适合,因为我处理过很多项目。

是否有将沙盒贝宝与 SSLv3 连接的建议?感谢您的帮助。

您必须将 cURL 请求切换为使用 TLS 1.2 才能使用 PayPal 沙箱。不幸的是,我在同一条船上,没有办法绕过它。他们几天前刚刚激活了沙盒环境的变化。

https://devblog.paypal.com/upcoming-security-changes-notice/

我将添加一些额外的信息,因为第一个答案并没有真正涵盖所有要点。

Paypal 已开始推出一些升级,沙箱现在要求所有请求都使用 TLS 1.2,并且 production systems will also require this from June 2016 onwards

要支持此功能,您需要:

  • 确保您的服务器具有 OpenSSL 1.0.1 或更高版本(这是在添加 TLS 1.2 支持时)。
    openssl version 将显示您的版本号。

  • 一旦满足该条件,在您的 PHP 代码中,您可以使用以下命令将 SSLVERSION 强制为 TLS 1.2:

    curl_setopt($curl, CURLOPT_SSLVERSION, 6);
    

或者,如果您想要一个不那么棘手的解决方案,可以在握手期间自动启动正确的 SSL 版本,客户端和服务器在握手期间比较可用的密码以找到通用协议。您似乎正在使用 PHP + curl,因此您需要 PHP 5.5.19+ 和 curl 7.29+ 才能实现。

我遇到了错误 14077410 和 SSL3 的类似问题。我将 PHP 服务器从 5.4 升级到 7.0,错误消失了。