关闭订单和撤销订单的区别?

785 阅读3分钟

关闭订单

应用场景

什么时候会关闭订单?

1、看支付宝的文档说明


用于交易创建后,用户在一定时间内未进行支付,可调用该接口直接将未付款的交易进行关闭。

opendocs.alipay.com/open/02o6e8

2、微信文档

以下情况需要调用关单接口:

1、商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;

2、系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。


注意:

• 关单没有时间限制,建议在订单生成后间隔几分钟(最短5分钟)再调用关单接口,避免出现订单状态同步不及时导致关单失败。

pay.weixin.qq.com/wiki/doc/ap…


什么意思呢?就是消费者提交了订单,但是没有输入支付密码支付。

说白了,就是该笔订单,虽然创建了,但是没有被真正支付。

这个时候就可以关闭订单。

具体怎么关闭呢?调用支付宝的关闭订单接口,即可关闭。

谁来触发关闭订单?

  1. 系统自动关闭

如果订单过期了,消费者仍然没有支付,系统的job就会轮询过期订单,然后进行关闭。

  1. 商家主动关闭

消费者提交了订单,但是没有支付。商家也可以主动点击关闭订单,这个时候也会调用支付宝关闭订单接口关闭订单。

关闭之后,消费者可以重新支付。这个时候,创建的是新的订单,而不是之前的已经关闭的订单重试支付。

撤销订单

应用场景

什么时候会撤销订单?

1、看支付宝的文档

支付交易返回失败或支付系统超时,调用该接口撤销交易。
如果此订单用户支付失败,支付宝系统会将此订单关闭;如果用户支付成功,支付宝系统会将此订单资金退还给用户。 

注意:只有发生支付系统超时或者支付结果未知时可调用撤销,其他正常支付的单如需实现相同功能请调用申请退款API。
提交支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。

opendocs.alipay.com/open/02ekfr

2、微信文档

支付交易返回失败或支付系统超时,调用该接口撤销交易。
如果此订单用户支付失败,微信支付系统会将此订单关闭;如果用户支付成功,微信支付系统会将此订单资金退还给用户。

注意:7天以内的交易单可调用撤销,其他正常支付的单如需实现相同功能请调用申请退款API。
提交支付交易后调用【[查询订单API](https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_2)】,没有明确的支付结果再调用【撤销订单API】。

调用支付接口后请勿立即调用撤销订单API,建议支付后至少15s后再调用撤销订单接口。

pay.weixin.qq.com/wiki/doc/ap…


所以,什么情况下会撤销?就是在支付之后,返回非成功,非成功分两种情况:

  1. 返回失败

如果消费者支付失败,支付宝就会直接关闭订单。

  1. 返回超时

如果消费者支付成功,支付宝会退款给消费者。

谁来触发?

根据支付宝返回状态,商家调用支付宝撤销接口触发。

参考

opendocs.alipay.com/support/01r…