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

Php PayPal IPN模拟器:IPN未发送,握手未验证。请查看您的信息,php,paypal,Php,Paypal,“IPN未发送,握手未经验证。请查看您的信息。”这是我单击底部蓝色的“发送IPN”按钮后在PayPal IPN模拟器页面上看到的错误 我使用的监听器是从中复制的:我将发布的代码保存到一个PHP文件中,并将其命名为listener.PHP;然后我把它上传到我们的网站上 我的PHP版本是:5.5.37 事实上,这个错误有很多,但我没有发现任何有帮助的东西。我看到的答案没有一个被接受,或者说似乎是我面临的问题 我读到: 我不知道在哪里对PayPal运行连接脚本。但我确实把我的网站放进了shacheck

“IPN未发送,握手未经验证。请查看您的信息。”这是我单击底部蓝色的“发送IPN”按钮后在PayPal IPN模拟器页面上看到的错误

我使用的监听器是从中复制的:我将发布的代码保存到一个PHP文件中,并将其命名为listener.PHP;然后我把它上传到我们的网站上

我的PHP版本是:5.5.37

事实上,这个错误有很多,但我没有发现任何有帮助的东西。我看到的答案没有一个被接受,或者说似乎是我面临的问题

我读到: 我不知道在哪里对PayPal运行连接脚本。但我确实把我的网站放进了shachecker.com,我得到了一个“Nice XXXX有一个与SHA-2签署的可验证证书链。”

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

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

在今天之前,它工作得更好。我会得到一个无效的答复。因此,我查看了这个URL并查看了发布在那里的列表:

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

整个过程很难调试,因为我看不到任何输出或错误日志。(如果有人曾经这样做并取得成功,请告诉我。)


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

这件事是怎么解决的,真有趣。我听从阿斯米尔·扎希罗维奇的建议,给我们网站的托管公司发了电子邮件。他向我保证,他们在许多网站上使用PayPal的IPN,包括他们自己的需要

然后我想起有人在某个地方写过,PayPal的IPN模拟器对他们来说不起作用,但生产却起了作用

我按照PayPal概述的步骤确保侦听器已启用并打开。(IPN模拟器仍然不工作。)

然后,我将侦听器设置为生产模式,然后等待。几天后,我们收到了一份订单,我的听众收到了贝宝的订单;它被认为是有效的


因此,对于任何阅读本文的人来说,GitHub的PHP侦听器代码工作得很好。只要投入生产;PayPal的IPN侦听器可能无法工作

您是否尝试过无握手验证(后变量验证)。我建议您只通过向ipn.log文件写入任何内容来调试它。只需将这段代码放入您的webhook接收器脚本中:我放入
错误日志(日期(“[Y-m-dh:ie]”),“webhook成功接收”。PHP_EOL,3,日志文件)就在
定义(“LOG_FILE”、“/ipn.LOG”)行之后在my listener.php文件中,然后将其上载到站点。然后我再次运行IPN模拟器。但仍然没有生成ipn.log。看起来PayPal在向您的网站发送请求时出现问题。您是否使用SSL或其他会阻止PayPal的DNS问题,请检查所有这些问题。它没有任何逻辑,因为您可以在浏览器中打开IPN Url,但PayPal在向您的链接发送请求时遇到问题。奇怪,这是有道理的。谢谢你帮我找出那个问题。我会问接待我们的公司,看看他们那边有没有什么东西,可能会阻止我们。谢谢4年后,IPN模拟器显然仍然无法工作,因为它总是返回此错误。