【发布时间】:2015-01-01 18:34:21
【问题描述】:
我在一个高度依赖 Paypal 的网站上工作了很长时间。没有它,真的没用。
我的时间大约在凌晨 1 点左右(我在 CET 时区),一切都运行良好,我完善了代码和功能,它按应有的方式运行。我在睡觉前做了三次检查,确保一切正常。
我早上醒来,发现与 Paypal 没有任何关系。在向您展示实际代码和错误之前,先解释一下我正在使用的内容。我正在使用 Express Checkout 和 Paypal Adaptive Payments SDK。
我在 developer.paypal.com 上创建了一些“虚拟”帐户,以模拟促进者(所有者)和买家互动,因为我有所有者向用户付款的场景,反之亦然。无论如何,他们都工作得很好,现在他们都抛出了这个错误(在 Adaptive Payments SDK 中,它告诉我哪一行代码是错误的,而在 Express Checkout 中,因为这是通过文档完成的代码,它没有显示在哪个文件中错误是但它是相同的错误):
'错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报 握手失败'
现在,当我看到这个帖子 https://devblog.paypal.com/poodle-ssl-3-0-vulnerability/ 你刚刚完全禁用了 SSL 之后,我意识到问题实际上出在了那里。您希望您的用户现在使用 TLS,这完全没问题。我三次检查我的服务器是否启用了 TLS,并且确实启用了,并且我更改了(已经超过一百万次)我的配置设置以在 cURL 中使用该 TLS(因为我使用的是 PHP),方法是:
curl_setopt($ch, CURLOPT_SSLVERSION, 1);(这就是它在 Express Checkout 和 Adaptive Payments 中的样子,它只是一个关联数组,但两者实际上是一样的)
我还在某个地方和您的建议中找到了实际更新我的 api 凭据的信息。我这样做了。我去了 paypal.com -> API,然后单击了更新,它起作用了,但后来我注意到在我的 developer.paypal.com 帐户上,我有几个虚拟帐户,没有任何改变。我应该手动更新这些还是什么?
编辑:
这是发送给 Paypal 支持的,我真的很着急,无法再写完整的东西,很抱歉!感谢任何真正花时间阅读它的人,问题已修复。
在我的 PPHttpConfig.php 文件中添加 CURLOPT_SSL_CIPHER_LIST => 'TLSv1' 解决了这个问题! :)
【问题讨论】: