直付通分账给平台时 royalty_parameters 收入方如何填写?
结论
royalty_parameters 中的收入方,应填写实际接收平台分账资金的支付宝账户标识。通常填写平台签约主体的支付宝 userId,不能填写 appid。
appid 标识的是开放平台应用,不是资金账户,不能直接作为分账收入方。即使请求由平台 appid 发起,接口也不会自动将资金划入该应用对应主体的支付宝账户。
个人支付宝账户也不是默认可用。账户必须符合直付通产品的收款资格,并按支付宝要求完成签约、进件、分账关系绑定或其他必要配置,才能作为收入方。因此,不能理解为个人账户和平台账户可以随意选择。
收入方应该怎样填写
具体字段名称以当前开放平台接口文档和应用签约能力为准。常见写法如下:
{
"royalty_type": "transfer",
"trans_in_type": "userId",
"trans_in": "2088XXXXXXXXXXXX",
"amount": "10.00",
"desc": "平台服务费"
}
各字段含义如下:
trans_in_type:收入方标识类型。直付通场景通常使用userId。trans_in:收入方的支付宝用户号,通常是以2088开头的支付宝userId。amount:分给该收入方的金额。desc:分账说明,例如 “平台服务费”。
如果接口文档明确支持 loginName,也可以用支付宝登录账号标识收入方:
{
"royalty_type": "transfer",
"trans_in_type": "loginName",
"trans_in": "finance@example.com",
"amount": "10.00",
"desc": "平台服务费"
}
不要只根据账号格式判断接口是否支持。不同的直付通签约方案、接口权限和账户类型可能有不同限制,应以应用控制台和当前版本接口文档中的 trans_in_type 枚举为准。
推荐处理步骤
1. 确认平台实际收款账户
先确定平台准备将服务费结算到哪个支付宝账户。生产环境通常应选择符合以下条件的账户:
- 平台签约主体名下的企业支付宝账户;
- 与直付通应用及合同主体关系一致的账户;
- 已完成支付宝要求的分账关系配置或收款资格校验的账户。
不要将 appid 填入 trans_in。
2. 获取该账户的支付宝 userId
从商家平台、开放平台签约资料或支付宝提供的账户信息中,确认收款账户的 userId。需要区分以下三类标识:
appid:应用编号;userId:支付宝账户编号;loginName:支付宝登录名,可能是手机号或邮箱。
三者含义不同,不能混用。
3. 配置并校验分账关系
如果产品要求提前建立分账接收关系,需要先完成相应配置。即使参数格式正确,只要收入方不具备相应资格,或者分账关系尚未生效,接口仍可能拒绝分账。
4. 发起结算请求
下面只展示与本问题有关的业务参数。公共请求参数、签名和其他必填字段,需要按照支付宝开放平台规范补充:
{
"out_request_no": "SETTLE_202609080001",
"trade_no": "202609082200XXXXXXXXXXXX",
"royalty_parameters": [
{
"royalty_type": "transfer",
"trans_in_type": "userId",
"trans_in": "2088XXXXXXXXXXXX",
"amount": "10.00",
"desc": "平台服务费"
}
]
}
如果一笔交易需要分给多个合规收入方,可以在 royalty_parameters 中添加多条记录。总金额、可分账余额和接收方数量仍须符合接口限制。
为什么没有 “平台” 这种收入方类型
“平台” 是业务角色,无法唯一定位具体的资金账户。一个 appid 可能关联应用、签约主体和多项业务配置,但实际收款必须进入一个明确的支付宝账户。
因此,接口通常要求明确填写收入方的 userId 或其他受支持的账户标识,以确定资金去向,并完成主体资格、分账关系、风控和账务核对。
个人账户是否可以作为收入方
个人账户是否可以接收分账,不能一概而论,需要确认:
- 当前直付通签约方案是否允许此类账户;
- 账户是否已经完成实名认证并具备相应收款资格;
- 是否已经建立必要的分账关系;
- 分账用途是否符合合同约定和平台业务模式;
- 是否满足支付宝的风控与合规要求。
如果分账款项属于平台服务费,通常应结算到平台经营主体名下的企业支付宝账户。把服务费分给员工、负责人或其他个人账户,可能导致主体不一致、账务处理困难或合规风险。
注意事项
- 不要把
appid当作支付宝账户的userId。 - 账户能够登录支付宝,不代表它可以作为分账收入方。
- 金额建议使用字符串并保留两位小数,例如
"10.00"。具体精度以接口文档为准。 trade_no、out_request_no、分账金额和交易可结算余额需要保持一致。- 如果平台账户符合条件,但接口仍提示 “收入方不存在”、“无分账关系” 或 “接收方无权限”,应检查账户标识、签约主体、分账关系和接口权限。
- 如果控制台或当前接口文档只允许使用
userId,就必须填写支付宝userId,不能用登录名、手机号、邮箱或appid代替。
备注:内容仅供参考。
