订单号:1615712869534382755359596964
云开发:调用微信支付后,此时已经生成订单,进入微信支付输密码弹窗界面,如直接关闭弹窗,此时用CloudPay.queryOrder()可以查询到订单状态为“NOTPAY,未支付”,但在微信商户后台 交易订单-->批量订单查询中不显示此订单(如果是输错密码后再关闭弹窗,此时商户后台批量订单查询中显示出此订单),如果在商户后台 交易订单-->按订单号查询的话,又报错。坑的一B
问题:此时需要对这个未支付的订单要怎么处理,重新发起支付的话,会报“201 商户订单号重复”,
如果用新的订单号发起支付,相当于重新下单了,那之前的订单也没必要关闭或者不去处理它就行了?
关单处理
因为直接复制官方文档的代码过来,请求支付的时候报“201商户订单重复”,是因为云函数又调用了一次统一下单接口。 如果取消订单再重新对原订单支付的话, 可以在统一下单的时候,把返回的package在数据库中保存下, 再对这次订单支付的话,先调订单查询queryOrder接口,再请求支付
wx.requestPayment({ nonceStr: result.nonceStr, //订单查询接口获取 package: package, //从数据库中获取 paySign: result.sign, //订单查询接口获取 timeStamp: Date.parse(new Date()) //时间戳 })
以上是个人思路,如有问题,欢迎纠正(微信的开发文档写的是真的烂)