IPN未发送,握手未经验证.请检查您的信息.

sha*_*493 26 paypal paypal-ipn express-checkout

我在Paypal上使用Expresscheckout,用于单次用户付款集成.工作流程首先创建令牌,用户重定向到paypal页面并成功返回我的返回网页.1.SetExpressCheckout 2. DoExpressCheckoutPayment

我的问题:1.现在我需要为这个支付系统设置ipn.2.我的通知网址没有在模拟器上运行.它给出了错误(未发送IPN,并且未验证握手.请查看您的信息.) https://developer.paypal.com/developer/ipnSimulator/

我需要一些帮助才能解决这个问题.请帮我解决这个问题.

先感谢您.

pp_*_*uan 20

当您的服务器/密钥库配置不符合升级的PayPal SSL加密算法时,最有可能发生握手错误.

IPN模拟器将连接到PayPal Sandbox环境,该环境已经使用Versign G5根证书/ SHA-2加密算法进行了升级(顺便说一下,这是一个行业标准,应该是2016年的所有地方).一旦您的IPN主机无法满足合规性,SSL连接将因握手问题而出错.

只需通过针对PayPal沙箱端点运行连接脚本来检查您的服务器,如下所示:

openssl s_client -connect api-3t.sandbox.paypal.com:443 -showcerts -CApath /etc/ssl/certs/ 
Run Code Online (Sandbox Code Playgroud)

如果您没有获得Verify return code: 0 (ok),您可能必须按照PayPal在此处发布的一般说明检查cert/SHA-2兼容性:

2015-2016 SSL证书变更微型网站

  • 我得到了同样的错误,我正在使用SH2加密算法.使用openssl命令进行测试时,我还得到了`Verify return cod:0(ok)`以及许多其他内容.可能有什么不对? (2认同)
  • 要研究的两个部分:1 - 您的脚本是否捕获了IPN消息?检查可能阻止PayPal帖子到您的服务器的Web服务器访问日志和路由/防火墙设置/ 2 - 您的脚本在发布时是否收到验证响应支持PayPal的参数?将返回"Verified"或"Invalid".为了回答您的最后一个问题,POST-Back是验证(并且仅验证)消息的安全方式,或者您可以通过设置自己的验证规则来跳过它,例如检查它是否来自PayPal IP地址. (2认同)
  • 我有同样的问题,但我不知道你们在谈论的是什么lol @pp_pduan (2认同)