H5支付

成功支付结果前端通知API

接口描述

用户点击支付成功页面的返回商户按钮后,招行会以post方式新增一个参数(MerchantReturnUrlParam)到支付接口请求报文中的returnUrl地址上,商户在前端处理支付成功页获取该字段后,需要对内容进行验签,验证方式和成功支付结果通知相同。
适用于PC端生成扫码支付页面API中成功页返回商户地址returnUrl后附加的参数。

注:成功支付结果前端通知API是给商户多了一个渠道来接收支付回调通知,具体还是以异步回调通知为准

回调报文

适用于银行主动跳转到商户,报文需通过招行证书私钥进行签名,商户通过招行证书公钥验证通知来源于招行。由银行作为发起方发起请求,商户接收请求后无需返回响应信息。

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

参数名称JSON键值类型(长度)必填描述示例
接口版本号versionString(3)M固定为”1.0”1.0
参数编码charsetString(8)M固定为“UTF-8”UTF-8
报文签名signStringM使用招行私钥对noticeData内的数据进行签名;商户需使用招行公钥验签。
签名算法signTypeStringM固定为“RSA”RSA
应答数据noticeData
请求时间dateTimeString(14)M银行返回该数据的时间,精确到秒
格式:yyyyMMddHHmmss
20160622182921
后端回调HTTP地址noticeUrlString(256)M支付请求时填写的支付结果通知地址http://www.merchant.com/path/WAPProcResult.dll
后端回调HTTP方法httpMethodString(10)M固定为“POST”POST
商户分行号branchNoString(4)M商户分行号,4位数字0755
商户号merchantNoString(6)M商户号,6位数字000054
通知类型noticeTypeString(8)M本接口固定为:“BKPAYRTN”BKPAYRTN
银行通知序号noticeSerialNoString(40)M银行通知序号,订单日期+订单号20180506201612169999153784
订单日期dateString(8)M商户订单日期
格式:yyyyMMdd
20160624
订单号orderNoString(32)M商户订单号9999000001
金额amountString(14)M订单金额,格式:XXXX.XX0.01
银行受理日期bankDateString(8)M银行受理日期20160624
银行订单流水号bankSerialNoString(20)M银行订单流水号20160624121201000001
优惠标志discountFlagString(1)MY:有优惠 N:无优惠Y
优惠金额discountAmountString(14)M单位为元,精确到小数点后两位。格式为:xxxx.xx元30.00
商户附加参数merchantParaString(256)O原样返回商户在一网通支付请求报文中传送的成功支付结果通知附加参数12345678|ABCDEFG|HIJKLM
支付卡类型cardTypeStringM卡类型,02:本行借记卡;
03:本行贷记卡;
08:他行借记卡;
09:他行贷记卡
02

请求示例

1.json报文组织:

{ 
    "version":"1.0",
    "charset":"UTF-8",
    "sign":"…",
    "signType":"RSA",
    "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"
    }
}

2.待验证签名字符串为:

amount=40.01&bankDate=20160624&bankSerialNo=20160624121201000001&branchNo=0755&cardType=02&date=20160624&dateTime=20160622182921&discountAmount=30.00&discountFlag=Y&httpMethod=POST&merchantNo=000054&merchantPara=12345678|ABCDEFG|HIJKLM&noticeSerialNo=201606249999000001121212&noticeType=BKPAYRTN&noticeUrl=http://www.merchant.com/path/WAPProcResult.dll&orderNo=9999000001

响应报文

返回 HTTP Status Code 200 , 表示成功接收。否则表示未成功,未成功则银行会进行重发,重发直至响应成功或重发次数达到上限9次后停止重发。

错误码