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

时间:2015-09-15 12:56:57

标签: paypal paypal-ipn express-checkout

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

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

我需要一些帮助,因为这不是我的意思。 请帮我解决这个问题。

提前谢谢。

3 个答案:

答案 0 :(得分:21)

当您的服务器/密钥库配置不符合升级的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/ 

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

2015-2016 SSL Certificate Change Microsite

答案 1 :(得分:1)

PayPal的回复:

“感谢您与PayPal商家技术服务部联系,对于回复您的电子邮件的延迟,我们深表歉意。

我们已经知道我们的IPN模拟器存在这个问题,我们的开发团队正在努力解决这个问题。在修复此问题之前,我建议您通过在Sandbox中付款来运行您的IPN测试,因为我们会在每次付款时发送IPN请求。

如果您的付款测试存在类似问题,请告诉我们,我们可以查看。

对由此造成的不便表示歉意。“

答案 2 :(得分:1)

我遇到了同样的问题。测试 IPN 消息的一种解决方法是在您的 Sandbox 业务帐户上实际设置 IPN 通知 URL 并从那里进行测试。

  • 使用您的沙盒企业帐户 (sb-xyz@business.example.com) 登录 https://sandbox.paypal.com
  • 导航到您的帐户设置页面
  • 网站付款
  • 更新即时付款通知
  • 在那里设置您的通知网址。

确保您的 IPN 侦听器不在防火墙之后,并且可以从外部直接访问。