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

时间:2012-08-12 03:38:57

标签: web-applications e-commerce payment-processing

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

所以,最大的问题是:当用户进入结账时,他的购物车中的商品应该怎样做:

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

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

付款后下订单可能很难,因为支付公司只给我一些字段(我的每个印刷电路板都有很多字段)。

也许我已经给出了'答案',但我对此感到很困惑,我会提出一个第二意见......

由于

3 个答案:

答案 0 :(得分:2)

我过去所做的是:

  1. 他们点击“确认付款”的那一刻我将订单添加到状态为待处理的数据库。
  2. 下一步是与支付公司沟通并获得回复。
  3. 使用来自支付网关的响应更新状态
  4. 通过这种方式,您还可以跟踪任何奇怪的差异,例如拒绝交易(例如被盗卡)。

答案 1 :(得分:2)

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

  • 分析您的订单(付款的次数等)
  • 跟踪需要付款的用户的待处理订单。

......以及其他用途。

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

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

答案 2 :(得分:0)

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

所以, 用户付费 - >向db添加订单,然后跟踪您需要的任何其他信息。

我能想到的另一个例子就是你想要在数据库中添加到数据库的位置,例如