hl-api-changelog/changelogs-v2-mp/2026-06/06_3549_C端自主取消订单-新增接口-小程序端.md

74 行
2.3 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# C 端用户自主取消订单(小程序端)
> 端类型:**小程序端**v3变更类型**新增接口**服务hl-mp-serviceFeign → hl-order-service-v3
> Epic #3540 PR #3549 日期2026-06-06
## 接口地址
`POST /mp/order/{orderId}/cancel`
## 接口介绍
小程序 C 端用户自主取消**自己**的订单。仅出行前可取消,按退款政策(距出发天数阶梯)退款,取消后订单进入 `CANCELLED` 终态、不可恢复。
## 本次修改点
新增接口。此前小程序无自主取消能力(取消只能走后台定制师)。本接口固定 `POLICY` 退款模式C 端不暴露退款模式选择),并校验订单归属当前登录用户。
## 入参
- 路径参数:`orderId`Long,订单 ID,必填
- 请求头:`Authorization`(登录 token,必填
- 请求体(可选,可不传):
| 字段 | 类型 | 必填 | 含义 |
|---|---|---|---|
| reason | String | 否 | 取消原因 |
**入参示例**
```
POST /mp/order/2063151085698134017/cancel
Authorization: Bearer <token>
Content-Type: application/json
{ "reason": "行程有变,需要取消" }
```
body 也可整体不传。)
## 出参
`Result<Void>`
**出参示例**
```json
{ "code": 200, "message": "成功", "success": true, "data": null }
```
## 可取消状态(调用约束)
| 订单状态 | 是否可取消 |
|---|---|
| PENDING_PAY 待支付 | ✅ |
| CUSTOMIZING 定制中 | ✅ |
| PENDING_DEPARTURE 待出行 | ✅ |
| TRAVELLING 出行中 | ❌(行程中只能联系客服终止行程) |
| COMPLETED 已完成 | ❌ |
| CANCELLED 已取消 | ❌ |
- 退款模式固定 `POLICY`,按退款政策阶梯计算退款金额(已付订金时退款,未支付时无退款)。
- 仅可取消归属当前登录用户的订单(非本人订单返回 581037
## 错误码
| code | message | 触发 |
|---|---|---|
| 581017 | 当前订单状态不允许取消 | 出行中 / 已完成 / 已取消订单调用 |
| 581037 | 无权取消该订单 | 取消非本人userId 不匹配)订单 |
| 401 | 缺少有效的 Authorization 头 | 未携带 token |
## 关联
- Epichttps://git.1814.love:8443/wx/HL/issues/3540
- PRhttps://git.1814.love:8443/wx/HL/pulls/3549
- 后端负责人:腰苏图(订单 v3