2

这个问题比技术更概念化,我似乎找不到一个好的解决方案。我正在使用链式支付和自适应支付 API 开发一个高流量的电子商务网站。

在销售和随后的贝宝交易期间,我的网站应该在什么时候减少库存以防止过度订购?

我遇到的许多开源电子商务网站似乎只有在收到并确认 IPN 后才会减少库存。然而,在一个高流量的网站上,如果不同的买家在很短的时间内购买了相同的商品,这可能会导致产品订购过多。另一方面,如果在收到付款之前减少库存,那么应该等待多长时间才能取消未付款的订单并重新入库?最好的解决方案是什么?

提前感谢您对此主题的任何建议。

4

2 回答 2

3

我们正在使用以下流程;

  1. 每个项目在“库存”数据库表中都有一个条目。我们没有每个产品的单一“数量”字段,因为它不能确保 1:1 的一致性。(我们将其建模为类似于http://kylebanker.com/blog/2010/04/30/mongodb-and-ecommerce/,但在 MySQL 中实现)
  2. 一旦物品被放入购物车,我们就会对物品设置 10 分钟的“暂停”(这意味着 10 分钟不活动,而不是从他们添加物品开始总共 10 分钟)
  3. 当客户去结账时,我们最多需要 20 分钟(让他们有时间输入所有详细信息。你会惊讶于有些人需要多长时间)
  4. 当客户使用贝宝时,我们将其延长至 3 小时。这绝对不是理想的,因为这意味着非常低的库存商品可能会在很长一段时间内出现“不可用”。然而,这是 Paypal 对 payKey 的时间限制,将保证付款已经完成,或者永远无法使用该密钥进行。
  5. 然后,一旦您收到 IPN,您就将库存商品永久设置为“不可用”

正如我所提到的,3 小时会话超时并不理想,因此我们正在考虑使用使用自适应支付的嵌入式支付流程,这将允许我们使用 javascript 来跟踪会话时间,如果它们花费的时间比说的长,则强制刷新页面30 分钟。

不过,我很想听听 Paypal 的某个人是否有更好的解决方案。理想情况下,如果我们可以在用户返回网站后实施“快速结帐”式付费电话,而不是依靠 IPN 来完成订单,那会更好。

于 2013-07-05T07:22:08.790 回答
0

只需浏览一下 API(说真的 Paypal 有多少 API),我认为 IPN 是您的最佳选择。为什么?因为这是知道你口袋里有钱的最可靠方法。

对于任何在线系统,您可能会遇到过度订购,但这只是业务的一部分。解决此问题的唯一方法是在向客户收费之前进行数量检查。

于 2012-05-31T21:49:41.650 回答