文档中心 > 当面资金授权集成方案

资金授权冻结接口alipay.fund.auth.order.freeze

商户使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码,完成用户资金授权,根据是否需要输入密码可分为:免密模式和验密模式。

服务调用流程:

免密模式:

验密模式:

  • 商户系统将用户付款码与订单信息一起通过资金授权冻结接auth.order.freeze请求到支付宝,并从接口同步返回中获取支付结果。
  • 根据公共返回参数中的code做相应后续业务处理。这笔授权操作可能有四种状态:授权成功(10000),授权失败(40004),等待用户授权(10003)和未知异常(20000)。结果码描述和处理方式见结果码部分。

关键入参:

参数名称

参数说明

out_order_no

商户授权资金订单号,需要保证不重复

out_request_no

商户授权资金操作流水号,需要保证不重复

auth_code

用户付款码

auth_code_type

固定值传入bar_code

order_title

订单标题

amount

冻结金额

pay_timeout

授权超时时间

payee_logon_id

收款方支付宝账号(Email或手机号),如果收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)同时传递,则以用户号(payee_user_id)为准,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。

payee_user_id

收款方的支付宝唯一用户号,以2088开头的16位纯数字组成,如果非空则会在支付时校验交易的的收款方与此是否一致,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。

 product_code

销售产品码,后续新接入当面资金授权业务,本字段取值固定为PRE_AUTH。

关键出参:

参数名称

参数说明

auth_no

支付宝28位授权资金订单号

operation_id

支付宝标识本次资金操作的流水号

status

本次资金授权操作的状态

TIPS:商户授权订单号out_order_no和资金操作流水号out_request_no在任何情况下不可重复,即使对于失败或撤销的授权冻结操作,商户授权订单号和资金操作流水号也可能已经被使用了,如需再次发起授权,必须使用新的商户授权订单号和资金操作流水号调用接口,否则会报错。

资金授权发码接口(alipay.fund.auth.order.voucher.create)

收银员通过收银台或商户后台调用支付宝接口,生成二维码后,展示给用户,由用户扫描二维码完成资金冻结。

业务规则:

1)授权冻结支持的支付渠道以及默认冻结顺序:花呗>余额宝>余额>信用卡>借记卡。如果用户在支付宝客户端有设置默认扣款顺序,则以用户设置为准。

2)授权验证密码规则:用户通过钱包app进行密码授权冻结。

调用流程:

关键入参:

参数名称

参数说明

out_order_no

商户授权资金订单号,需要保证不重复

out_request_no

商户授权资金操作流水号,需要保证不重复

order_title

订单标题

amount

冻结金额

pay_timeout

授权超时时间

payee_logon_id

收款方支付宝账号(Email或手机号),如果收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)同时传递,则以用户号(payee_user_id)为准,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。

payee_user_id

收款方的支付宝唯一用户号,以2088开头的16位纯数字组成,如果非空则会在支付时校验交易的的收款方与此是否一致,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。

 product_code

销售产品码,后续新接入当面资金授权业务,本字段取值固定为PRE_AUTH。

关键出参:

参数名称

参数说明

out_order_no

商户的授权资金订单号

out_request_no

商户本次资金操作的请求流水号

code_type

码类型,分为 barCode:条形码 (一维码) 和 qrCode:二维码(qrCode) ; 目前发码只支持 qrCode

code_value

当前发码请求生成的二维码码串,商户端可以利用二维码生成工具根据该码串值生成对应的二维码

code_url

生成的带有支付宝logo的二维码地址

 

资金授权解冻接口alipay.fund.auth.order.unfreeze

商户因业务原因需要解冻用户授权资金时,可通过商户订单号和操作流水号,或者支付宝订单号和操作流水号进行资金解冻,支持部分解冻。

业务规则:

  1. 冻结订单的资金解冻都需要由商户端发起,支付宝对冻结资金不会发起自动解冻;
  2. 解冻服务中的附言remark字段会展示在用户的支付宝账单上。

调用流程:

  商户系统调用资金授权解冻接口alipay.fund.auth.order.unfreeze,传入支付宝订单号、解冻操作请求号、解冻金额等参数请求退款,并同步获得退款结果。

关键入参:

参数名称

参数说明

auth_no

支付宝28位授权资金订单号

out_request_no

商户授权资金操作流水号,需要保证不重复

amount

解冻金额

remark

操作描述,展示在用户支付宝账单上

关键出参:

参数名称

参数说明

auth_no

支付宝28位授权资金订单号

operation_id

支付宝标识本次资金操作的流水号

status

本次资金授权操作的状态

TIPS:解冻接口会根据商户的资金操作流水号out_request_no幂等返回,因此必须保证每次资金操作时需要使用不同的out_request_no。

资金授权撤销接口alipay.fund.auth.operation.cancel

