糟糕,订单超时关闭成功,用户也支付成功了,我该怎么办?

最近在公司遇到一个关于支付的场景,跟大家分享一下。

起因

客户在商城下单之后,发现自己订单状态是已取消的状态,这是怎么一回事呢?让我们分析一下。

目前的逻辑

在这里插入图片描述

用户订单页会有30分钟超时关闭订单的倒计时操作,用户在30分钟内支付成功,则订单状态修改为已完成,否则30分钟之后订单变成已完成。通常订单超时取消的操作是由MQ延时关闭订单的。

问题

根据上面的情况会在日常使用中出现什么情况呢?大家可以动脑筋思考一下,好了,思考完毕,大家有答案了么,是的,会出现如下一个问题,有一些用户在购买物品时会比较犹豫,经常在最后一秒才进行支付,这时会出现一个问题,犹豫微信支付完成之后通知结果是异步通知的,且如果微信收到商户的应答不符合规范或超时,微信会判定本次通知失败,重新发送通知,直到成功为止。
在这里插入图片描述

这是可能由于网络原因或者通知失败,订单在MQ中先到期了,去执行订单取消的操作,且回归库存。然后支付成功之后结果发现订单已取消就不发放权益。客户就会一脸懵逼,我付了钱,怎么订单是关闭的,且购买的权益没生效。
如下图所示:
在这里插入图片描述

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 点击跳转浏览

解决方案

这种情况由于商品的库存已经回滚了,可能被其他用户抢到了,所以应该在支付结果回调的时候,判断订单的状态是已取消的话,则进行自动退款的操作,告知用户订单在支付成功时订单已经取消了,如果库存充足的话,请用户重新下单。这种临界点的操作其实很常见。我们在敲代码的时候也要多注意这种临界点情况的考虑。如果大家有更好的解决方案欢迎大家评论或者私聊博主。

结语

🔥一个人可以掌握知识,但只有与他人交流才能形成智慧。
🔥One person can acquire knowledge, but wisdom is formed only in the exchange with others.
📝 欢迎大家关注博主公众号 Rockey小何同学 关注后进群,一起学习,一起成长,一起提高认知。
🏆 我坚信人与人之间的差距是表面上是财富的差距,本质上是大脑中认知的差距,

我们下期再见。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 15:06:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 15:06:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 15:06:03       87 阅读
  4. Python语言-面向对象

    2024-03-17 15:06:03       96 阅读

热门阅读

  1. 蓝桥杯(3.16 刷真题)

    2024-03-17 15:06:03       40 阅读
  2. CSS3DRenderer, CSS3DSprite API 使用案例demo

    2024-03-17 15:06:03       44 阅读
  3. Google Hacking技术

    2024-03-17 15:06:03       37 阅读
  4. mysql报错日志查看

    2024-03-17 15:06:03       45 阅读
  5. Synchronized关键字的底层原理

    2024-03-17 15:06:03       40 阅读
  6. 令牌桶算法和漏桶算法

    2024-03-17 15:06:03       34 阅读
  7. 【Docker】Prometheus 容器部署及应用

    2024-03-17 15:06:03       40 阅读
  8. 华为机试真题练习汇总(51~60)

    2024-03-17 15:06:03       35 阅读
  9. c++算法学习笔记 (7) BFS

    2024-03-17 15:06:03       37 阅读
  10. redis配置文件详情

    2024-03-17 15:06:03       37 阅读
  11. Lambda表达式

    2024-03-17 15:06:03       39 阅读
  12. CSS中px、em、rem的区别及使用场景

    2024-03-17 15:06:03       40 阅读
  13. CSS 面试题及答案

    2024-03-17 15:06:03       39 阅读