Paypal IPN和PHP:在Paypal操作之前和之后处理订单

时间:2014-05-10 13:13:37

标签: php paypal paypal-ipn

我已经使用Paypal完成了一个小型电子商务,但它确实有效,但我觉得这样做是错误的。

因为处理来自Paypal的IPN响应的页面无法读取$_SESSION变量,所以在用户提交表单并重定向到Paypal之前,我获取所有购物车商品并将其存储在表格中数据库以及我使用用户信息注册新订单但状态为0(未完成)。

然后,在用户付款并获得IPN回复后,我会检查状态是否已完成,检查支付的金额是否正确,货币和通常的检查以确保付款成功。

这种方法的问题是,如果用户一旦重定向到Paypal,决定离开/关闭浏览器/ Paypal选项卡,我将在数据库中注册失败的订单,我不能手动删除它。 / p>

我如何处理这种情况,在用户付款之前注册订单/购物车是否正确?

谢谢你,很抱歉这篇长篇文章。

1 个答案:

答案 0 :(得分:0)

如果要检查事务是否依赖于IPN消息。根据您使用的API,您可以通过多种方式为您自定义IPN消息,包括:

  • 使用paypal自定义字段
  • 使用额外参数动态定义IPN网址,即www.yoursite.com/ipn?myvar=myval

通过这种方式,您可以在付款与应用程序中的实际用户之间建立联系。 当http帖子来自paypal时,Obiusly用户的php会话属性不可用。