支付宝小程序:商家分账

小编:啊南 2846阅读 2020.12.28

产品介绍简介

境内商家分账产品多面向电商、自助设备、零售业、票务、保险、出行等行业,提供商家与其合作方基于交易资金灵活分配的手段。商户可根据自行业务特点自由组合,在不同场景下实现高效分润。整个分账过程不会造成资金的冻结。

商家或有授权的服务商,在划转资金前,首先通过分账关系维护接口建立商家与分账方的分账关系。

建立分账关系后,商家或有授权的服务商,通过分账接口指定一笔交易,将资金实时划转到一个或多个分账收入方的支付宝账户。目前分账金额最高不能超过订单金额的 30% 。

视频讲解使用说明

分账业务流程如下图所示:

分账业务示例.png

术语解释

分账收入方:与实际收款商家有合作关系的第三方,比如服务商,软件供应商,供货商等,接收分账资金的商家或个人。

服务商:为实际收款商家提供各种产品,服务的提供方。

分账关系集:分账主体和分账收入方之间的关系,称为“分账关系集”。签约“境内商家分账”,需要将分账收入方维护在“分账关系集”内,否则分账会被拦截。可以通过分账关系集维护接口来完成“分账关系集”的添加、删除和查询。

应用场景B2C 电商平台

在 B2C 电商平台自营模式下,用户支付后,订单资金收到平台账户内,平台根据与物流服务商、流量推广方的约定进行分账。

C2C 服务市场

在 C2C 交易模式下,用户支付并确认收货后,订单资金收到商家账户内,平台根据与商家之间的约定,通过分账产品收取佣金。

线下当面付收款

在线下交易中,商家通过支付宝当面付产品收款,用户支付后,订单资金收到商家账户内,在经过商家授权后,线下服务商可通过分账产品收取佣金,比如 POS 推广、智能收银设备服务费等。

关联产品推荐

在小程序场景下,商家分账支持 小程序支付、周期扣款、资金预授权 等能力。

注意:目前收钱码还不支持商家分账功能。

准入条件
  • 该能力仅对企业支付宝账户开放。

  • 个体工商户如需使用商家分账能力,可以通过 ISV 代签约接入r。

注意:如果遇到当天收单进来的资金被冻结导致实时分账失败,请次日凌晨1点后尝试分账。

计费模式

免费。

接入指引第一步:创建小程序

要在您的小程序内使用?商家分账功能,您需要首先完成 开发者入驻 并 创建小程序 。

第二步:添加能力并签约

小程序创建完成后,开发者登录?开放平台控制台?> 找到已创建的小程序 > 点击进入小程序管理后台 > 在 版本管理 页面的 能力列表 部分点击添加能力 > 勾选 商家分账 能力并点击 确定 完成能力添加。商家分账能力需要签约才能生效,开发者点击功能列表右侧?签约,提交相关信息。完成签约后,需要一个工作日左右的时间审核(审批结果会以短信和邮件形式告知),待审核完毕后,功能的状态会变成 已生效,即可使用商家分账功能。

开放平台服务端 SDK ,包含 JAVA、PHP、NodeJS、Python 和 .NET 五种语言,封装了签名 & 验签、HTTP 接口请求等基础功能。请先下载对应语言版本的 SDK 并引入您的开发工程。

接口调用配置

在 SDK 调用前需要进行初始化,以 JAVA 代码为例:




AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);




关键参数说明

配置参数 示例值解释 获取方式/示例值
URL 支付宝网关(固定)。 ?https://openapi.alipay.com/gateway.do?
APPID APPID 即创建应用后生成。 获取见 创建应用。
APP_PRIVATE_KEY 开发者私钥,由开发者自己生成。 获取见 配置密钥。
FORMAT 参数返回格式,只支持 json。 json(固定)
CHARSET 编码集,支持 GBK/UTF-8。 开发者根据实际工程编码配置。
ALIPAY_PUBLIC_KEY 支付宝公钥,由支付宝生成。 获取详见 配置密钥。
SIGN_TYPE 商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2。 RSA2

