取消订阅
接口说明
- 适用场景:【商户主动取消】用户主动取消订阅
- 方法:
POST - 路径:
/v1/subscription/cancel - 幂等:已
CANCELLED或FAILED时视为幂等成功返回
请求字段
| 字段 | 类型 | 必填 | 约束 | 匹配后(key / 中文名) | 说明 |
|---|---|---|---|---|---|
subscription_no |
string | 是 | ≤32 | subscription_no / 订阅号 |
订阅号 |
reason |
string | 否 | ≤256 | reason / 原因 |
取消原因 |
响应字段
| 字段 | 类型 | 必填 | 匹配后(key / 中文名) | 说明 |
|---|---|---|---|---|
subscription_no |
string | 是 | subscription_no / 订阅号 |
订阅号 |
out_trade_no |
string | 是 | out_trade_no / 商户订单号 |
商户签约订单号 |
subscription_status |
string | 是 | subscription_status / 订阅状态 |
订阅状态 |
cancel_time |
string | 否 | cancel_time / 取消时间 |
取消时间 |
请求示例:
{
"subscription_no": "SP01010120260319120000000001",
"reason": "USER_REQUEST"
}
响应示例(成功):
{
"subscription_no": "SP01010120260319120000000001",
"out_trade_no": "MCH202603190001",
"subscription_status": "CANCELLED",
"cancel_time": "2026-05-25T16:00:00+08:00"
}
响应示例(失败):
{
"code": "ORDER_NOT_FOUND",
"message": "订阅不存在"
}
错误与调用方处理
| HTTP | code |
触发条件 | 调用方处理 |
|---|---|---|---|
200 |
— | 取消成功或幂等成功 | 本地置取消态 |
非 200 |
ORDER_NOT_FOUND |
订阅不存在 | 核对 subscription_no |
非 200 |
MERCHANT_NOT_FOUND |
可选商户号校验失败 | 核查主体 |
非 200 |
INVALID_PARAMETER |
参数错误 | 修正后重试 |
##