我应该下订单还是等待付款?

问题描述 投票:0回答:4

我正在构建一个简单的电子商务来处理我的订单请求(这是一个不同的电子商务,因为我将销售印刷电路板)。

所以,最大的问题是:当用户结账时,购物车中有商品,我应该做什么:

  • 完成订单,并将会话中的数据插入数据库,然后将状态设置为
    pending
    并等待付款公司(如PayPal,但来自巴西)付款
  • 或者,我应该只在用户支付产品费用时(当我收到回调时)才下订单

对此的疑问,是因为在付款之前下订单,可能会在数据库中创建大量未付款的订单(一些临时清理应该可以)。

付款后下订单可能会很困难,因为付款公司只返回我几个字段(每个印刷电路板我都有很多字段)。

也许我已经给出了“答案”,但我对此真的很困惑,我会很感激第二个意见......

谢谢

web-applications e-commerce payment-processing
4个回答
5
投票

好吧,逻辑地思考一下。当下订单时,无论订单最终是否会通过,您都希望存储订单的信息。原因有很多:

  • 您的订单分析(有多少完成付款等)
  • 跟踪需要付款的用户的待处理订单。

...以及其他用途。

由此,您可以得出结论,您肯定要存储挂单。将信息存储在单独的数据库/表中是没有意义的。

您应该意识到的一件重要的事情是,即使从未完成的挂单也可以用于其他目的,因此它们应该包含在其余已完成的订单中。


4
投票

我过去做过的是:

  1. 当他们点击“确认付款”时,我将订单添加到数据库,状态为待处理。
  2. 下一步是与支付公司沟通并获得回复。
  3. 使用支付网关的响应更新状态

通过这种方式,您还可以跟踪任何奇怪的差异,例如拒绝的交易(例如被盗的卡)。


0
投票

这确实是一个设计选择,但如果您不想处理用户未付款的订单,那么在用户付款后下订单似乎相当合乎逻辑。

所以, 用户付款 - >将订单添加到数据库,然后跟踪您需要的任何其他信息。

我能想到的唯一一个你想事先添加到数据库的例子是愿望清单的情况


0
投票

1.首先在确认页面上将订单存储在数据库中,即在用户进入付款页面之前。 2.如果订单成功则更新订单状态为成功。显示具有唯一 order_id 的成功消息 如果订单失败,则将订单状态更新为失败。显示失败消息。 如果用户取消付款,应重定向取消消息,并在数据库中取消订单状态。

存储所有订单是一件好事,因为您有跟踪订单或失败订单供用户查询,或者您可以将消息待处理状态订单发送给comp

© www.soinside.com 2019 - 2024. All rights reserved.