+ -
当前位置:首页 → 问答吧 → 用php做团购程序时遇到一个问题请教

用php做团购程序时遇到一个问题请教

时间:2011-09-01

来源:互联网

团购商品有人数限制,支付使用支付宝在线支付。

假设某商品最多只有5人购买。

当已经成交(支付成功)4个人的时候,这时只剩下1个购买名额。

就在这个时候A用户和B用户同时在线购买,当这两个用户从开始支付到结束支付这段时间内,商户网站程序判断还有一个购买名额(因为2人均未到成功支付,商户数据库中成功支付的仍然是4个人),因此购买请求合法,继续购买。
因为支付宝支付界面执行的是支付宝程序,非商家网站程序。因此这两个用户都支付成功,最终结果是程序设计只允许最多5个用户购买,实际却变成了6个用户购买成功。多了一个人买走了这个商品。


这个人数限制的问题要怎么解决呢?

作者: yysir   发布时间: 2011-09-01

设定两个商品存量,一个是支付前存量numBeforePay,一个是支付后存量numAfterpay
A下了订单,但未支付,则numBeforePay扣除1
支付成功后~接着numAfterpay扣除1
如果支付失败,则numBeforePay还原加1

前台显示的商品数量及判断用numBeforePay值~

作者: 顺顺利利   发布时间: 2011-09-01

在跳转到支付宝之前就要先把库存数量减掉, 以避免其它人继续购买并支付.

作者: sztime   发布时间: 2011-09-01