---
title: Payment statuses
description: The states a payment moves through, and how to follow them.
---

A `POST` returns `202` once the payment is accepted. That is not the outcome. Read the outcome from `status`.

## Collection statuses

| Status       | Meaning                                                              | Final? |
| ------------ | -------------------------------------------------------------------- | ------ |
| `accepted`   | We have the request and started it.                                  | No     |
| `dispatched` | Sent to the provider. Waiting for the payer to approve.              | No     |
| `in_review`  | Stopped for a check before it goes on.                               | No     |
| `held`       | Set aside while it waits.                                            | No     |
| `settled`    | The payer paid and the money reached your wallet.                    | Yes    |
| `failed`     | The payment did not go through. `failureReason` says why.            | Yes    |
| `expired`    | It was not completed in time.                                        | Yes    |

## Payout statuses

| Status        | Meaning                                                             | Final?                          |
| ------------- | ------------------------------------------------------------------- | ------------------------------- |
| `accepted`    | We have the request. The amount is reserved from your wallet.       | No                              |
| `dispatching` | Being sent to the provider.                                         | No                              |
| `in_review`   | Stopped for a check before it is sent. Common on large payouts.     | No                              |
| `held`        | Set aside while it waits to be sent.                                | No                              |
| `delivered`   | The recipient was paid.                                             | Yes                             |
| `failed`      | The payout did not go through. `failureReason` says why.            | Ends the attempt; `refunded` can follow |
| `refunded`    | A failed payout's money went back to your wallet.                   | Yes                             |

`in_review` and `held` are normal. They are not errors. Do not retry or cancel a payment because it sits in one of them. Wait for it to move on.

Other values can appear. Do not treat these lists as closed. Treat any status you do not know as still in progress, and keep following the payment.

## Follow a payment

Two ways. Use both if you can.

- **Webhooks.** iSmartPay calls you when the status changes. See [Webhooks](/guides/webhooks).
- **Polling.** Call `GET /v1/collections/{reference}` or `GET /v1/payouts/{reference}`. Start with a few seconds between calls and back off. Stop at a final status.

Webhooks can be late or missed, so poll any payment that has stayed in progress longer than you expect.

## Failed payments

To try again after a `failed` payment, create a new payment with a new reference and a new `Idempotency-Key`.
