微信支付,用 uni-pay (版本2.3.3)创建订单后,等了6分钟,在没有支付的情况下,在云对象中调用下面的方法:
await uniPayCo.closeOrder({
out_trade_no: "2022102701100010100101001", // 插件支付单号
});
结果: 关闭订单失败,请稍后再试
请问这个怎么解决?
微信支付,用 uni-pay (版本2.3.3)创建订单后,等了6分钟,在没有支付的情况下,在云对象中调用下面的方法:
await uniPayCo.closeOrder({
out_trade_no: "2022102701100010100101001", // 插件支付单号
});
结果: 关闭订单失败,请稍后再试
请问这个怎么解决?
potatoknight (作者)
我目前是在云函数中调用closeOrder的,是不是说closeOrder要放到前端调用?然后uni-pay 会自动让用户输入“支付密码”?然后才能关闭?
这个“输入支付密码”是什么情况下才能触发呀?如果都输入过支付密码了,说明用户已经付款了,那场景不就变成 refund了吗?
但一般调用 closeOrder 是用户下单未付款,导致支付超时,然后系统来 closeOrder,这个时候咋让用户输入支付密码呀?
求指导 (●'◡'●)
2025-07-10 11:41
DCloud_uniCloud_VK
回复 potatoknight: 就是微信认为只有用户进入过支付密码页面,然后放弃输入密码,这样才能关单,否则压根没创建订单,就不需要关单
2025-07-10 11:59
DCloud_uniCloud_VK
你只需要把你自己业务系统的订单关了就行
2025-07-10 12:00
potatoknight (作者)
回复 DCloud_uniCloud_VK: 好的,感谢回复
2025-07-10 18:40