php – 无法通过cURL连接到PayPal API

前端之家收集整理的这篇文章主要介绍了php – 无法通过cURL连接到PayPal API前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过“经典”NVP API设置PayPal Express付款.

尝试使用cURL从我的服务器连接到PayPal-SandBox,连接在大约2分钟后停顿并超时.

我正在使用文档中的example call

curl -v --insecure  https://api-3t.sandBox.paypal.com/nvp  -d  "USER=platfo_1255077030_biz_api1.gmail.com&PWD=1255077037&SIGNATURE=Abg0gYcQyxQvnf2HDJkKtA-p6pqhA1k-KTYE0Gcy1diujFio4io5Vqjf&METHOD=SetExpressCheckout&VERSION=78&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=19&PAYMENTREQUEST_0_CURRENCYCODE=USD&cancelUrl=http://www.yourdomain.com/cancel.html&returnUrl=http://www.yourdomain.com/success.html"

外壳输出为:

* About to connect() to api-3t.sandBox.paypal.com port 443 (#0)
* Trying 173.0.82.83... Connection timed out
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host

当我尝试通过PHP卷曲这样做,我没有得到任何错误,只是一个空的资源句柄.

我可以轻松地从我的本地机器和我可以访问的其他服务器上执行请求(并获取正确的数据),所以我猜这是一些服务器端配置错误.不是服务器人,我有点无知.

启用cURL并在PHPinfo中记录以下内容

libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6

openSSL也被启用.此外,当尝试连接到实时版本的API时,我遇到了相同的问题.

A)首先尝试wget https://api-3t.sandBox.paypal.com/nvp,看看您是否可以通过“错误请求”回复获得简单的连接,如果没有被Paypal服务器或您的防火墙阻止阻止你在443端口访问paypal

B)尝试添加自定义标题:-H“主机:api-3t.sandBox.paypal.com”

curl -v -insecure https://api-3t.sandBox.paypal.com/nvp -d“USER = platfo_1255077030_biz_api1.gmail.com& PWD = 1255077037& SIGNATURE = Abg0gYcQyxQvnf2HDJkKtA-p6pqhA1k-KTYE0Gcy1diujFio4io5Vqjf& METHOD = SetExpressCheckout& VERSION = 78& PAYMENTREQUEST_0_PAYMENTACTION = SALE& PAYMENTREQUEST_0_AMT = 19& PAYMENTREQUEST_0_CURRENCYCODE = USD& cancelUrl = http://www.yourdomain.com/cancel.html\u0026amp; returnUrl = http://www.yourdomain.com/success.html“-H”主持人:api-3t.sandBox.paypal.com“

C)什么版本的CURL和你在什么平台上使用?我有:

curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2

猜你在找的PHP相关文章