请求地址
一网通支付或签约请求中商户传送的成功签约结果通知地址。
例如:一网通支付API中的signNoticeUrl参数。
请求报文
适用于银行主动回调商户,报文通过招行证书私钥进行签名,商户需通过招行公钥验证通知来源于招行。由银行作为发起方发起请求,商户接收请求后返回响应信息。
报文的参数名:jsonRequestData,参数值JSON格式见下表
参数名称 |
JSON键值 |
类型(长度) |
必填 |
描述 |
示例 |
接口版本号 |
version |
String(3) |
M |
固定为”1.0” |
1.0 |
参数编码 |
charset |
String(8) |
M |
固定为“UTF-8” |
UTF-8 |
报文签名 |
sign |
String |
M |
使用招行私钥对noticeData内的数据进行签名;
商户需使用招行公钥验签。 |
|
签名算法 |
signType |
String |
M |
固定为”RSA” |
RSA |
应答数据 |
noticeData |
请求时间 |
dateTime |
String(14) |
M |
银行返回该数据的时间
格式:yyyyMMddHHmmss |
20160622182921 |
处理结果 |
rspCode |
String(7) |
M |
SUC0000:签约成功
其他:签约失败
注意:通常只有签约成功才会发送签约结果通知,但极少数异常情况下可能会发送签约失败的结果通知。因此,商户收到通知报文后,应先判断rspCode是否为SUC0000,以确认签约是否成功。 |
SUC0000 |
详细信息 |
rspMsg |
String |
M |
失败时返回的失败原因 |
|
通知类型 |
noticeType |
String |
M |
本接口,固定为BKQY |
BKQY |
银行通知序号 |
noticeSerialNo |
String(40) |
M |
|
201606238888888 |
商户分行号 |
branchNo |
String(4) |
M |
商户分行号,4位数字 |
0755 |
商户号 |
merchantNo |
String(6) |
M |
商户号,6位数字 |
002346 |
回调HTTP地址 |
noticeUrl |
String |
M |
签约请求时填写的签约结果通知地址 |
http://test.52sz.co/zsPay/zsResult.php |
回调HTTP方法 |
httpMethod |
String |
M |
固定为“POST” |
POST |
协议号 |
agrNo |
String(32) |
M |
签约请求时填写的客户协议号 |
0001283 |
商户附加参数 |
noticePara |
String |
M |
原样返回商户在签约或一网通支付请求报文中传送的成功签约通知附加参数 |
ABC|123|SDK |
商户用户ID |
userID |
String(20) |
M |
签约请求时填写的用于标识商户用户的唯一ID |
12345 |
用户证件类型 |
userPidType |
String(1) |
M |
1:身份证 |
1 |
用户证件号hash值 |
userPidHash |
String(30) |
M |
证件号映射的30位hash值,成功交易返回
|
501010131010181016101010101012 |
免密标识 |
noPwdPay |
String(1) |
M |
免密标识,固定为“N”,表示不开通免密。 |
N |
请求示例
1.json报文组织:
{
"version":"1.0",
"charset":"UTF-8",
"sign":"…",
"signType":"RSA",
"noticeData":{
"dateTime":"20160622182921",
"noticeType":"BKQY",
"noticeSerialNo": "201606238888888",
"branchNo": "0755",
"merchantNo": "002346",
"noticeUrl": "https://... ",
"httpMethod": "POST",
"agrNo": "0001283",
"noticePara": " ",
"rspCode": "SUC0000",
"rspMsg": " ",
"userID": "12345",
"userPidType": "1",
"userPidHash": "501010131010181016101010101012",
"noPwdPay": "N"
}
}
2.表单组织:
<form action="请求地址" method="post" />
<input type="hidden" name="jsonRequestData" value='以上json字符串' />
<input type="hidden" name="charset" value='UTF-8' />
</form>
3.待签名字符串(未包含支付密钥):
agrNo=0001283&branchNo=0755&dateTime=20160622182921&httpMethod=POST&merchantNo=002346&noPwdPay=N¬icePara=¬iceSerialNo=201606238888888¬iceType=BKQY¬iceUrl=https://...&rspCode=SUC0000&rspMsg=&userID=12345&userPidHash=501010131010181016101010101012&userPidType=1
响应报文
返回 HTTP Status Code 200,表示成功接收。否则表示未成功,未成功则银行会进行重发,重发直至响应成功或重发次数达到上限9次后停止重发。