现在在负责公司的一个支付系统,当然这个系统比较老了,我也是接手的。最近出现了一个故障:即上游系统错误发送了两笔放款请求,两笔请求的订单号都不同。造成了用户银行卡重复性放款。
现在希望在尽可能防止重复扣款和放款的基础上,尽可能的不要降低太多的并发性能的基础上,防止重复扣款放款为重点。
目前我想到的方案是:
放款:
扣款:
除了上面的以外,大家有什么方案或者说最佳实践吗?谢谢大家的帮忙~
1
delectate 2020-03-23 18:23:04 +08:00
订单号不同,明显是上游的问题。
加个规则吧:短时间内,不同订单号,相同用户(姓名 /卡号等),额度相同,则认为是相同的扣款 /放款,进行拦截并上报,等待人工处理。 |