requirements.md 2.9 KB

Specification Quality Checklist: LINE Pay Online API v4 支付接入

Purpose: 在进入 implementation plan 前验证规格完整性和内部一致性

Created: 2026-08-12

Feature: spec.md

Content Quality

  • 已明确用户价值、业务流程、边界和验收场景
  • 已完成全部必要章节,无模板占位符
  • 实现约束只细化到支付正确性所需的模块、状态、索引和事务边界
  • 已记录用户明确接受的 Secret 明文与回显风险

Requirement Completeness

  • TBDTODO[NEEDS CLARIFICATION]
  • payType=3、OMG 保持范围、退款范围、定时查询和 App Scheme 均已固化
  • 用户故事包含独立测试和验收场景
  • Edge Cases 覆盖外部响应丢失、并发、轮换、历史数据、堂食和多门店
  • FR-001 至 FR-020 可测试且无相互冲突
  • 数据实体、支付/退款状态和日志职责已分离
  • 主动 Check 的 0000/0110/0121/0122/0123 动作已明确
  • Confirm/Refund 未知结果禁止盲目重试
  • 历史 payType=3 不会仅凭编号触发 LINE 资金操作
  • 凭证轮换后旧交易仍能使用原凭证版本
  • 支付尝试采用 1:N 永不覆盖模型,重复点击复用活跃行,明确终止后重新支付才新增行
  • App、回跳、任务、退款和平台历史均有明确且稳定的查询定位规则
  • 范围明确排除 OMG 表/日志迁移、部分退款、多门店父单和废弃 ZaloPay 逻辑
  • 依赖、假设、Sandbox 限制和生产前真机验收已列出

Adversarial Review

  • LINE Pay v4 API、签名、结果码和回跳时限已由独立对抗子代理复核
  • 数据库唯一约束、CAS、未知状态、凭证轮换和任务租约已由独立对抗子代理复核
  • 现有订单入口、堂食/多门店、管理前端、权限和 i18n 已由独立对抗子代理复核
  • 主代理已合并报告并拒绝“回跳内同步 Confirm”“支付表混入退款状态”“UNIQUE(dd_id,is_active)”等不安全设计

Feature Readiness

  • 完整规格可进入用户一次性审阅
  • 用户已批准整份书面规格(2026-08-12)
  • 已生成 plan.mdresearch.mddata-model.mdcontracts/api.mdquickstart.md
  • 已生成 tasks.md
  • 实现和验证已完成

Notes

  • 1150 凭证探测不是 LINE 官方专用校验接口;自动启用是用户已批准的业务规则,真实支付能力仍需 Sandbox 端到端验证。
  • 回跳页面约 20 秒响应约束与 Confirm 至少 40 秒读取超时存在冲突,因此规格固定为快速中间页 + 异步 Confirm/App 查询。
  • Offline 商家扫码后端、测试源码、SQL 迁移记录和规格已完成;JDK 21 定向测试、模块打包、差异、Controller 契约、i18n 与敏感字段检查通过。数据库 DDL、真实 Sandbox/生产商户 Offline 权限验证和前端构建未执行,详见 tasks.md T059-T060。