# Captures

When an [order](https://docs.commercelayer.io/core-api-reference/orders) is approved the associated payment can be captured. On successful capture, the order's payment status becomes `paid` and a new capture transaction is created.

Fetching a capture returns all the information and messages provided by the [payment gateway](https://docs.commercelayer.io/core-api-reference/payment_gateways). You can update a capture to [refund](https://docs.commercelayer.io/core-api-reference/refunds) it.

If a capture gets stuck (for any reason) on our platform but succeeds on the payment gateway, you can [unblock](https://docs.commercelayer.io/core-api-reference/transactions#unblocking-stuck-transactions) it by passing the `_forward` trigger attribute.

If a capture associated with a still pending order succeeded and the order is updated (introducing an amount mismatch scenario), you can [reset the transaction](https://docs.commercelayer.io/core-api-reference/transactions#cancelling-transactions) by passing the `_cancel` trigger attribute.

{% hint style="info" %}
Commerce Layer handles the capture step of the payment process separately from the [authorization](https://docs.commercelayer.io/core-api-reference/authorizations) one so that users can have full control over every single stage of the payment flow. In this regard, you can configure the API to behave differently by setting one of the [capture options](https://docs.commercelayer.io/core-api-reference/payment_methods#capture-options) provided at the payment method level.
{% endhint %}

<details>

<summary>Data model</summary>

Check the related [ER diagram](https://commercelayer.io/docs/data-model/orders-management) and explore the flowchart that illustrates how the capture resource relates to the order and the other transaction APIs.

</details>

<details>

<summary>How-to</summary>

Check the related [guide](https://app.gitbook.com/s/-Lk-ezuDClaMavTqnRi0/placing-orders/auto-capture) for any additional info on how to set up auto-capture for your orders.

</details>

{% hint style="info" %}
Create and delete operations are not allowed on this endpoint. You can only fetch a list of captures or a specific single one, which can also be updated in order to mark it as succeeded, pass specific trigger attributes, or add/change common attributes (metadata, references, etc.).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.commercelayer.io/core-api-reference/captures.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
