# 确认订单页（多商品）— 功能需求说明（C 端）

> 本文档在《确认订单页（多商品）功能需求-草稿》基础上整理，并关联 **《关联需求分析.md》** v1.6、平台侧 **《订单管理功能需求》** v1.0.1、《商品管理功能需求》** v1.3.3、《商品审核功能需求》** v1.0、《商品分类功能需求》** v1.5、《商品服务管理功能需求》** v1.0.1、《店铺管理功能需求》** v1.3.6、《会员管理功能需求》** v1.1 及 C 端兄弟模块 **《购物车功能需求》** v1.0、《商品详情内页功能需求》** v1.0、《我的服务功能需求》** v1.1 做边界与流程对齐。  
> 范围：**C 端（消费者 APP / 用户商城）· 确认订单页** 在 **同一店铺、多商品** 场景下的 **收货地址选用、商品与金额确认、备注、提交订单与微信支付**；**不涉及** 数据库结构、接口定义及技术实现细节。  
> **说明：** 本模块是 **交易层入口**；生成 **待支付** 订单并唤起支付；**不维护** 商品/店铺/地址主数据（地址在 **我的服务** 维护）。  
> **v1.0：** 首版定稿；对齐草稿 §1～§8；补全入口、四条件、与购物车/订单/地址边界、支付关闭与超时。  
> **v1.1：** 对齐商家发品 **配送运费**（`biz_goods_freight`：固定运费 / 运费模版）；明确确认页 **运费计算口径** 与地址重算规则（实现见技术方案 **v1.1**）。

---

## 1. 模块定位

### 1.1 业务目标

为 **已登录的 C 端买家会员** 提供 **下单前最后一屏确认** 能力，在 **同一店铺、多商品**（含 **仅 1 件** 的立即购买）场景下，使其能够：

- **选用统一收货地址**（整单一个地址）；
- 查看 **店铺与商品明细**（含规格、服务保障、数量、单价）；
- **调整各商品数量**（不少于 1、不超过库存）；
- 查看 **商品总价、运费、应付总额**；
- 为 **每种商品** 填写 **各自备注**；
- 选择 **统一支付方式**（本期 **微信支付**）并 **提交订单**；
- 提交后 **唤起微信支付**；支付成功进入 **待发货** 履约链；取消/失败支付则 **关闭订单**。

**不包含（本期或与它模块分工）：**

| 能力 | 说明 |
|------|------|
| **购物车勾选、按店分组、失效清理** | 见 **《购物车功能需求》** |
| **商品详情展示、规格选择、首次加购** | 见 **《商品详情内页功能需求》** |
| **收货地址增删改** | 见 **《我的服务功能需求》** §8；本页 **仅选用** |
| **平台发货、物流更新、确认收货** | 见 **《订单管理功能需求》**；C 端 **我的订单** 另述 |
| **跨店铺合并为一笔订单** | 草稿隐含 **同店**；购物车 CT-S1 **不支持** 跨店合单 |
| **每种商品各自地址 / 各自支付方式** | 草稿 **明确不支持**（§1、§6） |
| **售后、评价、订单列表** | 见 **我的订单** 等模块 |

### 1.2 在业务链中的位置

```text
【浏览层】首页 / 分类 / 搜索 / 店铺主页 ──► 商品详情
                              ↓
【暂存层】购物车 · 同店勾选 · 去结算（四条件）
                              ↓
【本模块】确认订单 · 地址 · 改量 · 备注 · 提交 · 微信支付
                              ↓
【订单层】待支付 ──支付成功──► 待发货 ──► 已发货 ──► 已完成（平台履约 + C 端确认收货）
              └── 取消支付 / 超时 ──► 已关闭

【并行入口】商品详情 · 立即购买（单商品/同店逻辑）──► 本模块（单行或多行等价）
```

