赶知识网

关于微信支付显示 201 商户订单号重复

开发参考 2023-01-06发布 834次点击

一、支付类型


目前微信支付的基础支付类型有:JSAPI支付、APP支付、H5支付、Native支付、小程序支付、合单支付、付款码支付。




二、问题


1、比如你有一个项目,分享到微信里后,接入了一个H5支付。用户报名生成了订单,调起了微信支付的界面。由于种种原因,用户最终没有付款,取消了支付。


2、然后用户回到了你们的APP里,在APP个人的支付中心里,有这笔未支付的订单,此时用户想要再次支付,在调起微信支付时,却弹出了“201 商户订单号重复”的错误。


其他支付类型也可以参考这个逻辑。




三、原因


是由于用户换了支付类型,同一个订单号在一个商户号下需要保持唯一,即一个订单号你通过H5或小程序下单了,就不可以再使用该订单号调用APP支付接口。




四、解决方案


有一个简单粗暴并且行之有效的解决方法,那就是再次支付时,重新生成一个订单号,即可完美解决。




五、注意事项


1、我们把第一次生成的订单号称为旧订单号,把重新生成的订单号称为新订单号。


2、在第一次生成订单号时,你可以把支付类型同步保存起来,当第二次再支付时,若支付类型不相同,则表示用户更换了支付类型,就重新生成一个订单号。


3、重新生成订单号后,同时需要把订单表、报名表等与旧订单号有关联的表,同步更新替换成新订单号。


Top10

沪ICP备09053415号 © 赶知识网