# Status flow

### Understanding the deposit lifecycle

<figure><img src="https://3883333839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff92vedEnowdVWbjM4Cmd%2Fuploads%2Fq904rClpISNazkRIK7wk%2FOneShot%20status%20flow.png?alt=media&#x26;token=72490ce6-657f-4e30-8d7e-75fc7ae5a2fa" alt=""><figcaption></figcaption></figure>

<details>

<summary>Hosted checkout status flow</summary>

<figure><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/yjyVs4eiQqX45dlwe8vk/HOSTED%20status%20flow.png" alt=""><figcaption></figcaption></figure>

Note that the Hosted flow **does not create deposits in PENDING** status as required payer information is missing in the request.

</details>

#### Status diagram explanation

<table><thead><tr><th width="170.83203125" align="center">Status</th><th>Description</th></tr></thead><tbody><tr><td align="center"><strong>DECLINED</strong></td><td>The DECLINED status is not a status by itself. It means the transaction couldn't be created because of an error with the data, the customer or the merchant configuration. No transaction will change its status from <strong>DECLINED</strong>.</td></tr><tr><td align="center"><strong>PENDING</strong></td><td>Once the deposit is in <strong>PENDING</strong> status, it means it was successfully created and we are waiting for the user to complete the transaction.</td></tr><tr><td align="center"><strong>FOR_REVIEW</strong></td><td><strong>FOR REVIEW</strong> is a transient status we use to specify that the deposit is under revision.</td></tr><tr><td align="center"><strong>EARLY_RELEASED</strong></td><td><strong>EARLY</strong> <strong>RELEASED</strong> will only be used if you specified it in the deposit request</td></tr><tr><td align="center"><strong>EXPIRED</strong></td><td>The deposit reached it's expiration date and the user did not pay, then the status will change to <strong>EXPIRED</strong>.<mark style="color:$danger;"><strong>*</strong></mark></td></tr><tr><td align="center"><strong>CANCELLED</strong></td><td>If the user doesn't pays, the transaction will be marked as <strong>EXPIRED</strong>.<br>After 7 days the status will change to <strong>CANCELLED</strong>.<br><strong>Final status</strong>.<mark style="color:$danger;"><strong>*</strong></mark></td></tr><tr><td align="center"><strong>COMPLETED</strong></td><td>If the deposit was successfully completed, its status will be set to <strong>COMPLETED</strong>.<br><strong>Final status.</strong></td></tr></tbody></table>

&#x20;<mark style="color:$danger;">**\***</mark> There are cases in which the users pays after the deposit expired, or paid an incorrect amount and the deposit gets expired. When that happens manual intervention is required to approve the deposit hence a deposit could change its status from EXPIRED or CANCELLED to COMPLETED.

## Deposits status Codes

The **`status`** of the deposits are separated into different and very specific categories for you to better handle and know the behavior of your customers.

<table><thead><tr><th width="163.59765625" align="center">Status</th><th>Description</th></tr></thead><tbody><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/UlG7GDTvmzW6GwpqrsMK/CREATED.svg" alt="" data-size="original"> </td><td>The deposit is created but the customer hasn't opened the link yet.</td></tr><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/LwJl8AUXY4CDUVDlx8lS/INITIATED.svg" alt="" data-size="original"> </td><td>The deposit is created and the customer has opened the link but he/she didn't complete the payment flow (select payment method, complete personal details, confirm details) or the provider was unable to process the request.</td></tr><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/Rke9Ds90IDowm4OFzXiX/EARLY_RELEASE.svg" alt="" data-size="original"> </td><td>The deposit is created with all the information required and it is awaiting on customer's payment. It has been marked by you to release it earlier. Please note that the customer hasn't paid yet and the money won't be credited to your balance until the customer's payment is detected.</td></tr><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/y7fJyYtx6M0xgJw4HuKN/Untitled%20Diagram.svg" alt="" data-size="original"> </td><td>The deposit is created with all the information required and it is awaiting on customer's payment.</td></tr><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/aqN62VwpoMRLgMDKuueF/FOR_REVIEW.svg" alt="" data-size="original"> </td><td>The deposit didn't pass our anti-fraud systems and will be retained until manual review.</td></tr><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/dg9o4AgTHQipUHD6UCA0/EXPIRED.svg" alt="" data-size="original"> </td><td>The deposit has reached its expiration time and the user didn't pay.</td></tr><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/rqD9HoELsAGlblUGAASK/CANCELLED.svg" alt="" data-size="original"> </td><td>The deposit has been cancelled by the customer or it has been 7 days after the expiration.</td></tr><tr><td align="center"><img src="https://content.gitbook.com/content/f92vedEnowdVWbjM4Cmd/blobs/gYI7zIZm2YMG8xb4fk4d/COMPLETED.svg" alt="" data-size="original"> </td><td>The deposit has been completed and the money was credited to your account or to the payer's crypto wallet.</td></tr></tbody></table>

> Learn more about how to correctly retrieve deposit status in the API Reference <a href="https://app.gitbook.com/s/VNE8t2FopKfzgQzTjlBb/deposits-api/manage-payments/get-deposit-status" class="button primary" data-icon="magnifying-glass">Get deposit status</a>
