批量代付(银行卡)受理API
1、修订记录
修订记录 | 日期 | 说明 |
---|---|---|
1.0 | 2023.01.12 | 初版 |
2、业务说明
(1)接口说明
批量代付普通受理接⼝
请求主体类型:application/json
请求方式:POST
3、请求地址
环境 | HTTPS请求地址 |
---|---|
测试环境 | https://appdev.ysepay.com/openapi/unify/batchTransaction/bankCard |
正式环境 | https://ysgate.ysepay.com/openapi/unify/batchTransaction/bankCard |
4、请求参数说明
4.1、公共请求参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
timeStamp | String | Y | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" |
method | String(128) | Y | 接口名称,固定值:unify.batchTransaction.bankCard |
charset | String(10) | Y | 请求使用的编码格式,如utf-8,gbk,gb2312等,固定为utf-8 |
sign | String | Y | 商户请求参数的签名串(签名算法默认为国密),详见demo,注意:请用商户私钥进行签名 |
check | String | Y | 银盛公钥加密随机生成的字符串(key)得到的加密值,详见demo |
bizContent | String | Y | 业务参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递。注意:需要通过AES以及随机生成的字符串(key)加密业务参数集合,得到bizContent |
reqId | String | Y | 请求唯一流水号,商户系统唯一,要求32个字符内(最少14个字符),只能是数字、大小写字母_-且在同一个商户号下唯一。最后12位要求格式为"yyMMddHHmmss" 示例值:xy1415220315145602 |
certId | String | Y | 发起方商户号,服务商在银盛给自己开设的商户号,即可当作发起方商户号,由银盛生成并下发。 注意:不同于子商户号,服务商发展的商户即为子商户号 |
version | String | Y | 调用的接口版本,固定为:1.0 |
4.2、业务请求参数
(bizContent加密前的json数据明文字符串)
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
payerMercId | String(20) | Y | 付款方商户号 |
outBatchNo | String(16) | Y | 代付批次号,格式:F+15位唯⼀流水,建议格式:F+YYYYMMDD+XXXXXXX只能由⼤⼩写英文 字母、数字、下划线及横杠组成,示例值:F201703081234567 |
shopDate | String(8) | Y | 交易日期,商户系统的交易发生日期格式yyyyMMdd 示例值:20180525 |
busiCode | String(10) | Y | 业务代码,请联系银盛客户经理获取。 注意:业务代码非固定值,不同到账方式需要传不同的业务代码 |
currency | String(3) | Y | 交易币种,默认CNY(⼈民币) |
totalAmount | String(10) | Y | 代付总金额,代付的总金额。单位为:RMB 分。取值范围为[1,9999999999],String(1,10)指 10位长度 |
totalNum | String(6) | Y | 代付总笔数,总笔数,最⼤交易笔数不能超过2000笔 |
notifyUrl | String(190) | N | 通知地址,通知地址 |
subMerchant | Object | N | ⼆级商户信息,⼆级商户信息 |
detailDataList | Array | Y | 代付详细数据 |
4.2.1 subMerchant具体参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
merName | String(25) | N | ⼆级商户名称 |
merShortName | String(25) | N | ⼆级商户简称 |
merAddr | String(100) | N | ⼆级商户地址 |
phoneNo | String(13) | N | 客户手机号 |
merNo | String(32) | N | ⼆级商户编号 |
category | String(20) | N | 类目编号,类目,按附件内容输⼊类目编号 |
4.2.2 detailDataList具体参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
orderId | String(32) | Y | 商户订单号,订单号,批次内唯⼀,只能由⼤⼩写英文字母、数字、下划线及横杠组成 |
amount | String(10) | Y | 单笔代付金额,单笔代付的金额。单位为:RMB 分。取值范围为 [1,9999999999],String(1,10)指10位长度 |
subject | String(250) | Y | 订单备注,订单说明 |
bankName | String(64) | Y | 银行名称,银行名称,为了保证代付交易成功,银行名称最好具体到分行, 示例值:中国银行深 圳民治支行 |
bankProvinceName | String(20) | N | 开户行所在省份名称,非必填。如果bankProvinceName、bankProvinceCode同时存在时,bankP rovinceCode优先。 |
bankProvinceCode | String(6) | N | 开户行所在省份编码,非必填。如果bankProvinceName、bankProvinceCode同时存在时,bankP rovinceCode优先。 |
bankCityName | String(20) | N | 开户行所在城市名称,bankCityName、bankCityCode不能同时为空,同时存在时,bankCityCode优 先 |
bankCityCode | String(6) | N | 开户行所在城市编码,bankCityName、bankCityCode不能同时为空,同时存在时,bankCityCode优 先 |
bankAccountNo | String(32) | Y | 收款方银行账号 |
bankAccountName | String(100) | Y | 收款方银行账户名称 |
bankAccountType | String(9) | Y | 收款方银行账户类型,收款方银行账户类型,此处必填corporate:对公账户;personal:对私账户 |
bankCardType | String(6) | Y | 支持卡类型,支持卡类型,此处必填debit:借记卡;credit:信用卡;unit:单位结算卡,只能是对公账 户;bankbook存折 |
certType | String(2) | N | 收款方证件类型,收款方证件类型 00:身份证,19营业执照 |
certNo | String(60) | N | 收款方证件号码,收款方证件号码。使用DES加密,密钥Src用户号前8位,不足8位前补空格, 可空 ,cert_type不空则必填 |
certExpire | String(8) | N | 收款方证件有效期,收款方证件有效期,格式yyyyMMdd,长期有效的居民身份证可为空 |
bankPhone | String(11) | N | 银行预留手机号,银行预留手机号 |
5、响应参数说明
请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。5.1、公共响应参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
code | String(5) | Y | 网关响应码,示例值:00000 ,详见网关公共响应码 |
msg | String(50) | Y | 网关响应码描述 |
subCode | String | Y | 业务响应码,参见具体的API接口文档 |
subMsg | String | Y | 业务响应描述 |
timeStamp | String | Y | 响应时间,格式"yyyy-MM-dd HH:mm:ss" |
norce | String(128) | Y | 随机参数 |
sign | String | Y | 响应参数的签名串,详见demo, 注意:请用银盛公钥进行验签 |
businessData | String | Y | 业务响应参数集合, 注意:银盛网关通过AES加密业务响应参数集合,得到businessData,商户需要对其进行解密,详情请见demo |
5.2、业务响应参数
响应业务参数businessData(json数据)
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
reqMsgId | String | N | 请求流水号 |
status | String(2) | N | 交易状态 |
statusDes | String(100) | N | 状态描述 |
outBatchNo | String(16) | N | 商户批次号 |
batchNo | String(30) | N | 批次流水号 |
totalAmount | String(10) | N | 总金额 |
totalNum | String(6) | N | 总笔数 |
6、业务响应码 网关公共响应码
响应码 | 响应码描述 | 解决方案 |
---|---|---|
0000 | 请求成功 | |
9999 | 系统错误 | 支付中该状态为未知状态,请勿当成失败状态处理,请等待支付 通知或继续查询 |
5000 | 交易超时 | 请调用查询接⼝查询订单状态 |
A029998 | 网关非法参数 | 检查请求参数,修改后重新发起请求 |
B083001 | 订单重复 | 该笔订单已受理,请使用新订单号发起请求 |
B083002 | 风控检查异常 | 请检查风控是否有异常,然后再重新发起 |
B083003 | 路由失败 | 请联系客服或市场技术支持⼈员 |
B083004 | 账户扣款失败 | 请联系客服或市场技术支持⼈员 |
B083005 | 计费失败 | 请联系客服或市场技术支持⼈员 |
B083006 | 处理失败 | 请重新发起代付受理请求 |
B083007 | 商户日期获取失败 | 检查参数 |
B083008 | 代理关系检查失败 | 比如委托关系不存在 |
B083009 | 代理关系参数验证失败 | 比如代理密码解密失败,或者代理密码与委托商户号没有同时传或 者同时不传 |
B083010 | 暂未查询到记录,请检查srcMercId/or derId/ | 该状态为未知状态,请勿当成失败状态处理 检查传⼊的订单号是 否正确,修改后重新发起请求或继续查询 |
B083011 | 对账文件尚未生成 | 请耐心等待,该对账文件尚未生成,稍后重新发起请求 |
B083012 | 该商户当天无交易 | 核查账单日期有无交易 |
B083013 | 对账文件生成失败 | 请稍后再试,如还有问题,请联系银盛 |
B083014 | 该标识对应的对账文件不存在 | 请核查标识是否最新,如还有问题,请联系银盛 |
B083015 | 下载超时 | 请重新发起,标识已过期(过期时间:30s) |
B083016 | 该对账文件过期,已清除 | |
B083017 | 批次明细处理中 | 批次明细处理中,请稍后查询 |
B083018 | 暂未查询到该批次记录 | 请检查out_batch_no/orderId/shopDate后重试 |
B083019 | 批次信息不存在 | 请核查商户批次号或者银盛批次流水号,如还有问题,请联系银盛 |
B083020 | 批量代收付交易类型错误 | 请核查确认交易类型是否正确 |
B083021 | 该批次尚未处理完成 | 请耐心等待,该批次尚未处理完成 |
B083022 | 该批次当天无交易 | 核查确认该批次当天有无交易 |