如何明确拒绝 IPN 请求

How to explicitly reject an IPN request

the documentation for IPN中,它表示类似"Check email address to make sure that this is not a spoof"的内容。但我不知道在这种情况下该怎么做,以及我如何告诉 PayPal 我想拒绝交易。例如。我应该寄回 400 而不是 200?或者以其他方式更改 POST 数据?

还是直接忽略这条消息? (问题是 PayPal 会不断重试,这对我们来说是浪费带宽,但也意味着用户需要更长的时间才能听到付款失败。)

背景: 我意识到将其发回 PayPal 并取回 VERIFIED 消息可以处理大多数安全问题。但就我而言,custom 字段中有一些唯一的 ID 信息。如果它丢失了,或者没有根据数据库进行验证,我想拒绝付款。我希望我的客户看到它失败了,所以他们知道去使用新的表格。另一种方法是接受付款,然后必须涉及一个手动过程,试图找出付款的来源,然后可能进行手动退款。 (这样做的其他原因可能是库存在他们看到网站上的产品并单击“购买”的瞬间售罄。)

只需发回一个 200 代码让 Paypal 知道您收到了 IPN,否则 Paypal 会尝试重复发送 IPN 响应。

IPN 是即时付款通知。付款后paypal通知您付款结果。检查连接是否已验证,下一步是否支付已完成并将结果标记在数据库中。

如果您将购物车中的 ipn 地址告诉 PayPal,Paypal 会向您发送通知。你不能对 paypal 说:"yes please, send me a notification",当收到时说 "why you send this?" 如果你把 ipn 放在购物车的形式,你可以提供一个 ipn url,代码为 200,而不是 404。或者删除 ipn 值在购物车中

付款没有失败。 PayPal 通知您付款成功:而不是询问您是否要接受它。这个阶段你不能拒绝。