问题:
最近做电商项目,在用户第一次下单后,取消了支付,此时订单是待付款的状态,如果用户此时修改了订单的地址,导致订单的价格或者其他的信息变了,然后再次点击付款的话,此时微信官方会返回“201 商户订单号重复”。
问题原因:
第一次取消支付,再次支付时,前端调起后台支付下单接口时,商品的价格变了。像这种第一次没支付或支付失败,再次支付时,需要保证下单接口的所有信息(描述,价格等)请求信息和第一次请求完全相同才可以,如有不同,微信官方会认为是不同的支付,就会要求不同的商户订单号(outTradeNo)。
解决办法:
保证再次支付下单时发起的请求参数和第一次一样。