d225067f29
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
76 lines
7.0 KiB
HTML
76 lines
7.0 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>pay · 文档索引</title>
|
||
<style>
|
||
:root{--bg:#0d1117;--card:#161b22;--card-2:#1c2330;--border:#283041;--fg:#e6edf3;--fg-soft:#aeb9c7;--muted:#7d8896;--accent:#58a6ff;--radius:14px}
|
||
*{box-sizing:border-box}
|
||
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(88,166,255,.08),transparent 60%),var(--bg);color:var(--fg);font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
|
||
.wrap{max-width:860px;margin:0 auto;padding:48px 22px 80px}
|
||
.eyebrow{color:var(--accent);font-weight:600;letter-spacing:.12em;font-size:12px;text-transform:uppercase}
|
||
h1{font-size:30px;margin:10px 0 8px}
|
||
.lead{color:var(--fg-soft);margin:0 0 24px}
|
||
h2{font-size:18px;margin:34px 0 10px;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:8px}
|
||
a{color:var(--accent);text-decoration:none}
|
||
.doc{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin:12px 0;transition:.15s}
|
||
.doc:hover{border-color:var(--accent);background:var(--card-2)}
|
||
.doc .title{font-size:16px;font-weight:600;color:var(--fg)}
|
||
.doc .desc{color:var(--fg-soft);font-size:13.5px;margin-top:4px}
|
||
.doc .meta{color:var(--muted);font-size:12px;margin-top:6px}
|
||
.empty{color:var(--muted);font-size:13.5px}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="wrap">
|
||
<div class="eyebrow">Project Docs · pay</div>
|
||
<h1>pay 支付服务 · 文档索引</h1>
|
||
<p class="lead">独立支付服务(Go·Gin·GORM),多业务 × 多渠道(支付宝先行,微信留接口)。新增文档请同步登记此处。</p>
|
||
|
||
<h2>🎨 设计方案 / 技术方案</h2>
|
||
<a class="doc" href="./pay-v2-unified-gateway-design.html">
|
||
<div class="title">pay v2 · 多产品统一支付 + 履约网关设计 ⭐</div>
|
||
<div class="desc">把 pay 干净重设计成 pangolin/jiu/dudu/未来共用的支付层。三个正交关注点:pay 收款(本设计核心)/ codes 兑换(平级共享内核)/ entitlement 开通(各产品自留)。核心模型 Order+Attempt+Account(一单 N 渠道只一个成功·可取消·可退款·多账户路由);6 个 render_type 多态(pay 下发数据不下发 UI,样式归业务方;加同形态新渠道零改 client);Provider adapter(verify_callback 吸收渠道差异);webhook v2 加 event_type(退款/订阅/拒付,断代 v2.0.0);退款三向(业务/人工 crypto/平台 IAP);促销折扣归业务、金额权威归 pay;多币种 + 配置驱动渠道 + 国内外同码双部署;crypto(USDT-TRC20 自托管)抗风控兜底;recurring 设计进模型暂不实现。含 SVG 架构图 + 设计决策知识点。</div>
|
||
<div class="meta">v2 · 2026-07-10 · 待评审 · 结合 pangolin/jiu 现有设计</div>
|
||
</a>
|
||
<a class="doc" href="./支付宝收款页时序图与架构.html">
|
||
<div class="title">支付宝收款页 · 支付时序图与架构</div>
|
||
<div class="desc">PC 网页支付(alipay.trade.page.pay)固定套餐收款页的设计说明:SVG 时序图讲清「下单→跳收银台→扫码付→异步回调验签入账→兜底查单」全链路(到账以异步通知为准);对比「独立服务 vs 集成进 jiu」的区别;说明独立服务为何必须建库、要存哪些数据(orders / products / notify_logs 字段表)与安全红线。</div>
|
||
<div class="meta">v1.0 · 2026-06-24 · Go(Gin)+GORM · 沙箱联调阶段</div>
|
||
</a>
|
||
<a class="doc" href="./支付宝密钥申请与备案依赖.html">
|
||
<div class="title">支付宝密钥申请与备案依赖关系</div>
|
||
<div class="desc">沙箱 vs 生产两阶段各需什么;密钥怎么拿(沙箱 4 步 / 生产 5 步,APPID·应用私钥·支付宝公钥分别对应哪个配置);「不用域名是否就不用备案」的结论与三处卡点(商户签约/HTTPS/微信);含两线并行推进路线图(联调线 vs 上线线)。</div>
|
||
<div class="meta">v1.0 · 2026-06-24 · onboarding · 含备案依赖路线图</div>
|
||
</a>
|
||
|
||
<a class="doc" href="./pay接入jiu授权续费对接方案.html">
|
||
<div class="title">pay × jiu · 授权续费对接方案</div>
|
||
<div class="desc">让 jiu 门店在应用内购买/续费授权:付款走 pay 收款中枢,付成功后 pay 签名 webhook 回调 jiu、jiu 直接给该门店续期(方案 B,无感)。含总体架构与时序、pay/jiu 两侧数据模型改动(Order 加 biz 字段·Product 加 biz_code·Purchase·BizNotifyLog)、接口契约(下单扩展/webhook/购买/接收器)、HMAC 签名+防重放+幂等安全设计、套餐映射、失败重试对账、分阶段实施计划、开放问题清单。</div>
|
||
<div class="meta">v1.0 · 2026-07-03 · 方案 B(付款直接续期)· server-to-server + 签名 webhook · 待评审</div>
|
||
</a>
|
||
|
||
<h2>📋 实现计划</h2>
|
||
<a class="doc" href="./pay-v2-p1-plan.html">
|
||
<div class="title">pay v2 · P1 核心数据模型 + 配置账户注册表(阅读版)⭐</div>
|
||
<div class="desc">阅读版;执行真相源 <code>docs/superpowers/plans/2026-07-10-pay-v2-p1-core-model.md</code>(含 checkbox)。<a href="./pay-v2-unified-gateway-design.html">pay v2 设计</a>的首个落地阶段(8 阶段之 P1)。4 个 TDD 任务:money 包(int64 最小单位+币种)→ Order/Attempt/Account/Refund 模型+状态机+<code>:memory:</code> 测试约定 → OrderStore(幂等标付/取消/列表,条件UPDATE+RowsAffected)→ 账户配置注册表(凭证走 env)。沿用 GORM AutoMigrate/glebarez sqlite 惯例;金额从 string 元改 int64。P2-P8(Provider/收款管线/渠道 adapter/退款/路由/对账/codes 库/订阅)各自成计划、落地前细化。</div>
|
||
<div class="meta">P1 · 2026-07-10 · Go(Gin+GORM+sqlite) · 待执行</div>
|
||
</a>
|
||
<a class="doc" href="./pay-v2-roadmap-dag.html">
|
||
<div class="title">pay v2 · P2-P8 依赖 DAG 与并行执行</div>
|
||
<div class="desc">P1 已完成。P2-P8 的依赖关系图(SVG DAG)+ 关键路径 P2→P3→P4/P6 + 波次(P7 全程并行/P5∥P3/P4∥P6)+ 同仓并行的真实边界(先计划后实现、worktree 隔离防冲突)。</div>
|
||
<div class="meta">roadmap · 2026-07-10 · 8 阶段依赖分析</div>
|
||
</a>
|
||
<p class="empty">运行与联调步骤见仓库根 README.md</p>
|
||
|
||
<h2>🔧 排障 Runbook</h2>
|
||
<a class="doc" href="./上线状态与部署Runbook.html">
|
||
<div class="title">上线状态与部署 Runbook</div>
|
||
<div class="desc">支付宝当面付在阿里云的部署现状(systemd 守护、密钥走 Bitwarden→rbw→env、下单加签已验证、仅差支付宝审核)、部署架构图、服务器路径清单、运维常用命令(状态/重启/日志/更新密钥/更新程序/查订单)、上线检查清单;以及微信支付规划与硬前提(V3 回调强制 HTTPS→须先备案)。</div>
|
||
<div class="meta">v1.0 · 2026-06-25 · 阿里云 182.92.213.171 · 当面付</div>
|
||
</a>
|
||
</div>
|
||
</body>
|
||
</html>
|