更多>>行业动态 Blog

关于微信支付显示 201 商户订单号重复 简单粗暴有效的解决方案

项目中接入了微信支付后,当同一个订单号第一次取消了支付后,后来再次支付时显示 201 商户订单号重复。

一、支付类型

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


二、问题

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

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

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


三、原因

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


四、解决方案

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


五、注意事项

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

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

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


评论列表

暂时没有相关记录

发表评论

用来接收审核回复提醒,请认真填写

  换一张?
captcha
看不清?点击图片换一张