Files
pay/docs/index.html
T
wangjia fd5f56f7de feat: 微信V3 + 支付宝手机站/UA自适应 + 业务对接(签名下单/webhook) + 通用多业务
- 微信支付 V3 Native 渠道 (wechat.go):Native下单/回调AES-GCM解密验签/查单
- 支付宝:手机网站支付 wap.pay + 按 UA 自适应(PC page.pay扫码 / 手机拉App);qr_pay_mode=2 完整扫码收银台
- 业务对接:下单接口扩展(biz_system/biz_ref/return_url)+ HMAC 签名鉴权;支付成功 webhook 主动推送业务方 + 60s 重试 + BizNotifyLog
- 通用多业务:config.biz 改 map,加业务只改配置(BIZ_<SYS>_SECRET/_CALLBACK_URL)
- seedPlans:四档真实套餐 + promo_first_month(¥1) + test_liandiao(0.01),均挂 biz_code;/products 暴露 biz_code
- 删除沙箱 pay.html;对接设计文档入 docs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019UQmqWmV67sXGLrb3U1XXn
2026-07-03 22:44:34 +08:00

61 lines
4.5 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="./支付宝收款页时序图与架构.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>
<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>