请求地址
生产环境
https://b2b.cmbchina.com/CmbBank_B2B/UI/NetPay/DoBusiness.ashx
测试环境
http://121.15.180.72/CmbBank_B2B/UI/NetPay/DoBusiness.ashx
请求报文
报文的参数名:jsonRequestData,参数值JSON格式见下表
参数 |
类型(长度) |
必填 |
描述 |
示例 |
version |
String(3) |
M |
接口版本号,固定为“1.0” |
1.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
|
20160623101430 |
txCode |
String |
M |
交易码,本接口固定为CMQX |
CMQX |
branchNo |
String(4) |
M |
商户分行号,4位数字 |
0755 |
merchantNo |
String(6) |
M |
商户号,6位数字 |
002346 |
merchantSerialNo |
String(20) |
M |
商户做此查询请求的流水号 |
2016062310143088 |
agrNo |
String(32) |
M |
客户签约的协议号 |
201606238888888 |
请求示例
1.json报文组织:
{
"version":"1.0",
"charset":"UTF-8",
"sign":"见签名处理章节",
"signType":"SHA-256",
"reqData":
{
"dateTime":"20160623101430",
"txCode":"CMQX",
"branchNo":"0755",
"merchantNo":"002346",
"merchantSerialNo":"2016062310143088",
"agrNo":"201606238888888"
}
}
2.表单组织:
<form action="请求地址" method="post" />
<input type="hidden" name="jsonRequestData" value='以上json字符串' />
<input type="hidden" name="charset" value='UTF-8' />
</form>
3.待签名字符串示例(未包含支付密钥):
agrNo=201606238888888&branchNo=0755&dateTime=20160623101430&merchantNo=002346&merchantSerialNo=2016062310143088
响应报文
参数 |
类型(长度) |
必填 |
描述 |
示例 |
version |
String(3) |
M |
接口版本号,固定为“1.0” |
1.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 |
M |
详细信息,失败时返回具体失败原因 |
|
dateTime |
String(14) |
M |
银行返回该数据的时间
格式:yyyyMMddHHmmss
|
20160623101430 |
merchantSerialNo |
String(20) |
M |
原样返回商户做请求时的流水号 |
2016062310143088 |
bankSerialNo |
String(30) |
M |
银行处理本请求的流水号 |
2016062310143099 |
响应示例
1.正常json报文组织:
{
"version":"1.0",
"charset":"UTF-8",
"rspData":{
"rspCode":"SUC0000",
"rspMsg":"取消成功。",
"dateTime":"20160623101430",
"merchantSerialNo":"2016062310143088",
"bankSerialNo":"2016062310143099"
}
}
待验签字符串(未包含支付密钥):
bankSerialNo=2016062310143099&dateTime=20160623101430&merchantSerialNo=2016062310143088&rspCode=SUC0000&rspMsg=取消成功。
2.异常json报文组织:
{
"version":"1.0",
"charset":"UTF-8",
"rspData":{
"rspCode":"DCB0003",
"rspMsg":"DCB0003 请求报文JSON格式错误!",
"dateTime":"20160817141216"
}
}
待验签字符串(未包含支付密钥):
dateTime=20160817141537&rspCode=DCB0003&rspMsg=DCB0003 请求报文JSON格式错误!
错误码
错误码 |
描述 |
解决方案 |
DCB0001 |
DCB0001 贵方发送错误报文数太多,已被限制访问! |
异常操作错误太多,请根据之前的错误反馈进行更改,限制将在一定时间后自动解除 |
DCB0002 |
DCB0002 请求报文数据不能为空! |
输入参数jsonRequestData拼写正确,并且值非空 |
DCB0003 |
DCB0003 请求报文JSON格式错误! |
输入参数jsonRequestData为合法的JSON格式 |
DCB0004 |
DCB0004 请求报文数据有误;请求报文长度过长 |
缩短输入参数jsonRequestData内容 |
DCB0004 |
DCB0004 请求报文数据有误:…… |
错误消息有以下这些情况,请根据对应提示修改。
接口版本号version值不正确
参数编码charset值不正确
签名sign不能为空
签名算法signType值不正确
请求数据reqData不能为空
时间戳dateTime位数超长或者为0
时间戳dateTime不能为空
交易功能码txCode位数超长或者为0
交易功能码txCode不能为空
商户号merchantNo位数超长或者为0
商户号merchantNo不能为空
分行号branchNo位数超长或者为0
分行号branchNo不能为空
商户流水号merchantSerialNo位数超长或者为0
商户流水号merchantSerialNo不能为空
客户协议号agrNo位数超长或者为0
客户协议号agrNo不能为空
|
DCB0005 |
DCB0005 商户未设置支付密钥;商户号:…… |
请登录商户结账处理系统设置支付密钥 |
DCB0006 |
DCB0006 源IP地址不在商户IP白名单中;商户号:…;IP地址:… |
商户需要提供IP添加到白名单中 |
DCB0007 |
DCB0007 调用功能不可用;调用功能代码:…… |
调用的功能不支持,请输入支持的功能代码 |
DCB0008 |
DCB0008 签名验证失败:…… |
错误消息有以下情况,请根据对应提示修改。
签名时间戳格式不正确!
签名时间错误,签名已经失效。
验签异常:……
|
DCB0010 |
DCB0010 获取商户密钥失败;商户号:…… |
商户未正确开通接入平台功能,请按正规流程进行登记开通 |
DCB0017 |
DCB0017 与业务系统的通讯失败:…… |
错误消息有以下情况,请稍后再试或联系招行相关技术支持人员。
[MIDServerComNP]业务系统繁忙
[MIDServerComNP]连接业务服务器失败:…
[MIDServerComNP]接收业务系统通讯报文头失败
[MIDServerComNP]接收业务系统通讯报文头非法
[MIDServerComNP]接收业务系统通讯报文
包体长度不正确.[…]
[MIDServerComNP]与业务系统通讯异常:…
|
DCB0018 |
DCB0018 与业务系统的通讯异常:……:…… |
错误消息有以下情况,请联系招行相关技术支持人员。
解析中间业务平台返回报文失败
|
DCB0019 |
DCB0019 企业网银签名异常:…… |
请联系招行相关技术支持人员 |
DCB0020 |
DCB0020 服务器繁忙,请稍后再试。 |
当前服务器负载达到上限,请稍后再试。 |
DCB0021 |
DCB0021解析返回报文失败 |
请联系招行相关技术支持人员 |
CMBMB97 |
请求参数错误 |
根据提示信息中括号里的内容,修改请求参数。如:请求参数错误(商户交易日期),检查"商户交易日期"字段的内容是否正确
|