Transaction statuses
A list of all statuses for transactions.
A transaction's status value can be one of the following depending on the state within the system and the status within the used payment service.
Authorization statuses
| status | Description |
|---|---|
processing | The transaction record has been created in the system and is now being processed with your payment services. |
authorization_pending | The transaction authorization is in progress with the payment service. |
authorization_succeeded | The transaction has been successfully authorized but not yet captured. |
authorization_failed | The transaction could not be authorized with any payment service due to technical issues or limitations of the payment service. |
authorization_void | The transaction was successfully authorized but has since been voided before it was captured. |
Buyer approval statuses
| status | Description |
|---|---|
buyer_approval_pending | The transaction was created but needs approval from the buyer either by redirecting them to a hosted page or their bank for 3DS. |
buyer_approval_succeeded | The buyer has successfully completed the approval process. |
buyer_approval_failed | The buyer approval process failed or was declined. |
buyer_approval_timeout | The buyer approval process timed out without completion. |
Capture statuses
| status | Description |
|---|---|
capture_pending | The transaction has successfully been submitted for capture with a payment service and is now pending with them. |
capture_succeeded | The transaction has been successfully authorized and captured. |
capture_failed | The capture attempt failed after successful authorization. |
Refund statuses
| status | Description |
|---|---|
refund_pending | A refund request has been submitted and is being processed. |
refund_succeeded | The refund has been successfully processed and funds returned to the buyer. |
refund_failed | The refund attempt failed due to technical issues or payment service limitations. |
refund_void | A pending refund has been cancelled/voided before completion. |
Chargeback statuses
| status | Description |
|---|---|
chargeback_pending | A chargeback has been initiated and is under review. |
chargeback_won | The merchant successfully disputed the chargeback. |
chargeback_lost | The chargeback was decided in favor of the cardholder. |
chargeback_expired | The chargeback case expired without resolution. |
Final statuses
| status | Description |
|---|---|
settled | The transaction has been settled and funds transferred to the merchant account. |
cancelled | The transaction was cancelled before completion. |
expired | The transaction expired without completion (e.g., buyer didn't complete approval in time). |
State diagram
The following state diagram serves as an overview of all the different status values and how they relate to each other.
Complete transaction lifecycle
processing
↓
buyer_approval_pending (if required)
↓ ↓
buyer_approval_succeeded buyer_approval_failed
↓ ↓
authorization_succeeded expired/cancelled
↓ ↓
authorization_void capture_pending
↓ ↓
(end) capture_succeeded
↓
settled ――→ refund_pending ――→ refund_succeeded
↓ ↓
↓ refund_failed
↓
chargeback_pending
↓ ↓ ↓
chargeback_won chargeback_lost chargeback_expired
Separate authorization and capture flow
Transactions where the original intent is authorize:
processing
↓
buyer_approval_pending (if required)
↓
authorization_succeeded ――→ authorization_void
↓
capture_pending
↓ ↓
capture_succeeded capture_failed
↓
settled
↓
[refund/chargeback flows]
Direct capture flow
Transactions where the original intent is capture:
processing
↓
buyer_approval_pending (if required)
↓
capture_succeeded
↓
settled
↓
[refund/chargeback flows]
Status categories
Active transaction states
processing,buyer_approval_pending,authorization_pending,capture_pending,refund_pending,chargeback_pending
Successful completion states
authorization_succeeded,capture_succeeded,settled,refund_succeeded,chargeback_won
Failure states
authorization_failed,buyer_approval_failed,capture_failed,refund_failed,chargeback_lost
Terminal states
authorization_void,settled,refund_succeeded,chargeback_won,chargeback_lost,chargeback_expired,cancelled,expired
Status usage guidelines
For merchants
- Monitor
buyer_approval_pendingstatus to handle redirects and 3DS authentication - Use
authorization_succeededto confirm funds are reserved before fulfillment - Check
capture_succeededto confirm payment completion before shipping - Watch for
chargeback_pendingto prepare dispute documentation - Track
refund_*statuses for customer service and reconciliation
For developers
- Implement webhook handlers for all status changes
- Set appropriate timeouts for
buyer_approval_pendingstates (typically 15-30 minutes) - Handle retry logic differently for
authorization_failedvsbuyer_approval_failed - Implement proper reconciliation flows for
refund_*andchargeback_*statuses - Use terminal states to determine when transaction processing is complete
Common patterns
- Two-step payment:
authorize→ wait for fulfillment →capture→settled - Direct payment:
captureimmediately for digital goods →settled - Preauthorization:
authorize→ potentialvoidif needed - Refund flow:
settled→refund_pending→refund_succeeded - Dispute handling:
settled→chargeback_pending→ resolution