余额支付
最近更新时间:2023.7.24
1. 产品介绍
1.1 简介
余额支付是基于汇付支付账户的基础上衍生的一种支付方式,它的特点是灵活、额度大、可以在渠道商体系下进行支付,余额支付可以理解为在汇付体系内不同账户之间的支付能力。
1.2 应用场景
余额支付主要应用于平台商户上下游的大额采购,同时为商户节省资金的使用成本,同时对于集团企业的资金流转也能很好的支持。
1.3 名词定义及说明
【余额支付】在汇付账户内的余额,用来进行账户间支付;
【sys_id】系统号,代表请求客户来源,汇付根据sys_id所在的服务商或商户配置的公钥进行验签;
【product_id】产品号,汇付分配,用于区分客户来源,对服务商或商户无实际意义;
【商户/服务商私钥】商户/服务商用来对请求报文加签的密钥,在SDK中定义为privprivateKey;
【商户/服务商公钥】汇付用来对商户/服务商请求报文验签的公钥,在SDK中未定义,需在汇付控台有添加或生成;
【汇付公钥】商户/服务商用来对汇付的响应报文验签的公钥,在SDK中未定义为publicKey;
更多名词解释请参考:汇付开发者社区(https://service.dougong.net/t/qa)- API字典
2. 接入前准备
2.1 商务准备
-
选择接入模式
-
直签模式:指商户与汇付直接签约。具体流程:商户完成协议签署后,将准备好的入网材料提供给汇付销售人员,由汇付销售人员发起商户入网申请,待审核通过入网成功后,商户联系人将收到短信通知控台账号及密码。
-
服务商模式:指服务商与汇付签约,服务商通过接口或控台方式完成商户入网。具体流程:服务商完成协议签署后,将准备好的入网材料提供给汇付销售人员,由汇付销售人员发起服务商入网申请,待审核通过入网成功后,服务商联系人将收到短信通知控台账号及密码。
-
在斗拱完成商户进件入网
- 直签模式:已有汇付销售人员申请开通,商户无须另行操作;
- 服务商模式:
- 控台入网:参考服务商控台进件流程,渠道商接入指引;
- API入网:企业商户调用企业商户基本信息入驻接口 、小微商户调用个人商户基本信息入驻接口 完成开户、绑卡、结算配置。
-
选择接入功能并准备相关材料
- 基础收款能力:如微信支付、支付宝支付、网银支付等(本章节不再阐述,如需请联系客户经理提供对应指引)
- 余额支付能力:
- 直签模式:联系汇付销售人员申请开通,商户无须另行操作;
- 服务商模式:联系汇付销售人员申请开通服务商余额支付权限,开通后给予所属商户开通相关权限;
2.2 对接准备
第一步:密钥获取
联调之前需要先获取公私钥,参见公私解钥参数获取说明;
第二步:公共参数获取
登录服务商/商户控台后,可在开发设置-开发者信息中,获取sys_id,product_id参数信息;(如控台未展示,请联系对接群内汇付技术助手提供)
第三步:业务开通及配置
- 商户申请开通余额支付流程参考
- 申请资料
基础材料:
经营证件(营业执照等)
法人身份证正反面
结算资料:
对公结算-对公账户证明
法人对私结算-银行账户照片(正反面)
行业材料:
请参考行业材料表(可咨询汇付客户经理或运营经理)
- 申请方式
直签商户联系销售即可;
服务商或代理商可以通过接口和服务商控台两种方式为商户开通余额支付功能权限;
- 服务商通过接口申请
余额支付功能申请调用接口流程说明:
- 客户端APP/控台/SAAS服务商业务系统通过调用汇付的【商户业务开通接口】或【商户业务开通修改接口】,提交申请余额支付功能的业务开通申请;
- 汇付斗拱系统接收申请信息后送汇付运营审核,审核通过后系统生成协议且短信通知签约人;
- 签约人确认签约;
- 汇付斗拱系统更新签约信息,异步推送服务商业务系统
服务商业务系统,调用【商户详细信息查询】接口也可查询业务申请状态
-
服务商通过服务商控台申请
-
服务商通过服务商控台为商户申请余额支付功能,申请路径:【服务商控台】-【商户管理】-【商户入驻申请】-【新增】-【业务信息】
-
填写好商户基础信息之后,选择开通余额支付,并填写费率;
-
配置好之后,上传上述要求的资料,保存并提交入驻;
*由于余额支付准入存在审核标准和材料变化,具体流程及申请内容请咨询对接销售经理或对接群运营经理指导
3. 开发指引
3.1 对接规范
调用汇付接口,均采取POST形式提交,数据格式统一为JSON格式,相关SDK及签名方法见链接:
SDK示例:Java SDK
加签验签:v2版接口加签验签
3.2 确认业务配置
登录控台查询余额支付是否配置完成(如2.1已准备完成,则忽略此步骤)
- 通过服务商控台-【商户管理】-【商户信息查询】-查询-业务信息
- 商户控台-【我的信息管理】-【我的信息】-业务信息
- 通过商户详细信息查询接口来确认相关配置。
3.3 系统调用流程
- 余额支付角色
当前可以使用余额支付角色如下:1)商户;2)企业/个人用户;
- 余额支付功能范围
- 有同一上级渠道商的商户与商户之间
- 商户与其下级用户
- 用户与其上级商户
- 有同一上级商户的用户与用户之间
- 总部可以对下级总店进行余额支付
- 同一上级总店的用户与用户之间
- 总店与分店之间
3.3.1 交易流程
- 接口发起余额支付交易
客户调用余额支付接口进行支付
余额支付接口需关注以下字段:
参数 | 中文名 | 必填 | 说明 |
---|---|---|---|
out_huifu_id | 出款方商户号 | Y | 出款方商户号,示例值:6666000109812124 |
out_acct_id | 出款方账户号 | N | 只支持基本户和现金户;示例值:F00598600 |
acct_split_bunch | 分账对象 | Y | json格式;余额支付支持付款给多账户。 如余额支付100元,支付给A账户60元,支付给B账户40元。 |
余额支付注意事项:
- 斗拱系统判断,出款方是否开通余额支付权限,未开通交易拦截;延迟/强制延时的权限判断,也以出款方(出款方为用户时取其直属上级商户)的权限判断;
- 出款方和入账方关系校验:商转商,是否隶属同一个上级;
- 出款方和入账方关系校验:用转用:隶属同一个商户;
- 出款方和入账方关系校验:商转用或用转商,隶属于直属上下级;不能跨产品、跨隶属关系支付;
- 出款方和入账方账户状态校验:出款方的状态必须为正常,入账方状态必须为正常、冻结;
- 余额支付手续费内扣分三种场景:
- 分账串中只有一个入账方场景时,出款方承担手续费。付款方付1000元给收款方,支付手续费3元,那么接口中交易金额是1000元,交易的同时会从出款账户中扣除手续费3元。
- 分账串中有多个入账方,实时分账场景下,交易手续费由分账串中首个入账方承担;

