我在prestashop 1.6中配置了PayPal沙盒帐户(测试)模式 昨天工作正常突然我得到了一个错误:
Error:
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Connect failed with fsockopen method
我该如何解决?
答案 0 :(得分:0)
PayPal更新了其沙箱环境,仅允许TLS 1.2连接,以提高安全性并为将来的PCI合规做好准备。您可以在PayPal 2016 Merchant Security Roadmap Microsite上找到有关更新的更多信息。
如果您使用任何PayPal SDK,您可以查看PayPal TLS Update存储库,以获取有关您可能需要的SDK或环境升级的信息。请注意,在命令行(例如PHP CLI)上运行与应用程序托管环境(例如Apache中的PHP模块)之间可能存在环境差异,因此请确保更新所有相关环境。
答案 1 :(得分:0)
我经历过同样的错误。这是由于PayPal最近的更新:https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1766
您可以通过将其添加到CURL选项来修复它:
curl_setopt($ch, CURLOPT_SSLVERSION , 1);
答案 2 :(得分:0)
我更改了modules / paypal / api / paypal_connect.php中的以下内容
@curl_setopt($ch, CURLOPT_SSLVERSION, defined('CURL_SSLVERSION_TLSv1') ? CURL_SSLVERSION_TLSv1 : 1);
作为
@curl_setopt($ch, CURLOPT_SSLVERSION, defined('CURL_SSLVERSION_TLSv1_2') ? CURL_SSLVERSION_TLSv1_2 : 6);
它在两种模式下都适用于我。试一试:)