周期扣款

查询招行公钥

1. 接口介绍

功能简述:

本接口用于查询招行的公钥,商户对招行回调通知进行验签时需要使用此公钥信息。

约束条件:

招行公钥更新不频繁,建议一天查一次,或者在验签失败时,重新查询获取最新公钥。

正常流程:

1、 报文合性校验
2、 报文参数校验
3、 返回招行公钥

异常流程:

1、请求源IP不在IP白单中
2、报文验签失败
3、报文参数非法

2. 请求地址

测试环境URL:

https://cmbchinab2b.bas.cmburl.cn/CmbBank_B2B/UI/NetPay/DoBusiness.ashx

生产环境URL:

https://b2b.cmbchina.com/CmbBank_B2B/UI/NetPay/DoBusiness.ashx

3. 请求报文

请求报文参数类型(长度)必填描述示例
charsetString(8)M编码格式,固定为UTF-8(默认)UTF-8
jsonRequestDataStringMjson格式的请求参数,详见jsonRequestData定义

jsonRequestData参数定义

参数名类型(长度)必填描述示例
versionString(3)M固定为1.01.0
signStringM使用商户支付密钥对reqData内的数据进行签名
signTypeStringM固定为SHA-256SHA-256
reqData请求数据


dateTimeString(14)M请求时间,商户发起该请求的时间,精确到秒。
格式:yyyyMMddHHmmss
20160623101430
txCodeStringM交易码,固定为FBPKFBPK
branchNoString(4)M商户分行号,4位数字0755
merchantNoString(6)M商户号,6位数字002346

请求示例:

json报文组织:

{  
    "version":"1.0",  
    "sign":"见签名处理章节",  
    "signType":"SHA-256",  
    "reqData":{                          
        "dateTime":"20160623101430",       
        "txCode":"FBPK",       
        "branchNo":"0755",       
        "merchantNo":"002346"       
        } 
}

表单组织:

<form action="请求地址" method="post" >      
        <input type="hidden" name="jsonRequestData" value='以上json字符串' />       
        <input type="hidden" name="charset"  value='UTF-8' />
</form>

待签名字符串(未包含支付密钥):

branchNo=0755&dateTime=20160623101430&merchantNo=002346&txCode=FBPK

4. 响应报文

参数名类型(长度)必填描述示例
versionString(3)M固定为1.01.0
charsetString(8)M参数编码,固定为UTF-8UTF-8
signStringM报文签名,使用商户支付密钥
对rspData内的数据进行验签

signTypeStringM签名算法,固定为SHA-256SHA-256
rspData应答数据


rspCodeStringM处理结果返回码
SUC0000:请求处理成功
其他:请求处理失败
SUC0000
rspMsgStringM详细信息,失败时返回具体失败原因
fbPubKeyStringM招行公钥,用Base64编码的招行公钥
dateTimeString(14)M响应时间,银行返回该数据的时间
格式:yyyyMMddHHmmss
20160623101430

相应示例:

正常json报文组织:

{    
    "version":"1.0",    
    "charset":"UTF-8",    
    "sign":"见签名处理章节",    
    "signType":"SHA-256",    
    "rspData":{        
        "rspCode":"SUC0000",
        "rspMsg":"查询成功",
        "fbPubKey":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZs4l8Ez3F4MG0kF7RRSL+pn8MmxVE3nfdXzjx6d3rH8IfDbNvNRLS0X0b5iJnPyFO8sbbUo1Im4zX0M8XA0xnnviGyn5E6occiyUXJRgokphWb5BwaYdVhnLldctdimHoJTk3NFEQFav3guygR54i3tymrDc8lWtuG8EczVu8FwIDAQAB",
        "dateTime":"20201209141809"}
}

待验签字符串(未包含支付密钥):

