0

我正在使用 SOAP XML 在沙箱中集成 PayPal Express Checkout。SetExpressCheckout 在 2013 年 9 月 18 日使用凭据签名正常工作。我没有更改我的代码或 Web 服务器。我确实开始使用 NVP 处理 Callback,因为没有可用的 SOAP 版本的 Callback。第二天,SetExpressCheckout 停止工作。我现在收到以下错误:“80072f0c 需要证书才能完成客户端身份验证”尝试发布到https://api-3t.sandbox.paypal.com/2.0/时

问题 1:尝试使用 NVP 回调是否会导致 PayPal 的 API 服务器现在需要客户端证书而不是签名?

问题 2:对于这种行为变化还有其他解释吗?

问题 3:我应该从我的沙盒帐户中删除签名并申请 API 证书吗?(尽管 PayPal 建议使用签名而不是证书。)

注意:我尝试过使用我自己的沙盒签名以及通用的“始终有效”的沙盒签名。我也尝试过发布到 api-3t.sandbox.paypal.com/2.0/ 和 api.sandbox.paypal.com/2.0/(没有 -3t)。这些努力都没有消除错误。

谢谢,克里斯 H

4

1 回答 1

0

你还在看这个问题吗?
即使使用您从 nslookup 获得的 IP,我也无法重现它。
这是我对 23.51.43.42 的测试。我与 23.50.75.42 的结果相同

curl \
-H "Host: api-3t.sandbox.paypal.com" \
-d "USER=guus_1192700083_biz_api1.paypal.com&PWD=XXXXXXXXXX&SIGNATURE=XXXXXXXXXX&VERSION=108&METHOD=SetExpressCheckout&RETURNURL=http://www.paypal.com&CANCELURL=http://www.paypal.com&AMT=0.01&PAYMENTACTION=Authorization" \
https://23.51.43.42/nvp -kv

* About to connect() to 23.51.43.42 port 443 (#0)
*   Trying 23.51.43.42...
* 0x8001f188 is at send pipe head!
* STATE: CONNECT => WAITCONNECT handle 0x80057568; line 1032 (connection #0)
* Connected to 23.51.43.42 (23.51.43.42) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: /usr/ssl/certs/ca-bundle.crt
  CApath: none
* SSLv3, TLS handshake, Client hello (1):
* STATE: WAITCONNECT => PROTOCONNECT handle 0x80057568; line 1145 (connection #0)
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Request CERT (13):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using RC4-SHA
* Server certificate:
*        subject: C=US; ST=CALIFORNIA; L=San Jose; O=PayPal, Inc.; OU=Partner Support; CN=api-3t.sandbox.paypal.com
*        start date: 2013-08-20 00:00:00 GMT
*        expire date: 2015-08-21 23:59:59 GMT
*        issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of use at https://www.verisign.com/rpa (c)10; CN=VeriSign Class 3 Secure Server CA - G3
*        SSL certificate verify ok.
* STATE: PROTOCONNECT => DO handle 0x80057568; line 1164 (connection #0)
> POST /nvp HTTP/1.1
> User-Agent: curl/7.29.0
> Accept: */*
> Host: api-3t.sandbox.paypal.com
> Content-Length: 261
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 261 out of 261 bytes
* STATE: DO => DO_DONE handle 0x80057568; line 1236 (connection #0)
* STATE: DO_DONE => WAITPERFORM handle 0x80057568; line 1352 (connection #0)
* STATE: WAITPERFORM => PERFORM handle 0x80057568; line 1363 (connection #0)
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 200 OK
< Server: Apache
< Content-Length: 133
< Content-Type: text/plain; charset=utf-8
< DC: origin2-api-3t.sandbox.paypal.com
< Date: Thu, 03 Oct 2013 20:07:10 GMT
< Connection: keep-alive
< Set-Cookie: DC=origin2-api-3t.sandbox.paypal.com; secure
<
* STATE: PERFORM => DONE handle 0x80057568; line 1533 (connection #0)
* Connection #0 to host 23.51.43.42 left intact
TOKEN=EC%2d03T72513NN7526924&TIMESTAMP=2013%2d10%2d03T20%3a07%3a10Z&CORRELATIONID=4776c1624af4e&ACK=Success&VERSION=108&BUILD=7920936
于 2013-10-03T20:42:08.847 回答