华为支付服务器支付成功后调用此接口将支付结果通知给开发者服务器。
重发机制:共48小时,前3次每20秒尝试一次,4-20次每200秒尝试一次,之后每3小时尝试一次。
不允许开发者服务器设置IP允许清单用于限制华为侧的出口IP地址。IP允许清单本身并不能提高安全性且会给业务发展带来约束,在消息层面已有更安全的RSA签名机制条件下,没有存在价值。开发者不遵守该约定而导致的后果将由开发者自行承担。
| 承载协议 | HTTPS POST |
| 接口方向 | 华为支付服务器->开发者服务器 |
| 接口URL | URL由开发者在申请支付服务时配置或在支付接口中传入。 说明: 华为支付服务器会优先使用申请支付服务时配置的回调地址。 |
| 数据格式 | 请求消息:Content-Type: application/x-www-form-urlencoded 响应消息:Content-Type: application/json |
| 参数名称 | 必选(M)/可选(O) | 类型 | 是否参与验签 | 参数说明 |
result | M | string(3) | 是 | 支付结果。 ● 0:支付成功。 ● 1:退款成功(暂未启用)。 |
userName | M | string | 是 | 商户ID,即华为开发者联盟给开发者分配的“支付ID”。 |
productName | M | string | 是 | 商品名称。 |
payType | M | int | 是 | 支付类型。取值范围如下: ● 0:华为钱包 ● 3:信用卡 ● 4:支付宝 ● 6:短代 ● 13:PayPal ● 16:借记卡 ● 17:微信 ● 19:礼品卡 ● 20:现金余额 ● 21:华为充值卡 ● 22:CyberSource ● 24:WP ● 31:HuaWeiWallet(华为Pay) ● 32:花呗 ● 34:Adyen ● 200:MPESA ● 100-199:CUSTPAY1-100(支付定制支付方式) |
amount | M | string(10) | 是 | 商品支付金额,金额会保留2位小数,例如:20.00。 |
currency | O | string | 是 | 用于支付该商品的币种,必须符合ISO 4217标准,例如USD、CNY、MYR。 如果支付时未传该参数或参数值为CNY,华为支付服务器回调时不传该参数。 |
orderId | M | string(50) | 是 | 华为支付平台订单号。 |
notifyTime | M | string(15) | 是 | 时间戳,即自1970年1月1日0时起的毫秒数。 通知时间为华为支付服务器调用接口的时间。 |
requestId | M | string(50) | 是 | 商户侧订单号。 由开发者应用在支付时自行生成,用来唯一标识一次支付请求,订单号生成后开发者需自行维护支付订单号。 |
bankId | O | string(50) | 是 | 支付通道信息,通常为银行编码。该参数应用服务器可不关注。 如下情况华为支付服务器会传入该参数: ● 支付过程中,有具体的支付通道信息。 ● 应用在调用支付接口时urlVer参数配置项为“2”。 |
orderTime | O | string | 是 | 下单时间,即用户点击购买后华为支付服务器收到应用订单请求的时间,格式为yyyy-MM-dd hh:mm:ss。 仅在应用调用支付接口时urlVer传入2时有效。 |
tradeTime | O | string | 是 | 完成交易时间,格式为yyyy-MM-dd hh:mm:ss。 仅在应用调用支付接口时urlVer传入2时有效。 |
accessMode | O | string | 是 | 接入方式: ● 0: 移动支付 ● 1: PC-Web ● 2: Mobile-Web ● 3: TV 仅在应用调用支付接口时urlVer传入2时有效。 |
spending | O | string | 是 | 本参数无意义,仅为向前兼容保留。 如果请求中携带了该参数且值不为null或"",需参与验签。 |
extReserved | O | string | 是 | 商户侧保留信息,华为支付服务器将传入支付时应用传入的extReserved信息。 如果支付时未传入此参数,则华为支付服务器也不会传入该参数。 说明: 华为支付服务器在传入该参数时会对该参数进行urlencode,在获取该参数后开发者服务器需进行urldecode才能获取原始信息。 |
sysReserved | O | string | 是 | 第三方支付商家侧保留信息。 说明: HUAWEI VR 2即插即用的分体式可以实现手机与PC的快速连接。 |
timeOffset | O | long | 是 | orderTime与tradeTime所在时区与零时区的时间差,单位ms,应用可根据此参数的值计算用户支付地的时区。参数默认值为28800000,表示+8区。-28800000则表示-8时区。 时区换算方法:timeOffset/3600/1000。 |
signType | O | string | 否 | 签名类型。 ● 如果请求中携带该字段,取值默认为RSA256,表示华为支付服务器使用了SHA256WithRSA算法进行签名。 ● 如果请求中未携带该字段,表示华为支付服务器使用了SHA1WithRSA算法进行签名。 |
sign | M | string | 否 | 用于开发者服务器对支付结果通知消息进行验签的签名字符串,由华为支付服务器生成。 开发者服务器需要参考对响应消息验签的方法对华为支付服务器发送的参数进行验签,验签通过后才能进行后续处理。验签使用的算法根据signType取值确定。 说明: 华为支付服务器在传入该参数时会对该参数进行urlencode,在获取该参数后开发者服务器需进行urldecode才能获取原始信息。 |
| 参数名称 | 必选(M)/可选(O) | 类型 | 参数含义 |
result | M | int | 操作结果。取值范围如下: ● 0:成功。对于重复的订单,也要求返回0。 ● 1:验签失败。 ● 2:超时。 ● 3:业务信息错误,比如订单不存在。 ● 94:系统错误。 ● 95:IO错误。 ● 96:错误的url。 ● 97:错误的响应。 ● 98:参数错误。 ● 99:其他错误。 警告: 请开发者服务器在收到通知消息后,在完成最小必要处理后,立即返回响应消息,避免超时。返回结果请严格按照以上定义的返回码返回。 |
| 类型 | 样例 |
请求消息样例 |
|
返回消息样例 |
|