PayPal IPN模拟器:未发送IPN,并且未验证握手。请检查您的信息

时间:2016-08-27 20:43:23

标签: php paypal

"未发送IPN,并且未验证握手。请检查您的信息。"这是我点击底部的蓝色“发送IPN”按钮后在PayPal IPN模拟器页面上出现的错误。

我使用的监听器是从https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php复制的。我将这个发布的代码保存到PHP文件中,并将其命名为listener.php;然后我上传到我们的网站。

我的PHP版本:5.5.37

关于SO的这个错误实际上有很多,但我找不到任何似乎有帮助的东西。我所看到的答案都没有被接受,或者似乎是我遇到的问题。

我读到了这个:IPN was not sent, and the handshake was not verified. Please review your information. 我不知道在哪里运行针对PayPal的连接脚本。但我确实把我的网站放到shachecker.com我得到了一个" Nice XXXX有一个可验证的证书链,用SHA-2签名。"

在PayPal IPN模拟器页面上,我已经在" IPN处理程序URL"中输入了我的监听器的完整URL。领域。然后,我一直在选择"购物车结帐"或者" Web接受"在“交易类型”字段中。

今天我的代码在点击"发送IPN"之后,无法在ipn.log中产生任何更新。按钮;除非我在网络浏览器中打开我的listener.php页面。然后它生成文件:ipn.log

在今天之前它工作得更好。我会收到INVALID的回复。所以我查看了这个URL并查看了那里发布的列表: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNTesting/#invalid

我无法验证变量的顺序,或者看到它们是相同的,因为它今天退出了工作。但我可以验证网页是否使用了正确的网址,邮件前面是cmd=_notify-validate,而且是UTF-8

这整个冒险一直难以调试,因为我没有输出,或者我可以看到的错误日志。 (如果以前有人这样做并取得了成功,请告诉我。)

我尝试使用IPN,因为我们当前的网站依赖于PayPal的回复,以获得订单已完成的通知。但我们发现PayPal并不总是返回网站。 IPN被宣传为更加可靠。但我也对任何其他建议持开放态度。非常感谢!

1 个答案:

答案 0 :(得分:0)

如何解决这个问题很有趣。我按照Asmir Zahirovic的建议,然后通过电子邮件发送了托管我们网站的公司。他向我保证,他们会将PayPal的IPN用于他们托管的许多网站,包括他们自己的需求。

然后我记得有人在某处写过, PayPal的IPN模拟器对他们不起作用,但生产确实如此。

我按照PayPal概述的步骤操作,以确保启用并启用了侦听器。 (仍然无法使用IPN模拟器。)

然后我将我的监听器设置为生产模式,然后等待。在几天之内,我们得到了一份订单,我的听众从PayPal得到了它;并且它是有效的。

所以对于读这篇文章的人来说,来自GitHub的PHP监听器代码工作得很好。刚去生产; PayPal的IPN侦听器可能无法正常工作。