PayPal IPN模拟器:没有发送IPN,也没有验证握手.请查看您的信息

  • 本文关键字:IPN 信息 模拟器 PayPal 验证 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,并且没有验证握手。请查看您的信息。我不知道在哪里运行与PayPal的连接脚本。但我确实把我的网站放在了shachecker.com上,我得到了一个"Nice XXXX有一个用SHA-2签名的可验证证书链。"

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

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

在今天之前,它工作得更好。我会得到一个无效的回复。所以我看了看这个网址,并检查了张贴在那里的列表:https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNTesting/无效的

我无法验证变量的顺序,或者看到它们是相同的,因为它今天停止工作。但是我可以验证页面使用的是正确的URL,消息的前面是cmd=_notify-validate,它是UTF-8

整个过程很难调试,因为没有输出,也没有我能看到的错误日志。(如果有人以前这样做过并取得了成功,请告诉我。)

我正在尝试使用IPN,因为我们目前的网站依赖于PayPal的post-back,以获得订单已完成的通知。但是我们发现PayPal并不总是返回到网站。IPN被宣传为更加可靠。但我也愿意接受其他建议。非常感谢!

这是如何解决的有趣。我听从了Asmir Zahirovic的建议,给我们网站的托管公司发了邮件。他向我保证,他们托管的许多网站都使用PayPal的IPN,包括他们自己的需求。

然后我想起有人写过,在某处,贝宝的IPN模拟器只是不适合他们,但生产。

我按照贝宝概述的步骤,确保监听器被启用并打开。(IPN模拟器仍然无法工作)

然后我把我的监听器设置为生产模式,然后就等着。几天后,我们接到了一笔订单,我的听众是从PayPal收到的;结果显示为有效

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

最新更新