背景:以前就偶尔会出现这种问题,但一直没头绪,之前发帖问了也没什么结果。直到今天终于自己能重现了(之前是其它用户出现的)
支付方式:小程序微信支付,每次点支付都是通过订单号生成新的prepareId
操作步骤:1、对一个订单唤起支付,选择没钱的银行卡,输入支付密码,后面会提示说没钱了
2、等一段时间(虽然我们expireTime设置了5分钟,但我还是等了3个小时再试)
3、重试支付,点支付,选卡,输入密码。就出现如图的问题了
说明一下:1、如果唤起支付后不输入密码,直接取消支付,那不论隔多久重试支付都是正常的。(我怀疑就是输入密码支付的话,微信端会记录单号)
2、所以这块是不是适合做成:如果微信支付失败的话(比如我例子中的卡没钱),就不记录单号。
支付的时候当然要验证订单号,你设置了过期时间 5 分钟,等 3个小时再去支付当然会出现订单失效。
不是记不记录单号的问题,而是订单已超时失效了。如果还想继续支付建议不要设置过期时间或者把过期时间设置长一点即可。
如果对你有帮助请点击「有用」告知
楼主 你这个问题解决了吗
你设置5分钟等3小时 ??????
订单的有效期,只和你设置的参数有关。和你是否输入密码。并无直接关联。