| 关联模块 | 关系 | 边界说明 |
|----------|------|----------|
| **购物车** v1.0 | **主上游** | 同店已选商品 **去结算** 进入本页；携带 **shopId + 商品行** |
| **商品详情** v1.0 | **上游（立即购买）** | 校验四条件后进入本页；通常 **单商品一行**，规则与本页 **一致** |
| **我的服务** v1.1 | **地址源** | 默认/所选地址来自 **地址簿**；本页 **可切换、可引导新增** |
| **订单管理** v1.0.1 | **下游** | 提交生成 **待支付** 订单；支付成功 **待发货**、**扣库存**（O4）；超时 **自动关闭**（O8） |
| **商品管理/审核** | **商品态/库存/价格** | 进入/提交时 **校验**；订单行 **快照** 名称/规格/价（见 §12） |
| **商品服务管理** | **展示快照** | 行内 **服务保障** 读发品 **快照**，不参与可购校验 |
| **店铺管理** v1.3.6 | **店态** | 须 **开业** 方可提交；停业 **拦截** |
| **商品分类** v1.5 | **可购第 3 条** | 分类不可见 → **不可提交** |
| **运费模版** / 商家发品 | **运费数据源** | 各行读 **`biz_goods_freight`**；确认页 **聚合计算** 整单运费（§8.3） |
| **会员管理** v1.1 | **用户链** | 禁用会员 **不可** 使用本模块 |
| **关联需求分析** v1.6 §11 | **四条件** | 提交订单前 **再次校验**（§11） |

### 1.3 与《关联需求分析》的对应

| 关联分析要点 | 本模块 |
|--------------|--------|
| C 端浏览与下单分离 | 由购物车/详情 **前置校验** 后进入；本页 **提交前再校验** |
| 店铺停业 S-P3 | **不可提交**；提示停业 |
| 商品状态/库存变更 | 进入后改量、提交时 **读实时**；不满足则 **阻断提交** |
| 订单 O-P4 | **支付成功** 扣库存；待支付 **不扣** |
| 待支付超时 O8 | 超时未付 **系统自动关闭**；须 **重新下单** |
| 状态不级联 | 提交后店/商品变更 **不自动改** 已生成订单（读 **快照**） |
| 服务快照 | 行内展示 **快照**；目录变更 **不追溯** |

### 1.4 使用端与角色

| 端 | 角色 | 能力 |
|----|------|------|
| **C 端** | **已登录且启用的会员** | 本模块全部能力 |
| **C 端** | 访客 | **不可进入**；上游引导登录 |
| **C 端** | **已禁用会员** | **不可** 使用 |
| 平台/商家端 | 管理员/商家 | **不操作** 本页面；在 **订单管理** 等履约 |

---

## 2. 关联需求分析

### 2.1 与 C 端《购物车功能需求》

| 项 | 定稿 |
|----|------|
| 入口 | 购物车 **同店已勾选** 商品点击 **「去结算」**，前置校验通过后 **进入本页** |
| 携带数据 | **单店铺** `shopId` + **多商品行**（商品、规格、数量、当前售价）；**不得** 跨店 |
| 改数量 | 购物车已选数量 **可带入**；本页 **可继续调整**（§7）；购物车中对应行 **未提交前不变** |
| 返回 | 用户 **返回** 购物车：**保留** 未提交行与勾选态 |
| 提交成功 | 对应 **已下单** 购物车行 **移除**（或扣减已购数量）；**未提交** 行 **保留** |
| 边界 | 购物车负责 **选品**；本模块负责 **地址/金额/提交/支付**（CT §9.3） |

### 2.2 与 C 端《商品详情内页功能需求》

| 项 | 定稿 |
|----|------|
| 入口 | **立即购买** 校验四条件后 **进入本页** |
| 行数 | 通常 **1 行**；展示与交互规则与 **多商品** **相同** |
| 规格/数量 | 与详情所选 **一致** 带入；本页 **可改数量**（§7） |
| 不经购物车 | **不写入** 购物车亦可下单（直购路径） |

### 2.3 与 C 端《我的服务功能需求》

| 项 | 定稿 |
|----|------|
| 地址维护 | **不在** 本页维护；跳转 **收货地址** 子页增删改（MS §8） |
| 默认地址 | 有 **默认地址** 时 **预填**（MS-A1～A3） |
| 无地址 | 须 **选择已有** 或 **引导新增** 后方可提交 |
| 地址快照 | 提交订单时 **快照** 收货人、手机、完整地址；后续改地址簿 **不影响** 已生成订单（MS §2.6） |

### 2.4 与平台《订单管理功能需求》

