5

直到今天,我一直在使用新的 PayPal PHP SDK 成功开发 PayPal 的沙箱,该 SDK 预先配置为使用此沙箱 URL:

https://api.sandbox.paypal.com/2.0/(Chrome
中的 URL 当前返回:“错误 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL 协议错误。”)

但是今天我的 webapp 由于 SSL 握手失败而崩溃: Uncaught exception 'PPConnectionException' with message 'error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure' in ./paypal-sdk-1.0.92/lib/PPHttpConnection.php:185

自昨天以来(我的 web 应用程序上次工作时)发生的唯一事件是我重置了我的沙盒“卖家”帐户,根据这篇文章可能已经重置了 API 凭据。由于我已经手动更新了 API 凭据,并且已经验证它们是正确的,所以我不能说它们在这一点上是否有过错误。

经过大量搜索,我发现其他网络文章说 URL 应该是:

https://api-3t.sandbox.paypal.com/2.0/(Chrome
中的 URL 返回 SOAP 响应。)

所以我将我的 PayPal PHP SDK 包含的 URL 从https://api.sandbox.paypal.com/2.0/更改为https://api-3t.sandbox.paypal.com/2.0/并且它再次完美运行。这里发生了什么?非“3t”沙盒 URL 现在是否被破坏了?

编辑:在收到@Win 和@JoelP 的反馈后,我已通过 PayPal SDK github 提交了一份错误报告,因此 PayPal 的某人可以解释今天发生的变化,并修复 SDK 以在使用签名凭据时具有正确的 URL。

编辑 2: PayPal几天前解决了这个问题。它将在下一个版本中可用。https://github.com/paypal/SDKs/issues/22#issuecomment-8660682

感谢大家的帮助。

4

3 回答 3

5

证书和签名之间的区别

在此处输入图像描述

签名是访问 PayPal API 的首选方式

于 2012-09-13T18:40:42.940 回答
4


问题已修复,代码已推送到 master 分支。在接下来的几天里,您应该会在 x.com 上看到更新后的 sdk 包。

在此处参考 GitHub 问题https://github.com/paypalx/SDKs/issues/22

谢谢,普拉萨纳。

于 2012-09-21T04:06:42.503 回答
2

我无法回答这个问题,但我可以说我刚刚发现了同样的问题。我确认 jimp 将 SDK 的服务端点配置更改为的解决方法:

service.EndPoint="https://api-3t.sandbox.paypal.com/2.0/"

解决了我的问题。(这在 Paypal SDK config/sdk_config.ini 文件中)。

就我而言,我使用的是 PHP SDK。我没有更改沙盒帐户上的任何内容。我最好的猜测是原始 URL 只是暂时关闭了。(Firefox 显示“安全连接失败”警报)。

于 2012-09-13T19:10:54.470 回答