我正在改进一个 PayPal IPN 监听器。我已经阅读了规范,但仍有一些悬而未决的问题。众所周知,如果您收到通知,您必须在第二个通道上连接到 PayPal,将接收到的数据发送给他们,然后 PayPal 将回答 VERIFIED 或 INVALID。在某些情况下,PayPal 会重新发送通知,直到收到我们的答复。并且 PayPal 有一个名为“IPN 历史”的调试页面。
我至少有一次收到 INVALID,并且“IPN 历史记录”显示正常状态“已发送”。
问题1:PayPal不检查我是否在第二个频道上连接到他们来决定消息是否正确发送是否正确?
Q2:我假设 PayPal 只查看它从我们那里收到的 http 状态标头(例如“200 OK”)来决定在“IPN 历史记录”中显示什么状态。这个对吗?
Q3:我还假设 PayPal 仅查看 http 状态标头来决定是否必须重新发送消息。那是对的吗?
我收到无效的 PayPal 付款现在在 PayPal 中显示为正常付款。但稍后没有额外的通知。
Q4:我认为这种行为是 PayPal 内部问题,正确的做法是告诉 PayPal 出现错误,以便 5 分钟后发送另一个通知。那是对的吗?
Q5:如果是这样,如果我收到 INVALID 以确保 PayPal 稍后重新发送通知,我必须将什么 http 状态标头发送回 PayPal?
谢谢!