我正在使用这个:https://github.com/Quixotix/PHP-PayPal-IPN 在沙盒测试期间,一切正常。
我的代码与此问题中的代码几乎相同:Paypal IPN Valid in sandbox INVALID when live
然而,现在我已经上线,每次进行贝宝IPN模拟时,它总是“无效”。
是因为我活着吗?在我们还在沙盒中测试时,模拟是否仅经过验证?
答案 0 :(得分:5)
如果您在发布到实时PayPal IPN地址时尝试使用模拟器,则会返回INVALID响应。您必须发布到沙箱地址,以便IPN模拟器返回VERIFIED响应。
如果使用带有实时发布地址的模拟器,它将返回200的HTTP代码,但响应将始终为INVALID。希望这会有所帮助。
答案 1 :(得分:1)
我目前也遇到同样的问题。您是否将$ listener-> use_sandbox变量都更改为false(在ipn.php和ipnlistener.php中)?您是否在PayPal帐户中启用了IPN通知?如果您还没有完成后者,可以使用以下内容:配置文件 - >设置 - >我的销售工具 - >即时付款通知 - >更新。
与该特定IPN通知相关联的“消息ID”是什么意思? (您可以在IPN历史记录中访问此内容)
我有以下(相关信息):
创建日期/时间:29/04/2013 16:21 AEST
最新交货尝试日期/时间:11/05/1985 02:23 AEST
HTTP响应代码:200
交货状态:已发送
IPN类型:其他交易
我想知道为什么最新的交付尝试日期/时间被列为1985年...也许你有类似的东西给你?对不起,我还没有解决你的问题,但也许我已经给你一些额外的东西了?并且,我确信其他人可能也想知道这些事情。 : - )
PS:您可以考虑检查服务器访问日志。当我检查我的时,我发现Sandbox的IPN被成功发布;然而,活的不是。
PPS:我通过确保此处列出的IP地址(供PayPal使用)能够发布到我的网站来修复我的问题:explanation和addresses