关于在线支付(微信支付、支付宝支付等)订单号重复的问题处理 [ 新手入门 ]
当一个订单生成支付接口,不支付直接返回,再次支付时,如果更改了价格或其中一个参数值,会出现订单号重复的错误。
针对于修改价格或参数这种情况,就不能直接用不会改变的订单号去请求了,有一个比较简单的方式,就是每次支付的时候在订单号后面加上'_323232' ,下划线和随机值,微信支付(或支付宝支付)成功返回的时候去掉下划线后面的即可得到实际订单号。
还有一种简单的方法,就是在订单表里新增一个字段,在每次触发支付接口时,都重新生成一个唯一的临时订单号保存在此订单的临时订单字段中,传递给支付接口的订单号就是临时订单号,支付状态处理的时候,根据临时订单号获取正式订单号,同时进行业务处理。
如果要核实对账单,那临时订单号最好是和正式的订单号一样,在后面随机加上一些随机字符串来解决。
共 1 条回复
PHP学院的中学生
注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
最后登录:2024-09-23
在线时长:168小时13分
- 粉丝29
- 金钱4725
- 威望30
- 积分6705