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 进行支付