Paypal IPN 处理来自购物车上传的篡改订单

Posted

技术标签:

【中文标题】Paypal IPN 处理来自购物车上传的篡改订单【英文标题】:Paypal IPN Handling Tampered Orders from Cart Upload 【发布时间】:2013-11-04 22:52:03 【问题描述】:

我正在为共享主机帐户中的购物车构建一个贝宝模块。

场景如下:

客户将 100.00 美元的商品添加到购物车中,在点击结帐按钮之前,他进入浏览器的检查器并将该商品的价格更改为 1.00 美元,点击结帐按钮(将购物车上传到贝宝),现在贝宝显示在他们的结帐屏幕上订购 1.00 美元,然后客户为该商品支付 1.00 美元。

发生这种情况时,我的脚本会以“待处理”状态保存订单,并向网站管理员发送一封电子邮件,通知他收到了价格不匹配的订单的付款。管理员登录贝宝确认,一旦他发现价格与我们对该产品收取的价格不同,他会取消贝宝付款并在后端取消订单。

我的问题:

这是处理被篡改订单的正确方法,还是有什么方法可以在我收到带有无效信息的 IPN 后立即通知 PayPal,这样 PayPal 甚至都不接受这笔付款?

再次因为这是一个共享主机帐户,我不能使用 paypal 建议的购物车加密(因为我不能在共享主机上使用 openssl)。

谢谢。

【问题讨论】:

所以你在页面上创建了一个form,其值(例如支付金额)直接提交给paypal?就个人而言,我会使用服务器端重定向(即header('location: ....')来增加伪造的难度……如果没有标记 fake 付款并且不允许这些订单发货;另外,请在您的条款和条件中写下在全额支付之前不会授权被操纵的订单并且不会处理订单/退款。您可能还想向他们(肇事者)发送一封带有 wtte 的电子邮件(以及支付全额费用的链接)? 【参考方案1】:

我以完全相同的方式处理付款,没有更好的方法可以做到这一点,因为 paypal 将始终使用您网站上定义的值 - 可以使用 TamperData 甚至使用 Inspect Element 轻松更改。

【讨论】:

感谢您的回复!请问取消这些付款的过程是否困难?贝宝是否收取任何费用,或者那些篡改数据的客户能够向贝宝提出索赔,说这是我们的错误?再次感谢您的回复,我很高兴我不是唯一这样做的人。 我总是将他们的钱退回给他们,因为我不知道如果有人提出争议,paypal 会怎么做。

以上是关于Paypal IPN 处理来自购物车上传的篡改订单的主要内容,如果未能解决你的问题,请参考以下文章

PayPal IPN 返回购物车或订单 ID 以进行后处理

PayPal 的 IPN 不会因购物车上传而触发

PayPal 购物车上传 - 如果用户点击离开 PayPal,则链接返回以稍后付款

网站支付标准:如何连接发送的订单和接收订单的 IPN?

首先,结帐还是 IPN 发送?

Paypal IPN 不适用于 woocommerce