Recursos para IA
Cancelar order por ID

Este endpoint permite cancelar una order que aún no ha sido pagada, utilizando el ID obtenido en la respuesta a su creación. Solo las orders en estado created o action_required pueden ser canceladas. La cancelación libera cualquier saldo reservado cuando aplica. En caso de éxito, la solicitud devolverá una respuesta con el estado 200.

POST

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

REQUERIDO

Token de acceso para autenticar la solicitud. Para más información, consulta la documentación de Autenticación.
X-Idempotency-Key
string

REQUERIDO

Esta función permite repetir solicitudes de manera segura, sin el riesgo de realizar la misma acción más de una vez por error. Esto es útil para evitar errores, como la creación de dos orders idénticas. Para garantizar q
Path
order_id
string

REQUERIDO

ID de la order a cancelar. Este valor es devuelto en la respuesta a la solicitud realizada al endpoint POST /v1/orders.
Response parameters
id
string
Identificador de la order creada en la solicitud, generado automáticamente por Mercado Pago.
processing_mode
string

REQUERIDO

Modo de procesamiento de la order. Para pagos con Checkout Pro, el único valor posible es manual.
manual: El procesamiento de la order se hará de manera manual. Este modo es utilizado por Checkout Pro, lo que permite que la orden sea procesada posteriormente a través de su flujo de pago.
external_reference
string
Es una referencia externa de la order. Puede ser, por ejemplo, un hashcode del Banco Central, funcionando como identificador de origen de la transacción. Este campo debe tener como máximo 64 caracteres y estos solo puede
total_amount
string
Monto total a pagar.
Errors

400Error de solicitud.

empty_required_header

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

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.

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.

404Error. Order no encontrada.

order_not_found

Order no encontrada. Comprueba si enviaste el ID correcto.

409Conflicto.

order_already_canceled

La order ya fue cancelada.

cannot_cancel_order

El estado de la order no permite su cancelación. Solo pueden cancelarse orders en estado action_required o created.

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.

internal_error

Error genérico. Intenta enviar la solicitud nuevamente.

Request
curl -X POST \
    'https://api.mercadopago.com/v1/orders/{order_id}/cancel'\
    -H 'Content-Type: application/json' \
       -H 'Authorization: Bearer ' \
       -H 'X-Idempotency-Key: f787bad3-3db0-4404-964a-b785284cd01a' \
    
Response
{
  "id": "ORD01J49MMW3SSBK5PSV3DFR32959",
  "processing_mode": "manual",
  "external_reference": "ext_ref_1234",
  "total_amount": "50.00",
  "integration_data": {
    "application_id": "1234",
    "integrator_id": "dev_123",
    "platform_id": "1234567890",
    "sponsor": {
      "id": "446566691"
    }
  },
  "user_id": "12345",
  "created_date": "2024-08-26T13:06:51.045317772Z",
  "last_updated_date": "2024-08-26T13:06:51.045317772Z",
  "country_code": "PER",
  "type": "online",
  "status": "canceled",
  "status_detail": "canceled_transaction",
  "capture_mode": "automatic_async",
  "transactions": {
    "payments": [
      {
        "id": "PAY01J67CQQH5904WDBVZEM4JMEP3",
        "amount": "24.50",
        "reference_id": "01JEVQM899NWSQC4FYWWW7KTF9",
        "status": "canceled",
        "status_detail": "canceled_transaction",
        "payment_method": {
          "id": "master",
          "type": "credit_card",
          "token": "12345",
          "installments": 1,
          "statement_descriptor": "My Store"
        }
      }
    ]
  },
  "client_token": "eyJhbGciOiJSUzI1NiIs...",
  "description": "Smartphone",
  "items": [
    {
      "external_code": "ITEM-001",
      "title": "Product 001",
      "description": "Product description",
      "category_id": "travels",
      "picture_url": "https://example.com/img.jpg",
      "quantity": 1,
      "unit_price": "1000.00",
      "type": "travel",
      "warranty": true,
      "event_date": "2014-06-28T16:53:03.176-04:00"
    }
  ]
}