【问题标题】:When to subtract inventory during a paypal transaction在贝宝交易期间何时减少库存
【发布时间】:2012-05-31 20:46:13
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: paypal e-commerce cart inventory


    【解决方案1】:

    我们正在使用以下流程;

    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 小时会话超时并不理想,因此我们正在考虑使用 Embedded Payment Flow Using Adaptive Payments,这将允许我们使用 javascript 来跟踪会话时间,如果它们花费的时间比说的长,则强制刷新页面30 分钟。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 但是收费是通过paypal的网站进行的,用户被发送到paypal的页面后,如何在买家按pay之前进行数量检查?
      • 我假设您对商品数量有某种访问权限,在您开始付款之前先检查它是否有库存
      • 是的,但是如果人们点击购买,同时去paypal,你说的就不行了!
      • 是的,它可以工作..你是如何转移客户的?您使用的是 POST 表单吗?您可以改为重定向到执行 POST 以及数量检查的中间手册页。或者,您可以为按钮单击附加 AJAX 数量检查。
      猜你喜欢
      • 2015-12-30
      • 2012-08-31
      • 2015-10-13
      • 1970-01-01
      • 2016-10-08
      • 2016-12-02
      • 2015-08-11
      • 2017-06-29
      • 2014-03-16
      相关资源
      最近更新 更多