【问题标题】:PayPal nvp SetExpressCheckout fails on local development machinePayPal nvp SetExpressCheckout 在本地开发机器上失败
【发布时间】:2016-05-02 10:04:11
【问题描述】:

我最近发现 PayPal nvp 协议正在/将要更改 - 需要 SHA-256 和 Verisign G5 证书。 看来我的托管服务器环境具备先决条件,因为 PayPal 流程在那里运行良好。

问题出在我的开发机器上。 该机器是 Windows 7,已完全修补,默认情况下应安装 SHA-256。 我已经在机器上安装了“VeriSign Class 3 Public Primary Certification Authority - G5 root certificate”。可能存在问题的一件事是,当我使用 certmgr.msc 检查证书存储时,它会显示证书,但标题栏会显示 [证书 - 当前用户]。我不确定如何检查证书是适用于机器还是仅适用于当前用户,或者这是否重要。

当我在这台机器上运行 curl -V 时,我得到以下信息:

C:\Users\me>c:\soft\curl\curl -V
curl 7.33.0 (x86_64-pc-win32) libcurl/7.33.0 OpenSSL/0.9.8y zlib/1.2.8 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz

当我使用 PayPal nvp 端点运行以下 curl 测试时,我得到以下信息:

C:\Users\me>c:\soft\curl\curl --insecure https://api-3t.sandbox.paypal.com/nvp  -d  "USER=truncated&PWD=truncated&SIGNATURE=truncated&METHOD=SetExpressCheckout&VERSION=78
&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=19&PAYMENTREQUEST_0_CURRENCYCODE=USD&cancelUrl=http://www.example.com/cancel.html&returnUrl=http://www.example.com/success.html"
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

PayPal SSL Certificate Upgrade Microsite 指向“警报握手失败”错误消息,但我已尽我所能确保已安装 SHA-256 和新的根证书。 您能否指出我的下一个方向,让我的开发机器通过 PayPal 恢复正常工作? 有什么方法可以确定机器是否满足所有要求?

【问题讨论】:

    标签: php ssl curl paypal


    【解决方案1】:

    原来是 PHP 版本问题。我的本地机器使用的是 5.3.16 版本,当我将它升级到 5.6.17 后,一切又开始工作了。

    【讨论】:

      猜你喜欢
      • 2013-09-05
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 2013-07-09
      • 2011-11-08
      • 2017-03-17
      • 2012-02-09
      相关资源
      最近更新 更多