paypal - Paypal 交易期间何时减去库存

标签 paypal e-commerce cart inventory

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

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

我遇到的许多开源电子商务网站似乎只有在收到并确认 IPN 后才会减少库存;然而,在高流量网站上,如果不同的买家在相近的时间范围内购买同一商品,则可能会导致产品的过度订购。另一方面,如果在收到付款之前库存减少,需要等待多长时间才能作废未付款订单并重新进货?最好的解决方案是什么?

预先感谢您就此主题提供的任何建议。

最佳答案

我们正在使用以下流程;

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

正如我提到的,3 小时的 session 超时并不理想,因此我们正在考虑使用 Embedded Payment Flow Using Adaptive Payments这将允许我们使用 JavaScript 来跟踪 session 时间,并在 session 时间超过 30 分钟时强制刷新页面。

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

关于paypal - Paypal 交易期间何时减去库存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10841028/

相关文章:

php - Paypal 结帐 php : how to securise a cart?

html - 如何实现与 Paypal 的 "Add Item"按钮配合使用的购物篮

php - 无法将我的 PayPal IPN 脚本从 http 1.0 转换为 1.1

php - 在 Woocommerce 的购物车中自动添加或删除免费赠品产品

php - 如何在 Shopware 6 Controller 中发送电子邮件?

javascript - 如何将自定义 html 邮件放入默认的 opencart 邮件中?

php - 以编程方式将 Woocommerce 购物车项目从虚拟更改为物理

php - 10413 Paypal 错误 :The totals of the cart item amounts do not match order amounts

paypal - 如何检查 PayPal 订阅是否仍在试用期

javascript - 我如何在电子商务表格上要求最低数量?