# 解约结果回调通知

#### 功能介绍

完成解约申请成功后，华为支付服务器调用此接口向开发者服务器发送解约关键事件通知。

为保证回调请求的可靠性，系统具备重试机制，所以可能出现重发的通知。

#### 接口原型

*   **承载协议：** HTTPS POST
    
*   **接口方向：** 开发者服务器 -> 华为支付服务器
    
*   **接口URL：** URL为开发者在请求申请解约接口时传入的callbackUrl
    
*   **数据格式：**
    
    请求消息：Content-Type: application/json
    
    响应消息：Content-Type: application/json
    

#### 请求参数

**Request Body**

| 参数 | 是否必选 | 参数类型 | 描述 |
| --- | --- | --- | --- |
| callbackId | 是 | String | 回调通知的唯一ID。 |
| callbackTime | 是 | String | 回调通知时间。格式为yyyy-MM-dd HH:mm:ss。 |
| dataType | 否 | String | 数据加密类型标识。 - encrypt：加密 - plain：未加密 |
| sign | 是 | String | 回调通知结果签名，除“sign”字段以外的其他字段参与签名。 开发者可参考验签规则对回调报文进行验签处理。 |
| signType | 是 | String | 签名类型。华为支付生成签名字符串使用的算法，当前为SM2算法。 |
| certNo | 否 | String | 签名所使用的证书编号。 |
| planId | 否 | String | 协议模板ID。该模板ID是商户在向华为支付提交代扣权限申请时由华为支付生成。 |
| mercContractCode | 否 | String | 商户签约协议号。开发者请求签约时传入的签约协议号，由商户生成，商户需保证字段唯一性。最大长度64。 |
| contractId | 是 | String | 委托代扣协议ID。 |
| spMercNo | 否 | String | 平台类商户/服务商商户号。最大长度12。 |
| subMercNo | 否 | String | 平台子商户/特约商户商户号。最大长度12。 |
| appId | 否 | String | 应用ID。获取方式请参见AppID管理及关联。 |
| changeMode | 否 | String | 解约方式。 - USER_UNSIGN：用户解约 - MERC_API_UNSIGN：商户解约 - PLATFORM_UNSIGN：平台解约 |
| expireDate | 否 | String | 签约过期时间，格式：yyyy-MM-dd。 |
| operateTime | 否 | String | 操作时间，如：2023-09-01 09:01:25。 |

#### 请求示例

```
POST /hw/pay/callback HTTP/1.1
Content-Type: application/json;charset=UTF-8
{
  "callbackId": "124070308575300049145189***",
  "callbackTime": "2023-08-29 09:29:14",
  "dataType": "plain",
  "mercContractCode": "202405******6535243",
  "contractId": "2024070914615843071097***",
  "operateTime": "2023-09-01 09:01:25",
  "sign": "MEYCIQDXutp78nEN87jFH3cQHh0z********************ALKPgV2+uqyRlavIIVlWyjA6p210xOqI2InX9w2SIYRx",
  "signType": "SM2"
}
```

#### 响应参数

**Response Header**

| 参数 | 是否必选 | 参数类型 | 描述 |
| --- | --- | --- | --- |
| Content-Type | 是 | String | 取值为：application/json; charset=UTF-8 |

**Response Body**

| 参数 | 是否必选 | 参数类型 | 描述 |
| --- | --- | --- | --- |
| resultCode | 是 | String | 响应码。华为支付侧解析application/json类型响应。 “000000”表示成功，其他值表示失败，如返回值格式不匹配或非“000000”将视为回调失败。 |
| resultDesc | 是 | String | 结果描述。 |

#### 响应示例

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
  "resultCode": "000000",
  "resultDesc": "Success."
}
```