jsapi支付 用户点击支付 后台通过统一下单接口 生成 out_trade_no 商户订单号 返回微信json 拉起支付 ,支付成功后 有时会出现 回调里面的 out_trade_no 与数据库中的 不一样 导致 无法进行后续处理。 时而会出现这种情况, 用户如果 点击支付 通过下单接口 获取 微信支付json 弹起 支付框 在关闭支付框 重新在下单 获取一个新的支付json 同时也生成一个新的out_trade_no 存入数据库 ,输入密码支付成功 会出现 回调out_trade_no 不一致吗 ? 我自己测试是没有出现过 。但是对账时候 时而会发现几个订单会有这样问题
自己上报实时日志再定位问题吧,不是生成订单逻辑有问题就是调起支付逻辑有问题
只能是自己的代码逻辑的问题,
生成新out_trade_no,更新订单,返回更新成功后,再去拉起支付。
以前遇到过此类问题,是因为数据库本身开了读写分离,更新进去新的out_trade_no后,实际用户在老的out_trade_no下已经支付过,所以微信支付回调里体现的是老的out_trade_no,实际数据库里存入的是新的out_trade_no,导致订单查不到,可以按照此方向去检查问题