生活服务类的交易完成后,常需要对提供服务的三方服务者进行分账。对状态为”FINISHED(已完结)”的交易订单,百川提供了自动化分账功能,支持分账到三方支付宝或银行卡。
分账的资金,从应用所属淘宝账号所绑定的支付宝账户中进行扣款,所以请确保该支付宝账号中有足够的分账资金,否则无法成功分账。
开发者需要提前将收账方提前录入,收账方的信息至少包含支付宝账号或者银行卡;对分账账户的打款只能使用支付宝或者银行卡方式中的其中一种。
通过 账户导入API taobao.open.captitalaccount.add, 添加收账方信息。这个收账方账户只用作分账的目标账户,与上文的账号映射无关联。添加成功后会返回账户captital_account_id。
API名称 |
功能 |
删除服务者资金账户 |
|
添加资金账户 |
|
更新服务者资金账户 |
|
获取服务者资金账户 |
提供两种方式设置分账规则,可视化界面和API方式,开发者可以根据需要选择使用。(需要拥有“百川OpenTrade”权限)
进入百川控制台,在商业能力开放管理--自建交易中进行分账规则设置。
分账规则设置成功,分账规则ID就是rule_id,在触发分账调用接口时时需要传入。
相关字段说明:
1) 收账方角色:用于标识收账方的身份,可以填写如司机1、技师1等。在接口触发分账时,收账方角色与收账方ID配对使用。
2) 分账方式:支持按照订单总金额的一定比例,或者固定金额进行分账。一笔交易的分账总金额不得高于订单总金额。
3) 结算方式:支持即时结、日结和月结。其中日结和月结均提供手机验证码审核功能,审核通过才可进行分账;即时结算订单,在一定条件内(单笔分账金额≤50w,日总分账金额≤500w),直接打款成功,超出条件外的需要手机验证码审核通过后才能分账成功。每天的最大分账总额1000万,超过这个金额无法进行分账。
i. 即时结算
一定条件(单笔分账金额≤50w,且日总分账金额≤500w)下,触发分账后直接分账成功。超出条件,需进入“商业能力开放功能管理-自建交易-账单审核”进行审核,验证通过后才能实现分账打款。
ii. 日结
对当日0点-24点之间触发的日结分账订单汇总,可以在次日0点之后进行账单审核。审核通过直接完成扣款分账。
iii. 月结
若为月结,需要指定具体日期1-28号中任意一天,到了次月的指定日期,会对上月所有相关订单做结算打款。
对当月1号-月底之间触发的统一规则模板下的月结订单汇总,可以在次月1号0点之后进行账单审核。审核通过后,如果已经到设置的结算日期,则直接打款;若还未到结算日期,则会等到结算日进行打款。
设置分账模版,调用 新增分账模版API taobao.open.settle.rule.create,模版格式以及结算方式,会返回一个分账模版rule_id。
分账规则说明:rule
{first:0.3;second:0.15} first、second表示目标账户,后面的百分比表示该账户分账比例;允许设置多个分账对象,但是分账比例总和不能大于100%。分账比例是小数,固定分账是整数,小数最多支持6位,超过6位会舍去;注意这个json里面不要有重复的key,否则会被覆盖掉。
分账拓展属性:extend_attributes
{'first':{'rateType':'rate','scType':'monthly','scDay':20},'second':{'rateType':'fixedAmount','scType':'realTime'}},其中rateType表示是按比例分账(rate)还是固定金额分账(fixedAmount),scType表示分账日结(daily),月结(monthly),实时(realTime),如果是月结,还必须传参数scDay,值必须在1-28之间。
结算方式举例说明:如果用户设置的分账模版使用月结方式结算,在模版中指定在每月10号做分账结算。然后在4月1日开始,对之后所有的交易订单发起分账。那么需要等到5月10号,才会把4月1日到4月30日内的所有需要结算的订单统一进行分账打款操作。以此类推,次月结算上个自然月的分账订单。
分账模版管理相关API,注意:分账模版只能指定废弃时间进行关闭操作,关闭的模版不再生效,不允许进行模版修改和删除。
API名称z | 功能 |
新增分账模版 |
|
关闭分账模版 |
|
单条查询分账模版 |
l将订单状态置为“FINISHED已完结”。注意只有“PAID已付款”的订单才可置为“FINISHER已完结”。
l确认订单信息是否准确。分账总金额是以订单金额amount为准(分账总金额≤订单金额amount),可通过taobao.open.order.update 接口修改订单金额amount,确认无误后再发起分账。
发起分账直接调用 分账发起API taobao.open.settle.do,传入分账模版rule_id,分账对象targets {'first':12107,'second':12108} 和百川订单order_id。这里分账模版中的账户数量,要和传入的具体账户数量一致。发起分账成功后,会返回一个分账外部编号 out_no。
注意:发起分账请求以后,如果出现报错情况,分账系统的逻辑是会把接口请求参数记录下来,自动进行重试。所以出现接口系统异常,可以不用担心,我们的分账系统会自动重试的。
触发分账后,交易订单状态会变成“分账中”,此时订单不能做任何修改。交易订单的状态不能决定分账最终结果,最终结果以分账账号的结果为准。
开始分账结算时,开发者自己可以通过消息通知功能获取结算成功或者失败相关消息。 使用说明:点击查看
分账结果消息通知 | taobao_opentrade_SettleDisburseFailed taobao_opentrade_SettleDisburseSucceed |
按照设置的分账结算方式,一定条件内的即时结算的订单分账可实时打款;超出条件的即时结算订单和日结、月结的分账账单,需要相关人员进入“百川开发者控制台-商业能力开放功能管理-自建交易-账单审核”进行账单审核,短信验证通过后,方可在结算时间完成打款。
小明设置分账模版为{first:30%;second:10%;third:10%},日结方式。那么传入收账方账户时就必须有三个,first对应captital_account_id1,second对应captital_account_id2,third对应captital_account_id3,然后在4月1日发起分账的订单有三笔,订单order_id1总金额分别为10元,订单order_id2总金额为40元,订单order_id3总金额为50元。
在4月2日的0点后,小明可以进入百川控制台进行账单审核确认。审核通过,会从开发者的支付宝资金账户中,分账 (10+40+50)x30%元 给 captital_account_id1设置的分账账户中,分账 (10+40+50)x10%元 给captital_account_id2设置的分账账户中,分账(10+40+50)x10%元给captital_account_id3设置的分账账户中。
如果这个时候小明的支付宝中只有49元,分账给captital_account_id1用户的30元会正常打款,分账给captital_account_id2用户的10元正常打款,而分账给open_id3用户的时候,需要分账10元,但是账户里面只有9元了,无法完成这次分账,那么captital_account_id3用户的分账就会失败,但是之前的两笔分账都是成功的 。这个时候需要开发者及时对支付宝资金账户进行充值,再调用分账重试接口,系统判断资金账户余额已经充足,会再次对captital_account_id3用户进行打款10元的操作。
百川提供了交易数据分析、账单明细查询等功能,详细内容可进入百川“自建交易”数据后台统一查看。