1

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

所以我的问题是,有什么方法可以在整个确认操作中保留会话状态?还是有其他方法可以保留用户信息?这是一个记录在案的问题吗(我在任何地方都没有看到)?

如果需要更多详细信息,请告诉我。

谢谢你的时间。

4

2 回答 2

1

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

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

于 2013-04-13T03:12:06.690 回答
0

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

相反,将所有对结帐完成很重要的内容存储在数据库中,并通过CUSTOMINVNUM参数在 Express Checkout 过程中传递唯一标识符。这些将通过结帐过程进行处理。一旦回调返回到您的站点,您就可以非常轻松地识别数据库中它所指的“未完成”订单并将其标记为“已付款”。

于 2013-04-13T03:28:06.393 回答