Canonical statuses
Rules
- Drive state changes from webhooks first.
- For vouchers,
pendingcan mean the payment instruction was issued and the customer still needs to pay through the selected local payment option. - Treat
paid,captured,refunded,partially_refunded,canceled,expired, andrefusedas terminal in most payment systems. - Reconcile with
GET /v2/transactions/{id}whenever a state transition is uncertain.

