# 预授权支付
---
## 1. 在调用支付宝预授权冻结接口时,如何正确填写biz_content中的字段
建议按照产品文档接入指南入参接口参数:[https://opendocs.alipay.com/open/20180417160701241302/dvonpk?pathHash=e263167e&ref=api](https://opendocs.alipay.com/open/20180417160701241302/dvonpk?pathHash=e263167e&ref=api)
---
## 2. 预授权解冻可以根据交易号解冻吗?授权号数据丢失了
不可以,无法根据交易号解冻。
---
## 3. 支付宝预授权产品介绍&接入流程
[支付宝预授权](https://opendocs.alipay.com/open/repo-0038jq?ref=api)是商家在移动端唤起支付宝 App 时,先冻结用户一定资金作为押金,后续按实际消费金额从用户冻结资金中扣除给商家,剩余金额解冻返还用户的一种支付产品。该产品在签约完成后,需要技术集成方可使用。
**注意:** 支付宝预授权已由2023-10月从全开放产品下架,该时间点前已申请权限商户仍可使用,新对接商户和协议到期商家资金冻结升级为[预授权支付](https://opendocs.alipay.com/open/06de96?pathHash=f6dfbf6f),信用免押升级为[芝麻免押](https://opendocs.alipay.com/open/03w0a6?pathHash=8fcf7eb1)(由原来“支付宝预授权”升级)。
---
## 4. 预授权冻结成功后,用户哪里可以查询冻结记录和主动取消冻结?
预授权冻结成功后,查询冻结记录入口:
1.用户可以在资金明细查看资金冻结记录。
2.支付宝app-我的-账单中,可以查看资金冻结解冻的账单数据。
注意:预授权资金冻结后解冻,目前是需商家侧调用接口解冻或者超期自动解冻(12个月),用户侧不支持取消冻结。
---
## 5. 预授权转支付的时候传:auth_confirm_mode:COMPLETE 会有预授权单解冻的通知吗?
预授权转支付时解冻,是不触发预授权单解冻的通知的;入参auth_confirm_mode:COMPLETE 后转支付成功预授权单就会解冻成功。
预授权单解冻通知触发情况:
- 调用接口解约,会触发通知,通知到接口入参的notify_url
- 超时自动解冻,会触发通知,通知到appid下设置的应用网关地址
---
## 6. 预授权可以设置失效时间吗
可以,在冻结接口中传入timeout_express超时参数。timeout_express参数说明:预授权订单允许的最晚授权时间,逾期将关闭该笔订单,取值范围:1m~15d
---
## 7. 预授权调用统一收单交易支付扣款不成功后同一个商户订单可以重复发起扣款吗?还是要再生成一个商户订单号去发起扣款?
预授权资金冻结后转支付场景,几乎不会存在扣款不成功的情况。 如果您转支付失败了(用户账号被司法机关冻结了之类的),是可以使用相同的外部订单号去发起扣款的。
---
## 8. 预授权支付接入指南
**注意** :**预授权支付** 是 **支付宝预授权** 与 **新当面资金授权** 的升级产品。接入支付宝预授权与新当面资金授权的商家,可查看 [支付宝预授权](https://opendocs.alipay.com/open/repo-0038jq?ref=api)、[新当面资金授权](https://opendocs.alipay.com/open/318/106376?pathHash=947db767),后续支付宝预授权/新当面资金授权将不再进行维护,建议您将支付宝预授权/新当面资金授权订单完结后,按照 [预授权支付](https://opendocs.alipay.com/open/064jh5?pathHash=15a147c2) 指引接入 **预授权支付**。
---
## 9. alipay.fund.auth.order.unfreeze解冻成功没有拿到解约消息通知
确认下alipay.fund.auth.order.unfreeze接口有没有入参notify_url。
---
## 10. 预授权转支付提示授权单的收款方不一致
预授权转支付时实际收款方需要与被授权冻结的商家保持一致,建议检查接口中是否传入了门店、seller_id等参数指向了不一致的收款方。
---
## 11. 预授权支付押金一定等于订单总金额
不一定的。
当用户使用如租车、充电桩、酒店预订等服务时,用户需要先做一笔资金授权。当服务完成,扣款时,商家再调 [alipay.trade.pay(统一收单交易支付接口)](https://opendocs.alipay.com/open/064jhk?referPath=064jh8_2f599547)从授权资金中扣除消费金额,剩余金额返还给用户。冻结资金需要商户根据自身业务做出合理预估,支持一次授权多次扣款,累计扣款最多不能超过冻结金额。 详见:[https://opendocs.alipay.com/open/064jh8?pathHash=2f599547](https://opendocs.alipay.com/open/064jh8?pathHash=2f599547)
---
## 12. 资金授权操作查询接口中哪个字段可以表示商户还能扣除的金额
rest_amount字段表示当前订单剩余冻结金额,也就是商户可以扣除的金额;
详见接口文档:[https://opendocs.alipay.com/open/064jhg?scene=common&pathHash=44be9c20](https://opendocs.alipay.com/open/064jhg?scene=common&pathHash=44be9c20)
---
## 13. 预授权支持用花呗支付押金吗
冻结用户花呗(PCREDIT_PAY)额度渠道升级中,暂不支持新用户申请接入,请关注后续通知。
---
## 14. 需要一个线下供客人扫码的预授权二维码
线下扫码授权可以参考预授权线下场景,集成文档:[https://opendocs.alipay.com/open/09bn1m?pathHash=bbc3c3](https://opendocs.alipay.com/open/09bn1m?pathHash=bbc3c3c3)
---
## 15. 预授权支付冻结转支付时产品码应该传什么?
转支付时产品码与冻结时保持一致。(支付宝预授权为PRE_AUTH_ONLINE,预授权支付为PREAUTH_PAY)
参考文档:[https://opendocs.alipay.com/open/064jh8?pathHash=2f599547](https://opendocs.alipay.com/open/064jh8?pathHash=2f599547)
---
## 16. 预授权支付冻结金额上限是多少?
预授权支付冻结金额 amount:需要冻结的金额,单位为:元(人民币),精确到小数点后两位。取值范围:[0.01,100000000.00]
---
## 17. 如何查看订单的预授权冻结金额?
可以调用 alipay.fund.auth.operation.detail.query(资金授权操作查询接口) 查询 订单累计的冻结金额total_freeze_amount和订单当前剩余冻结金额rest_amount等信息。
---
## 18. 资金授权解冻接口 是一个同步处理接口吗
1. **接口特性** :alipay.fund.auth.order.unfreeze(资金授权解冻接口)确实是一个同步处理接口,调用时会直接返回解冻结果。
2. **建议使用异步通知** :尽管是同步接口,但为了确保解冻操作的成功,建议设置notify_url参数,以便接收异步通知。这可以作为额外的保障措施,确保解冻操作的最终状态。
3. **返回结果** :调用方可以直接根据接口返回的结果判断解冻是否成功,但为了提高可靠性,建议结合异步通知来确认最终状态。
---
## 19. 预授权解冻后,支付宝是否会发送push消息
目前冻结成功和解冻成功都是不会在支付消息推送通知的。
---
## 20. 预授权支付是否可以一次授权成功后多次扣款?
支持一次授权多次扣款,累计扣款最多不能超过冻结金额。
---
## 21. 预授权支付退款有效期是多久?
退款以协议为准,默认是 12 个月。
---
## 22. 支付宝预授权,间联的收单机构可以对接么
支付宝侧没有限制 得看银联网联是否支持对接。
---
## 23. 预授权支付多久会系统自动解冻
系统解冻以协议为准,默认是 1 年。
---
## 24. 支付宝预授权冻结成功的资金流向
预授权冻结资金在支付宝中间账户,用户可通过支付宝账单查看资金去向。商家调授权转支付成功,支付宝会将相应的金额划给商家支付宝账号。
---
## 25. 预收权转支付和商家代扣的接口区别是啥
预收权转支付---这个是先冻结用户的资金,然后再去转支付,可以分多次转,没有限制,只要冻结的金额没有全部转支付完成就行
商家代扣的接口---这个是用户先通用签约协议,然后通过协议号和签约协议时约定的扣款周期去发起代扣
---
## 26. 预授权转支付接口返回trade_no也不一定扣款成功吗
是的,也不一定,需要以交易查询接口或者异步通知的信息去判断下支付单的状态。
---
## 27. 支付宝预授权之后一般多久会发送回调通知
预授权冻结成功后,支付宝侧几乎实时发送冻结成功的回调通知,秒级响应。回调通知是发往冻结接口中传入的notify_url地址。
---
## 28. 预授权支付与芝麻免押的区别
芝麻免押跟预授权接口都是一样的, 流程也是一样的,只是免押在冻结接口多了两个免押的参数「extra_param.category、extra_param.serviceId」,去掉之后就是资金冻结了。
---
## 29. 预授权支付如何设置异步通知
Q:预授权支付是否支持异步?
A:预授权支付支持异步回调,可通过在notify_url参数设置异步地址进行接收。
注意:冻结异步通知需在alipay.fund.auth.order.app.freeze(线上资金授权冻结接口)和alipay.fund.auth.order.freeze(资金授权冻结接口)中设置notify_url,解冻异步通知需在alipay.fund.auth.order.unfreeze(资金授权解冻接口)中设置notify_url等等。
### 一、场景说明
注意:根据使用场景不同,预授权支付需在不同的接口中上传notify_url参数上传异步地址,超时解冻则通知发送到应用网关中。
支持设置notify_url的API:
| 接口英文名 | 接口中文名 |
| --- | --- |
| [alipay.fund.auth.order.app.freeze](https://opendocs.alipay.com/open/064jhe?scene=2a9ad7e9012248b0acd5edd04c9f31b6&pathHash=629fa9a5) | 线上资金授权冻结接口 |
| [alipay.fund.auth.order.voucher.create](https://opendocs.alipay.com/open/09bj50?scene=b58198cdbff342edad810bfee704489a&pathHash=9c577eb9) | 资金授权发码接口 |
| [alipay.fund.auth.order.freeze](https://opendocs.alipay.com/open/09bk7c?scene=9453b93a5f93490893e7ea5d19d754c9&pathHash=d86258e3) | 资金授权冻结接口 |
| [alipay.fund.auth.order.unfreeze](https://opendocs.alipay.com/open/064jhi?scene=common&pathHash=7435c8fd) | 资金授权解冻接口 |
| [alipay.fund.auth.operation.cancel](https://opendocs.alipay.com/open/064jhh?scene=common&pathHash=1cfd43b0) | 资金授权撤销接口 |
| [alipay.trade.pay](https://opendocs.alipay.com/open/064jhk?scene=32f92b62c19b44cfaf3bf4d974fcbcf3&pathHash=1c57dd00) | 统一收单交易支付接口(授权转支付) |
### 二、异步地址设置
#### 1、异步设置方式
notify_url需设置在公共参数中,如使用SDK集成接口详见[如何设置notify_url](https://opensupport.alipay.com/support/FAQ/6e9c48b1-e805-4fb6-a37a-14cccfd414b6)。
#### 2、异步地址设置要求
异步地址必须为:外网post访问为http200的状态,详见[支付宝异步通知说明](https://opensupport.alipay.com/support/FAQ/06cd7b81-9fff-4785-ab7d-12db08ee2f44)。
### 三、异步说明
#### 1、异步参数说明
异步参数说明建议参考[预授权支付异步参数介绍](https://opendocs.alipay.com/open/064jha?pathHash=d368372d)。
冻结、解冻、撤销查看授权异步通知。
支付查看支付异步通知。
#### 2、异步触发条件
(1)线上资金授权冻结接口
| 通知类型 | 描述 | 默认开启 |
| --- | --- | --- |
| fund_auth_freeze | 资金预授权冻结成功 | 1 |
| fund_auth_freeze.closed | 资金预授权订单关闭 | 0 |
| fund_auth_freeze.init | 资金预授权订单创建 | 0 |
(2)资金授权解冻接口
| 通知类型 | 描述 | 默认开启 |
| --- | --- | --- |
| fund_auth_unfreeze | 资金授权订单解冻通知 | 1 |
(3)资金授权撤销接口
| 通知类型 | 描述 | 默认开启 |
| --- | --- | --- |
| fund_auth_operation_cancel | 资金预授权明细撤销 | 1 |
(4)授权转支付接口
| 触发条件名 | 触发条件描述 | 触发条件默认值 |
| --- | --- | --- |
| TRADE_FINISHED | 交易完成 | false(不触发通知) |
| TRADE_SUCCESS | 支付成功 | true(触发通知) |
| WAIT_BUYER_PAY | 交易创建 | false(不触发通知) |
| TRADE_CLOSED | 交易关闭 | false(不触发通知) |
### 四、异步验签
根据签名方式可分为公钥证书验签和RSA2验签,可参考[SDK如何实现验签](https://opensupport.alipay.com/support/FAQ/27017426-c9ab-4d4d-8438-40e489d4c483)-异步同步通知数据验签。
### 五、注意事项
#### 接收异步通知示例
- [POST如何接收异步通知](https://opensupport.alipay.com/support/FAQ/2c0375cd-8a53-4fbc-a0c7-9e91781cde01#qXe3S)
#### 异步说明
预授权支付只支持部分退款触发异步,具体规则详见[退款是否触发异步](https://opensupport.alipay.com/support/FAQ/ab2f625b-0e93-45f3-8858-9a1a4e16a936)。
---
## 30. 芝麻免押
可以参考文档接入:[https://opendocs.alipay.com/open/repo-01jpyl](https://opendocs.alipay.com/open/repo-01jpyl)
---
## 31. 预授权撤销接口在什么场景下使用,有没有时间限制
支付宝预授权撤销接口通常是在没有明确结果的情况下使用,例如:系统错误。撤销接口有效调用时间是24小时以内。
不撤销也不会产生影响,只是这笔授权单一直是初始化状态,建议是按照文档的方式调接口撤销下。
授权单状态:INIT(初始状态:已创建未授权)、AUTHORIZED(已授权状态:授权成功,可以进行转支付或解冻操作)、FINISH(完成状态:转支付完成且无剩余冻结资金)、CLOSED(关闭状态:授权未完成超时关闭或冻结资金全额解冻)。
---
## 32. 预授权转支付会出现10003状态吗
预授权转支付场景下,只要冻结的资金大于等于转支付的金额,就可以扣款,资金冻结的预授权转支付不会出现10003报错。
---