Paypal IPN和PHP:处理Paypal操作前后的订单
我已经和Paypal做了一个小的电子商务,它是有效的,但我觉得它做得不对 由于处理来自Paypal的IPN响应的页面无法读取Paypal IPN和PHP:处理Paypal操作前后的订单,php,paypal,paypal-ipn,Php,Paypal,Paypal Ipn,我已经和Paypal做了一个小的电子商务,它是有效的,但我觉得它做得不对 由于处理来自Paypal的IPN响应的页面无法读取$\u SESSION变量,因此在用户提交表单并重定向到Paypal之前,我会获取所有购物车项目并将其存储在数据库中的表中,我还会使用用户信息注册新订单,但状态为0(未完成). 然后,在用户付款并收到IPN响应后,我检查状态是否已完成,检查支付的金额是否正确,货币和常规检查以确保支付成功 这种方法的问题是,如果用户一旦重定向到Paypal,决定离开/关闭浏览器/Paypa
$\u SESSION
变量,因此在用户提交表单并重定向到Paypal之前,我会获取所有购物车项目并将其存储在数据库中的表中,我还会使用用户信息注册新订单,但状态为0
(未完成).
然后,在用户付款并收到IPN响应后,我检查状态是否已完成,检查支付的金额是否正确,货币和常规检查以确保支付成功
这种方法的问题是,如果用户一旦重定向到Paypal,决定离开/关闭浏览器/Paypal选项卡,我将在数据库中注册一个失败的订单,我不能删除它,只能手动删除
我如何处理这种情况,在用户付款之前注册订单/购物车是否正确
感谢您并对这篇冗长的帖子表示歉意。如果您想检查交易是否发生,请依赖IPN消息。根据您使用的api,您有几种方法可以使用有用的信息自定义IPN消息,即:
- 使用paypal自定义字段
- 使用额外参数(即www.yoursite.com/IPN?myvar=myval)动态定义IPN url