Skip to content

修复 0.0.8 支付页、切网、回调与链上监听问题#35

Open
jiamovo wants to merge 1 commit intoGMwalletApp:masterfrom
jiamovo:fix/issue-32-34
Open

修复 0.0.8 支付页、切网、回调与链上监听问题#35
jiamovo wants to merge 1 commit intoGMwalletApp:masterfrom
jiamovo:fix/issue-32-34

Conversation

@jiamovo
Copy link
Copy Markdown
Contributor

@jiamovo jiamovo commented Apr 15, 2026

Closes #32
Closes #34

变更说明

这个 PR 在前一版 checkout/EPay 修复基础上,继续收口 0.0.8 剩余的支付流程、切网、回调字段、订单过期与链上监听问题。

支付页 / checkout

  • 下单和切网时继续强制校验已启用的 supported_asset
  • 支付页可选项仍由后端注入,并保留当前订单对应项
  • Step 1 默认选中当前订单对应的 network/token
  • 已支付或已过期的支付链接重新打开时,页面会直接进入 success/expired 终态,而不是误报 not-found
  • supported-assets 支持按 currency / amount 做上下文过滤,并过滤无效钱包地址,避免暴露明显不可支付选项

订单 / 切网 / 金额锁

  • 切网时会同步刷新父订单、子订单和对应 sqlite 金额锁的过期时间,避免页面仍有效但锁已释放
  • 父订单与子订单的选中状态继续保持同一订单族内互斥
  • 创建订单时统一按 2 位小数归一化金额,落库、返回值和后续回调保持一致
  • 最小金额校验改为允许 0.01 边界值,并同步修正文档描述

回调字段

  • 普通回调新增 network 字段
  • 子订单支付成功后,父订单会保存实际支付使用的 token / network,回调给商户时不再返回切网前的旧值
  • EPay 回调继续沿用订单原始 type / pid,并要求响应内容成功后才视为通知成功

链上监听

  • EVM websocket 监听新增断线/重连后的历史补扫,减少进程重启或 WS 中断期间漏单风险
  • EVM 入账匹配补上区块时间校验,避免历史转账被误匹配到新订单
  • TRON / TRC20 扫描改为按 fingerprint 翻页,不再只看最近 100 条
  • Solana 签名扫描改为按 before 分页,超过单次 1000 条时也能继续回溯

清理

  • 删除或替换与新逻辑冲突的旧判断、旧注释和前端终态兜底缺口
  • 保持现有 EPay、钱包地址归一化、supported_asset 强约束等前一版修复不回退

验证

  • go test ./model/service -count=1
  • go test ./route -count=1
  • go test ./mq -count=1
  • go test ./...

@jiamovo jiamovo changed the title Fix checkout/payment option flow and EPay compatibility gaps 修复支付页选项流程与 EPay 兼容性问题 Apr 15, 2026
@jiamovo jiamovo changed the title 修复支付页选项流程与 EPay 兼容性问题 修复 0.0.8 支付页、切网、回调与链上监听问题 Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

submit.php / Epay 兼容入口仍存在协议语义问题 v0.0.8 仍存在的问题整理

1 participant