只有商户由于业务系统处理超时需要终止后续业务处理或者授权结果未知时可调用撤销,其他正常授权冻结的操作如需实现相同功能请调用资金授权解冻服务。

业务规则:

提交资金授权后调用【资金授权操作查询】,没有明确的授权结果再调用【资金授权撤销】。

关键入参:

参数名称

参数说明

auth_no

支付宝28位授权资金订单号

operation_id

支付宝资金授权冻结操作流水号

out_order_no

商户资金授权订单号

out_request_no

商户资金授权冻结操作流水号

remark

操作描述

关键出参:

参数名称

参数说明

action

本次撤销触发的动作 close:关闭订单,无资金解冻 unfreeze:产生了资金解冻

资金授权操作查询接口alipay.fund.auth.operation.detail.query

通过该接口可以查询单笔资金授权操作明细的详细信息。

关键入参:

参数名称

参数说明

auth_no

支付宝28位授权资金订单号

operation_id

支付宝资金授权冻结操作流水号

out_order_no

商户资金授权订单号

out_request_no

商户资金授权冻结操作流水号

关键出参:

参数名称

参数说明

auth_no

支付宝28位授权资金订单号

operation_id

支付宝资金授权冻结操作流水号

out_order_no

商户资金授权订单号

out_request_no

商户资金授权冻结操作流水号

status

本次资金授权操作的状态

交易创建并支付接口alipay.trade.pay

商户因业务原因需要解冻用户授权资金并支付给卖家时,通过该接口创建交易订单并将授权资金解冻转支付给卖家。

业务规则:

  1. 商家通过系统调用支付宝的交易创建并支付服务将用户授权资金解冻转支付给卖家,该过程无需再次扫描用户钱包付款码;
  2. 交易创建并支付的金额应小于等于用户授权资金金额,当支付金额小于授权冻结金额时,剩余授权冻结金额需要商户在发起授权资金解冻请求将剩余冻结资金进行解冻。

调用流程:

商户系统调用交易创建并支付接口alipay.trade.pay,传入商户订单号,支付宝资金授权单号、商品信息、卖家信息,交易金额等参数请求交易支付,并同步获得交易支付结果。

关键入参:

参数名称

参数说明

out_trade_no

商户订单号,需要保证不重复

total_amount

订单金额

product_code

产品码,后续新接入当面资金授权业务,本字段取值固定为PRE_AUTH,当面授权场景老产品传固定值FUND_TRADE_FAST_PAY。

auth_no

支付宝资金授权单号

subject

订单标题

buyer_id

买家支付宝uid,即资金授权用户uid,必传

seller_id

卖家支付宝uid,即资金授权收款方uid,必传

业务参数样例:

"biz_content":{

    "out_trade_no":"20161122000000001",

    "sence":"bar_code",

    "auth_no":"2016111710002001390222200964",

"product_code":"FUND_TRADE_FAST_PAY",

    "subject":"冻结转支付",

 "buyer_id":"2088202415071394",

  "seller_id":"2088211521646673",

    "total_amount":0.01

    }
TIPS:商户订单号out_trade_no在任何情况下不可重复,即时对于失败或撤销的交易,商户订单号也可能已经被使用了,如需再次发起支付,必须使用新的商户订单号调用接口,否则会报错。

交易同步退款接口alipay.trade.refund

商户因业务原因需要退款时,可通过成功交易的商户订单号或支付宝交易号进行退款 ,支持部分退款。

调用流程:

商户系统调用交易退款接口alipay.trade.refund,传入商户订单号或支付宝交易号、退款请求号、退款金额等参数请求退款,并同步获得退款结果。

关键入参:

参数名称

参数说明

out_trade_no

支付时传入的商户订单号,与trade_no必填一个

trade_no

支付时返回的支付宝交易号,与out_trade_no必填一个

out_request_no

本次退款请求流水号,部分退款时必传

refund_amount

本次退款金额

关键出参:

参数名称

参数说明

refund_fee

该笔交易已退款的总金额

TIPS:退款接口会根据外部请求号out_request_no幂等返回,因此同一笔需要多次部分退款时,必须使用不同的out_request_no。

交易查询接口alipay.trade.query

商户因后台、网络、服务器等出现异常,而未接收到支付通知时,可以通过本接口主动查询订单状态,来决策完成下一步的业务逻辑。

调用流程:

商户系统调用交易查询接口alipay.trade.query,传入商户订单号或支付宝交易号、同步返回交易订单信息。

关键入参:

参数名称

参数说明

out_trade_no

支付时传入的商户订单号,与trade_no必填一个

trade_no

支付时返回的支付宝交易号,与out_trade_no必填一个

关键出参:

参数名称

参数说明

trade_no

支付宝28位交易号

out_trade_no

支付时传入的商户订单号

trade_status

交易当前状态

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部