| 项 | 定稿 |
|----|------|
| 订单归属 | **单会员、单店铺、一单多行** 商品明细 |
| 初始状态 | 提交成功 → **待支付**（§3.1） |
| 支付成功 | **待支付 → 待发货**；记录 **支付时间、支付方式**；**扣减库存**（§12.2、O4） |
| 支付取消/失败 | 草稿 §8.2：**订单直接关闭** → **已关闭**（关闭类型：买家取消/支付未完成，见 §3.3） |
| 支付超时 | 超过 **支付超时时间** 未支付成功 → **系统自动关闭**（O8）；C 端 **不可继续支付** |
| 订单编号 | 提交时生成 **全平台唯一** 订单编号（O2） |
| 下单时间 | 提交订单时生成；**支付时间** 支付成功后生成 |
| 履约 | **平台** 待发货后发货；**不在** 本模块 |
| 运费 | 计入 **订单金额**；展示 **商品金额 + 运费 = 应付**（§8） |
| 配送方式 | **C 端本期可不选**；平台发货时选定 **物流配送/商家配送**（订单 §7） |

### 2.5 与平台《商品管理》/《商品审核》

| 项 | 定稿 |
|----|------|
| 可提交商品 | 各行须 **出售中**、库存 **≥ 数量** |
| 单价 | 进入本页读 **当前售价**；**提交时快照** 写入订单行 |
| 变价 | 用户在页内期间若变价，**刷新/提交前重算** 商品总价与应付 |
| 下架/删商品 | **阻断提交**；提示不可购买 |
| 规格 | 首期 **统一规格** 为主；行展示 **规格文案**（可为「默认」） |

### 2.6 与平台《商品服务管理功能需求》

| 项 | 定稿 |
|----|------|
| 服务保障展示 | 每行展示该商品 **发品时勾选的服务快照**（名称等）；**非** 实时目录 |
| 下单校验 | 服务项 **不参与** 四条件（关联分析 §11） |

### 2.7 与平台《店铺管理功能需求》

| 项 | 定稿 |
|----|------|
| 店信息 | 展示 **店铺头像、名称**（实时读档） |
| 店态 | **开业** 方可提交；**停业** 拦截并提示 |
| 已删店 | **不可进入/不可提交** |

### 2.8 与平台《商品分类功能需求》

| 项 | 定稿 |
|----|------|
| 可购第 3 条 | 各行所属 **平台分类（一、二级）均显示** 方可提交 |
| 分类隐藏后 | **阻断提交** |

### 2.9 与平台《会员管理功能需求》

| 项 | 定稿 |
|----|------|
| 登录态 | 须 **有效 Token** |
| 禁用会员 | **不可** 进入/提交 |
| 累计消费 | **支付成功并完成** 后由订单模块统计；**不在** 本页展示 |

### 2.10 与商家发品 · 配送运费

| 项 | 定稿 |
|----|------|
| 数据来源 | 每行商品读 **`biz_goods_freight`**（商家发品 **必填**：`freightType` **1** 固定 / **2** 运费模版） |
| 与商品详情 | 详情页 **freightDesc** 与确认页 **同一套规则** 的展示摘要；**下单金额** 以确认页 **实时计算** 为准 |
| 同店整单 | **一笔订单一个 `freight_amount`**（CO2）；各行配置 **聚合** 后写入订单主表（§8.3） |
| 地址影响 | **运费模版** 按收货地址 **省级** 匹配地区规则；**切换地址** 须 **重算** 运费与应付（CO-M1） |
| 满免 | 模版 **满免阈值** 按 **整单商品总价**（`goods_amount`）判定（与运费模版专册一致） |
| 缺失配置 | 历史商品若无运费配置 → **阻断提交**；提示 **商品运费未配置**（新发品已强制配置） |
| 模版变更 | 商家事后改模版 **不追溯** 已生成订单；本页 **preview/submit 读实时规则** 并 **快照** 至 `freight_amount` |

---

## 3. 页面与入口

### 3.1 页面清单

| 页面 | 说明 |
|------|------|
| **A. 确认订单** | 单页：地址 + 店/商品列表 + 金额 + 备注 + 支付 + 提交 |

