# Capture order fully This endpoint captures a previously authorized Wallet Connect order, where only total capture is supported. It only applies to orders created with `capture_mode=manual` and that are in `status=action_required` and `status_detail=waiting_capture`. After capture, the order will move to `status=processed` and `status_detail=accredited`. In case of success, the request will return a response with status 200. **POST** `/v1/orders/{order_id}/capture` ## Request parameters ### Header - `X-Idempotency-Key` (string, required) Unique key per request to safely retry without duplicating actions. Use a UUID V4 or random string. Accepts values between 1 and 64 characters. ### Path - `order_id` (string, required) ID of the order to capture, returned in the response from the endpoint [POST /v1/orders](/developers/en/reference/online-payments/wallet-connect/orders/create-order/post). ## Response parameters - `id` (string, optional) Identifier of the captured order. - `status` (string, optional) Current status of the order after the capture. Possible enum values: - `processed` The order was successfully captured and processed. - `status_detail` (string, optional) Details about the status of the order after the capture. Possible enum values: - `accredited` Payment accredited. - `transactions` (object, optional) Contains information about the captured payment. - `transactions.payments` (array, optional) Contains information about the captured payment. - `transactions.payments[].id` (string, optional) Identifier of the captured payment. - `transactions.payments[].amount` (string, optional) Authorized amount of the payment. - `transactions.payments[].paid_amount` (string, optional) Amount actually captured. It equals `amount`, since only total capture is supported. - `transactions.payments[].status` (string, optional) Status of the captured payment. Possible enum values: - `processed` The payment was successfully captured. - `transactions.payments[].status_detail` (string, optional) Details about the status of the captured payment. Possible enum values: - `accredited` Payment accredited. - `transactions.payments[].reference_id` (string, optional) Reference identifier for the captured payment. ## Errors | Status | Error | Description | | ------- | ------- | ----------- | | 400 | empty_required_header | The `X-Idempotency-Key` header is required and was not sent. Make the request again including it. | | 400 | invalid_idempotency_key_length | The `X-Idempotency-Key` must be between 1 and 64 characters. | | 400 | invalid_path_param | The `order_id` provided in the path is not valid. Please confirm it and provide a valid `order_id` to try again. | | 401 | unauthorized | The value sent as Access Token is incorrect. Please check and try again with the correct value. | | 401 | invalid_credentials | There is no support for test credentials. Use test users with production credentials for the sandbox environment and your production credentials for the production environment. | | 404 | order_not_found | Order not found. Please check if you provided the correct `order_id`. | | 404 | payment_not_found | Payment not found. Please check if you provided the correct `payment_id`. | | 409 | idempotency_key_already_used | The value sent as the idempotency header (`X-Idempotency-Key`) has already been used. Please try the request again sending a new value. | | 409 | cannot_capture_order | The order cannot be captured because it is not in a status that allows capture. Only orders in `action_required` status with `capture_mode=manual` can be captured. | | 409 | operation_not_supported | The operation is not supported for this order. Please check the order `status` and `status_detail` and try again. | | 500 | idempotency_validation_failed | Idempotency validation failed. Please try submitting the request again. | | 500 | internal_error | Generic error. Please try submitting the request again. | ## Request example ### cURL ```bash curl -X POST \ 'https://api.mercadopago.com/v1/orders/{order_id}/capture' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` ## Response example ```json { "id": "ORDBTA01KHY4WFPYXJ9Z7S5CGED7WCTP", "status": "processed", "status_detail": "accredited", "transactions": { "payments": [ { "id": "PAY01KSND6GMT3KAG0Z2TB9M8B0WW", "amount": "50.50", "paid_amount": "50.50", "status": "processed", "status_detail": "accredited", "reference_id": "ref-capture" } ] } } ```