在paypal快速结账时会议被清除

时间:2013-04-13 02:51:03

标签: php html paypal express-checkout

我目前正在开发一个使用Paypals快速结账系统的E-Comm网站。快速结账系统工作正常,我发送付款金额,用户登录确认运送详细信息,并返回到我确认它并付款完成的页面。我遇到的主要问题是我在会话中保存了用户名(电子邮件)。一旦用户点击结账并使用PayPal并确认他/她的paypal帐户,我的会话就会被清除。所以我无法记录谁购买了什么项目(除非我使用的用户paypals电子邮件地址可能与用户在我的网站上使用的不同)。

所以我的问题是,有什么办法可以在整个确认行动中保留会话状态吗?或者是否有其他方法来保留用户信息?这是一个有记录的问题(我还没有在任何地方看到过它)?

如果需要更多细节,请与我联系。

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

不,一旦用户离开您的域,会话将终止。

相反,您可以在用户离开您的网站之前将电子邮件地址存储在表格中,并将插入的记录的ID传递给paypal。由于此ID是自定义字段,因此一旦用户完成付款,它将在回调URL中返回。您可以从URL获取ID并从数据库中检索相应的电子邮件。

答案 1 :(得分:0)

即使你的PHP会话没有终止(关闭它的原因可能不同),依赖于用户离开PayPal并返回之间未修改的会话仍然不是一个好主意。在完成快速结账之前,请考虑具有多个标签的用户在另一个标签中开始在您的网站上查看。

相反,在数据库中存储对于结帐完成很重要的所有内容,并通过快速结账流程通过CUSTOMINVNUM参数传递唯一标识符。这些将通过结账流程进行调整。回调返回您的网站后,您可以非常轻松地识别数据库中所指的“不完整”订单,并将其标记为“已付款”。