文档管理中心
我的
API参考华为支付服务(非虚拟类)Server普通商户基础支付支付结果回调通知

支付结果回调通知

功能介绍

用户支付完成后,华为支付服务器调用此接口向开发者服务器发送支付关键事件。

说明
  1. 为保证回调请求的可靠性,系统具备重试机制,所以可能出现重发的通知。
  2. 订单状态需根据orderStatus字段判断。

接口原型

承载协议

HTTPS POST

接口方向

华为支付服务器 -> 开发者服务器

接口URL

URL由开发者在请求预下单接口时传的callbackUrl

数据格式

请求消息:Content-Type: application/json

响应消息:Content-Type: application/json

请求参数

  • Request Body
    展开

    参数

    是否必选

    参数类型

    描述

    callbackId

    否

    String

    回调通知的唯一ID。

    callbackTime

    否

    String

    回调通知时间。

    dataType

    否

    String

    数据加密类型标识。

    • encrypt:加密
    • plain:未加密

    sign

    否

    String

    回调通知结果签名,除“sign”字段以外的其他字段参与签名。

    signType

    否

    String

    签名类型。华为支付生成签名字符串使用的算法,当前为SM2算法。

    certNo

    否

    String

    签名所使用的证书编号。

    mercNo

    否

    String

    商户号。

    appId

    否

    String

    应用ID。

    sysTransOrderNo

    否

    String

    华为支付系统订单号。

    mercOrderNo

    否

    String

    商户订单号,由商户自己生成,商户需保证订单信息唯一性。最大长度46。

    orderStatus

    否

    String

    订单状态。

    • TRX_SUCCESS:交易成功
    • TRX_FAILED:交易失败

    payload

    否

    String

    预留信息,如商户请求时传递该参数,此时会原样返回。

    currency

    否

    String

    交易币种单位,最大长度为3。

    • CNY (默认)

    totalAmount

    否

    long

    订单总金额,单位:分。

    payerAmount

    否

    long

    买家实付金额,单位:分。

    promotionAmount

    否

    long

    优惠金额,单位:分。

    finishTime

    否

    String

    支付完成时间,UTC时间格式(yyyy-MM-dd'T'HH:mm:ss.SSSZ)。

    paymentTools

    否

    String

    支付工具。

    • WECHAT_MICROPAY:微信支付
    • AGMT:快捷
    • ACCT:账户余额
    • UNIONPAY:云闪付
    • TRANSFER_PAY:转账支付

    promotionDetail

    否

    List<PromotionItem>

    营销活动信息。

    payer

    否

    PayerOut

    用户支付时客户端信息。

  • 请求示例
    收起
    自动换行
    深色代码主题
    复制
    1. POST /opengw/merc/v1/transactions/result HTTP/1.1
    2. Content-Type: application/json;charset=UTF-8
    3. {
    4. "bankName": "中国建设银行",
    5. "callbackId": "ee8eee94b1ac43028eaed234d29f55c9",
    6. "callbackTime": "2023-03-29 09:29:14",
    7. "cardType": "DE",
    8. "currency": "CNY",
    9. "dataType": "plain",
    10. "finishTime": "2023-02-23T10:02:04.000+0800",
    11. "maskCardNo": "622700****4422",
    12. "mercOrderNo": "9156360075829941513940353621732726809826831484",
    13. "orderStatus": "TRX_SUCCESS",
    14. "payerAmount": 10000,
    15. "payload": "衣服裤子等2件商品",
    16. "paymentTools": "WECHAT_MICROPAY",
    17. "promotionAmount": 0,
    18. "sign": "MEYCIQDXutp78nEN87jFH3cQHh0z1DkI4********************PgV2+uqyRlavIIVlWyjA6p210xOqI2InX9w2SIYRx",
    19. "signType": "SM2",
    20. "certNo": "10132120***",
    21. "sysTransOrderNo": "12407030857530004914518***",
    22. "totalAmount": 10000,
    23. "payer": {
    24. "openId": "600245669***"
    25. }
    26. }

响应参数

  • Response Header
    展开

    参数

    是否必选

    参数类型

    描述

    Content-Type

    是

    String

    取值为:application/json; charset=UTF-8

  • Response Body
    展开

    参数

    是否必选

    参数类型

    描述

    resultCode

    是

    String

    华为支付侧解析application/json类型响应,“000000”表示成功,其他值失败,如返回值格式不匹配或非“000000”将视为失败。

    resultDesc

    是

    String

    结果描述。

  • 响应示例
    收起
    自动换行
    深色代码主题
    复制
    1. HTTP/1.1 200 OK
    2. Content-Type: application/json; charset=UTF-8
    3. {
    4. "resultCode": "000000",
    5. "resultDesc": "Success."
    6. }