用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