Crear y configurar una order de pago
Server-Side
Una order es el recurso central de la API de Orders que unifica el ciclo de vida del pago. Al crear una order para Checkout Pro, defines los detalles de la transacción, incluyendo productos, precios y datos del comprador, y obtienes un checkout_url para redirigir al comprador al formulario de pago de Mercado Pago.
A partir de su creación, el id de la order será el identificador único que utilizarás para consultar, cancelar o reembolsar la transacción a lo largo de todo el flujo.
Crear la order
Para crear una order, envía un POST con tu Access Token de prueba y los parámetros requeridos al endpoint Crear orderAPI y ejecuta la solicitud. Crea una order por cada flujo de pago o transacción que quieras iniciar.
Incluye siempre el encabezado X-Idempotency-Key con un UUID único por intento para evitar la creación de orders duplicadas.
| Parámetro | Tipo | Obligatorio | Descripción |
type | string | Sí | Tipo de order. Para Checkout Pro, el único valor posible es online. |
total_amount | string | Sí | Monto total a pagar. Debe ser igual a la suma de items[].unit_price × items[].quantity. |
external_reference | string | No | Referencia externa de la order para identificación de origen. |
processing_mode | string | Sí | Modo de procesamiento. Para Checkout Pro, el único valor posible es manual. |
capture_mode | string | No | Modo de captura. Usa automatic para resultado inmediato o automatic_async para flujos asíncronos. |
marketplace_fee | string | No | Comisión cobrada por el marketplace, acreditada en la cuenta del marketplace. |
expiration_time | string | No | Duración de disponibilidad de la order en formato ISO 8601 (ej: P1D). |
payer | object | No | Datos del comprador. El campo payer.email es obligatorio. |
items | array | No | Lista de ítems a pagar. Los campos title, quantity y unit_price son obligatorios por ítem. |
config | object | No | Configuraciones de la order: URLs de retorno, restricciones de medios de pago y comportamiento del checkout. |
additional_info | object | No | Datos complementarios para prevención de fraude. Obligatorio para industrias verticales como viajes. |
description | string | No | Descripción del producto o servicio. |
curl
curl -X POST \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ENV_ACCESS_TOKEN' \ -H 'X-Idempotency-Key: UNIQUE_KEY' \ 'https://api.mercadopago.com/v1/orders' \ -d '{ "type": "online", "processing_mode": "manual", "total_amount": "1000.00", "external_reference": "order_pro_123", "payer": { "email": "buyer@email.com" }, "items": [ { "title": "Mi producto", "unit_price": "1000.00", "quantity": 1, "unit_measure": "unit", "total_amount": "1000.00" } ] }'
Obtener la URL de redirección ("checkout_url")
Al ejecutar la solicitud, la respuesta contendrá el id de la order y el campo checkout_url con la URL de redirección al formulario de pago de Mercado Pago. Esta URL es la dirección a la que debes redirigir al comprador para que complete la transacción. Guarda el id de la order para utilizarlo en operaciones futuras, como consultas de estado, cancelaciones y reembolsos. Ten en cuenta que los valores de country_code y currency varían según el país de la cuenta del vendedor.
json
{ "id": "ORDTST01KS5AJ6HTK2HRQ3XJ3C2JCKP9", "type": "online", "processing_mode": "manual", "status": "created", "status_detail": "created", "capture_mode": "automatic_async", "external_reference": "order_pro_123", "description": "Mi producto", "total_amount": "1000.00", "total_paid_amount": "0.00", "checkout_url": "https://www.mercadopago.com.ar/checkout/v1/redirect?order_id=ORDTST01KS5AJ6HTK2HRQ3XJ3C2JCKP9", "client_token": "eyJhbGciOiJSUzI1NiIs...", "expiration_time": "P1D", "country_code": "ARG", "user_id": "1858095454", "currency": "ARS", "created_date": "2026-05-21T13:10:56.845Z", "last_updated_date": "2026-05-21T13:10:56.845Z", "integration_data": { "application_id": "8772548647196351" }, "config": { "online": { "retries": { "allowed": false } }, "payment_method": {} }, "items": [ { "title": "Mi producto", "unit_price": "1000.00", "quantity": 1, "unit_measure": "unit", "total_amount": "1000.00" } ] }
Consulta en la tabla a continuación la descripción de los principales campos devueltos en la respuesta.
| Campo | Tipo | Descripción | Ejemplo |
id | string | Identificador único de la order, generado automáticamente por Mercado Pago. | "ORDTST01KS5AJ6HTK2HRQ3XJ3C2JCKP9" |
type | string | Tipo de order. Para Checkout Pro, siempre online. | "online" |
processing_mode | string | Modo de procesamiento de la order. Para Checkout Pro, siempre manual. | "manual" |
status | string | Estado actual de la order. Al ser creada, devuelve created. | "created" |
status_detail | string | Detalle del estado de la order. | "created" |
capture_mode | string | Modo de captura del pago. | "automatic_async" |
external_reference | string | Referencia externa de la order definida en el momento de la creación. | "order_pro_123" |
description | string | Descripción del producto o servicio. | "Mi producto" |
total_amount | string | Monto total de la order. | "1000.00" |
total_paid_amount | string | Monto total pagado hasta el momento. | "0.00" |
checkout_url | string | URL para redirigir al comprador al formulario de pago de Mercado Pago. | "https://www.mercadopago.com.ar/checkout/..." |
client_token | string | Token del cliente generado para uso en el SDK frontend. | "eyJhbGci..." |
expiration_time | string | Duración de disponibilidad de la order en formato ISO 8601. | "P1D" |
country_code | string | Código del país de la cuenta del vendedor. | "ARG" |
user_id | string | Identificador del usuario vendedor en Mercado Pago. | "1858095454" |
currency | string | Moneda de la transacción, según el país del vendedor. | "ARS" |
created_date | string | Fecha y hora de creación de la order en formato ISO 8601. | "2026-05-21T13:10:56.845Z" |
last_updated_date | string | Fecha y hora de la última actualización de la order en formato ISO 8601. | "2026-05-21T13:10:56.845Z" |
integration_data | object | Datos de la integración, incluyendo el application_id. | {"application_id": "8772548647196351"} |
config | object | Configuraciones de la order aplicadas, incluyendo comportamiento de reintentos y medios de pago. | — |
items | array | Lista de ítems de la order. | — |
Con el checkout_url disponible, el siguiente paso es configurar el frontend para redirigir al comprador.
Gestionar la order
Una vez creada la order, puedes consultar su estado o buscarla en cualquier momento utilizando el id devuelto en la respuesta. Para eso, utiliza los siguientes endpoints:
Elegir el tipo de integración
Elige el tipo de integración que mejor se adapte a tus necesidades, ya sea para un sitio web o una aplicación móvil, y sigue los pasos detallados para completar la integración de Checkout Pro.