处理两个人同时在网上商店购买独特商品

Joh*_*nes 7 php concurrency paypal e-commerce

我正在创建一个简单的在线商店,其中PHP与PayPal集成,可以销售独特的商品.我想知道的是其他商店如何处理多个人试图通过同一项目完成付款流程.

这是我目前的战略草案:

  • 项目有三种状态类型:可用,保留和销售.
  • 当用户移动到PayPal付款页面时,它会检查购物车中所有商品的状态,以确保它们可用.它还将项目的状态设置为"暂停",直到它们在确认付款或超时后返回(10分钟?不确定应该是什么).

这是标准做法还是我应该采取更实际的方法?

提前致谢!

Pau*_*ulG 2

我想说你的策略的第一部分是正确的 - 当你进入付款页面时,将所有产品标记为“暂停”

当用户完成付款后,您将收到来自 Paypal 的回发,让您知道授权是否成功(并且可能还允许您检查 CSC/CVV2 结果),此时您可以选择要么接受付款,要么拒绝付款。

收到回发后,您还应该检查项目是否仍处于保留状态。如果超时,您可以拒绝付款并显示一条消息“抱歉 - 超时”或类似内容。

如果您跟踪客户超时的频率,此方法还允许您计算出理想的超时期限,因此,如果超时的次数太多,您可以将超时从(例如)5 分钟延长到 10 分钟,或者如果超时则缩短超时时间。没有一个超时。