首页 文章

通过IPN取消Paypal付款'cmd'

提问于
浏览
2

Paypal是否为' cmd '参数定义了一个值(用于通过发送 cmd=_notify-validate 和收到的值来验证IPN响应)以取消付款?像 cmd=_notify-ignore 这样的东西?

我需要这个的原因是,我正在维护一个配置文件(我正在使用PHP),我可以将 "Allow_Payments" 值设置为 "Yes""No" . 因此,在Paypal中不时启用和禁用付款是一种混乱的解决方案 . 另一个问题是我的"Buy Now"按钮被放置在不同的站点上,但它们都使用相同的IPN侦听器 . 这就是为什么我正在寻找一个可以在IPN Listener中使用的解决方案 . 这就是为什么我认为'cmd'参数在这种情况下会有所帮助 .

先感谢您 .

2 回答

  • 5

    我相信你对IPN有错误的想法 .

    PayPal IPN只是一个监听器或处理程序 . 成功付款后,您的IPN将被触发 .

    我认为实施从您的IPN触发的取消命令是错误的,因为这将在收到后取消付款 - 并且对刚刚付款的用户来说很烦人 .

    更好的选择是在PayPal付款页面之前使用全能处理页面 . 所有立即购买按钮将指向与您的IPN(创建结帐样式流)在同一域上托管的此文档 . 需要验证付款数据以防止欺诈(例如付款金额和business_email),然后将检查您的“Allow_Payments”标记 . 如果允许付款且我们有有效的付款数据,请继续付款 . 这样,您的用户将在付款前停止,并且无需取消或退款 .

  • 3

    对于您的服务器(商店)通知PayPal有关已购买产品的数量和价格,您的服务器通常会将HTTP重定向发送回客户的浏览器 . 这会导致客户的浏览器被重定向到支付发生的PayPal .

    此重定向存在一个漏洞 . 如果购物者控制了他们的浏览器,他们可以拦截此重定向并将产品的价格设置为0 $ .

    您真正必须准确检查未发生这种情况的唯一机会是在IPN阶段 . 如果您发现价格/数量发生了意外情况,则必须在此时取消交易(付款后) .

相关问题