退款批量查询API
请求地址
生产环境
https://merchserv.netpay.cmbchina.com/merchserv/BaseHttp.dll?QueryRefundByDateV2
测试环境
http://merchserv.cmburl.cn/merchserv/BaseHttp.dll?QueryRefundByDateV2
请求报文
报文的参数名:jsonRequestData,参数值JSON格式见下表
参数 | 类型(长度) | 必填 | 描述 | 示例 |
version | String(3) | M | 接口版本号,固定为“2.0” | 2.0 |
charset | String(8) | M | 参数编码,固定为“UTF-8” | UTF-8 |
sign | String | M | 报文签名,对reqData内的数据进行签名 | |
signType | String | M | 签名算法,固定为“SHA-256” | SHA-256 |
reqData | 请求数据 | |||
dateTime | String(14) | M | 请求时间,商户发起该请求的当前时间,精确到秒。 格式:yyyyMMddHHmmss | 20160623120100 |
branchNo | String(4) | M | 商户分行号,4位数字 | 0755 |
merchantNo | String(6) | M | 商户号,6位数字 | 000054 |
beginDate | String(8) | M | 退款日期 格式:yyyyMMdd | 20160624 |
endDate | String(8) | M | 结束日期,格式:yyyyMMdd | 20160625 |
operatorNo | String | O | 商户结账系统的操作员号 | 9999 |
nextKeyValue | String(40) | C | 续传键值,首次查询填“空”; 后续查询,按应答报文中返回的nextKeyValue值原样传入。 | HH00012016050309493316250308400000000010 |
请求示例
1.json报文组织:
{ "version":"2.0", "charset":"UTF-8", "sign":"见签名处理章节", "signType":"SHA-256", "reqData": { "dateTime":"20160806134824", "branchNo":"0755", "merchantNo":"000054", "beginDate":"20160805", "endDate":"20160805", "operatorNo":"9999", "nextKeyValue":"" } }
2.表单组织:
<form action="请求地址" method="post"> <input type="hidden" name="jsonRequestData" value='以上json字符串' /> <input type="hidden" name="charset" value=’utf-8’ /> </form>
3.待签名字符串示例(未包含支付密钥):
beginDate=20160805&branchNo=0755&dateTime=20160806134824&endDate=20160805&merchantNo=000054&nextKeyValue=&operatorNo=9999
响应报文
参数 | 类型(长度) | 必填 | 描述 | 示例 |
version | String(3) | M | 接口版本号,固定为“2.0” | 2.0 |
charset | String(8) | M | 参数编码,固定为“UTF-8” | UTF-8 |
sign | String | M | 报文签名,使用商户支付密钥对rspData内的数据进行验签 | |
signType | String | M | 签名算法,固定为”SHA-256” | SHA-256 |
rspData | 应答数据 | |||
rspCode | String | M | 处理结果,SUC0000:请求处理成功(不能仅通过该字段判断退款成功) 其他:请求处理失败 | SUC0000 |
rspMsg | String | C | 详细信息,请求处理失败时返回错误描述 | |
dateTime | String(14) | M | 响应时间,银行返回该数据的时间 格式:yyyyMMddHHmmss | 20160624121212 |
hasNext | String(1) | M | 续传标志,Y:有续传(还有更多记录); N:无续传(记录已返回完毕)。 | Y |
nextKeyValue | String | C | 续传键值,当hasNext=Y时必传。 | |
dataCount | String | M | 本次查询返回条数 | 200 |
dataList | String | 记录数据,每笔记录一行,行之间以\r\n分隔。 第一行为表头; 从第二行起为数据记录; 行内的参数以逗号和`符号分隔(`为标准键盘1 左边键的字符),字段顺序与表头一致。 数据记录定义如下: | ||
branchNo | String(4) | M | 商户分行号,4位数字 | 0755 |
merchantNo | String(6) | M | 商户号,6位数字 | 000054 |
date | String(8) | M | 商户订单日期,格式:yyyyMMdd | 20160624 |
orderNo | String(32) | M | 商户订单号 | 9999000001 |
bankSerialNo | String(20) | M | 银行的订单流水号 | 16250327200000000020 |
orderRefNo | String(32) | O | 商户退款流水号 | |
refundSerialNo | String(20) | M | 银行退款流水号 | 16280535600000000010 |
orderStatus | String(3) | M | 210:已直接退款 219:直接退款已受理 240:已授权退款 249:授权退款已受理 999:退款失败 | 210 |
currency | String(2) | M | 币种,固定为:“10” | 10 |
amount | String | M | 退款金额,格式:xxxx.xx | 0.01 |
fee | String | M | 费用金额,格式:xxxx.xx | 0.01 |
refundDesc | String | O | 退款说明 | |
bankDate | String(8) | M | 银行受理日期,格式:yyyyMMdd | 20160624 |
bankTime | String(6) | M | 银行受理时间,格式:HHmmss | 121201 |
settleAmount | String | M | 实际退款金额,格式:xxxx.xx | 0.01 |
discountAmount | String | M | 退回优惠金额,格式:xxxx.xx | 0.01 |
提示:
1)对于通过调用接口发起的退款,收到报文中rspCode=‘SUC0000’且orderStatus=‘210’,代表该笔退款处理成功且已经到账。
响应示例
1.正常json报文组织:
{ "version":"1.0", "charset":"gbk", "sign":"见签名处理章节", "signType":"SHA-256", "rspData":{ "rspCode":"SUC0000", "rspMsg":"", "dateTime":"20160825144658", "hasNext":"N", "nextKeyValue":"HH00012016080508381016280587500000000010", "dataCount":"2", "dataList":"branchNo,`merchantNo,`date,`orderNo,`bankSerialNo,`orderRefNo,`refundSerialNo,`orderStatus,`currency,`amount,`fee,`refundDesc,`bankDate,`bankTime\r\n0755,`000054,`20160804,`9999000003,`16280481900000000010,`,`16280535600000000010,`210,`10,`30.00,`3.00,`,`20160805,`083849\r\n0755,`000054,`20160804,`9999000005,`16280418800000000010,`,`16280587500000000010,`210,`10,`61.00,`6.10,`,`20160805,`083810" } }
2.异常json报文组织:
{ "version":"1.0", "charset":"UTF-8", "sign":"见签名处理章节", "signType":"SHA-256", "rspData":{ "rspCode":"MSS1068", "rspMsg":"NP1068.结束日期格式错误" } }
错误码
错误码 | 描述 | 解决方案 |
MSS9002 | 版本号错误 | Version固定为“1.0” |
MSS9003 | 签名算法错误 | 目前只支持“SHA-256” |
MSS9900 | 请求数据Json转换异常 | 校验并修改请求报文数据 |
MSS3411 | 签名错误 | 验证签名是否正确,请参考签名示例 |
USR0008 | 系统业务繁忙,稍后再试 | 超过最大并行请求处理数限制 |
MSS1016 | 分行号格式错误 | 分行号格式应为4位数字 |
MSS1017 | 商户号格式错误 | 商户号格式应为6位数字 |
MSS1067 | 其实日期格式不正确 | 格式应为yyyyMMdd |
MSS1068 | 结束日期格式不正确 | 格式应为yyyyMMdd |
MSS1025 | 日期对格式错误 | 起始日期应小于结束日期 |
MSS8011 | 主机无此商户定义 | 检查商户号、分行号是否正确 |
MSS2038 | 非法商户:商户参数未定义 | 检查商户数据是否正确 |
MSS3809 | 查询失败 | 具体失败原因参考报错信息 |