**本期仅一页**；**无** 确认订单二级页（地址维护跳转 **我的服务**）。

### 3.2 入口

| 入口 | 行为 |
|------|------|
| **购物车 · 去结算** | 同店已选有效商品 → 前置校验 → **进入 A** |
| **商品详情 · 立即购买** | 四条件通过 → **进入 A**（通常单行） |
| **支付中断后返回** | 若订单仍为 **待支付** 且未超时，**我的订单** 可继续支付（另册）；**本页不强制** 承担续付 |

**未登录：** 上游已拦截；若误入 → **引导登录**。

### 3.3 前置条件（进入本页）

| 编号 | 规则 |
|------|------|
| **CO-P1** | 须 **已登录且启用** 会员 |
| **CO-P2** | 须为 **同一店铺** 下 **至少 1 行** 有效商品 |
| **CO-P3** | 进入前须已通过上游 **四条件** 校验（购物车去结算 / 详情立即购买） |
| **CO-P4** | **不支持** 跨店商品 **同屏** 确认 |

---

## 4. 访问控制

| 编号 | 规则 |
|------|------|
| **CO0** | 使用本模块 **须** **已登录** 且会员 **启用** |
| **CO1** | 仅 **当前会员** 可提交订单；**不可** 代他人下单 |
| **CO2** | 访客 **不可** 加载本页 |

---

## 5. 收货地址

> 对齐草稿 §1。

### 5.1 规则

| 编号 | 规则 |
|------|------|
| **CO-A1** | 整单 **仅一个** 收货地址；**不支持** 每种商品各自地址 |
| **CO-A2** | 地址来源：**会员地址簿**（我的服务 §8） |
| **CO-A3** | 有 **默认地址** → **预填**；用户 **可切换** 其它条目 |
| **CO-A4** | 无可用地址 → **阻断提交**；引导 **新增地址**（跳转地址维护） |
| **CO-A5** | 展示字段：收货人、手机号、省市区 + 详细地址（脱敏展示以前台为准） |

### 5.2 交互

```text
进入 A. 确认订单
    → 展示当前选用地址（默认或上次选用）
        ├── 点击「切换地址」→ 地址簿列表（可选弹层/子页）
        │       → 选择一条 → 回写本页
        └── 点击「新增地址」→ 跳转我的服务 · 新增 → 返回后可选用
```

| 情形 | 行为 |
|------|------|
| 仅一条地址 | 可 **隐式作为默认** 使用（与 MS §8.6 一致） |
| 提交时未选地址 | **阻断**；提示 **请选择收货地址** |

---

## 6. 商品信息展示

> 对齐草稿 §2。

### 6.1 店铺区（组头）

| 字段 | 说明 |
|------|------|
| 店铺头像 | **实时** 读档 |
| 店铺名称 | **实时** 读档 |

> 本页 **仅单店**；组头 **一个**。

### 6.2 商品行字段

| 字段 | 说明 |
|------|------|
| 商品主图 | 读 **当前主图**（提交时 **快照**） |
| 商品名称 | 读 **当前名称**（提交时 **快照**） |
| 商品规格 | **所选规格** 文案（统一规格可为「默认」；提交时 **快照**） |
| 服务保障 | 该商品 **服务快照** 摘要展示（如「7天无理由」等，**以发品勾选为准**） |
| 数量 | 当前确认数量（§7） |
| 单价 | **当前售价**；行小计 = 单价 × 数量 |
| 备注 | 该行 **买家备注** 输入区（§9） |

### 6.3 排序

| 项 | 定稿 |
|----|------|
| 行顺序 | 与 **上游带入顺序** 一致，或按 **商品最近更新/加购时间**（以前台定稿为准） |

---

## 7. 修改商品数量

> 对齐草稿 §3。

```text
用户点击「+ / -」或输入数量
    → 校验：数量 ≥ 1
    → 校验：数量 ≤ 当前规格 **实时库存**
        → 超过 → 提示「库存不足」，**不** 超过上限
    → 成功 → 重算 **行小计、商品总价、应付总额**
```

