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

Php Paypal IPN处理购物车上传的篡改订单,php,paypal,paypal-ipn,Php,Paypal,Paypal Ipn,我正在为共享托管帐户中的购物车构建paypal模块 以下是场景: 客户在购物车中添加一个100美元的商品,在点击结帐按钮之前,他进入浏览器的inspector并将该商品的价格更改为1美元,点击结帐按钮(将购物车上载到paypal),现在paypal在结帐屏幕上显示一个1美元的订单,然后客户为该商品支付1美元 当这种情况发生时,我的脚本以“待定”的状态保存订单,并向网站管理员发送电子邮件,通知他已收到价格不匹配订单的付款。管理员登录paypal进行确认,一旦他发现价格与我们为该产品收取的价格不一致

我正在为共享托管帐户中的购物车构建paypal模块

以下是场景:

客户在购物车中添加一个100美元的商品,在点击结帐按钮之前,他进入浏览器的inspector并将该商品的价格更改为1美元,点击结帐按钮(将购物车上载到paypal),现在paypal在结帐屏幕上显示一个1美元的订单,然后客户为该商品支付1美元

当这种情况发生时,我的脚本以“待定”的状态保存订单,并向网站管理员发送电子邮件,通知他已收到价格不匹配订单的付款。管理员登录paypal进行确认,一旦他发现价格与我们为该产品收取的价格不一致,他将取消paypal付款,并在后端取消订单

我的问题:

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

同样,因为这是一个共享主机帐户,我不能使用paypal建议的cart加密(因为我不能在共享主机上使用openssl)


谢谢。

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

所以您在页面上创建了一个带有值(例如付款金额)的
表单,直接提交给paypal?就我个人而言,我会使用服务器端重定向(即
头('location:..'
)为了使伪造变得更加困难…如果没有标记伪造付款,则不允许发送这些订单;此外,在您的t&C中写入以下信息,即操纵的订单将不会被授权,并且在全额付款之前,订单/退款将不会被处理。您可能还希望向他们(犯罪者)发送一封与wtte的电子邮件(以及支付全部金额的链接)?感谢您的回复!请问取消这些付款的过程是否困难?paypal是否收取任何费用,或者那些篡改数据的客户是否能够向paypal提出索赔,说这是我们的错误?再次感谢您的回复,我很高兴我不是唯一一个这样做的人。我总是将他们的钱寄回,是吗因为我不知道如果有人提出争议贝宝会怎么做。