【发布时间】:2013-01-04 12:13:40
【问题描述】:
我正在改进 PayPal IPN 侦听器。我已经阅读了规范,但仍有一些悬而未决的问题。众所周知,如果您收到通知,您必须在第二个通道上连接到 PayPal,将接收到的数据发送给他们,然后 PayPal 将回答 VERIFIED 或 INVALID。在某些情况下,PayPal 会重新发送通知,直到收到我们的答复。并且 PayPal 有一个名为“IPN History”的调试页面。
我至少有一次收到 INVALID,并且“IPN 历史记录”显示正常状态“已发送”。
问题1:PayPal不检查我是否在第二个通道上连接到他们以确定消息是否正确发送是否正确?
Q2:我假设 PayPal 只查看它从我们那里收到的 http 状态标头(例如“200 OK”)来决定在“IPN 历史记录”中显示什么状态。这是正确的吗?
Q3:我还假设 PayPal 仅查看 http 状态标头来决定是否必须重新发送消息。对吗?
我收到 INVALID 的 PayPal 付款现在在 PayPal 中显示为正常付款。但稍后没有其他通知。
Q4:我认为这种行为是 PayPal 的内部问题,正确的做法是告诉 PayPal 出现错误,以便 5 分钟后发送另一个通知。对吗?
Q5:如果是这样,如果我收到 INVALID,我必须将什么 http 状态标头发送回 PayPal,以确保 PayPal 稍后重新发送通知?
谢谢!
【问题讨论】:
-
一些澄清:我们做了很多 PayPal 付款。通常他们工作正常。当它应该真正“验证”时,我们会收到“无效”,可能千分之一。我已经编写了一个测试脚本,再次进行第二次通道验证,与以前完全相同,现在 PayPal 对以前“无效”的情况响应“已验证”。我认为 PayPal 发送错误的状态是因为他们的一些内部时间问题。所以这是一个边缘案例,以及如何告诉 PayPal 再次重新发送他们的信息。谢谢!
标签: paypal paypal-ipn