资金冻结交易结果异步通知
请求地址
资金冻结请求中商户传送的成功结果通知地址,对应资金冻结API中的payNoticeUrl参数。
注意,测试环境端口号需要为:80、8081、443,生产环境需要为:80、443。
请求报文
适用于银行主动回调商户,由银行作为发起方发起请求,商户接收请求后返回响应信息。招行会通过招行证书私钥对报文进行签名,商户可通过招行证书公钥验证通知来源于招行。
报文的参数名: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 | 20161216140241 | |
回调HTTP地址 | noticeUrl | String(256) | M | 回调HTTP地址,冻结请求时填写的冻结结果通知地址 | http://www.merchant.com/path/payNotice.do | |
回调HTTP方法 | httpMethod | String(10) | M | 固定为“POST” | POST | |
商户分行号 | branchNo | String(4) | M | 商户分行号,4位数字 | 0755 | |
商户号 | merchantNo | String(6) | M | 商户号,6位数字 | 000054 | |
通知类型 | noticeType | String(8) | M | 本接口固定为:“BKPAYRTN” | BKPAYRTN | |
银行通知序号 | noticeSerialNo | String(40) | M | 银行通知序号,订单日期+订单号 | 20180506201612169999153784 | |
订单日期 | date | String(8) | M | 商户订单日期 格式:yyyyMMdd | 20161216 | |
订单号 | orderNo | String(32) | M | 商户订单号 | 9999153784 | |
金额 | amount | String(14) | M | 订单金额,格式:XXXX.XX | 0.01 | |
银行受理日期 | bankDate | String(8) | M | 银行受理日期 | 20161216 | |
银行订单流水号 | bankSerialNo | String(20) | M | 银行订单流水号 | 16321686300000000010 | |
优惠标志 | discountFlag | String(1) | M | 优惠标志,Y:有优惠 N:无优惠 | Y | |
优惠金额 | discountAmount | String(14) | M | 单位为元,精确到小数点后两位。格式为:xxxx.xx元 | 0.00 | |
商户附加参数 | merchantPara | String(256) | O | 原样返回商户在资金冻结请求报文中传送的冻结支付结果通知附加参数 | aaa | |
交易卡类型 | cardType | String(2) | M | 卡类型,02:本行借记卡; 03:本行贷记卡; 08:他行借记卡; 09:他行贷记卡 | 02 | |
到期自动解冻日期 | unfreezeDate | String(8) | M | 格式:yyyyMMdd 含义:到期自动解冻日期 | 20160624 | |
以下字段联系招行配置控制参数后返回(默认不返回): | ||||||
支付用户标识 | uniqueUserID | String(30) | C | 支付用户ID,由身份证+姓名生成(推荐使用) | UQwanCunLbp6cl1RbDFODrhLrAa48= | |
一网通用户标识 | expandUserID | String(30) | C | 一网通用户ID,由一网通ID生成(招行一网通用户的身份标识) | EUfirwdVQVKhffJmjQhMod0dS6GYY= |
请求示例
1.json报文组织:
{ "charset":"UTF-8", "sign":"…", "signType":"RSA", "version":"1.0", "noticeData":{ "dateTime":"20160622182921", "noticeUrl":"http://www.merchant.com/path/WAPProcResult.dll", "httpMethod":"POST", "branchNo":"0755", "merchantNo":"000054", "noticeType":"BKPAYRTN", "noticeSerialNo":"201606249999000001121212", "date":"20160624", "orderNo":"9999000001", "amount":"40.01", "bankDate":"20160624", "bankSerialNo":"20160624121201000001", "discountFlag":"Y", "discountAmount":"30.00", "merchantPara":"12345678|ABCDEFG|HIJKLM", "cardType":"02" "unfreezeDate": "20201201" } }
响应报文
返回 HTTP Status Code 200 ,表示成功接收。否则表示未成功,未成功则银行会进行重发,重发直至响应成功或重发次数达到上限9次后停止重发。
错误码
无