Files
new-api-key-usage/docs/design/交互设计-支付记录.md
T
skycurtain b0e9ea750b feat: 账本域 billing_domain 与成员支付可见性收紧
三表增加账本域标签,成员支付参数改为同域透明、跨域隔离、未标域默认藏;管理面登记/筛选/行内编辑与文档中心同步对齐。
2026-10-13 20:42:26 +08:00

94 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 交互设计 · 支付记录
> 订阅权益与充值入账的登记面(管理入口名「支付记录」)+ 系统核对提示——「只有作者知道」的信息的唯一录入处。物理上分 `subscriptions` / `topups` 两表(`payments建模评估.md` 方案 B),界面仍作**一个菜单项**,两 Tab 各登记各的。
| 项目 | 内容 |
|------|------|
| 状态 | 定稿(2026-10-12,作者认可实现) |
| 关联 | 《交互设计-总览与共性》· `subscriptions表字段设计.md` · `topups表字段设计.md` · R7/R8 |
| 数据 | `subscriptions` + `topups` · 日志观测的订阅 ID(核对提示) |
---
## 1. 页结构:两 Tab
菜单仍叫「支付记录」;页内 Tab:
| Tab | 清单 | 登记 |
|-----|------|------|
| **订阅** | 订阅权益表 | 登记订阅 |
| **充值** | 充值入账表 | 登记充值 |
筛选随 Tab:
| Tab | 筛选 | URL |
|-----|------|-----|
| 订阅 | 订阅 ID / 期间与所选窗口重叠(拆表后) | `tab=subs` |
| 充值 | **仅类型**(付费时间筛选已撤——`paid_at` 语义待拆表钉死) | `tab=topups` · `kind` |
当前实现(拆表前):仅「类型」筛选;补录审计可看「登记」列(`created_at`)。
## 2. 订阅清单列
| 列 | 内容 |
|----|------|
| 订阅 ID | `subscription_id` |
| 期间 | `[period_start, period_end)`,未结束「进行中」 |
| 额度 | quota + $ 双单位 |
| 付款 | `paid_amount` / `paid_at`(可空显示「—」) |
| 备注 | `remark` |
| 登记 | `created_at` |
| 操作 | 编辑 / 删除 |
## 3. 充值清单列(对齐上游充值单)
| 列 | 内容 |
|----|------|
| 时间 | `paid_at`(= 上游 `complete_time`,平台展示时刻;倒序) |
| 充值金额 | `amount`(平台计费侧充值额,不标币种) |
| 实付金额 | `money`(如 `2.04`,纯数字) |
| 交易号 / 渠道 | `trade_no` · `payment_method` / `payment_provider` |
| 派生额度 | `amount × qpu` + $(展示,不入库) |
| 备注 / 登记 | `remark` · `created_at` |
| 账本域 | `billing_domain`(可空;列表可按域筛,含「未标注」) |
| 操作 | 编辑 / 删除 |
## 4. 登记表单(分 Tab,不再 `kind` 切换)
**订阅**:订阅 ID · 期间起止(结束可空)· 额度(quota / 美元双输入)· 付款金额(可空)· 付款时间(可空)· 账本域(可空,已有值联想)· 备注 · **「从平台选用」**(辅助登录 → 订阅列表)
**充值**:时间 `paid_at`(必填)· `amount`(必填)· `money`(必填)· 交易号 / 渠道(可空)· 账本域(可空,已有值联想)· 备注 · **「从平台选用」**(辅助登录 → 充值单分页列表);**无「换得额度」输入框**(派生)
### 4.1 选用弹层(订阅 / 充值同规则)
与 `platform-subscription-picker` 同壳:账号密码 → 代拉 → 选用。**已登记灰显**两套一致:
| 实体 | 去重键 | 已登记表现 |
|------|--------|------------|
| 订阅 | `subscription_id` | 灰 +「已登记」,不可选用 |
| 充值 | `upstream_id` | 灰 +「已登记」,不可选用 |
**充值分页**(上游仅 `p` / `page_size`,无时间参数):
| 行为 | 策略 |
|------|------|
| 列表 | 当前页(`page_size=10`) |
| 翻页 | 传统分页:共 N 条 · 上一页 / 页码 / 下一页 |
| 范围 | 可翻至尽头;**不做时间筛选** |
| 401 | 重登;token 仅 sessionStorage |
订阅列表为全量一次拉取(`all_subscriptions`),无分页问题。
- 金额脚注:「金额数值——币种由你们约定,系统不预设」
- 订阅额度双输入:原始 quota 或美元(按 `qpu/latest` 预览),落库恒 quota
- 编辑 / 删除有确认;改错即修
## 5. 核对提示(只对订阅 Tab)
| 提示 | 触发 | 文案 |
|------|------|------|
| 未对应登记 | 观测到某 `subscription_id` 有消耗、`subscriptions` 无此行 | 「观测到订阅 #N 有消耗,但尚无对应登记——请核对补录」 |
| 正常 | 均有登记 | 不显示 |
- 只提示不回填;`subscriptions` + `topups` 皆空时**自动静默**(纯用量模式)