【发布时间】:2016-05-22 20:54:49
【问题描述】:
我正在使用电子商务框架 django-oscar (Oscar)。 在 Oscar 中,结帐流程如下所示:
- 收集运输信息。
- 选择付款方式并收集付款详情。
- 预览订单并确认。
- 冻结购物篮(以防止操纵)、处理付款并下订单。
我正在集成一个基于表单的支付网关(需要发布带有支付详细信息的表单),现在结帐过程变得混乱:
-
一个。收集运输信息。
b.选择付款方式。
c。预览订单并确认。
d。冻结购物篮并下一个未付款的订单。
e。重定向到支付网关。
f。退货时将订单标记为已付款。
我遇到了这些问题:
1) (c) 和 (d) 必须一步完成,因为在 (e) 之前网站与用户之间没有交互 - 我无法将客户 POST 重定向到支付网关,因此点击“确认”将他/她直接移动到那里。并且由于在显示预览页面时已经下订单,因此客户不可能从那里返回 - 购物篮将是空的。我可以在预览和支付网关之间放置另一个页面,但这看起来不是一个优雅的解决方案。还有一个吗?
2) 下订单意味着分配商品并将其从库存中移除(其他客户将无法购买),否则当客户从支付网关返回时,某些商品可能会变得不可用。不可避免地,一些订单将未付款,因此将保留物品。应该何时以及如何将它们“无保留”并移回库存?
在我看来,这些问题并不是奥斯卡特有的,那么处理它们的最佳实践是什么?
谢谢!
附:我在 Oscar (https://groups.google.com/forum/#!topic/django-oscar/ccClzX6M9To, Integrating a redirection-included method of payment in django-oscar) 中发现了一些关于集成基于表单的支付网关的讨论,但没有提到概述的问题。
【问题讨论】:
标签: e-commerce payment-gateway django-oscar