Payment lifecycle
The Lifecycle
Receipt status distinguishes collection and bank clearing from the use or return of received money. Refund statuses are database-derived, while explicit reversal commands establish return outcomes.
Transitions Explained
The transition rows identify the initiating action, eligibility checks, resulting records and responsible caller. They retain the pinned evidence for each path.
What Cannot Happen
The invalid-transition rows describe final-state protection and unsupported paths; command eligibility remains distinct from the declared state vocabulary.
Concurrency and Timing
Database bounds coordinate allocations, refunds, credits and reversals against the receipt value. Final reversal requires its live allocations to have been removed. Bank clearing may follow an integration event or scheduled lookup; offline receipts and card capture do not wait for that transition.