用php做团购程序时遇到一个问题请教
时间:2011-09-01
来源:互联网
             团购商品有人数限制,支付使用支付宝在线支付。
假设某商品最多只有5人购买。
当已经成交(支付成功)4个人的时候,这时只剩下1个购买名额。
就在这个时候A用户和B用户同时在线购买,当这两个用户从开始支付到结束支付这段时间内,商户网站程序判断还有一个购买名额(因为2人均未到成功支付,商户数据库中成功支付的仍然是4个人),因此购买请求合法,继续购买。
因为支付宝支付界面执行的是支付宝程序,非商家网站程序。因此这两个用户都支付成功,最终结果是程序设计只允许最多5个用户购买,实际却变成了6个用户购买成功。多了一个人买走了这个商品。
这个人数限制的问题要怎么解决呢?
            假设某商品最多只有5人购买。
当已经成交(支付成功)4个人的时候,这时只剩下1个购买名额。
就在这个时候A用户和B用户同时在线购买,当这两个用户从开始支付到结束支付这段时间内,商户网站程序判断还有一个购买名额(因为2人均未到成功支付,商户数据库中成功支付的仍然是4个人),因此购买请求合法,继续购买。
因为支付宝支付界面执行的是支付宝程序,非商家网站程序。因此这两个用户都支付成功,最终结果是程序设计只允许最多5个用户购买,实际却变成了6个用户购买成功。多了一个人买走了这个商品。
这个人数限制的问题要怎么解决呢?
作者: yysir 发布时间: 2011-09-01
             设定两个商品存量,一个是支付前存量numBeforePay,一个是支付后存量numAfterpay
A下了订单,但未支付,则numBeforePay扣除1
支付成功后~接着numAfterpay扣除1
如果支付失败,则numBeforePay还原加1
前台显示的商品数量及判断用numBeforePay值~
            A下了订单,但未支付,则numBeforePay扣除1
支付成功后~接着numAfterpay扣除1
如果支付失败,则numBeforePay还原加1
前台显示的商品数量及判断用numBeforePay值~
作者: 顺顺利利 发布时间: 2011-09-01
             在跳转到支付宝之前就要先把库存数量减掉, 以避免其它人继续购买并支付.            
            作者: sztime 发布时间: 2011-09-01
 相关阅读 更多  
      
    热门阅读
-  
 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
          阅读:74
 -  
 如何安装mysql8.0
          阅读:31
 -  
 Word快速设置标题样式步骤详解
          阅读:28
 -  
 20+道必知必会的Vue面试题(附答案解析)
          阅读:37
 -  
 HTML如何制作表单
          阅读:22
 -  
 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
          阅读:31
 -  
 ET文件格式和XLS格式文件之间如何转化?
          阅读:24
 -  
 react和vue的区别及优缺点是什么
          阅读:121
 -  
 支付宝人脸识别如何关闭?
          阅读:21
 -  
 腾讯微云怎么修改照片或视频备份路径?
          阅读:28
 