接下来,就可以用 alipayClient 来调用具体的 API 了。alipayClient 只需要初始化一次,后续调用不同的 API 都可以使用同一个 alipayClient 对象。

注意:ISV /开发者可以通过 第三方应用授权 得到商户授权令牌(app_auth_token)作为请求参数传入,实现代商户发起请求的能力。

第四步:调用接口分账关系维护

开发者通过?alipay.trade.royalty.relation.bind?接口进行分账关系维护操作,支持批量维护,最多支持建立?5000?个分账关系。分账关系维护交互流程如下所示:

image.png

开发者通过?alipay.trade.royalty.relation.unbind?接口进行分账关系删除操作,支持批量删除。分账关系删除交互流程如下所示:

image.png

开发者通过?alipay.trade.royalty.relation.batchquery?接口进行分账关系查询操作,此接口支持分页查询。分账关系查询流程如下所示:

image.png

分账

开发者通过?alipay.trade.order.settle?进行分账请求,一次分账最多可以分给 5 个分账收入方,基于一笔订单可支持调用多次分账请求进行分账。分账过程中的注意事项如下:

  • 一次分账请求中,有任意一个收入方分账失败,则这次分账请求的全部分账处理均会失败。

  • 分账请求需明确分账的收入方,具体分账接受的金额,分账收入方只支持支付宝账户。

  • 分账金额只能按金额传入,不支持按比率分账。

  • 分账金额的计算公式为:可分账金额 = 订单金额 * 分账比例 - 已分出金额。

注意:分账收入方只支持支付宝账户,由于分账接口与其他产品共用,接口文档中的?trans_in?参数描述中的 cardAliasNo 类型不能被使用。

退款退分账

开发者通过?alipay.trade.refund?进行退款、退分账。

  • 当面付产品退款时不需要传入退分账明细;系统自动按退款金额与订单金额的比率,从收款方和分账收入方退款,不支持指定退款金额与退款方。

  • 电脑网站支付,手机 APP 支付,手机网站支付产品,必须在退款请求中明确是否退分账,从哪个分账收入方退,退多少分账金额;如不明确,默认从收款方退款,收款方余额不足退款失败。不支持系统按比率退款。

分账查询

开发者可以通过?alipay.trade.query?进行交易分账明细查询。

需在分账查询请求中通过?query_options 属性明确指定是否需要查询分账明细,分账明细主要包括分账对手方账号、分账金额、分账时间、分账请求流水号。

API 列表

以下列表包含该产品所涉及的所有接口,点击接口英文名可查看接口的公共请求参数,业务请求参数,返回参数,其他语言请求示例以及错误码等。?

分账关系维护

接口英文名

接口中文名 描述

alipay.trade.royalty.relation.bind

分账关系绑定

当商家签约分账产品后,授权 ISV 帮其进行分账关系的维护。本接口用于商家与分账方的关系绑定。

alipay.trade.royalty.relation.unbind

分账关系解绑

当商家签约分账产品后,授权 ISV 帮其进行分账关系的维护。本接口用于商家与分账方的关系解绑。

alipay.trade.royalty.relation.batchquery

分账关系查询

当商家签约分账产品后,授权 ISV 帮其进行分账关系的维护。本接口用于商家与分账方的关系查询。

分账请求接口

接口英文名

接口中文名 描述

alipay.trade.order.settle

统一收单交易结算接口

用于在线下场景交易支付后,进行卖家与第三方(如供应商或平台商)基于交易金额的分佣结算。

分账查询接口

接口英文名

接口中文名 描述

alipay.trade.query

统一收单线下交易查询接口

用于卖家与第三方(如供应商或平台商)基于交易金额的已分佣明细查询。通过传递 "query_options":["TRADE_SETTE_INFO"] 参数查询分账明细。

退款退分账接口

接口英文名

接口中文名 描述

alipay.trade.refund

统一收单交易退款接口

用于卖家卖家与第三方(如供应商或平台商)基于交易金额的退分佣信息。通过 refund_royalty_parameters 传递退分佣信息。


常见问题Q:商家与分账方绑定分账关系有数量限制吗?

A:有,最多支持建立 5000 个分账关系。


关联标签: