支付宝小程序:商家分账
小编:啊南 2846阅读 2020.12.28
产品介绍简介
境内商家分账产品多面向电商、自助设备、零售业、票务、保险、出行等行业,提供商家与其合作方基于交易资金灵活分配的手段。商户可根据自行业务特点自由组合,在不同场景下实现高效分润。整个分账过程不会造成资金的冻结。
商家或有授权的服务商,在划转资金前,首先通过分账关系维护接口建立商家与分账方的分账关系。
建立分账关系后,商家或有授权的服务商,通过分账接口指定一笔交易,将资金实时划转到一个或多个分账收入方的支付宝账户。目前分账金额最高不能超过订单金额的 30% 。
视频讲解使用说明分账业务流程如下图所示:
术语解释
分账收入方:与实际收款商家有合作关系的第三方,比如服务商,软件供应商,供货商等,接收分账资金的商家或个人。
服务商:为实际收款商家提供各种产品,服务的提供方。
分账关系集:分账主体和分账收入方之间的关系,称为“分账关系集”。签约“境内商家分账”,需要将分账收入方维护在“分账关系集”内,否则分账会被拦截。可以通过分账关系集维护接口来完成“分账关系集”的添加、删除和查询。
应用场景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?个分账关系。分账关系维护交互流程如下所示:
开发者通过?alipay.trade.royalty.relation.unbind?接口进行分账关系删除操作,支持批量删除。分账关系删除交互流程如下所示:
开发者通过?alipay.trade.royalty.relation.batchquery?接口进行分账关系查询操作,此接口支持分页查询。分账关系查询流程如下所示:
分账
开发者通过?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 个分账关系。
相关推荐