【发布时间】:2020-06-20 20:30:58
【问题描述】:
当我从 PayPal(或类似服务)获得 IPN 以表明销售时,他们要求:
- 发回
200 OK - 发回请求正文。
如您所知,客户在订购 100 美元的产品时可以轻松地玩弄数字并将价格设置为 0,或者只是收到一条虚假销售的恶搞信息。
在这种情况下,他们建议查看云端的IPN 消息。
但是在这个阶段销售已经完成,如果这是一个黑客,卖家将不得不退款,整个计划听起来是错误的。
看来我真的不能发送400 而不是200 OK。
我读了这个How to explicitly reject an IPN request,发现在您将付款请求与您的数据库进行比较并发现有问题后,您无法真正拒绝。
那么我怎样才能确保销售是真实的呢?
【问题讨论】:
-
不要使用IPN,准备一个支付服务器端,然后将用户重定向到paypal api返回给你的URL,如果客户端接受了支付,那么他将被重定向回你的您可以批准付款的服务器,因此这种情况没有问题
-
完全不知道您提供什么,但我代表(如市场)付款,所以personaA 支付personB,我只是提供服务。
-
好的,我明白你的意思了,但这听起来有点像一个不好的做法,因为所有网关都以另一种方式工作。贝宝的文档没有提到这个选项。另外,当我有付款链接时,我需要将其发送给客户以重定向他,所以这又不安全
-
其实不是,这实际上是 Paypal 接受付款的首选方式,您可以在此处阅读developer.paypal.com/docs/integration/direct/payments/…,您可以看到“创建 PayPal 付款”阶段,然后是“获取付款”阶段赞同。”最后有“执行付款”。但是,这是接受付款的最佳方式,例如对于电子商务,收款人始终是您,如果您能做到这一点,也可以更改收款人
-
1.在您收到正确的付款之前,没有销售。 2. 如果您的申请流程是在您收到钱之前执行销售,请修复它。在你破产之前快速修复它。 3. 您没有义务向欺诈者退款。
标签: security paypal paypal-ipn