> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mattildapayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

| `status`                     | Description                                                                                                                      |
| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| `processing`                 | The transaction record has been created in the system and is now being processed with your payment services.                     |
| `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. |
| `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_declined`     | The transaction was declined by the payment service.                                                                             |
| `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.                                                                   |
| `authorization_void_pending` | The transaction authorized transaction is in the process of being voided.                                                        |
| `authorization_voided`       | The transaction was successfully authorized but has since been voided before it was captured.                                    |

## State diagram

The following state diagram serves as an overview of all the different `status`
values and how they relate to each other.

### Separate authorization and capture

Transactions where the original `intent` is `authorize`.

```mermaid theme={"dark"}
flowchart LR
    start(( )) --> processing

    processing --> buyer_approval_pending
    processing --> authorization_succeeded
    processing --> authorization_failed
    buyer_approval_pending --> authorization_declined
    processing --> authorization_declined

    buyer_approval_pending --> authorization_failed
    buyer_approval_pending --> processing

    authorization_succeeded --> capture_pending
    authorization_succeeded --> authorization_void_pending

    capture_pending --> capture_succeeded
    capture_pending --> authorization_succeeded
    capture_pending --> authorization_declined

    authorization_void_pending --> authorization_voided
    authorization_void_pending --> authorization_succeeded
```

### Direct capture

Transactions where the original `intent` is `capture`.

```mermaid theme={"dark"}
flowchart LR
    start(( )) --> processing
    processing --> capture_succeeded
    processing --> authorization_failed
    buyer_approval_pending --> authorization_declined
    processing --> buyer_approval_pending
    buyer_approval_pending --> processing
    processing --> authorization_declined
```
