我正在使用这个:https ://github.com/Quixotix/PHP-PayPal-IPN ,在沙盒测试期间一切正常。
我的代码与此问题中的代码几乎相同:Paypal IPN Valid in sandbox INVALID when live
但是,现在我已经上线了,每次我进行贝宝 IPN 模拟时,它总是“无效”。
是因为我还活着吗?当我们仍在沙箱中进行测试时,是否仅验证了模拟?
我正在使用这个:https ://github.com/Quixotix/PHP-PayPal-IPN ,在沙盒测试期间一切正常。
我的代码与此问题中的代码几乎相同:Paypal IPN Valid in sandbox INVALID when live
但是,现在我已经上线了,每次我进行贝宝 IPN 模拟时,它总是“无效”。
是因为我还活着吗?当我们仍在沙箱中进行测试时,是否仅验证了模拟?
如果您在发布到实时贝宝 IPN 地址时尝试使用模拟器,那么它将返回一个无效响应。您必须发布到沙箱地址才能让 IPN 模拟器返回 VERIFIED 响应。
如果使用带有实时发布地址的模拟器,它将返回 200 的 HTTP 代码,但响应将始终为 INVALID。希望这可以帮助。
我目前也有同样的问题。您是否将两个 $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:您可能会考虑检查您的服务器访问日志。当我检查我的时,我发现沙盒中的 IPN 已成功发布;然而,活的不是。