第三方支付-预授权业务

1,198 阅读5分钟

流程

包含4个核心流程:

1.预授权支付

2.预授权撤销

3.预授权完成

4.预授权完成撤销

详细说明继续看下文。

预授权支付

这一步没有记账,只是把钱从消费者银行卡转账到支付公司备付金。但是,商家没有收到钱。

预授权支付之后,正常情况下,下一步是预授权完成:1.给商家入账 2.退押金给消费者。

异常情况,是预授权撤销:退钱给消费者。

预授权撤销

什么情况下,会触发预授权撤销?

就是在预授权支付之后,但是没有预授权完成。

根据是否支付成功,细分为两种情况:

1.支付成功

退钱给消费者,并且更新状态为预授权撤销。

2.支付未成功

如果支付未成功,只是更新状态为预授权撤销。

预授权完成

在预授权支付之后,下一步,正常情况下,就是预授权完成。

预授权完成,主要做了两个事情:

1.给商家入账

2.退押金给消费者

预授权完成撤销

什么情况下,会触发预授权完成撤销?

顾名思义,就是在预授权完成之后,才撤销。

预授权完成撤销,主要干了一件事:把给商家的钱,也要退给消费者。其实就是字面意思,这个订单,现在已经被撤销了。

在预授权完成撤销之后,其实就相当于全额退款了。

预授权完成,相当于是部分退款。

小结

上面核心流程,具体的接口实现,有两种方法:

1.预授权支付

使用单独接口。

2.预授权撤销,预授权完成,预授权完成撤销

可以使用同一个接口,但是要根据入参类型字段来区分不同的业务。


使用同一个接口,好吗?

不是不可以,但是最好不同的核心业务流程,还是使用不同的接口。这样一目了然,而且看接口名字,就知道核心业务流程是哪几个。

支付宝

支付宝的预授权接口文档地址:opendocs.alipay.com/open/201804…

核心流程

image.png

支付宝的名字是这么划分的:

1.预授权

即相当于是预授权支付,其实就是把消费者的钱先冻结了,但是钱没有入账给商家。

但是,钱已经到了支付公司备付金银行卡,所以,支付公司才能给消费者和商家做担保。

2.支付

即相当于是预授权完成,其实也是:1.入账给商家 2.退押金给消费者。

只不过,支付宝的预授权撤销和预授权完成撤销,稍微有点区别。预授权撤销,有两种方法:1.预授权撤销 2.预授权解冻。预授权完成撤销,是通过退款接口实现。

但是,无论叫什么名字,其实本质和核心步骤,是差不多的。具体的细节,看下文。

预授权支付

对应截图里的:授权冻结接口。

预授权撤销

有两种方法,对应截图里的解冻和撤销:

1.解冻

最佳实践是使用解冻,使用解冻之前,先查询冻结是否成功,如果冻结成功,就使用解冻。解冻,就是退款。

如果是非成功的中间状态,就使用撤销。

2.撤销

如果冻结之后的结果未知,即查询冻结的结果是中间状态,就使用撤销。

撤销是分两种情况:1)如果冻结已经成功,就退款,这种情况和解冻功能一样 2)如果冻结没有成功,只更新状态为撤销。


参考支付宝文档,建议优先使用解冻:1.先查询冻结结果是否成功 2.如果冻结成功,就解冻(即退款)。

预授权完成

对应截图里的:统一收单交易支付接口。

预授权完成撤销

截图里的:退款接口。

其实就是这个时候已经完成了预授权支付,然后进行退款。

因为预授权支付主要是:1.入账300给商家 2.退押金200给消费者。

所以,预授权退款的主要业务:其实就是把入账给商家余额的钱退款给消费者,即退300给消费者。

微信

微信的预授权业务的文档:pay.weixin.qq.com/wiki/doc/ap…

注:或者在浏览器搜微信支付文档 + 酒店,可以找到该文档。

架构

按记账次数,分两种不同的架构:

1.记账两次

入住的时候:消费者入账1000给酒店。

退房的时候:酒店退300给消费者。

2.只记账一次

入住的时候:不入账给酒店。

退房的时候:入账700给酒店。


架构图如下

两种架构的区别在于,酒店记账了几次。

微信为什么使用架构2来优化?因为这样使得商家只记账1次,记账更清晰易懂。一个人入住酒店一次,就记账一次,而不是先入账后退款,搞了两次。

接口

正常情况下,核心流程是:

1.预授权

入住酒店的时候,预授权。

2.支付

退房的时候,真正支付。

其实就是入住酒店的时候:预授权。然后退房的时候:支付。


异常情况:

1.如果预授权异常

就调用撤销接口撤销。

注:或者不是异常,只是在预授权之后,如果想撤销,也是调用撤销接口撤销。

2.如果支付成功之后,又想退款

就是调用退款接口退款。

总结

不同的支付公司,每个核心流程的名字和叫法不一样,但是本质其实是一样的。

重点是记账,即关注每个核心流程的记账情况,因为支付和支付系统的核心就是资金的流转。