# 支付结果跳转

### 例如：

交易时传入参数returnUrl：[https://sandbox-pay.asiabill.com/services/v3/RedirectResultTest?bankCode=AsiaBill](https://sandbox-pay.asiabill.com/services/v3/RedirectResultTest?bankCode=TestBankCode)

3D验证完成后将跳转到此地址：[https://sandbox-pay.asiabill.com/services/v3/RedirectResultTest?bankCode=AsiaBill\&signInfo=B6F455BBFEB9338D8E2E75E08E0545F3C9AA1A009AACBA0585FEF3827FE34D22\&orderNo=NEW\_API1474187659537\&orderAmount=358.70\&code=0000\&merNo=12261\&gatewayNo=12261003\&tradeNo=2022041810092544882449\&orderCurrency=EUR\&orderInfo=Transaction%20Approved\&orderStatus=success\&maskCardNo=400000\*\*\*3155\&message=Success](https://sandbox-pay.asiabill.com/services/v3/RedirectResultTest?bankCode=TestBankCode\&signInfo=B6F455BBFEB9338D8E2E75E08E0545F3C9AA1A009AACBA0585FEF3827FE34D22\&orderNo=NEW_API1474187659537\&orderAmount=358.70\&code=0000\&merNo=12261\&gatewayNo=12261003\&tradeNo=2022041810092544882449\&orderCurrency=EUR\&orderInfo=Transaction%20Approved\&orderStatus=success\&maskCardNo=400000***3155\&message=Success)

### signInfo验证签名过程

1：将请求参数进行UrlEncode并按照参数名的ascii进行排序

2：去掉returnUrl自带的bankCode字段，以及不需要参与签名的signInfo字段；如下：

&#x20;    code=0000

&#x20;    gatewayNo=12261003

&#x20;    maskCardNo=400000\*\*\*3155

&#x20;    merNo=12261

&#x20;    message=Success

&#x20;    orderAmount=358.70

&#x20;    orderCurrency=EUR

&#x20;    orderInfo=Transaction Approved

&#x20;    orderNo=NEW\_API1474187659537

&#x20;    orderStatus=success

&#x20;    tradeNo=2022041810092544882449

3：将排序好的参数值进行拼接后得到 Q：000012261003400000\*\*\*315512261Success358.70EURTransaction ApprovedNEW\_API1474187659537success2022041810092544882449

4：采用网关号的signkey，对待签名数据进行HMAC-SHA256签名：HMAC-SHA256(Q , key)，得到签名结果16进制字符串signValue(不区分大小写)

5：将返回字段signInfo与生成的signValue进行对比验证
