2017-02-16 71 views
0

我正在开发一个电子商务网站,我有一个怀疑。假设用户在他的车增加了一个产品,并点击结账,他被转移到一个支付网关它产生一些条件使用php结帐情况的电子商务网站

  1. 同时另一个用户2签出相同的产品,而用户1是在结算过程,所以我应该少量显示产品数量,或者在用户1成功付款之前显示相同的数量。
  2. 如果用户1点击结账,并且从未从网关返回,例如他已关闭浏览器或标签,并且当他点击结账按钮时扣除了数量,以便用户2可以看到可用的实际数量。

  3. 如果我被点击结帐按钮和用户2也检查了只是在用户1和后的产物具有有限数量已经由用户购买时不扣除量1.

如何处理这种情况? 我使用的是php和mysql。

回答

0

我建议您仅在结帐结束时扣除数量。

最后完成结帐的用户将收到一个错误,说明产品不再可用。

电子商务使用的另一种方法是JIT(Just-in-time),所以产品“始终可用”,并且不会发生此问题。

+0

在这种情况下,当用户2回来在我的网站上,我的扣除数量的脚本开始运行,它发现数量已经是0,所以它应该显示一些错误消息,如您的交易成功但产品不再可用,你的钱会在一些工作日内转移到你的银行账户上吗?但我想要的是,每当产品缺货时,交易永远不会发生。 –

+0

好吧,现在就拿... 在这种情况下,您应该在付款阶段之前保存订单并扣除数量。 付款阶段在订单已存在于数据库中之后。因此,您应该在付款前为该订单预留产品,并将订单保存为“等待付款”状态。 当订单在其上停留超过X天时,您应取消订单并将保留数量返回到可用数量。 我目前正在使用的电子商务正在使用这种方法。 我希望这能解决你的问题,所以我可以编辑上面的答案。 –