2.3 KiB
2.3 KiB
C 端用户自主取消订单(小程序端)
端类型:小程序端(v3)|变更类型:新增接口|服务:hl-mp-service(Feign → 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>
出参示例
{ "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 |
关联
- Epic:wx/HL#3540
- PR:wx/HL#3549
- 后端负责人:腰苏图(订单 v3)