Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web applications 我应该下订单还是等待付款?_Web Applications_E Commerce_Payment Processing - Fatal编程技术网

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

Web applications 我应该下订单还是等待付款?,web-applications,e-commerce,payment-processing,Web Applications,E Commerce,Payment Processing,我正在建立一个简单的电子商务来处理我的订单请求(这是一个不同的电子商务,因为我将销售印刷电路板) 所以,最大的问题是:当用户进入结账时,购物车中有物品,我应该怎么做: 完成订单,将session中的数据插入数据库,然后将状态设置为pending,等待支付公司(如PayPal,但来自巴西)付款 或者,我应该只在用户支付产品费用时(当我收到回访时)下单吗 对此存在疑问,因为在付款之前下订单,可能会在数据库中创建大量未付款订单(一些临时清理应该可以工作) 付款后下订单可能很难,因为付款公司只返回几

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

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

  • 完成订单,将session中的数据插入数据库,然后将状态设置为
    pending
    ,等待支付公司(如PayPal,但来自巴西)付款
  • 或者,我应该只在用户支付产品费用时(当我收到回访时)下单吗
对此存在疑问,因为在付款之前下订单,可能会在数据库中创建大量未付款订单(一些临时清理应该可以工作)

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

也许我已经给出了“答案”,但我真的对此感到困惑,我想提出第二种意见


谢谢

我过去所做的是:

  • 当他们单击“确认付款”时,我将订单添加到DB中,状态为“待定”
  • 下一步是与支付公司沟通并获得响应
  • 使用来自支付网关的响应更新状态

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

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

    • 分析您的订单(有多少已付款等)
    • 跟踪需要付款的用户的待定订单
    …还有其他用途

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


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

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

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

    我能想到的唯一的另一个例子是,您想在手边添加到db的位置,例如,在愿望列表的情况下