Transaction Status Flows

Transaction Status Flows

Transaction status values are defined by the platform transaction model (TransactionStatus). They are uppercase strings (for example PROCESSING, not processing).

Status progression is driven primarily by the transaction action and the payment provider mapping, not by payment-method tender (ACH, CreditCard, Token, Paze, PayPal, Venmo). ACH and card payments use the same status vocabulary.

status is read-only. Clients never set it on create; the platform writes it as the transaction moves through create, gateway execution, and (when supported) settlement sync.

Platform entry statuses

These are set by the Transactions API when a transaction is created or scheduled.

StatusDescriptionTypical next statuses
SCHEDULEDCreated with a future when; waiting to runPROCESSING, DELETED
PROCESSINGCreated (or schedule fired); not yet fully executed at gatewayAction-specific in-progress / terminal statuses below
DELETEDSoft-deleted while still SCHEDULED

transactions.create webhooks typically see PROCESSING (or SCHEDULED when scheduled). Later lifecycle values arrive on transactions.update.

Statuses by action

Terminal failure statuses can appear for most actions: DECLINED, ERROR, FAILED, NOT AUTHORIZED.

AUTHORIZE

StatusDescriptionTypical next statuses
AUTHORIZINGAuthorization in progressAUTHORIZED, failure statuses
AUTHORIZEDFunds reserved; authorize completedChild CAPTURE / VOID (new transactions)

CAPTURE

Requires a parent AUTHORIZE that is AUTHORIZED.

StatusDescriptionTypical next statuses
CAPTUREDFunds capturedSETTLING, SETTLED, FUNDED, REFUNDING
SETTLINGCapture is batched / queued for settlementSETTLED, failure statuses
SETTLEDSettled by the payment gatewayFUNDED, REFUNDING, failure statuses
FUNDEDFunds reflected in the merchant bank accountREFUNDING
⚠️

Not every provider emits SETTLING, SETTLED, or FUNDED. Check your system provider docs.

CHARGE

CHARGE authorizes and captures in one API call. Path depends on provider mapping:

Provider styleTypical success path
Separate AUTHORIZE + CAPTURE stepsAUTHORIZINGAUTHORIZEDCAPTURED → (SETTLING →) SETTLEDFUNDED
Single SALE / CHARGE mappingCHARGED → (SETTLING →) SETTLEDFUNDED

Both styles can also end in DECLINED, ERROR, FAILED, NOT AUTHORIZED, or PAYMENT-IN-PROGRESS.

PAYOUT

StatusDescriptionTypical next statuses
PAYINGPayout in progressPAIDOUT, failure statuses
PAIDOUTPayout completed

VOID

StatusDescriptionTypical next statuses
VOIDINGVoid in progressVOIDED, failure statuses
VOIDEDAuthorization voided

REFUND

StatusDescriptionTypical next statuses
REFUNDINGRefund in progressREFUNDED, failure statuses
REFUNDEDRefund completed

REVERSAL

REVERSAL chooses void vs refund based on the parent transaction state. Intermediate routing statuses VOID or REFUND may appear, then the VOID or REFUND flows above (VOIDING/VOIDED or REFUNDING/REFUNDED).

NONE (shell records)

NONE creates a shell transaction that does not hit a gateway. Status is derived from the requested action immediately (for example CHARGE/CAPTUREFUNDED, AUTHORIZEAUTHORIZED, PAYOUTPAIDOUT, REFUND/REVERSALREFUNDED, VOIDVOIDED), with step set to DONE.

Failure and legacy statuses

StatusDescription
DECLINEDGateway refused the transaction (invalid method, account state, etc.)
ERRORMerchant misconfiguration or provider returned a non-successful response
FAILEDInternal infrastructure or communication failure
NOT AUTHORIZEDRejected due to lack of authorization
PAYMENT-IN-PROGRESSLegacy / in-progress value still present on some records
APPROVEDDeprecated. Temporarily emitted for compatibility on some success paths; prefer action-specific statuses (CAPTURED, CHARGED, PAIDOUT, etc.)

Statuses not used for new processing

These remain in the shared type for compatibility but are not used for new gateway progression:

  • CHARGING
  • CAPTURING

See Transaction Status Corrections.

Related documentation