Recursos para IA
Capturar order completamente

Este endpoint permite capturar en su totalidad una order previamente autorizada. Cada pago asociado se capturará en su totalidad. En caso de éxito, la solicitud devolverá una respuesta con el estado 200.

POST

https://api.mercadopago.com/v1/orders/{order_id}/capture
Request parameters
Header
Authorization
string

REQUERIDO

Access Token obtenido a través del panel de desarrollador. Obligatorio ser enviado en todas las solicitudes.
X-Idempotency-Key
string

REQUERIDO

Esta función permite repetir solicitudes de forma segura, sin riesgo de realizar la misma acción más de una vez por error. Esto es útil para evitar errores como crear dos pagos idénticos. Para garantizar que cada solicit
Path
order_id
string

REQUERIDO

ID de la order cuyos valores se capturarán. Este valor se devuelve en la respuesta a la solicitud realizada al endpoint POST /v1/orders.
Response parameters
id
string
Identificador de la order procesada en la solicitud.
status
string
Estado actual de la order.
processed: Todas las transacciones fueron procesadas exitosamente.
processing: La order está siendo procesada y no necesita ninguna acción del integrador. Por ejemplo, es posible que el pago esté pendiente de revisión manual.
status_detail
string
Detalles sobre el estado del pago.
accredited: Pago acreditado.
in_process: Si status=processing, el pago está siendo procesado.
transactions
object
Contiene información sobre las transacciones asociadas a una order.

Errores

Cada respuesta de la API incluye un código de estado HTTP que indica el resultado de la solicitud. El código 200 indica que la operación fue exitosa, el 400 señala un error en los datos enviados y el 500 indica un error interno del servidor.

Algunos errores 400 pueden gestionarse de forma programática e incluyen un código que describe la causa del error.

400Error de solicitud.

empty_required_header

El header X-Idempotency-Key es requerido y no fue enviado. Vuelve a realizar la solicitud incluyéndolo.

invalid_idempotency_key_length

El valor enviado en el header X-Idempotency-Key excedió el tamaño máximo permitido. El header acepta valores entre 1 y 128 caracteres.

invalid_path_param

El order_id proporcionado en el path de la solicitud no es correcto. Compruébalo y proporciona un ID válido para volver a intentarlo.

401Error. Access Token no autorizado.

401

El valor enviado como Access Token es incorrecto. Por favor, verifícalo y vuelve a intentar realizar la solicitud enviando el valor correcto.

invalid_credentials

No hay soporte para credenciales de prueba. Utiliza usuarios de prueba con credenciales de producción para el entorno de prueba ("sandbox") y sus credenciales de producción para el entorno de producción.

402Error de procesamiento.

402

La order fue creada pero alguna transacción ha fallado. Consulte el campo errors para obtener más información.

403Error. Prohibido.

forbidden

La aplicación no tiene permisos para acceder a este recurso. Verifica que el Access Token utilizado tenga los permisos y scopes necesarios para esta operación.

PA_UNAUTHORIZED_RESULT_FROM_POLICIES

La cuenta está bloqueada y sus claves de API fueron revocadas. Al menos una política evaluada por el Policy Agent retornó un resultado no autorizado (UNAUTHORIZED).

404Error. Order no encontrada.

order_not_found

Order no encontrada. Comprueba si enviaste el order_id correcto.

409Alguna regla específica del sistema no permite realizar la acción debido a restricciones definidas.

idempotency_key_already_used

El valor enviado como header de idempotencia (X-Idempotency-Key) ya fue utilizado. Por favor, vuelve a intentar realizar la solicitud enviando un nuevo valor.

cannot_capture_order

Error. Order no puede ser capturada. El estado de la order no permite su captura. Solo pueden ser capturadas orders con status=action_required y status_detail=waiting_capture.

operation_not_supported

La operación no es soportada para esta order. Comprueba el status y status_detail de la order e intenta nuevamente.

429Límite de solicitudes excedido.

too_many_requests

Client ID bloqueado por el gateway porque se alcanzó el límite de solicitudes para el ID en cuestión. Lee el header Retry-After de la respuesta y espera la cantidad de segundos indicada antes de volver a intentarlo. Para mayor resiliencia, implementa backoff exponencial con jitter, es decir, aumenta el tiempo de espera en cada nuevo intento y añade una variación aleatoria para evitar el reenvío simultáneo de muchas solicitudes.

usage_quota_exceeded

Cuota impuesta por el backend de la API porque se alcanzó el límite de solicitudes por cliente. Lee el header Retry-After de la respuesta y espera la cantidad de segundos indicada antes de volver a intentarlo. Para mayor resiliencia, implementa backoff exponencial con jitter, es decir, aumenta el tiempo de espera en cada nuevo intento y añade una variación aleatoria para evitar el reenvío simultáneo de muchas solicitudes.

500Error genérico.

idempotency_validation_failed

Falla en la validación de idempotencia. Intenta enviar la solicitud nuevamente.

internal_error

Error genérico. Intenta enviar la solicitud nuevamente.

Request
curl -X POST \
    'https://api.mercadopago.com/v1/orders/{order_id}/capture'\
    -H 'Content-Type: application/json' \
       -H 'Authorization: Bearer APP_USR-4*********782856-12*********f202ca494*********f0baa4bb3*********648' \
       -H 'X-Idempotency-Key: 5f5f8664-dfb1-43a4-925f-be2b316188ba' \
    
Response
{
  "id": "ORD01J49MMW3SSBK5PSV3DFR32959",
  "status": "processed",
  "status_detail": "accredited",
  "transactions": {
    "payments": [
      {
        "id": "PAY01J49MMW3SSBK5PSV3DFR32959",
        "amount": "24.50",
        "status": "processed",
        "status_detail": "accredited",
        "reference_id": "01JEVQM899NWSQC4FYWWW7KTF9"
      }
    ]
  }
}