Paypal SANDBOX SetExpressCheckout 停止工作

Posted

技术标签:

【中文标题】Paypal SANDBOX SetExpressCheckout 停止工作【英文标题】:Paypal SANDBOX SetExpressCheckout stopped working 【发布时间】:2014-05-09 02:22:06 【问题描述】:

由于某种原因,当我尝试连接到 paypal 沙盒 API 并使用我的 XAMPP 服务器执行 SetExpressCheckout 时,它失败了。 我打开了错误报告,这是我收到的消息:

Warning: file_get_contents(https://api-3t.sandbox.paypal.com/nvp/): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

我做了一些测试,但没有任何意义:

    我可以使用正确的凭据连接到实时 API。 我可以使用不正确的凭据连接到实时 API。 我无法使用正确或不正确的凭据连接到沙盒 API。 我可以使用网络浏览器使用正确或错误的凭据连接到实时 API 和沙盒 API。 如果我输入了一个无效的网站名称,它会给我一个不同的警告(如下)。

警告:

Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: No such host is known.

那么为什么当我使用本地服务器连接到https://api-3t.sandbox.paypal.com/nvp/ 时没有响应?我没有更改代码,它仍然可以与 Paypal live 一起使用,所以这里突然发生了什么?

【问题讨论】:

我使用https://api-3t.paypal.com/nvp/ 连接到实时Paypal API 和https://api-3t.sandbox.paypal.com/nvp/ 连接到沙盒API 【参考方案1】:

从 3 月 25 日起,PayPal 不再支持 HTTP/1.0,see details here。你可以找到有用的this post

【讨论】:

太棒了!感谢那。我将'protocol_version' => 1.1, 添加到我的stream_context_create() 并将Connection: Close 添加到我的标题中,它工作正常!

以上是关于Paypal SANDBOX SetExpressCheckout 停止工作的主要内容,如果未能解决你的问题,请参考以下文章

无法解析远程名称:'api-3t.sandbox.paypal.com'

访问 https://api.sandbox.paypal.com 时得到 Http 响应码 400

如何使用 sandbox.paypal 获取 IPN 进行支付

PayPal Sandbox 500 代理错误 - PayPal 自适应

访问 PayPal Sandbox 交易服务时远程证书无效

在 Sandbox 中使用 PayPal .NET SDK 验证 PayPal Webhook 调用