| 编号 | 规则 |
|------|------|
| **CO-Q1** | 每种商品数量 **最小为 1** |
| **CO-Q2** | 数量 **不得超过** 当前规格 **库存** |
| **CO-Q3** | 改量后 **不重选** 地址与支付方式 |
| **CO-Q4** | 数量为 0 的交互 **不提供**；须通过 **返回** 或上游 **取消选品**（不在本页删行，**建议** 提供「移除该商品」或 **返回购物车** 调整，以前台为准） |

---

## 8. 订单金额

> 对齐草稿 §4。

### 8.1 构成

| 项 | 说明 |
|----|------|
| **商品总价** | 各行 `单价 × 数量` 之和 |
| **运费** | 按 **§8.3** 聚合各行发品运费配置计算；展示 **数值 + 可读文案**（如「包邮」「运费 ¥8.00 起」以前台为准） |
| **应付总额** | **商品总价 + 运费**（本期 **不含** 优惠券/满减，见 §14） |

### 8.3 运费计算口径（同店 · 多商品）

> **前提：** 商家发品已为每商品配置 **固定运费** 或 **运费模版**（`biz_goods_freight`）；算法由 C 端 **`CheckoutSupport.calcFreight`** 集中实现（技术方案 §2.4）。

```text
输入：shopId、各行 goodsId/quantity/lineAmount、收货地址省级 regionId、整单 goodsAmount
    ↓
逐行加载 biz_goods_freight
    ├── freight_type=1（固定）→ 行运费 = fixed_amount（按行计一次，多行 **相加**）
    └── freight_type=2（模版）→ 按 freight_template_id **分组**
            → 组内合并 pieceCount（= Σ quantity；v1 统一规格）
            → 组内 totalWeightKg（v1 无商品重量字段时 **暂按件数或默认 1kg/件**，见技术方案）
            → IFreightTemplateFacade.calcFreight(templateId, shopId, provinceId, …, goodsAmount)
    ↓
orderFreight = 固定运费之和 + 各模版组运费之和
    ↓
写入 preview/submit 的 freightAmount；submit 快照至 biz_order.freight_amount
```

| 编号 | 规则 |
|------|------|
| **CO-F1** | 同店 **仅一个** 订单级 `freight_amount`；**不** 按行拆多笔运费单 |
| **CO-F2** | **固定运费** 行：每行取发品 `fixed_amount`；多行 **累加** |
| **CO-F3** | **运费模版** 行：相同 `freight_template_id` **合并件数** 后 **计一次**；不同模版 **分别计算后相加** |
| **CO-F4** | **满免 / 包邮** 按模版规则；`goodsAmount` 取 **整单商品总价** |
| **CO-F5** | **切换收货地址**（省级变化）→ **重算** 运费与应付 |
| **CO-F6** | **改数量** → 重算商品总价与运费（影响件数与满免） |
| **CO-F7** | 任一行 **无** 有效运费配置 → **阻断提交** |

### 8.2 展示与刷新

| 编号 | 规则 |
|------|------|
| **CO-M1** | 改数量、**切换地址**（省级变化影响模版地区规则）→ **重算** 运费与应付 |
| **CO-M2** | 进入/提交前若 **售价变更** → 以 **最新价** 参与计算；**可选** 提示「价格已更新」 |
| **CO-M3** | 底部 **固定栏** 展示 **应付总额** + **提交订单** 按钮（以前台 UX 为准） |

---

## 9. 备注

> 对齐草稿 §5。

| 编号 | 规则 |
|------|------|
| **CO-R1** | **每种商品** 可 **各自** 填写备注 |
| **CO-R2** | 备注 **非必填** |
| **CO-R3** | 长度上限 **建议** 200 字（可配置）；超限 **阻断输入或提交** |
| **CO-R4** | 提交后写入 **对应订单行快照**；平台/商家 **订单详情** 可见 |

---

## 10. 支付方式

> 对齐草稿 §6。

| 编号 | 规则 |
|------|------|
| **CO-PY1** | 整单 **统一** 支付方式；**不支持** 每种商品各自选择 |
| **CO-PY2** | 本期 **仅支持微信支付** |
| **CO-PY3** | 默认 **选中** 微信支付；**无** 其它渠道时不展示切换 |

---

## 11. 提交订单

> 对齐草稿 §7。

### 11.1 流程