dateTime=20201209141809&fbPubKey=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8IdQSg5ryvST/IC5aAjNY5sFw+qhVkyFKGqQFQCZfXa9YqsbhZFhSBZHLUw+TIJO8axH7Sa+OM4AEmoddvaPrnXRB7XJmUQMXj77AnGStzzJfQddMGMJiKa4KT6wKsmQxjC3NdKrYLVQntb9qD+M3AqIK5WBvbh/ix5GUTmUQ+QIDAQAB&rspCode=SUC0000&rspMsg=查询成功

异常json报文组织:

{    
    "version":"1.0",    
    "charset":"UTF-8",    
    "sign":"见签名处理章节",    
    "signType":"SHA-256",    
    "rspData":{      
        "rspCode":"DCB0003",        
        "rspMsg":"DCB0003 请求报文JSON格式错误!",        
        "txCode":"",        
        "dateTime":"20160817141216"    
        }
}

待验签字符串(未包含支付密钥):

dateTime=20160817141537&rspCode=DCB0003&rspMsg=DCB0003 请求报文JSON格式错误!&txCode=

5. 错误码

错误码错误描述解决方案
DCB0001DCB0001 贵方发送错误报文数
太多,已被限制访问!

异常操作错误太多,请根据之前的错误反馈
进行更改,限制将在一定时间后自动解除
DCB0002DCB0002 请求报文数据不能为空!输入参数jsonRequestData拼写正确,并且值非空
DCB0003DCB0003 请求报文JSON格式错误!输入参数jsonRequestData为合法的JSON格式
DCB0004DCB0004 请求报文数据有误;
请求报文长度过长
缩短输入参数jsonRequestData内容
DCB0004DCB0004 请求报文数据有误:……错误消息有以下这些情况,请根据对应提示修改。
接口版本号version值不正确
参数编码charset值不正确
签名sign不能为空
签名算法signType值不正确
请求数据reqData不能为空
时间戳dateTime位数超长或者为0
时间戳dateTime不能为空
交易功能码txCode位数超长或者为0
交易功能码txCode不能为空
商户号merchantNo位数超长或者为0
商户号merchantNo不能为空
分行号branchNo位数超长或者为0
分行号branchNo不能为空
商户流水号merchantSerialNo位数超长或者为0
商户流水号merchantSerialNo不能为空
客户协议号agrNo位数超长或者为0
客户协议号agrNo不能为空
DCB0005DCB0005 商户未开通接入平台功能;
商户号:……
商户号需要开通接入平台功能
DCB0006DCB0006 源IP地址不在商户IP白名单中;
商户号:…;IP地址:…
商户需要提供IP添加到白名单中
DCB0007DCB0007 调用功能不可用;
调用功能代码:……
调用的功能不支持,请输入支持的功能代码
DCB0008DCB0008 签名验证失败:……错误消息有以下情况,请根据对应提示修改。
签名时间戳格式不正确!
签名时间错误,签名已经失效。
验签异常:……
DCB0010DCB0010 获取商户密钥失败;商户号:……商户未正确开通接入平台功能,请按正规流程进行登记开通
DCB0017DCB0017 与业务系统的通讯失败:……错误消息有以下情况,请稍后再试
[MIDServerComNP]业务系统繁忙
[MIDServerComNP]连接业务服务器失败:…
[MIDServerComNP]接收业务系统通讯报文头失败
[MIDServerComNP]接收业务系统通讯报文头非法
[MIDServerComNP]接收业务系统通讯报文包体长度不正确.[…]
[MIDServerComNP]与业务系统通讯异常:…
DCB0018DCB0018 与业务系统的通讯异常:……错误消息有以下情况,请联系招行相关技术支持人员。
解析中间业务平台返回报文失败
DCB0019DCB0019 企业网银签名异常:……请联系招行相关技术支持人员
DCB0020DCB0020 服务器繁忙,请稍后再试。当前服务器负载达到上限,请稍后再试。
DCB0021DCB0021 解析返回报文失败请联系招行相关技术支持人员

6. FAQ