微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