2014-03-29 63 views
0

出于某种原因,当我尝试连接到PayPal沙箱API并使用我的XAMPP服务器执行SetExpressCheckout时,它失败。 我打开错误报告上,这是我得到的消息:Paypal SANDBOX SetExpressCheckout停止工作

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

我已经做了一些测试,它只是没有任何意义:

  1. 我可以连接到使用正确的活API证书。
  2. 我可以使用不正确的凭据连接到实时API。
  3. 不能用正确或不正确的凭据连接到沙箱API。
  4. 我可以使用Web浏览器使用正确或不正确的凭据连接到实时API和沙箱API。
  5. 如果我输入一个无效的网站名称,它会给我一个不同的警告(如下)。

警告:

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

那么,为什么当我连接到https://api-3t.sandbox.paypal.com/nvp/使用我的本地服务器没有响应?我没有改变代码,它仍然与贝宝直播一起工作,所以突然在这里发生了什么?

+0

我使用'https:// api-3t.paypal.com/nvp /'连接到现场Paypal API和'https://api-3t.sandbox.paypal.com/nvp /'连接到沙箱API –

回答

2

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

+1

太棒了!感谢那。我在我的stream_context_create()中添加了''protocol_version'=> 1.1,并在我的头文件中添加了'Connection:Close',它工作正常! –