> For the complete documentation index, see [llms.txt](https://developers.bead.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.bead.xyz/faqs-and-troubleshooting/payments-faqs/why-is-my-payment-still-created-or-in-progress.md).

# Why is my payment still Created or In Progress?

A payment that shows `created` or `processing` is not necessarily stuck. Most of the time the customer started a payment and did not finish it. This page explains what each state means, when a payment closes out on its own, and what your integration should do while it waits.

#### What do `created` and `processing` mean?

* `created`: the payment record exists and Bead is waiting for the customer. The customer may not have opened the hosted payment page, or may have opened it and not yet chosen a tender.
* `processing`: Bead has detected funds and conversion or settlement is underway. This is not a final state. For Bitcoin on-chain payments it can last several minutes or longer.

See [Payment Statuses](/payments/payment-statuses.md) for the full status list.

#### Why do so many payments stay in `created`?

Creating a payment and completing it are separate steps. Any time a customer starts a checkout and leaves, the payment stays open until Bead closes it. This is common, especially in test and pilot traffic where transactions are started and never finished.

#### When does a payment close out on its own?

Bead closes unpaid payments automatically after the hosted payment session lifetime has passed. Which final status the payment receives depends on how far the customer got:

| How far the customer got                                                                                             | Final status |
| -------------------------------------------------------------------------------------------------------------------- | ------------ |
| Never started a payment attempt (no quote, deposit address, or checkout was issued)                                  | `abandoned`  |
| Started an attempt (for example a crypto quote or hosted checkout was issued) but did not finish before it timed out | `expired`    |

Closing out happens on a periodic check, so a payment can remain in `created` for a while after the customer walked away.

#### Will I get a webhook when a payment is abandoned or expires?

Do not rely on it. When Bead closes a payment automatically after the session lifetime, neither `abandoned` nor `expired` is currently delivered as a payment webhook event. Your system may therefore still show the payment as `created` or `processing` after Bead has closed it. If you need to know whether a payment that stayed open was closed out, check the payment with `GET /Payments/{paymentId}/tracking`. See [Payment Webhooks](/payments/payment-webhooks.md).

#### What should the integrator do?

* Keep the order or invoice in a pending state while the payment is `created` or `processing`.
* Do not fulfill on `created` or `processing`. Fulfill only on `completed`.
* Set your own timeout for pending orders, and reconcile any payment still open at that point with `GET /Payments/{paymentId}/tracking`.
* Treat `abandoned` and `expired` as final non-success states. Create a new payment if the customer wants to try again.
* For a payment stuck in `processing` well beyond normal confirmation time, contact Bead support with the `paymentId`.

#### Related pages

* [Payment Statuses](/payments/payment-statuses.md)
* [Expired Payment Handling](/reference-guide/payment-scenarios/expired-payment-handling.md)
* [Payment Webhooks](/payments/payment-webhooks.md)
* [Why Did My Payment Expire, and What Happens Next?](/faqs-and-troubleshooting/payments-faqs/why-did-my-payment-expire-and-what-happens-next.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.bead.xyz/faqs-and-troubleshooting/payments-faqs/why-is-my-payment-still-created-or-in-progress.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
