我正在尝试通过"Classic"NVP API设置PayPal Express Payment.
尝试使用cURL从我的服务器连接到PayPal-Sandbox,连接会在大约2分钟后停止并超时.
我正在使用来自文档的示例调用:
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"
Run Code Online (Sandbox Code Playgroud)
Shell输出是:
* 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
Run Code Online (Sandbox Code Playgroud)
当我尝试通过PHP执行此操作时,curl我不会收到任何错误,只是一个空的资源句柄.
我可以轻松地从本地计算机和我可以访问的其他服务器执行请求(并获取正确的数据),因此我猜这是一些服务器端错误配置正在进行.不是服务员,我有点无能为力.
启用cURL并将以下内容记录在phpinfo:
libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
Run Code Online (Sandbox Code Playgroud)
openSSL也已启用.此外,我在尝试连接到API的实时版本时遇到了同样的问题.
A) 首先尝试看看wget https://api-3t.sandbox.paypal.com/nvp您是否可以通过“错误请求”回复获得简单的连接,如果不能,您已被 Paypal 服务器阻止或您的防火墙阻止您在端口 443 上访问 Paypal
B)尝试添加自定义标头:-H "Host: 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&returnUrl=http://www.yourdomain.com/success.html" -H "Host: 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9207 次 |
| 最近记录: |