diff --git a/docs/index.html b/docs/index.html index 147fa46..32e17a4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -52,7 +52,12 @@
见仓库根 README.md(运行与联调步骤)
+ +docs/superpowers/plans/2026-07-10-pay-v2-p1-core-model.md(含 checkbox)。pay v2 设计的首个落地阶段(8 阶段之 P1)。4 个 TDD 任务:money 包(int64 最小单位+币种)→ Order/Attempt/Account/Refund 模型+状态机+:memory: 测试约定 → OrderStore(幂等标付/取消/列表,条件UPDATE+RowsAffected)→ 账户配置注册表(凭证走 env)。沿用 GORM AutoMigrate/glebarez sqlite 惯例;金额从 string 元改 int64。P2-P8(Provider/收款管线/渠道 adapter/退款/路由/对账/codes 库/订阅)各自成计划、落地前细化。运行与联调步骤见仓库根 README.md
执行真相源 docs/superpowers/plans/2026-07-10-pay-v2-p1-core-model.md(含 - [ ] checkbox)。设计见 pay v2 统一支付网关设计。
:memory: 测试约定、配置驱动账户注册表。即"一单 N 渠道只一个成功 / 可取消 / 多账户路由"的数据层。不含 Provider/收款管线/渠道/退款执行(P2+)。
+| 阶段 | 内容 | 状态 |
|---|---|---|
| P1 | 核心模型(Order/Attempt/Account/Refund)+ money + 状态机 + 测试约定 + 账户配置注册表 | 本页 |
| P2 | Provider 抽象 + 一次性收款管线 + webhook v2(event_type)+ 幂等/金额核对(fake provider 测) | 待细化 |
| P3 | 首批渠道 adapter:crypto 自托管 / 支付宝 / Stripe | 待细化 |
| P4 | 退款:POST /refunds + 三向(业务/crypto 人工/平台通知)+ refund 事件 | 待细化 |
| P5 | 多账户路由策略(round_robin/weighted/limit_aware/crypto 地址池) | 待细化 |
| P6 | 对账 job(每 provider query,渠道流水 vs 本地订单) | 待细化 |
| P7 | codes 共享库(A 嵌入各产品) | 待细化 |
| P8 | later:订阅/recurring(4 类 kind)、拒付 chargeback | 待细化 |
Parse/Format 往返,超精度报错。禁 float / string 元(v2 破坏性改动)。UNIQUE(channel,provider_ref))、三套状态枚举、接进 AutoMigrate;建 OpenTestDB 的 :memory: sqlite 测试约定(pay 原无 DB 测试)。config.accounts 声明账户(channel/weight/enabled/limit/region/subject),凭证只存 env 前缀、真值运行时从 env 取;EnabledFor(channel,region) 筛选(路由策略在 P5)。| 约束 | 说明 |
|---|---|
| 金额 | int64 最小单位 + 币种码,禁 float / string 元 |
| 幂等 | 条件 UPDATE + RowsAffected(sqlite 单写,无 FOR UPDATE) |
| 迁移 | GORM AutoMigrate,无手写 migration;内嵌 Base |
| 凭证 | json:"-" + env 注入,不入库/配置明文 |
| 重设计 | jiu 未上线、无生产数据,可重建表 |
相关:pay v2 设计 · 真相源 docs/superpowers/plans/2026-07-10-pay-v2-p1-core-model.md
+把 pay 做成 pangolin / jiu / dudu / 未来产品共用的支付层:国内外常见支付 + 加密货币,统一 Order+Attempt(一单 N 渠道只一个成功 / 可取消 / 可退款),render_type 多态(加渠道不改 client),多账户路由,配置驱动渠道开关,国内外双部署。2026-07-10
+📋 实现计划:P1 核心数据模型 + 配置账户注册表(8 阶段之一;P2–P8 落地前逐一细化)。本文档是全景蓝图,计划是逐步施工图。
Provider.verify_callback;开通/权益各产品自留,只共享"入账成功"事件契约 + 时长叠加算法。加同形态新渠道 = 服务端零改客户端。