```text
用户确认地址、商品、金额、备注
    → 点击「提交订单」
        → 校验 §11 四条件（逐行）+ 地址已选 + 数量合法
            ├── 不通过 → 明确提示（下架/停业/库存/分类/未选地址等）
            └── 通过 → 生成 **待支付** 订单
                    → 记录 **订单编号、下单时间**
                    → 快照：收货地址、各行商品/规格/单价/数量/备注/服务展示、运费、应付
                    → 进入 **支付流程**（§12）
```

### 11.2 规则

| 编号 | 规则 |
|------|------|
| **CO-S1** | 同店铺本次确认的全部商品 → **同一订单编号**、**同一下单时间** |
| **CO-S2** | 提交成功 **不扣库存**；**支付成功** 后扣减（O4） |
| **CO-S3** | 提交后 **购物车路径**：移除 **已下单** 对应行（CT §9.3） |
| **CO-S4** | 提交失败（校验/系统错误）→ **不生成** 订单；用户 **可修正后重试** |
| **CO-S5** | **防重复提交**：提交中 **禁用** 按钮；避免 **重复下单**（以前台/服务端协同为准） |

---

## 12. 支付

> 对齐草稿 §8；对齐订单 **待支付 / 自动关闭**（O8）。

### 12.1 主流程

```text
提交订单成功（待支付）
    → 唤起 **微信支付**
        ├── 支付成功
        │       → 记录 **支付时间、支付方式（微信支付）**
        │       → 订单 **待支付 → 待发货**
        │       → **扣减** 各商品库存
        │       → 跳转 **支付成功页** 或 **我的订单 · 待发货**（以前台为准）
        └── 用户取消支付 / 支付失败
                → 订单 **待支付 → 已关闭**（草稿 §8.2）
                → **不扣库存**
                → 提示已关闭；**可重新下单**
```

### 12.2 待支付与超时

| 项 | 定稿 |
|----|------|
| 超时规则 | 自 **下单时间** 起超过 **支付超时时间** 仍未支付成功 → **系统自动关闭**（订单 O8） |
| 超时时间 | **平台可配置**；首期建议默认 **24 小时**（1440 分钟），与订单 §3.4 一致 |
| C 端 | 关闭后 **不可继续支付**；须 **重新走** 购物车/详情 → 确认订单 |
| 库存 | 待支付/已关闭 **均不扣** 库存 |

### 12.3 与购物车/订单的协作

| 场景 | 行为 |
|------|------|
| 支付成功 | 移除已购购物车行；订单进 **待发货** |
| 取消支付关闭 | 购物车行 **仍在**（若未移除策略与提交瞬间一致）；用户 **可再次下单** |
| 超时关闭 | 同上；**不影响** 其它待支付单 |

---

## 13. 与下单、会员的协作（四条件）

须 **同时满足** **《关联需求分析》§11** 四条件方可 **提交订单**：

| # | 条件 | 提交时 | 不满足提示方向 |
|---|------|:------:|------------------|
| 1 | 商品 = **出售中** | ✓ | 商品已下架 / 不可购买 |
| 2 | 店铺 = **开业** | ✓ | 店铺已停业 |
| 3 | **平台分类**（一、二级）**均显示** | ✓ | 商品不可购买 |
| 4 | **所选规格** 库存 **≥ 数量** | ✓ | 库存不足 |

| 场景 | 行为 |
|------|------|
| 页内改量后超库存 | **阻断提交** |
| 提交瞬间被下架 | **阻断提交**；**不生成** 订单 |
| 会员禁用 | **不可** 提交 |
| 服务项缺失 | **不影响** 提交 |

**校验时机：** 进入本页前 **已校验一次**（上游）；点击 **提交订单** 时 **必须再校验**。

---

## 14. 页面流程总览

```text
【购物车路径】
    购物车 · 同店勾选 → 去结算 → A. 确认订单
        ├── 选/换地址
        ├── 改数量 · 填备注
        ├── 查看商品总价 + 运费 + 应付
        └── 提交订单 → 微信支付
                ├── 成功 → 待发货 / 成功页
                └── 取消/失败 → 已关闭

【立即购买路径】
    商品详情 · 立即购买 → A. 确认订单（同上，通常单行）

【返回】
    未提交 → 返回购物车/详情 · 数据保留
    已提交待支付 → 见 §12.2 / 我的订单
```

