如何防止两个客户购买一件商品

时间:2017-01-28 22:23:25

标签: php paypal

我使用paypal IPN + PDT在我的网站上销售一些东西。我总是在付款前检查库存中有多少商品。在客户下达订单后,他被重定向到PayPal进行付款。付款完成后,我更新了有关销售东西的数据库,直到这一刻我没有问题因为我卖的是无限量的物品。我不确定如果我有10个待售物品,我应该怎么办,例如在这种情况下:

有最后一件待售。客户下订单,他将支付PayPal但他还没付款(网站仍然显示有一件待售),同时客户B看到库存中剩下一件物品,所以他是打算买它。在这种情况下,两个客户都会付费,但只有一个(更快的一个)获得他的产品。

要做到这一点,我必须做些什么?

1 个答案:

答案 0 :(得分:1)

我无法先找到你的代码答案,但是这里可以用纸方式完成:

  • 当客户A点击"付款"按钮,项目数量在数据库中更新
  • 如果付款通过,则不执行任何操作,如果付款未通过(已取消,付款信息不正确等),则将数量还原为原始

只要您进行最终的数量检查"这应该可以正常工作。当用户点击结帐按钮时。让我们说客户A和客户B都在购物车中有一个商品X,并且只剩下一个商品。他们不能为物品付款,因为您的系统会在重定向到Paypal之前检查数量,并且只要其中一个客户点击按钮,数量就会更新以反映购买。

相关问题