From 3a024caa497b8923635c02e0c8c0df07f2918f81 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 16 九月 2026 00:53:12 +0800
Subject: [PATCH] docs(merchant): 03/04 代码侧交付完成,补可执行的阶段指引

---
 .scratch/merchant-wechat-onboarding/ticket-plan.md |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/.scratch/merchant-wechat-onboarding/ticket-plan.md b/.scratch/merchant-wechat-onboarding/ticket-plan.md
index f6eb5f6..6ddfc8e 100644
--- a/.scratch/merchant-wechat-onboarding/ticket-plan.md
+++ b/.scratch/merchant-wechat-onboarding/ticket-plan.md
@@ -1,6 +1,6 @@
 # 企业商户进件与微信开通:已确认任务拆分
 
-状态:用户已确认。2026-09-16 因需求变更(不做一键进件、实名走法人、未完成实名不允许收款)调整为三张工单,同日因用户不再需要测试商户 6666000241335656 关闭其中 02,现为两张并行工单。
+状态:用户已确认。2026-09-16 因需求变更(不做一键进件、实名走法人、未完成实名不允许收款)调整为三张工单,同日因用户不再需要测试商户 6666000241335656 关闭其中 02。03 与 04 的**代码侧已交付**(见「执行顺序」的提交号),剩下两端页面级验收与真实新商户进件验收。
 日期:2026-09-15 首次发布;2026-09-16 修订两次。
 
 依据:[完整规格](spec.md) 与 [ADR 0001](../../docs/adr/0001-merchant-onboarding-and-wechat-provisioning.md) 的 2026-09-16 修订。
@@ -10,8 +10,8 @@
 | 编号 | 任务 | Blocked by | Status |
 | --- | --- | --- | --- |
 | 02 | [完成指定存量商户微信与资金能力开通](issues/02-existing-merchant-wechat-activation.md) | — | wontfix(2026-09-16 关闭,产出已合入,证据保留) |
-| 03 | [新企业商户进件与分阶段开通微信收款能力](issues/03-new-enterprise-onboarding.md) | 无,可立即开始 | ready-for-agent |
-| 04 | [微信实名认证发起与授权闭环](issues/04-wechat-realname-application.md) | 无,与 03 并行 | ready-for-agent |
+| 03 | [新企业商户进件与分阶段开通微信收款能力](issues/03-new-enterprise-onboarding.md) | 无,可立即开始 | 代码侧已交付;剩页面级与真实新商户验收 |
+| 04 | [微信实名认证发起与授权闭环](issues/04-wechat-realname-application.md) | 无,与 03 并行 | 代码侧已交付;剩页面级验收 |
 
 ## 执行规则
 
@@ -27,14 +27,21 @@
 
 每个独立 Issue 包含自身验收条件及共同约束。自动化使用模拟汇付响应,不创建真实商户;真实联调失败先核对原申请,不反复新进件制造控台记录。
 
-### 执行顺序
+### 执行顺序(代码侧已完成)
 
-1. **04 第一步(已完成)**:把恢复路径里的单商户硬编码换成申请单自身的 huifu_id,删除 `HuifuOnboardingProgressGateway.openWechat` 占位与视图里的过期文案。
-2. **04 其余部分**:新建实名申请能力、法人手机号字段、授权状态闭环、收款就绪纳入实名。
-3. **03**:放开分阶段进度的灰度门槛(连同 5 个测试的策略改写),提供“下一步”推进与微信业务开通的商户手动入口。
+1. **04 第一步**(`87eca64`):恢复路径改用申请单自身的 huifu_id,删除 `HuifuOnboardingProgressGateway.openWechat` 占位与视图里的过期文案。
+2. **04 其余部分**(`7baa02d`):新建实名申请能力、法人手机号字段、授权状态闭环。
+3. **03**:分阶段刷新先推进开通并在提交前查通道(`815d8a4`)→ 放开灰度门槛并改写 5 项旧策略测试(`2429177`)→ 收款就绪纳入微信开通与实名(`4ef9418`)。
 
 顺序依据:03 的第三个阶段就是微信实名,先落地 04 才能让 03 的阶段推进接在真能力上。
 
+**实现中的三处顺序判断**(都不在原计划里,都是动手才发现的):
+- **先补「刷新推进开通」再翻灰度门槛**:分阶段申请的回调走的是刷新,而 `continuePostOnboardingProvisioning` 原本只由进件审核回调触发;先翻门会让新商户的微信开通彻底不再被发起。
+- **翻门之后补「基本资料被驳回落到 rejected」**:分阶段刷新原本只会写 pending/approved,被拒商户拿不到重新提交入口。
+- **收款就绪门槛与灰度放开同时落**:单独落会让所有没有进度记录的存量商户都收不了款。
+
+**剩下两件**:两端页面级验收;需要真实新商户及其材料的真实进件验收。
+
 **一处修正**:原先把「去掉 `RECOVERY_HUIFU_ID`、进度按申请单通用」算作 04 的清理,动手后发现站不住。`supports()` 不只是白名单,它还是「分阶段模型 vs 旧单状态模型」的路由开关:换成「有结算卡且未被拒绝」会同时给**所有**商户切换行为——进件失败不再释放银行卡(`MerchantOnboardingRetryReleaseTests` 2 项)、回调改走分阶段刷新(`MerchantSettlementCallbackIdempotencyTests` 3 项),实测 5 个测试会红。那是策略变更,归 03,不是清理。
 
 ### 两张票的冲突面

--
Gitblit v1.7.1