首页 > 项目 > 当前页面

支付中心 :一个订单能被多个渠道支付成功吗?

2024-10-27 NEW个对象

在程序里如果一个订单已经支付,是无法提交订单的。 

当然存在小概率事件,一个支付渠道已经提交了,但是回调的慢了一点,这个时候另一个支付渠道提交了订单,同样也支付成功了。

如何解决这个小概率事件?

1、做退款处理,原路返回。
2、表设计:一个支付订单、一个支付额外订单
3、在提交支付订单的时候,会生成一个支付额外订单,支付额外订单记录支付额度、冲退额度,冲退额度做对帐处理。
4、如果回调成功,会检验支付订单的支付状态,如果不是待支付状态,就走退款流程。

退款处理:


相关文章

  • Spring Boot3.0创建项目

    第一种建立方式:关于Spring Boot3.0的快速入门指南,建立一个新的项目,可以看一下官网文档:

    NEW个对象 2024-10-03

  • 分布式事务 TCC 一致性原理详解

    TCC(Try-Confirm-Cancel)是一种业务层面的分布式事务解决方案,通过资源预留、最终确认、失败回滚三个阶段实现跨服务的数据一致性。相比 XA 两阶段提交,TCC 不依赖数据库锁资源,更适用于高并发互联网系统。

    NEW个对象 2026-06-14

  • Kafka消费者耗时太长导致Rebalance怎么临时解决?

    Kafka消费者耗时太长导致Rebalance怎么临时解决?

    NEW个对象 2026-06-13

NEW个对象 NEW个对象
JAVA是世界上最好的语言