出于安全原因拒绝PayPal IPN 请求



当我从PayPal(或类似服务(获得IPN以表示销售时,他们要求:

  1. 发回200 OK
  2. 发回请求正文。

如您所知,客户可以轻松地玩弄数字并将价格设置为 0,同时订购价格为 100 美元的产品,或者只是收到带有虚假销售的欺骗消息。

在这种情况下,他们建议检查云上的IPN消息。 但是在这个阶段,销售已经完成,如果这是一个黑客,卖方将不得不退款,而整个计划听起来是错误的。

看来我真的不能400而不是200 OK

.我读了这本如何明确拒绝 IPN 请求,结果发现在您将付款请求与您的数据库进行比较并发现有问题后,您无法真正拒绝。

那么我怎样才能确保销售是真实的呢?

最好的解决方案是使用服务器端前端 UI 与服务器上的两个路由配对来"设置事务"和"捕获事务":https://developer.paypal.com/docs/checkout/reference/server-integration/. 那么你根本不需要 IPN,任何事情。


但是,如果您打算使用 IPN,则在此处记录:https://developer.paypal.com/docs/api-basics/notifications/ipn/

有一个验证步骤,您将IPN 消息发布回PayPal以检查其是否有效。这回答了您的问题。


如果您想完成的是因金额或描述无效而拒绝交易,那么此时对于销售类型的交易来说已经为时已晚。您所能做的就是通过API退款。

相关内容

  • 没有找到相关文章

最新更新