---

## 15. 异常与加载

> 草稿 §9「code、msg、data」**不在本文定义**。

| 情形 | 行为 |
|------|------|
| 页面加载失败 | **错误提示** + **重试** / **返回** |
| 上游数据失效（店/商品不可用） | **提示** 并 **引导返回** 购物车或详情 |
| 改数量失败 | Toast 原因；**回滚** 显示数量 |
| 提交失败 | 明确原因；**订单未生成** |
| 支付唤起失败 | 订单仍为 **待支付** 或按失败策略 **关闭**（以前台与支付 SDK 为准）；**提示重试** |
| Token 失效 | **引导重新登录** |

---

## 16. 业务规则汇总

| 编号 | 规则 |
|------|------|
| **CO0** | 须 **登录且启用** 会员 |
| **CO1** | 仅 **当前会员** 下单 |
| **CO2** | **单店、多单行** 合并 **一笔** 订单 |
| **CO3** | **统一** 收货地址 |
| **CO4** | 行展示：店头像/名、主图、名称、规格、服务、数量、单价 |
| **CO5** | 可 **改数量**（≥1，≤库存） |
| **CO6** | 应付 = **商品总价 + 运费**（运费见 §8.3） |
| **CO7** | **每商品** 可填 **备注** |
| **CO8** | **统一** **微信支付** |
| **CO9** | 提交 → **待支付** + 订单号/下单时间 |
| **CO10** | 支付成功 → **待发货** + 扣库存 + 支付时间/方式 |
| **CO11** | 取消/失败支付 → **已关闭** |
| **CO12** | 待支付 **超时** → **系统自动关闭** |
| **CO13** | 提交前 **四条件** 校验 |
| **CO14** | 不支持 **跨店、分地址、分支付方式** |
| **CO-F1～F7** | 配送运费 **聚合计算** 与地址/改量 **重算**（§8.3） |

---

## 17. 非本期范围

| 项 | 说明 |
|----|------|
| **跨店合单** | 购物车已 **不支持** |
| **优惠券、满减、积分抵扣** | 草稿 **未要求** |
| **货到付款、其它支付渠道** | 本期 **仅微信** |
| **C 端选择配送方式** | 平台发货时选定（订单 §7） |
| **发票** | 草稿 **未要求** |
| **提交后修改地址/商品** | 须 **关闭重下** 或走 **售后**（另册） |
| **平台/商家在本页操作** | **无** |
| **我的订单列表、售后、评价** | **我的订单** 专册 |
| **单商品确认订单独立产品** | 与 **立即购买** **共用本页**；不另立需求 |

---

## 18. 草稿对照与修订说明

| 草稿条目 | 本文档处理 |
|----------|------------|
| §1 统一收货地址 | §5 |
| §2 商品信息字段 | §6 |
| §3 修改数量 | §7 |
| §4 商品总价+运费 | §8 |
| §5 每种商品各自备注 | §9 |
| §6 统一微信支付 | §10 |
| §7 提交订单、同店同单号 | §11 |
| §8 支付成功/取消关闭 | §12 |
| §9 异常 code/msg/data | §15 **不纳入** |
| §10 技术栈 | **不纳入** |
| 未写：入口、四条件、地址簿、超时、购物车协作、快照 | §1～§3、§11～§13 补充 |

---

## 19. 修订记录

| 版本 | 说明 |
|------|------|
| **v1.0** | 首版定稿：多商品同店确认、地址/改量/备注/金额、提交与微信支付、与购物车/订单/我的服务/四条件对齐 |
| **v1.1** | 对齐商家 **配送运费**（`biz_goods_freight`）；§8.3 运费聚合口径；§2.10 与运费模版协作；CO-F1～F7 |

---

*文档版本：v1.1（定稿）· 关联《确认订单页（多商品）功能需求-草稿.md》、《购物车功能需求.md》v1.0、《商品详情内页功能需求.md》v1.0、《我的服务功能需求.md》v1.1、《订单管理功能需求.md》v1.0.1、《运费模版功能需求.md》v1.0、《店铺商品列表技术方案.md》v1.6、《关联需求分析.md》v1.6 · 草稿保持不变。*
