业务流程

分账功能

实时分账功能

功能概述

当您想对单笔订单交易进行分账时,需要先在您商户的 APP 下创建分账对象,并为分账对象绑定结算银行卡。当发起支付请求时,将分账信息(分账对象的 member_id 以及分账金额)传入,创建支付请求,发起支付。

接入准备

  • 您的商户需提前入驻并成功申请支付通道

  • 成功接入 SDK ,并能成功支付

流程说明

其中分账对象不需要每次调用分账的时候重复创建和重复绑定结算银行卡。

1,创建分账对象 Member对象 (针对个人分账)或 CorpMember对象 (针对企业用户分账)

2,为分账对象绑定结算银行卡,创建 结算账户对象

3,创建支付请求 发起支付,传入 分账信息串

  • 参数 member_id 传入第1步返回的 member_id

  • 如商户不需要分账,发起支付时无需传入分账信息

  • 如商户所需分账对象包含本商户自己,对应的分账信息 member_id 为 0

  • 分账对象手续费承担方有且只能有一个

  • 所有分账金额总和为交易订单金额

4,支付关单或者退款

  • 针对未支付完成的订单,可以调用 创建支付关单 ,其中payment_id 传入第3步返回的支付对象id。

  • 针对已经支付完成的订单,需要 创建退款对象 ,其中参数中的 id 需要传入第3步支付对象id,支持一次全额或多次部分退款,但总退款金额必须小于等于原支付对象的支付金额。

应用场景示例

  • 场景描述

A 公司主营无人售货机业务,甲、乙、丙公司为供应商,甲公司提供食品商品,乙公司提供代理售卖,丙公司提供场地服务。用户在无人售货机购买商品发起一笔订单直付交易,交易需要同时与甲、乙、丙三家公司进行分账。

例如,用户购买一瓶 10元 的饮料,订单收款总金额 10元,其中,甲公司要收取 5元 商品成本费用,乙公司收取 1元 代理费用,丙公司要收取 2元 场地费,A 公司收款 2元。手续费为 A 公司承担。

注: 该场景业务使用 Adapay 分账功能,构建分账对象信息时,A 公司 member_id 参数传0,其它为分账用户 Member对象 的id。

  • 实现步骤

分账 Step1. 创建用户

_images/step1.png

在做一笔支持分账的交易的之前,先要创建一个用户,这个用户可以是个人用户(Member对象)也可以是企业用户 (CorpMember对象)。

分账 Step2. 创建用户的结算账户

_images/step2.png

在创建完用户之后,需要给该用户添加一个结算账户。

什么是结算账户,当完成一笔交易后,交易金额会转入用户结算账户; Adapay 会根据结算配置按T+1,或D+1日 打款到您的银行卡中

分账 Step3. 创建支付交易完成分账

_images/step3.png

延时分账功能

功能概述

当您想对单笔订单交易进行分账时,需要先在您商户的 APP 下创建分账对象,并为分账对象绑定结算银行卡。当发起支付请求创建支付对象时,设置支付模式pay_mode为延时分账delay,再创建支付确认请求发起分账。

接入准备

  • 您的商户需提前入驻并成功申请支付通道

  • 成功接入 SDK ,并能成功支付

流程说明

其中分账对象不需要每次调用分账的时候重复创建和重复绑定结算银行卡。

1,创建分账对象 Member对象 (针对个人分账)或 CorpMember对象 (针对企业用户分账)

  • 调用 Member.create 接口或 CorpMember.create

  • 创建企业用户对象需要审核,若在创建企业用户对象时传入了结算卡信息,则无需调用第2步

2,为分账对象绑定结算银行卡,创建 结算账户对象

3,创建支付请求 发起支付

  • 传入支付模式pay_mode为延时分账delay

4,创建支付确认请求 发起确认,传入 分账信息串

  • 参数 member_id 传入第1步的 member_id

  • 如商户不需要分账,发起支付时无需传入分账信息

  • 如商户所需分账对象包含本商户自己,对应的分账信息 member_id 为 0

  • 分账对象手续费承担方有且只能有一个

  • 分账信息串中的金额总和必须等于交易订单金额

5,支付关单,支付撤销或者退款

  • 第3步未支付完成的订单,可以调用 创建支付关单 ,其中payment_id 传入第3步返回的支付对象id

  • 第3步支付完成的订单,在未执行第4步之前,若需要撤销支付,则需要 创建支付撤销对象,其中payment_id是第3步返回的支付对象id,支持多次部分撤销,总次数不超过10次,且总撤销金额必须小于等于原支付对象的支付金额;

  • 第4步支付确认完成后,若需要撤销,则需要 创建退款对象,其中参数中的id需要传入第4步支付确认对象id,支持一次全额或多次部分退款。

应用场景示例

  • 场景描述

A 公司主营无人售货机业务,甲、乙、丙公司为供应商,甲公司提供食品商品,乙公司提供代理售卖,丙公司提供场地服务。用户在无人售货机购买商品发起一笔订单直付交易,交易需要同时与甲、乙、丙三家公司进行分账。

例如,用户购买一瓶 10元 的饮料,订单收款总金额 10元,其中,甲公司要收取 5元 商品成本费用,乙公司收取 1元 代理费用,丙公司要收取 2元 场地费,A 公司收款 2元。手续费为 A 公司承担。

注: 该场景业务使用 Adapay 分账功能,构建分账对象信息时,A 公司 member_id 参数传0,其它为分账用户 Member对象 的id。

  • 实现步骤

分账 Step1. 创建用户对象

_images/step1.png

在做一笔支持分账交易之前,先要创建一个用户,这个用户可以是个人用户(Member对象)也可以是企业用户 (CorpMember对象)。

分账 Step2. 创建结算账户对象

_images/step2.png

在创建用户对象成功后,给该用户添加一个结算账户。

什么是结算账户,当完成一笔交易后,交易金额会转入用户结算账户; Adapay 会根据结算配置按T+1,或D+1日 打款到您的银行卡中

分账 Step3. 创建支付对象

在创建支付对象时,支付模式pay_mode必须传入delay,支付对象创建成功后获得Adapay生成的支付对象id。

分账 Step4. 创建支付确认对象,完成延时分账

参数payment_id传入第3步获取的支付对象id

_images/delay-div.png