---
id: resume-omg-attempt-lifecycle-review
trigger: "when resuming the OMG payment review after 2026-08-12"
confidence: 0.9
domain: "project-status"
source: "explicit-user-request"
---

# Resume OMG Payment Attempt Lifecycle Review

## Action

Resume from `specs/016-omg-payment/tasks.md` T066 before continuing T065 or lower-priority OMG fixes. Reassess the payment-attempt lifecycle because the current three-minute reuse rule can create multiple simultaneously payable OMG transactions.

The known open items are:

- T066 P0: remove the unsupported three-minute payment-attempt expiry assumption; persist real deferred-payment `ExpireDate`; only rotate after a conclusive gateway failure or real expiry; never reuse one `MerchantTradeNo` with a newly generated request unless OMG explicitly guarantees that contract.
- T067 P1: make query throttling fair and do not consume the ddId slot when no query is sent.
- T065: after the attempt lifecycle is settled, complete durable refund recovery for payments that succeed after order cancellation.

Do not run Maven or tests while these issues are being handled one by one. Run one unified verification only after the user confirms the batch is complete.

## Evidence

- User requested on 2026-08-12: "记录起来我们明天再继续".
- Static review found `reuse-fresh-minutes=3` is not an OMG payment lifetime; official documentation applies three minutes to QueryTradeInfo `TimeStamp` validity.
