我相信您需要在将用户发送给PayPal进行付款之前存储详细信息,这样您就可以记录从商店购买商品的"意图".该记录应包含客户是谁,他们购买什么以及费用多少的详细信息.
然后,您的客户将从您的网站重定向到PayPal以进行付款.此时,如果他们改变主意(或者只是关闭窗口),他们可以点击"取消".或者他们可以付款.付款后,他们可以而且应该点击"返回网站"按钮转到您的商店及其确认页面.或者,在这一点上,他们可以完全关闭窗口.预先存储购买意图意味着您仍然可以访问交易中的数据.
所以可能发生以下情况:
用户按下"取消"按钮.您可以返回您的站点并删除数据库记录,因为此购买永远不会完成.如果客户仍然拥有购物车并稍后购买,则会创建新记录.
用户在付款前关闭窗口.您仍然拥有可以在以后使用的数据库记录.在一段时间之后,当假定用户不可能回来完成此特定订单(几天?一周?)时,您可以删除"购买意图"记录.
用户付款但不会立即使用PayPal上的"返回网站"按钮返回您的商店.您仍然拥有交易详细信息,PayPal仍将触发您的IPN脚本以验证付款是否已完成以及是否已完成或存在问题.您可以将购物车内容和总金额等详细信息与"购买意向"记录进行比较,以确保一切有效.然后,您可以将此记录移至"已完成购买"表.
用户付款并返回商店.您可以向用户显示"谢谢/订单确认"页面,告诉他们已付款.PayPal将触发您的IPN脚本,以便付款继续(或者发生了什么).与上面的步骤一样,您可以将IPN信息与意图记录进行比较,以确保其有效和真实.
我相信这会处理所有可能的情况,因为您使用的是数据库,所以不需要不间断的会话 - 因此买家无需在付款后返回您的网站.同样地,您不会有一个杂乱的销售表,其中包含所有即将退房的人,但由于某种原因没有继续付款.这些记录将"意图购买",您可以定期清除旧记录(或分析数据以找出人们退出流程的原因).
-
我希望这有帮助.我今天遇到同样的问题,我认为实际上不得不写出这个答案,这有助于我更好地为自己澄清它.
| 归档时间: |
|
| 查看次数: |
1740 次 |
| 最近记录: |