微信/支付宝,预下单遇到的问题

2019-05-30 10:58:23 +08:00
 lvhuiqi

大佬们,请教一个支付的问题: 如下单: 买课程 限购人数 20 人 /已购人数 19 人的时,我下单进行购买,我做的处理是,在支付回调的时候,成功了把已购人数+1,现在出现个问题就是,如果我下单时,没有支付,其他人也下单了,支付成功了,在回调的时候已购人数都+1,课程已经满了,我在支付也可以支付成功,已购人数也会+1  就变成了限购人数 20 人 / 已购人数 21 人了。这种情况应该怎么处理呢?

1788 次点击
所在节点    问与答
9 条回复
kimiler
2019-05-30 12:08:14 +08:00
已实现付款为准,后者作退款处理
kimiler
2019-05-30 12:10:14 +08:00
或者以下单为准,减库存,规定时间内未成功付款,库存还原,供下一个用户抢购。
rbe
2019-05-30 12:30:36 +08:00
楼上+1。以下单为标准减库存比较好。在淘宝买东西也是,有时候会遇到提示『还有用户未付款,还有机会,15 分钟内未付款会释放订单』这样的状态
lvhuiqi
2019-05-30 14:00:57 +08:00
@rbe 这个释放订单是怎么做的? 微信文档有提供嘛? 还是需要我服务器自己去做这个处理?
lvhuiqi
2019-05-30 14:01:13 +08:00
@kimiler 这个释放订单是怎么做的? 微信文档有提供嘛? 还是需要我服务器自己去做这个处理?
IceBay
2019-05-30 14:04:38 +08:00
@lvhuiqi #5 自己实现,创建的支付订单如果指定时间内没有支付,自动取消这张订单。放入其他用户进来支付订单。
IceBay
2019-05-30 14:05:50 +08:00
看了下文档,微信支持指定订单交易失效时间
Light3
2019-05-30 14:15:51 +08:00
感觉你自己逻辑有问题
一般都是先查库存 只要进入支付页面下单了跳到支付页面 就会扣除库存 难道你都是一秒几百的数据吗 会出现这种情况
释放订单可以考虑队列 自己设置个时间 来查这个单是否完成 取消订单并归还库存
NerverLibis
2019-05-30 19:50:02 +08:00
@lvhuiqi 网易支付是同时下单,谁先支付成功算谁的,其他退款。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/569040

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX