更新时间:2025-06-09 16:00:52配置项检测工具收藏订阅更新我的文档设置接入检测(即可查看检测结果)若有未通过的接入检测项,接口将无法调通去登录返回文档完成 后,商家/服务商可根据本文指引快速接入 商家分账。说明:●商家分账 仅支持自研商家/服务商通过 自研应用 或 第三方应用 代调用方式,调用 api 接入。●商家分账 支持沙箱调试。整体交互流程图流程说明绑定分账关系分账前,商家需先通过 ,将分账收入方添加到分账关系集中,分账关系集最多添加 2 万个,绑定分账关系时,不需要商家确认。下单支付需要分账的订单为保证分账时商家支付宝余额的资金不被挪用,下单支付 时,商家可在支付接口中传入冻结标识(extend_params.royalty_freeze),将交易资金预先冻结在商家支付宝余额中,冻结在不可用余额中,直到商家触发解冻或超时自动解冻(系统默认在冻结 30 天后自动解冻)。分账交易成功后,商家通过 发起分账请求,一笔订单支持多次分账,总分账金额默认不能超过订单总金额(total_amont)的 30%,若分账请求量较大,可选择异步分账接入。●同步分账:royalty_mode 无需设置,分账全部同时成功或失败,不触发异步,通过 查询分账状态。●异步分账:royalty_mode=async,分账允许部分成功部分失败,商家可通过监听 接口接收异步分账通知,获取分账明细和状态。其中,在结果返回中,msg_type = async_settle_result 代表此通知为异步分账结果通知。分账解冻商家下单支付时如果传递了分账冻结标识,则需要对剩余冻结资金解冻。商家通过 发起分账请求时传入分账完结标识(royalty_finish=true),则本次分账成功后会自动将剩余资金解冻;同时,商家也可不传入分账条款,只传入分账完结标识完成剩余资金解冻。●若商家不主动发起分账解冻请求,系统默认在 30 天后将剩余资金解冻并将解冻结果进行通知。商家可通过监听 接口接收通知消息,其中 msg_type = auto_settle_finish 代表超期自动分账解冻。●商家发起分账解冻后仍可发起分账,商家支付宝余额账号有资金即可分账成功,若余额不足则分账失败。分账查询分账请求提交后,可以同步获取到结果。后续如果有需要,可以通过 查询分账/退分账状态。分账剩余金额查询分账请求前,可以同步获取分账剩余金额结果。如有需求,可通过 查询分账剩余金额。退分账若已分账资金需要退回,通过 (统一收单交易退款接口)申请分账资金退回。退款接口允许只退分账,具体传参可查看退款接口入参示例。退分账功能需要分账接收方在 > 资金管理 > 资金服务 > 分账接收 设置中,开启分账回退授权后,才可以使用。且不支持接收方为个人的分账单发起分账回退。业务规则1支付宝对于最高分账金额有管控:不能超过订单总金额(total_amont)的 30%。(可通过 查询账户最高分账比例)2分账绑定和分账操作要求分账收入方支付宝账户必须实名注册,若未实名或注销账户则操作失败。3支付收单后需要等待 30s 再发起分账。单个商家分账请求频率最高 30 qps。基于同一笔订单的多次分账请求,建议间隔 3s。4使用分账冻结后,分账、退款时优先从冻结余额出资。若冻结余额不足,先将冻结资金全部解冻,从支付宝余额出资。退款同时退分账场景如下。○退分账金额<退款金额,则出资顺序:退分账资金优先出资,剩余部分按 冻结资金>可用余额 顺序进行补足。○退分账请求金额=退款金额,则出资顺序:退分账金额。5若冻结资金已解冻,仍可以从余额户发起分账,只要在分账有效期且分账金额不超过最大可分账金额即可发起分账。6分账时若接口返回 acq.merchant_risk_limit(商户交易存在风险,风险解除后可恢复正常交易),建议商家电话联系 4007585858。7分账资金流程:交易金额收款到商家支付宝账户后,商家再进行分账,资金由收款账户分账到分账收入方。分账关系绑定分账前,商家需要通过 ,将分账收入方添加到分账关系集中,绑定分账关系时,不需要分账接收方账户确认。注意:●分账关系绑定接口请求一次最多绑定 20 个账户。●分账关系集:1 个分账支出方最多添加绑定 2万 个分账收入方。●分账关系解绑后支持退分账。分账关系维护接口接口英文/中文名备注将分账收入方添加到分账关系集将分账收入方从分账关系集中移除查询分账收入方的绑定关系下单支付商家调用收单支付接口进行收款,只有交易状态 trade_status=trade_success(交易成功),该笔订单才支持分账。注意:1商家分账前,请使用 (统一收单交易查询接口)查询交易状态必须为trade_status(交易状态)=trade_success(交易成功),否则无法分账。2为保证下单收款后,商家分账时支付宝余额的资金不被挪用。下单时可选是否使用冻结能力:●下单时传入分账冻结标识:支付接口传入冻结标识 royalty_freeze=true,资金收单结算到商家支付宝余额后,会先处于冻结状态,未分账资金需要通过分账接口传入分账完结标识解冻,若商家一直未发起解冻,系统默认在30 天后自动将剩余资金解冻,解冻后仍可发起分账,支付宝余额账户有资金即可分账成功,若余额不足则分账失败。●下单时未传入分账冻结标识:支付接口不需要传入 royalty_freeze,资金结算到商家支付宝可用余额,可按需发起分账操作,账户余额充足即可分账成功,若余额不足则分账失败。3商家分账不支持收钱码,目前商家分账支持:当面付、电脑网站支付、app 支付、手机网站支付、、商家扣款、预授权支付 等。支付接口列表可在以下支付接口中上传 extend_params.royalty_freeze=true 用于冻结,若不冻结资金则无需上传该参数。场景接口英文名接口中文名备注手机网站支付手机网站支付接口 2.0手机网站支付app支付app 支付接口 2.0手机 app 支付电脑网站支付统一收单下单并支付页面接口电脑网站支付商家扣款alipay.trade.pay统一收单交易支付接口周期扣款当面付alipay.trade.pay统一收单交易支付接口当面付条码支付alipay.trade.precreate统一收单线下交易预创建当面付扫码支付预授权支付统一收单交易支付接口支付宝预授权转支付接口jsapi支付统一收单交易创建接口小程序创建下单分账流程交易收单结算到账后,商家可通过 进行请求分账。注意:●分账成功后,资金实时转入分账收入方账号。●分账请求需明确分账的收入方,分账收入方只支持已实名(个人/企业)支付宝账户,如果转入方账户注销,分账也会失败。●分账请求必须传入具体的分账金额,按传入的分账金额进行分账处理,不支持按比率自动分账。●总分账金额不能超过 订单金额 * 分账比例(默认 30%)。●分账请求频率说明:○支付成功后建议 30s 后再发起分账。○单个商家分账请求频率最高 30 qps。分账模式若分账业务较多,可选择异步模式接入,同步/异步接入模式说明:●同步模式:调用分账接口后,支付宝实时进行分账处理,分账接口同步返回分账的最终结果。●异步模式:调用分账接口后,支付宝先受理分账请求,异步进行分账处理,分账处理结果请通过分账查询接口或者分账异步通知消息获取最终的分账结果。注意:同一笔交易,如果发起过异步分账,就不能再调用同步分账。两种分账模式,不能在同一笔交易下混用。同步模式及异步模式差异说明(其它业务规则、资金流、冻结模式处理两者完全一致):分账接入模式同步模式异步模式一笔订单最多可以发起多少次分账请求50 次50 次一笔分账请求最多可以传入多少个分账收款方3 个50 个一笔分账请求传入多个分账收款方时,分账失败处理规则一个收款方失败则全部失败,即只能全部成功或全部失败一个收款方失败,其它仍可成功,即可部分成功、部分失败分账结果获取方式以分账同步返回结果为准以分账查询/异步通知结果为准单商家分账请求频率最高 30tps/s最高 500tps/s模式特点适用分账请求较少场景,技术集成简单适用分账请求较多,需要高分账性能保障的场景重要入参说明分账只能从交易的收款账户分出,因此不需要在分账接口中传入支出方账户。若传入系统会进行校验,传入账户与交易收款账户不一致会导致分账失败。关键字段描述备注royalty_mode分账模式同步执行:sync异步执行:async不传默认同步执行。royalty_parameters正向分账明细信息复杂类型,需要指定资金处理类型 royalty_type 和目标账户 trans_in。--royalty_type分账类型分账场景传入:transfer。可为空,为空时默认为分账。--trans_out_type支出方账户类型本场景不需要传入。--trans_out支出方账户本场景不需要传入。--trans_in_type收入方账户类型userid:表示是支付宝账号对应的支付宝唯一用户号。loginname:表示是支付宝登录号。--trans_in收入方账户●trans_in_type 传入 userid:本参数为收入方的支付宝账号对应的支付宝唯一用户号,以2088开头的纯16位数字。●trans_in_type 传入 loginname:本参数为收入方的支付宝登录号。--amount分账金额本次分账要分出的金额。--desc分账描述会在分账收入方支付宝账户 余额明细 备注字段中展示。extend_params--royalty_finish分账完结标识完结:true不完结:false示例代码 分账场景,同时上送完结标识,将剩余资金解冻。示例代码如下:不分账,单独发起完结请求,将剩余资金解冻。示例代码如下:蚂蚁消息:交易分账结果通知异步分账发送蚂蚁消息 ,同步分账不触发该蚂蚁消息。接入说明1在开发设置的 from 平台订阅 。2本消息接口同时支持 http(s) 方式和支持 websocket 长连接,若选择 http 接入模式需额外设置 应用网关地址 作为通知接收地址。3验签:商家系统接收到异步通知以后,必须通过验签(验证通知中的 sign 参数)来确保支付通知是由支付宝发送的。○详细验签规则以及自验签流程参考 异步通知验签。○http(s) 方式官方 sdk 请求接收验签可参考 sdk 接收以及验签示例代码。异步通知说明具体详见 订阅消息 指引。消息示例消息验签在公钥证书模式下,支付宝开放平台 sdk 提供了 alipaysignature.rsacertcheckv1 方法,可以使用该方法对通知报文验签。以 java 语言为例,按照服务端 sdk 中提供的工具类,进行接收通知及验签,可查看 公钥证书验签示例代码。响应值响应值描述是否重试fail消息获取失败重试success消息获取成功不重试退分账流程商家通过 alipay.trade.refund(统一收单交易退款接口)进行退款、退分账。注意:1此功能需要分账接收方在 > 资金管理 > 资金服务 > 分账接收 设置中,开启分账回退授权 后,才可以使用。且 不支持接收方为个人 的分账单发起分账回退。2当面付、jsapi支付、预授权支付支持 按退款比例自动退分账。refund_amount 设置退款金额后,等比例退分账,无需上传 refund_royalty_parameters。 示例:订单 100 元,分账 10 元,商家发起退款 10 元时,支付宝自动按照退款比例,等比例退分账 1 元,不需要商家单独传入退分账条款。3其它产品必须指定退分账。○支持仅退分账:refund_amount 可入参为 0,refund_royalty_parameters 传入退分账信息。○支持仅退款:refund_amount 设置退款金额,无需上传 refund_royalty_parameters。○支持退款退分账:可根据退款要求,设置 refund_amount 和 refund_royalty_parameters 退款信息。示例:订单 100 元,分账 10 元,商家发起退款 10 元时,支付宝只处理退款 10 元,不会自动进行退分账。商家若需要退分账需要传入退款金额 10 元、退分账金额 1 元。4同一笔退分账请求中,有任意一笔退分账失败,则这次请求的全部退分账处理均会失败。5退分账默认从分账收入方账号退回,若分账收入方账号余额不足则退分账失败。6判断退分账成功:退款接口返回 fund_change=y 或者 alipay.trade.fastpay.refund.query(统一收单交易退款查询)返回 refund_status=refund_success。注意:fund_change 只表示本次接口请求是否资金变动,不是指该笔交易是否资金变动。如果第一次退款成功,返回 y,但是相同参数(如 out_request_no 不变)第二次请求则会返回 n,因此当 fund_change=n 时,建议通过退款查询接口进一步判断。7退分账时,如果退分账支出方账户 trans_out 相同,金额需要汇总,写成一个退分账明细。重要入参说明关键字段描述备注refund_amount退款金额退款金额为实际退回买家的金额。需要退款则传入具体退款金额,只退分账则退款金额传入 0 即可。refund_royalty_parameters复杂类型退分账信息--royalty_type分账类型传入:transfer--trans_out_type支出方账户类型userid:表示是支付宝账号对应的支付宝唯一用户号。loginname:表示是支付宝登录号。--trans_out支出方账户分账请求中,trans_in 填写的收款账号,即为本次退分账时的支出账号,填写到该字段。--trans_in_type收入方账户类型本场景不需要传入--trans_in收入方账户本场景不需要传入--amount退分账金额传入本次要退分账的金额示例代码 退分账默认退回到交易的收款账户,因此不需要在分账接口中传入退分账的收入账户。若传入系统会进行校验,传入账户与交易收款账户不一致会导致退分账失败。仅退款仅退款,不退分账的场景:仅退分账不退款,仅退分账的场景:退款&退分账当面付、线上资金预授权、新当面资金授权退款时,同时退分账场景:其它产品退款时,同时退分账场景:分账查询商家通过分账接口 分账后,可通过 查询分账状态。重要说明1settle_no、out_request_no 如果同时存在,优先取 settle_no。2退分账后,交易分账查询接口暂不支持查询退分账状态。重要入参说明参数描述备注settle_no支付宝分账请求单号传入该字段,无需再传外部请求号和支付宝交易号为分账接口同步返回 settle_noout_request_no外部请求号,需要和 trade_no 一起传入查询分账:分账接口入参的 out_request_notrade_no支付宝交易号,需要和 out_request_no 一起传入查询分账:分账接口入参的 trade_no