> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gr4vy.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 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={"system"}
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={"system"}
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
```

<Note>
  In some cases, a transaction with `intent` set to `capture` is internally split
  into a separate authorization and capture. When this happens, the transaction may
  pass through `authorization_succeeded` and `capture_pending` before reaching a
  terminal state such as `capture_succeeded`, or before being voided or declined.
  See [split authorization and capture](/guides/features/webhooks/technical-considerations#split-authorization-and-capture)
  for more details.
</Note>
