APP支付

退款批量查询API

请求地址

生产环境
https://merchserv.netpay.cmbchina.com/merchserv/BaseHttp.dll?QueryRefundByDateV2

测试环境
http://merchserv.cmburl.cn/merchserv/BaseHttp.dll?QueryRefundByDateV2

请求报文

报文的参数名:jsonRequestData,参数值JSON格式见下表

参数类型(长度)必填描述示例
versionString(3)M接口版本号,固定为“2.0”2.0
charsetString(8)M参数编码,固定为“UTF-8”UTF-8
signStringM报文签名,对reqData内的数据进行签名
signTypeStringM签名算法,固定为“SHA-256”SHA-256
reqData请求数据
dateTimeString(14)M请求时间,商户发起该请求的当前时间,精确到秒。 格式:yyyyMMddHHmmss20160623120100
branchNoString(4)M商户分行号,4位数字0755
merchantNoString(6)M商户号,6位数字000054
beginDateString(8)M退款日期
格式:yyyyMMdd
20160624
endDateString(8)M结束日期,格式:yyyyMMdd20160625
operatorNoStringO商户结账系统的操作员号9999
nextKeyValueString(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


响应报文

参数类型(长度)必填描述示例
versionString(3)M接口版本号,固定为“2.0”2.0
charsetString(8)M参数编码,固定为“UTF-8”UTF-8
signStringM报文签名,使用商户支付密钥对rspData内的数据进行验签
signTypeStringM签名算法,固定为”SHA-256”SHA-256
rspData应答数据
rspCodeStringM

处理结果,SUC0000:请求处理成功(不能仅通过该字段判断退款成功)

其他:请求处理失败

SUC0000
rspMsgStringC详细信息,请求处理失败时返回错误描述
dateTimeString(14)M响应时间,银行返回该数据的时间
格式:yyyyMMddHHmmss
20160624121212
hasNextString(1)M续传标志,Y:有续传(还有更多记录); N:无续传(记录已返回完毕)。Y
nextKeyValueStringC续传键值,当hasNext=Y时必传。
dataCountStringM本次查询返回条数200
dataListString
记录数据,每笔记录一行,行之间以\r\n分隔。 第一行为表头; 从第二行起为数据记录; 行内的参数以逗号和`符号分隔(`为标准键盘1 左边键的字符),字段顺序与表头一致。 数据记录定义如下:
branchNoString(4)M商户分行号,4位数字0755
merchantNoString(6)M商户号,6位数字000054
dateString(8)M商户订单日期,格式:yyyyMMdd20160624
orderNoString(32)M商户订单号9999000001
bankSerialNoString(20)M银行的订单流水号16250327200000000020
orderRefNoString(32)O商户退款流水号
refundSerialNoString(20)M银行退款流水号16280535600000000010
orderStatusString(3)M210:已直接退款
219:直接退款已受理
240:已授权退款
249:授权退款已受理
999:退款失败
210
currencyString(2)M币种,固定为:“10”10
amountStringM退款金额,格式:xxxx.xx0.01
feeStringM费用金额,格式:xxxx.xx0.01
refundDescStringO退款说明
bankDateString(8)M银行受理日期,格式:yyyyMMdd20160624
bankTimeString(6)M银行受理时间,格式:HHmmss121201
settleAmountStringM实际退款金额,格式:xxxx.xx0.01
discountAmountStringM退回优惠金额,格式:xxxx.xx0.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查询失败具体失败原因参考报错信息