PayPal沙盒API SSL握手错误突然开始使用PayPal PHP SDK?

5
直到今天,我一直使用预先配置了此沙盒URL的新PayPal PHP SDK成功地在PayPal的沙盒中进行开发:https://api.sandbox.paypal.com/2.0/(Chrome浏览器当前的URL返回:“错误107(净::ERR_SSL_PROTOCOL_ERROR):SSL协议错误”)但今天我的Web应用程序因为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昨天以来唯一发生的事件是我重置了我的沙盒“销售商”帐户,这可能已经重置了API凭据。根据这篇文章。既然我已经手动更新了API凭据并验证了它们的正确性,那么我现在不能说它们是否曾经出错过。

经过大量搜索,我发现其他网站上提到的URL应该是:https://api-3t.sandbox.paypal.com/2.0/(Chrome浏览器返回一个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
感谢大家的帮助。
3个回答

5

我知道了。不同的URL有意义,但仍然无法说明为什么SDK中的原始URL直到今天都能正常工作。感谢您确认了正确的配置。 - jimp
错误的URL是如何在第一时间工作的仍然是一个谜,但是您提供的信息帮助我解决了这个问题,并意识到我需要通知PayPal SDK开发团队。 - jimp

4
问题已经解决,代码已经推送到主分支。您应该在未来几天内在x.com上看到SDK的更新捆绑包。
请参考GitHub问题https://github.com/paypalx/SDKs/issues/22
谢谢, Prasanna.

谢谢。我收到了关于此事的电子邮件通知,我正准备回来发布它。 - jimp

2

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

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

问题已解决。(这是在Paypal SDK配置/sdk_config.ini文件中)。

在我的情况下,我正在使用PHP SDK。我没有改变我的沙盒账户上的任何内容。我猜测原始URL可能只是暂时不可用。(Firefox显示“安全连接失败”警报)。


谢谢您确认这个问题。我刚刚在SDK的Github上发布了一个错误报告,希望PayPal的某个人能够解决这个问题或更新SDK。最新的SDK仍然使用非“3t” URL。 - jimp
只是针对“(Firefox显示“安全连接失败”警报)”添加一个快速评论;这是https://api.paypal.com/端点的预期行为。 https://api.paypal.com/需要客户端(API)证书来完成SSL链。如果没有,它将无法通过SSL验证,因此返回错误。 - Robert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接