一、支付产品介绍
1.1 产品概述
银行汇入金是通联支付为商户提供的线下转账线上化支付解决方案。商户通过接口发起支付订单后,通联为订单分配银行存管账户,用户可通过任意银行的网银、手机银行或柜台向该账户转账,通联系统实时监控资金到账情况并自动匹配对应订单,将支付结果异步推送至商户系统,实现资金快速归集。
1.2适用场景
银行汇入金适用于大额转账交易、需支持对公转账、用户无法使用在线快捷支付的各类场景,具体应用如下:
|
业务场景 |
场景特点 |
典型应用案例 |
|
银行母户入金场景 |
企业仅能接受单一固定对公账户转账,拒绝虚拟子账户;需通过附言标注订单号,资金直接进入对公账户满足审计与税务合规要求 |
传统制造业货款结算、供应商收款、尾款支付、贸易商对公打款 |
1.3商户入网
1.商户主体合规合法,营业执照在有效期内,不属于通联支付禁止准入行业类目
2.完成通联收银宝商户号注册与实名认证,无不良经营记录与风控黑名单记录
3.商户经营内容与备案类目一致,不得超范围开展支付业务,不得转借支付接口
二、技术开发准备
第一步:密钥获取(云梯)
点击密钥管理获取商户公钥、私钥及加密密钥。
第二步:公共参数获取(云梯)
点击通联公钥下载通联公钥
第三步:对接规范
调用通联接口,统一使用POST形式提交,数据格式统一为JOSN,相关SDK及签名方法如下:SDK示例:https://prodoc.allinpay.com/doc/1360/
三、开发指引
3.1核心开发内容
|
开发模块 |
关联接口 |
接口描述 |
|
订单生成 |
【2085-消费申请】 |
支付模式固定传值payMode=GATEWAY_VSP,传入订单信息后返回支付网关跳转URL |
|
支付结果回调 |
【2080-划款入账通知】 |
通联主动推送支付终态结果至商户回调地址,商户验签通过后必须返回字符串success |
|
订单查询 |
【3001-订单状态查询】、【3002-订单结果查询】 |
未收到异步通知时,主动查询订单最终状态,避免漏单 |
|
退款(可选) |
【2294-退款申请】 |
支持全额/部分/多次退款,累计退款金额不得超过原订单实付金额 |
3.2对接规范
测试地址:https://ibstest.allinpay.com/yst/yst-service-api/tx/handle
生产地址:https://ibsapi.allinpay.com/yst/yst-service-api/tx/handle
支付产品固定值:payMode=GATEWAY_VSP
请求方式:POST,数据格式 JSON,编码 UTF-8
开发文档:https://prodoc.allinpay.com/doc/1360/
3.3消费流程
1.用户在商户提交打款订单并选择银行汇入金支付
2.商户系统调用通联【2085 - 消费申请】接口,传入订单信息并指定支付模式为ANK_FUND_IN
3.通联系统生成银行存管账户(包含户名、账号、开户行)及转账有效期,返回给商户系统
4.商户页面展示收款账户信息、转账有效期及注意事项(无需填写附言),引导用户完成银行转账
5.用户通过任意银行的网银、手机银行或柜台,向该专属账户转账对应订单金额
6.通联系统实时监控资金到账情况,自动校验转账金额并匹配对应订单
7.资金到账后,通联系统将支付成功结果异步推送至商户预设的回调地址
8.商户系统收到通知并验签通过后,更新订单状态并展示支付成功页面给用户
9.若未收到异步通知,商户可主动调用【3001-订单状态查询】接口获取订单终态
银行汇入金支付必填字段
|
字段 |
字段类型 |
是否必填 |
字段说明 |
|
payMode |
JSONObject |
是 |
支付模式固定传值:BANK_FUND_IN |
|
reqTraceNum |
String |
是 |
商户订单号,全局唯一,不可重复 |
|
orderAmount |
Long |
是 |
订单总金额(单位:分) |
|
payAmount |
Long |
是 |
实际支付金额(单位:分) |
核心返回参数
|
字段 |
字段类型 |
是否必填 |
字段说明 |
|
respCode |
String |
是 |
业务返回码00000:代表接口调用成功66666、66667:交易处理中,需等待异步通知或调用订单查询接口获取终态其他返回码均代表接口调用失败 |
|
respTraceNum |
String |
是 |
通联系统生成的唯一订单号,用于后续订单查询、退款、对账等操作 |
|
chnlFrontParamInfo |
String |
否 |
返回bankFundInParamInfo(银行汇入金打款信息) |
|
respMsg |
String |
是 |
业务返回说明 |
bankFundInParamInfo-银行汇入金打款信息参数
|
字段 |
字段类型 |
是否必填 |
字段说明 |
|
payAmount |
Long |
是 |
打款金额 |
|
postscript |
String |
是 |
打款附言信息(云商通返回“通联订单号”)需按照此字段填写附言 |
|
payeeAcctNo |
String |
是 |
收款账号 |
|
payeeAcctName |
String |
是 |
收款账户名 |
|
payeeBankNo |
String |
是 |
收款银行 |
|
province |
String |
否 |
省 |
|
city |
String |
否 |
市 |
|
openingBankNumber |
String |
否 |
开户行号 |
|
openingBankName |
String |
否 |
开户行名称 |
3.4退款流程
银行汇入金退款支持全额退款、部分退款、多次退款,累计退款金额不得超过原订单实付金额,退款资金将原路退回。
退款必填参数
|
字段 |
字段类型 |
是否必填 |
字段说明 |
|
orderAmount |
Long |
是 |
本次退款金额(单位:分),单次退款金额需大于 0 |
|
reqTraceNum |
String |
是 |
商户退款单号,全局唯一,不可重复 |
|
orgRespTraceNum |
String |
否 |
原通联订单号(与原商户订单号二选一) |
|
orgReqTraceNum |
String |
否 |
原商户订单号(与原通联订单号二选一) |
|
orgTransDate |
String |
否 |
原订单交易日期,格式:yyyy-MM-dd(传原商户订单号时必填) |
|
respUrl |
String |
否 |
退款结果异步通知地址,需为 HTTPS 域名,用于接收退款成功 / 失败通知 |
退款操作规则
1.调用退款接口时,orgRespTraceNum(原通联订单号)或orgReqTraceNum+orgTransDate(原商户订单号 + 原交易日期)两组参数二选一即可,无需重复传入。
2.多次退款时,每次退款需生成唯一的商户退款单号,避免重复退款;累计退款金额不得超过原订单实际支付金额,超出将被系统直接拒绝。
3.退款申请提交后,通联支付系统实时受理,银行处理时效为1-3 个工作日,退款结果将通过 respUrl 异步推送至商户系统;商户也可调用订单查询接口查询退款状态。
4.订单已完成资金结算、超过银联扫码支付退款有效期的,将无法通过接口发起退款,需通过线下人工方式处理。
3.5订单管理
银行汇入金订单在商户系统内需遵循统一状态流转规则,禁止自定义订单状态,确保交易全链路可追溯、可对账、可排查:
|
订单类型 |
订单状态 |
场景(根据产品扣单独的逻辑) |
|
消费 |
0:进行中 |
待支付:商户已调用消费申请接口,成功获取打款账户信息,等待用户线下打款 支付中:用户已发起转账,通联系统正在等待资金到账 |
|
1:交易成功 |
支付成功:资金已成功入账至指定存管账户,通联已推送支付成功结果 |
|
|
2:交易失败 |
支付失败:转账金额与订单金额不符、转账账户异常、银行转账附言与订单附言不一致等原因导致支付终止 已关闭:订单超过转账有效期未收到资金,系统自动关闭; |
|
|
退款 |
0:进行中 |
退款中:商户已提交退款申请,通联已受理,银行正在处理退款流程 |
|
1:交易成功 |
退款成功:退款资金已原路退回用户付款账户,退款流程正式完结 |
|
|
2:交易失败 |
退款失败订单已清算、超过退款有效期、支付通道拒绝、账户余额不足等原因导致退款失败 |