从 2017 年 3 月 8 日左右的某个时候开始,我们注意到我们的一些(不是全部)PayPal IPN 出现了一些异常行为。 PayPal 似乎正在推出某种变化,还有一些其他人报告了其他事情,例如:QueryString values removed from the IPN endpoint by PayPal
看起来有多个版本的 PayPal 系统发送 IPN,其中一些包含 notify_version=3.8
,一些包含 notify_version=UNVERSIONED
。
主要问题是来自“3.8”的 IPN 有 receiver_email
,但来自“UNVERSIONED”的没有。
在某些情况下,我们会同时收到重复的 IPN,一个是“3.8”版本,一个是“UNVERSIONED”版本。似乎两个版本的 PayPal 都在同时处理同一件事。 “3.8”版本似乎总是成功确认 IPN,而“UNVERSIONED”版本似乎总是以“INVALID”响应。
一些用户报告说 PayPal 正在对我们为 return
(结帐后出现的 URL)发送的值进行解密。例如,像 http://example.com/some%3Dvalue
这样的 URL 有时会被解码为 http://example.com/some=value
,这是不正确的并导致 404。
我知道 PayPal 即将推出 new changes on 03/29 ,与更严格地遵守他们的数据格式有关,但我们已经证实我们遵守了这一规定,这还需要几周的时间。
最佳答案
几天后,IPNs 恢复正常,没有任何变化。 PayPal 从未回复我们的支持电子邮件或承认任何问题。
关于 Paypal IPN 意外更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42726498/