M-MEMBER-01 会员订阅与权益闭环
目标
完成 App Store 自动续订 → iOS StoreKit 2 购买 → JWS 验证 → 账号绑定 → Grant 生效 → 统一权益额度 → Server Notifications V2 → 续订/宽限期/到期/退款/撤销 → 恢复购买 → Sandbox/TestFlight 验收。
范围
- Product ID 与 Premium 权益数值冻结
- 账号令牌、商品映射、会员 Grant、PlanQuota Schema Expand
- 不可变 App Store 交易、通知 Inbox、Payload 审计模型
- EffectiveMembership 与普通用户会员只读 API
- App Store JWS 交易验证与幂等会员发放
- Server Notifications V2 Durable Inbox 与生命周期投影
- EffectiveQuota 与 Legacy/Shadow/Enforced 额度引擎
- AI/Chat/OCR/Vision/存储/知识库接入统一额度
- iOS StoreKit 2 核心、交易监听、恢复与测试基础
- iOS 会员中心、额度展示、购买状态与合规入口
- Sandbox/TestFlight 最终 Gate
非目标
- 微信/支付宝/Stripe 外部支付
- 充值余额、消耗型 IAP、终身会员
- 家庭共享、多级 VIP、优惠券/促销
- Android 支付
- 自动账号换绑
Issue 列表
| # | Issue | 风险 |
|---|---|---|
| 01 | 冻结 App Store 商品、Premium 权益数值与额度窗口 | P0 |
| 02 | Expand 账号令牌、商品映射、会员 Grant 与 PlanQuota Schema | P0 |
| 03 | 新增不可变 App Store 交易、通知 Inbox 与 Payload 审计模型 | P0 |
| 04 | 实现 EffectiveMembership 与普通用户会员只读 API | P1 |
| 05 | 实现 App Store JWS 交易验证与幂等会员发放 | P0 |
| 06 | 实现 App Store Server Notifications V2 Durable Inbox 与生命周期投影 | P0 |
| 07 | 实现 EffectiveQuota、额度预占返还与 Legacy/Shadow/Enforced | P1 |
| 08 | 将 AI、Chat、OCR、Vision、存储和知识库接入统一额度 | P1 |
| 09 | 实现 iOS StoreKit 2 核心、交易监听、恢复与测试基础 | P1 |
| 10 | 完成 iOS 会员中心、额度展示、购买状态与合规入口 | P1 |
| 11 | GATE 会员订阅、权益、额度与恢复购买最终验收 | P0 |
依赖关系
01(产品数值)→ 02(Schema)→ 03(交易模型)→ 05(JWS验证)→ 06(通知)
02 → 04(会员API)→ 07(额度引擎)→ 08(接入)→ 10(iOS页面)
09(iOS StoreKit)∥ 06-08
11(GATE)← 全部
No due date
100% Completed