- 分账串中有多个入账方,延时分账场景下,交易手续费在第一步扣除,第二步交易确认时由分账串传入的值决定谁最终承担手续费;

- 余额支付分账不收分账手续费;
- 分账功能参见分账指引;
查询
客户可以调用余额支付查询接口,对余额支付交易状态进行查询;
2、控台发起余额支付交易
路径:商户控台-【账户管理】-账户列表,余额支付
支持批量余额支付
3.3.2 退款流程
客户可以调用余额支付退款接口,对余额支付交易(180天内)进行退款,并退回手续费;
查询可以调用余额支付退款查询接口对该笔退款交易状态进行查询;。
3.3.3 对账流程
为了满足商户财务的对账需求,斗拱提供了对账功能。
方案一:控台下载;
方案二:接口获取;参见交易结算对账单查询接口
- 接口下载的对账文件包括以下四类:
- 日对账单类型:包括日结算对账单、日分账对账单、日出金对账单;
- 日交易数据:主要是各种支付交易记录;
- 月结算对账单:按月汇总的结算对账单;
- 月交易数据:按月汇总支付交易记录;
4. API列表
类型
|
接口
|
描述 |
---|---|---|
API | 余额支付接口 | 用于商户使用预存金额进行交易。 |
API | 余额支付查询接口 | 用于查询商户单笔余额支付交易状态及明细。 |
API | 余额支付退款接口 | 用于支持余额支付成功交易的全额或部分退款。 |
API | 余额支付退款查询接口 | 用于查询商户单笔余额支付退款状态及明细。 |
应用程序接口 | 账务流水查询接口 | 支持查询渠道商、代理商、商户、用户在斗拱系统中子账户的资金变动流水明细记录。包括基本户、充值户、营销户,以及延时户这样的中间账户。 |
应用程序接口 | 电子回单查询 | 客户在交易完成后可以获得该笔交易的电子回单,用作凭证提供给自己的用户。可以通过接口和控台获得该笔交易的电子回单。 |
5.常见问题
- 余额支付延迟交易,交易确认报":"原交易不存在"。
问题原因:余额支付延迟交易确认时,未指定交易类型。
解决方案:交易确认接口中,当原交易为余额支付时pay_type必填:ACCT_PAYMENT;
当原交易为快捷支付时pay_type必填:QUICK_PAY。
- 余额支付接口报错:“resp_code”:“90000000”,“resp_desc”:“SSP TransBusiConfig配置为空或多条”
问题原因:没有开通余额支付权限。
解决方案:1:通过服务商控台进行开通;
2:可调用商户业务开通接口开通。
- 支付接口调用报错:“resp_desc”:“数据权限认证失败”
问题原因:商户信息校验没有通过。
解决方案:
1)检查报文中的产品号(product_id)是否填写正确;
2)检查报文中的系统号(sys_id)和商户号(huifu_Id) 从属关系是否正确。
更多问题详见斗拱开发者社区:https://service.dougong.net/t/qa