用户(Mate 30 Pro, android10)使用我们app:
第一次唤起微信支付用的out_trade_no=20240221124420542101010130
第二次唤起微信支付用的out_trade_no=20240221124425542101010164
服务端收到的推送用的是第一次的out_trade_no,导致服务端无法找到对应的订单。
我试了几次自己的android(Realme GTNeo3, android14),都是用的第二次的out_trade_no。
是什么原因导致用户支付时使用第一次的out_trade_no?
有种情况,如果你的库是读写分离的,极有可能在第二次外部订单号更新后,立刻去读取最新的,但是读取的其实还是第一次的外部订单号,这属于读写分离延迟,倒是有概率导致用户实际用的第一次的外部订单号去支付的,所以微信支付回调也是第一次的外部订单号
应该是用户唤起了微信支付,实际用的第一次的out_trade_no支付成功。
用的微信版本8.0.45,看了下是最新版本
有可能是用户调起微信没有支付,后面打开微信还停留在了付款页面,然后用户进行了付款操作
不晓得会不会和手机。