作者:拍友2602932873 | 来源:互联网 | 2023-07-22 17:32
聚合支付,接了通道(第三方支付,包含支付宝h5和微信h5支付),两个用户扫码支付,把一样的流水号(假设流水号规则是日期时间+商家id+6位随机数字,因为付款的用户信息拿不到,所以还是可能
聚合支付,接了通道(第三方支付,包含支付宝h5和微信h5支付),两个用户扫码支付,把一样的流水号(假设流水号规则是日期时间 + 商家id + 6位随机数字,因为付款的用户信息拿不到,所以还是可能出现流水号相同的情况)传给了通道,通道回调聚合支付,聚合支付校验这笔交易时,发现金额不对,这时会支付失败。但是通道已经把钱收了,而聚合支付却显示状态收款失败,并且聚合支付记账也会出现错误。如果不能百分之百保证流水号的唯一性,高并发时肯定会出问题的。
类似这样的设计:日期时间 + 商家id + 6位随机数字,似乎不能保证流水号的唯一性,高并发情况下,如何保证流水号的唯一性呢?
------ 分割线 -----------------
目前的解决方案:
1.随机数字
获取随机数字的算法,必须确保随机数字的唯一性。
具体细节,欢迎补充。
2.其他解决方案
欢迎补充。
----- 分割线 --------
参考文章
http://www.jianshu.com/p/331b...