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

# Status tracking

> Poll the payment or receive webhooks.

## Polling

Read `GET /v1/ramp/payments/{reference}?environment=sandbox` and watch `status`.

| Status | Meaning | Terminal |
| - | - | - |
| `pending` | Created; waiting for funds or for the provider to accept. | No |
| `processing` | Provider is settling. | No |
| `requires_action` | Something is needed from the payer or the customer; see `failure_reason` and `funding_instructions`. | No |
| `succeeded` | Delivered. | Yes |
| `failed` | Settlement failed; funds are released or returned. | Yes |
| `cancelled` | Cancelled before settlement. | Yes |
| `expired` | Not funded before the quote or funding window ended. | Yes |

Onstacks reconciles with the provider continuously, so polling every ten to thirty seconds is enough.

## Webhooks

Register an endpoint under **Developer** or with `POST /v1/webhooks`. Ramp payments emit `ramp.payment.<status>` events on every transition; see [Webhook events](/ramps/reference/webhook-events) for the names and [Webhooks](/basics/webhooks) for delivery and signature verification.

## What to show the user

Treat `pending` and `processing` as in progress. Mark an order done only on `succeeded`. On `failed`, show `failure_reason` and offer a fresh quote. On `requires_action`, show the instructions.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.