分账网关接口

本文档定义CHINAPNR支付网关商户接入接口规范,提供接口报文参数说明、示例报文、信息安全解决方案,并给出相关问题说明等,以帮助商户技术人员接入,便于尽快投入使用。
根据PCI-DSS检查要求,正式环境禁止使用低版本的SSL3.0 TLS1.0 TLS1.1等协议,请使用高于TLSv1.2及以上发送请求,推荐使用TLSv1.2

提交参数

请求地址

环境 HTTPS请求地址
测试环境 https://hfgj.testpnr.com/ledger/transDiv.htm
正式环境 https://global.chinapnr.com/ledger/transDiv.htm

协议参数

参数 类型 是否必填 最大长度 描述 示例值
inputCharset String 1 字符集,固定值:1
1-UTF-8
1
version String 10 网关版本,固定值:1.0 1.0
signType String 1 签名类型,固定值:4-RSA加签 4

业务参数

参数 类型 是否必填 最大长度 描述 示例值
merchantAcctId String 必选 32 会员账号,由我司提供的商户号+01,共13位数字 1001234001101
terminalId String 必选 8 终端号,由我司提供的终端号 999999
requestId String 必选 32 请求流水号,只允许使用字母、数字、_,每个商户提交的流水号,必须在自身账户交易中唯一 20170728120001001
requestTime String 必选 14 请求时间, 数字串,一共14位。 格式:年[4位]月[2位]日[2位]时[2位]分[2位]秒[2位]
即: yyyyMMddHHmmss
20170728120001
dealId String 必选 32 收单系统交易号,该交易在收单系统对应的交易号 20000100
details String 必选 分账明细, 明细笔数最多99 见分账明细字段说明
ext1 String 可选 128 扩展字段1, 预留
ext2 String 可选 128 扩展字段2, 预留
signMsg String 必选 2048 签名字符串 参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行商户密钥进行加签

2.1 分账明细字段说明

各字段以|分隔,各行以;分隔

序号 字段名 格式 是否必输 说明
1 用户号 String(11) 汇付唯一用户号
2 金额 Number(15) 格式为实际金额扩大100倍提交。如1000,表示10元
3 描述 String(128) 分账描述
version={version}&signType={signType}&merchantAcctId={merchantAcctId}&terminalId={terminalId}&requestId={requestId}&requestTime={requestTime}
- 按以上固定字段顺序进行加签。
- 仅对非空字段进行加签。
- 加密字段明文加签。

同步返回参数

收单分账请求处理完成后,会同步返回如下数据,

参数名称 参数含义 长度 参数说明
requestId 商户请求流水号 32 商户请求流水号,与提交订单时一致
requestTime 请求时间 14 商户提交的请求时间, 与提交订单时一致
dealId 原交易收单系统交易号 32 原交易收单系统交易号, 与提交订单时一致
ext1 扩展字段1 128 扩展字段1, 与提交订单时一致
ext2 扩展字段2 128 扩展字段2, 与提交订单时一致
respCode 错误代码 6 000000 成功,其它为异常
respMsg 错误描述 512 错误代码不为000000时提供
signMsg 签名字段 2048 签名字符串,商户需对该字段进行验签。详情请参考验签方法。对于所有值不为空的参数及对应值,按照指定顺序组成字符串:参数1={参数1}&参数2={参数2}&……&参数n={参数n}然后进行支付平台证书加密形成密文后进行2048位的Base64转码。
details 分账明细 存在错误明细时返回,格式见返回明细字段说明
dealId={dealId}&ext1={ext1}&ext2={ext2}&requestId={requestId}&requestTime={requestTime}&respCode={respCode}&respMsg={respMsg}
- 下述字段顺序进行验签
- 仅对非空字段进行验签

返回明细字段说明:各字段以|分隔,各行以半角“;”分隔

序号 字段名 格式 是否必输 说明
1 用户号 String(11) 原样返回
2 金额 number(15) 原样返回
3 描述 String(128) 原样返回
4 失败原因 String(128) 当失败时返回失败原因描述

3.1应答码表

应答代码表 应答代码表
000000 成功
110001 必须提交的请求参数未提交
110002 请求的数据项长度不符
110003 请求的数据项格式错误
110005 请求的数据项不合法
120010 请求的商户不存在
120011 请求的商户状态异常
120014 该商户账户已被冻结,禁止交易
120103 该商户账户已被删除,禁止交易
120110 该商户账户已被止入,禁止交易
120111 请求的商户号状态异常,不允许交易
120014 产品功能未开通,不允许交易
120023 交易请求Ip未知,不允许交易
170001 请求流水号重复
170002 分账明细笔数超出限制
170003 原交易不允许分账
170004 原交易可分账余额不足
170006 原交易分账状态错误
170100 分账明细格式有误,详情见明细失败原因
200001 订单信息的签名内容不正确
400001 原交易不存在
400007 原交易状态错误
99999 系统错误