Configurar transferencias de dinero
La integración de Payouts utiliza una única llamada a la API /v1/payoutsPOST para crear un lote de transacciones con una o varias transferencias bancarias a una o varias cuentas de destino. Este lote de transacciones (payout) se crea en una única solicitud y cada transacción del lote se procesa de forma independiente.
Consulta a continuación cómo integrar Payouts para realizar transacciones, obtener información sobre ellas, programarlas y, si es necesario, cancelarlas.
Crea un lote (payout) con una o varias transacciones de salida de dinero desde una cuenta Mercado Pago hacia uno o varios destinatarios, ya sean otras cuentas Mercado Pago o cuentas externas. El payout puede contener hasta 1000 transacciones, creadas y procesadas en una única solicitud, siempre que la cuenta de origen tenga saldo disponible.
Para hacerlo, envía una solicitud con tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago y utilizada en el backend. Puedes acceder a ella desde Tus integraciones > Datos de la integración > Pruebas > Credenciales de prueba. al endpoint /v1/payoutsPOST. Envía los parámetros correspondientes siguiendo los respectivos cURLs de ejemplo y los campos indicados en las tablas de las pestañas a continuación, según el tipo de transacción que desees realizar.
schedule_date. Para obtener más información, consulta Programar transacciones.Para crear un lote de transacciones entre cuentas Mercado Pago, informa el correo electrónico asociado a la cuenta de cada destinatario y los datos de las transferencias que formarán parte del payout.
curlcurl --location 'https://api.mercadopago.com/v1/payouts' \ --header 'X-Idempotency-Key: {{SOME_UNIQUE_VALUE}}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ --header 'X-enforce-signature: false' \ --header 'X-test-token: true' \ --header 'X-signature: true' \ --data-raw '{ "external_reference": "000197", "config": { "notification_url": "https://link-your-webhook-notification.com" }, "description": "Payout for seller commissions", "transactions": [ { "type": "account", "description": "Payment to seller Beltrano", "account": { "email": "test@testuser.com" }, "amount": { "currency": "MXN", "value": 1 }, "external_reference": "000197" } ] }'
| Campo | Descripción | Obligatoriedad | Ejemplo |
Authorization | Header. Hace referencia a tu clave privada, el Access Token de pruebaClave privada de la aplicación creada en Mercado Pago y utilizada en el backend. Puedes acceder a ella desde Tus integraciones > Datos de la integración > Pruebas > Credenciales de prueba.. | Obligatorio | - |
X-Idempotency-Key | Header. Esta función permite repetir solicitudes de forma segura, sin riesgo de ejecutar la misma acción más de una vez por error. Esto resulta útil para evitar errores, como crear dos transacciones idénticas. Para garantizar que cada solicitud sea única, usa un valor exclusivo en el header de tu solicitud. Te sugerimos usar un UUID V4 o cadenas aleatorias. Ten en cuenta que, a partir del 01/01/24, este parámetro será obligatorio en todas las solicitudes. | Obligatorio | 0d5020ed-1af6-469c-ae06-c3bec19954bb |
X-signature | Header. Firma de la solicitud con el body cifrado en base64 mediante las claves pública y privada del integrador. | Obligatorio solo en el entorno de producción. | - |
X-enforce-signature | Header. Booleano que indica si el integrador enviará la firma. Debe ser false en el entorno de prueba o true en producción, cuando el envío de la firma es obligatorio. | Obligatorio solo en el entorno de producción. | false |
X-test-token | Header. Booleano que indica si la solicitud es de prueba (true) o no (false). Al utilizar este header, puedes definir X-enforce-signature como true y usar X-signature para probar la validación del body cifrado. | Obligatorio como true cuando se trate de una prueba. | true |
external_reference | Body. Referencia para identificar el payout. La genera el integrador y puede ser cualquier valor numérico (1234) que permita rastrear la transacción, siempre que no supere los 50 caracteres ni esté duplicada. No se permiten caracteres especiales ("", [ ], (), @), letras (abcde), guiones (-) ni guiones bajos (_). | Obligatorio | 000197 |
config | Body. Objeto que contiene configuraciones del usuario que realiza la transacción. | Opcional | - |
config.notification_url | Body. URL donde recibirás notificaciones de eventos relacionados con la transacción, como cambios de status. Para obtener más información, consulta Configurar notificaciones. | Opcional | https://link-your-webhook-notification.com |
description | Body. Texto breve que describe la operación completa del payout, con todas las transferencias enviadas. Usa solo letras, números, guiones (-), guiones bajos (_) y espacios, sin puntuación. | Opcional | "Payout for seller commissions" |
transactions.type | Body. Tipo de transacción. El único valor posible es account (cuenta corriente). | Obligatorio | account |
transactions.description | Body. Descripción breve de la transacción individual. Usa solo letras, números, guiones (-), guiones bajos (_) y espacios, sin puntuación. | Opcional | "Payment to seller Beltrano" |
transactions.account | Body. Detalles de la cuenta de destino cuando transactions.type sea account. Para este modelo de transferencia, proporciona el correo electrónico de la cuenta Mercado Pago de destino. | Obligatorio cuando transactions.type=account y debe completarse según el modelo de transferencia. | - |
transactions.account.email | Body. Correo electrónico de la cuenta Mercado Pago de destino. | Obligatorio cuando el modelo de transferencia es entre cuentas Mercado Pago. | test@testuser.com |
transactions.amount | Body. Valor de la transacción. | Obligatorio | - |
transactions.amount.currency | Body. Identificador de la moneda utilizada en la transacción. | Obligatorio | MXN |
transactions.amount.value | Body. Valor de la transacción que se debitará de la cuenta corriente de origen. El valor mínimo es 0 y el máximo es 10000000000. | Obligatorio | 100 |
transactions.external_reference | Body. Referencia para identificar la transacción. La genera el integrador y puede ser cualquier valor numérico (1234) que permita rastrear la transacción, siempre que no supere los 50 caracteres ni esté duplicada. No se permiten caracteres especiales ("", [ ], (), @), letras (abcde), guiones (-) ni guiones bajos (_). | Obligatorio | 000156 |
Si la ejecución se realiza correctamente, la solicitud devuelve un status code 202, lo que indica que el payout fue aceptado para su procesamiento. El siguiente ejemplo muestra un payout con dos transacciones:
json{ "id": "POP01KV681P6SJ38NQHWX3XK162SS", "external_reference": "0001234", "description": "description_root", "idempotency_key": "021957ca-7271-4f5e-8b8d-70ed87ce1a61", "created_date": "2026-06-15T14:17:36-06:00", "status": "created", "config": { "notification_url": "https://notification_url.com" }, "transactions": [ { "id": "TOP01KV681P6SJ38NQHWX3SF2WM22", "amount": { "currency": "MXN", "value": 11 }, "external_reference": "0001234" }, { "id": "TOP01KV681P6SJ38NQHWX3T9PHH3M", "amount": { "currency": "MXN", "value": 12 }, "external_reference": "0001235" } ] }
| Atributo | Descripción |
id | Identificador único del payout, generado automáticamente. |
external_reference | Referencia externa del payout, generada por el integrador al crearlo. |
description | Texto que describe la operación completa del payout, con todas las transferencias enviadas. |
idempotency_key | Clave de idempotencia para evitar duplicados. |
created_date | Fecha de creación del payout. |
status | status actual del payout. |
config.notification_url | URL en la que se recibirán las notificaciones de eventos relacionados con el payout y sus transacciones, como cambios de status. |
transactions.id | Identificador único de la transacción, generado automáticamente. |
transactions.amount.currency | Identificador de la moneda utilizada en la transacción. |
transactions.amount.value | Valor de la transacción. |
transactions.external_reference | Referencia externa de la transacción, generada por el integrador al crearla. |
202 confirma que el payout fue aceptado para procesamiento, pero no que todas las transacciones se validaron. La validación del formato y la longitud de transactions.external_reference ocurre de forma asíncrona: si el campo no es válido, la transacción se marcará con error durante el procesamiento. Consulta el estado de la transacción para identificar el error.pending, podrás utilizar las solicitudes descritas a continuación para obtener más información sobre un lote o sobre una transacción específica.Consulta el status y el resumen consolidado de un lote de transacciones (payout). Usa este endpoint para verificar cuántas transacciones se completaron con éxito, cuántas están pendientes o presentaron error.
Para ello, envía una solicitud con tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago que se utiliza en el backend. Puedes acceder a ella en Tus integraciones > Datos de integración > Pruebas > Credenciales de prueba. al endpoint /v1/payouts/{payout_id}GET, enviando el ID del payout (payout_id) obtenido en la respuesta al crear el lote.
curlcurl --location 'https://api.mercadopago.com/v1/payouts/{payout_id}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ --header 'X-test-token: true'
| Campo | Descripción | Obligatoriedad | Ejemplo |
payout_id | Path. String. Identificador del payout que deseas consultar, devuelto en la respuesta a su creación dentro del campo id. | Obligatorio | POP01KKYN1QY2SS1MKAY4KP6SSRCT |
Authorization | Header. Hace referencia a tu clave privada, el Access Token de pruebaClave privada de la aplicación creada en Mercado Pago que se utiliza en el backend. Puedes acceder a ella en Tus integraciones > Datos de integración > Pruebas > Credenciales de prueba.. | Obligatorio | - |
X-test-token | Header. Booleano para indicar si la solicitud será de prueba (true) o no (false). Debes usarlo para que la solicitud se realice en el entorno de prueba. Al usar este header, puedes configurar X-enforce-signature como true y usar X-signature para probar la validación del body cifrado. | Obligatorio como true cuando se trate de una prueba. | true |
Si los datos enviados en la llamada son correctos, recibirás una respuesta como la siguiente:
json{ "id": "POP01KV681P6SJ38NQHWX3XK162SS", "status": "completed", "external_reference": "payout_external_reference", "config": { "notification_url": "https://notification_url.com" }, "summary": { "pending": { "items": 0 }, "canceled": { "items": 0 }, "success": { "items": 0 }, "error": { "items": 2 } } }
| Atributo | Descripción |
id | Identificador único del payout, generado automáticamente. |
status | Status actual del payout. |
external_reference | Referencia externa del payout, generada por el integrador al momento de la creación. |
config.notification_url | URL donde recibirás las notificaciones de eventos relacionados con el payout, como los cambios de status. Para más información, consulta Configurar notificaciones. |
summary.pending.items | Cantidad de transacciones pendientes. |
summary.canceled.items | Cantidad de transacciones canceladas. |
summary.success.items | Cantidad de transacciones completadas con éxito. |
summary.error.items | Cantidad de transacciones con error. |
Obtén información sobre todas las transacciones de un lote para confirmar que se crearon correctamente, consultar su status o verificar la información recibida en tus notificaciones.
Para ello, envía una solicitud con tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago y que se utiliza en el backend. Puedes acceder a ella a través de Tus integraciones > Datos de la integración > Pruebas > Credenciales de prueba. al endpoint /v1/payouts/{payout_id}/transactionsGET, reemplazando payout_id por el ID del payout obtenido en la respuesta al crear el lote.
curlcurl --location 'https://api.mercadopago.com/v1/payouts/{payout_id}/transactions?limit=10&offset=0' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ --header 'X-test-token: true'
| Campo | Descripción | Obligatoriedad | Ejemplo |
payout_id | Path. String. Identificador del payout cuyas transacciones deseas consultar, devuelto en la respuesta a su creación dentro del campo id. | Obligatorio | POP01KKYN1QY2SS1MKAY4KP6SSRCT |
limit | Query. Número máximo de transacciones que se devolverán en la lista. Límite de 100 transacciones. | Opcional | 10 |
offset | Query. Número de transacciones que se omitirán de la lista. | Opcional | 0 |
Authorization | Header. Hace referencia a tu clave privada, el Access Token de pruebaClave privada de la aplicación creada en Mercado Pago y que se utiliza en el backend. Puedes acceder a ella a través de Tus integraciones > Datos de la integración > Pruebas > Credenciales de prueba.. | Obligatorio | - |
X-test-token | Header. Booleano para indicar si la solicitud será de prueba (true) o no (false). Debes usarlo para que la solicitud se realice en el entorno de prueba. Al usar este header, puedes configurar X-enforce-signature como true y usar X-signature para probar la validación del body cifrado. | Obligatorio como true cuando se trate de una prueba. | true |
Si los datos enviados en el llamado son correctos, recibirás una respuesta como la siguiente:
json{ "external_reference": "0001234", "config": { "notification_url": "https://notification_url.com" }, "paging": { "limit": 50, "offset": 0, "total": 2 }, "transactions": [ { "id": "TOP01KV681P6SJ38NQHWX3T9PHH3M", "created_date": "2026-06-15T14:17:38.606-06:00", "last_update_date": "2026-06-15T14:17:38.606-06:00", "external_reference": "0001234", "description": "description_transaction_01", "status": "success", "status_detail": "accredited", "amount": { "currency": "MXN", "value": 11 } }, { "id": "TOP01KV681P6SJ38NQHWX3SF2WM22", "created_date": "2026-06-15T14:17:38.606-06:00", "last_update_date": "2026-06-15T14:17:38.606-06:00", "external_reference": "0001235", "description": "description_transaction_02", "status": "success", "status_detail": "accredited", "amount": { "currency": "MXN", "value": 12 } } ] }
| Atributo | Descripción |
external_reference | Referencia externa del payout, generada por el integrador al momento de la creación. |
config.notification_url | URL donde recibirás las notificaciones de eventos relacionados con el payout, como los cambios de status. Para más información, consulta Configurar notificaciones. |
paging.limit | Número máximo de transacciones retornadas de acuerdo con el valor definido en el parámetro limit de la solicitud. |
paging.offset | Número de transacciones retornadas de acuerdo con el valor definido en el parámetro offset de la solicitud. |
paging.total | Número total de transacciones realizadas en el payout. |
transactions.id | Identificador único de la transacción, generado automáticamente. |
transactions.created_date | Fecha de creación de la transacción. |
transactions.last_update_date | Fecha de actualización del status de la transacción. |
transactions.external_reference | Referencia externa de la transacción, generada por el integrador al momento de la creación. |
transactions.status | Status actual de la transacción. |
transactions.status_detail | Información detallada del status de la transacción. |
transactions.amount.currency | Identificador de la moneda utilizada en la transacción. |
transactions.amount.value | Valor de la transacción. |
Obtén información sobre una transacción específica dentro de un lote para confirmar que se creó correctamente, consultar su status o verificar la información recibida en tus notificaciones.
Para ello, envía una solicitud con tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago y que se utiliza en el backend. Puedes acceder a ella a través de Tus integraciones > Datos de la integración > Pruebas > Credenciales de prueba. al endpoint /v1/payouts/{payout_id}/transactions/{transaction_id}GET, reemplazando payout_id por el ID del payout y transaction_id por el ID de la transacción obtenidos previamente.
curlcurl --location 'https://api.mercadopago.com/v1/payouts/{payout_id}/transactions/{transaction_id}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ --header 'X-test-token: true'
| Campo | Descripción | Obligatoriedad | Ejemplo |
payout_id | Path. String. Identificador del payout que contiene la transacción que deseas consultar, devuelto en la respuesta a su creación dentro del campo id. | Obligatorio | POP01KKYN1QY2SS1MKAY4KP6SSRCT |
transaction_id | Path. String. Identificador de la transacción que deseas consultar, devuelto en el campo transactions[].id de la respuesta de creación del payout. | Obligatorio | TOP01KKYN1QY2SS1MKAY4E5KM8WZ6 |
Authorization | Header. Hace referencia a tu clave privada, el Access Token de pruebaClave privada de la aplicación creada en Mercado Pago y que se utiliza en el backend. Puedes acceder a ella a través de Tus integraciones > Datos de la integración > Pruebas > Credenciales de prueba.. | Obligatorio | - |
X-test-token | Header. Booleano para indicar si la solicitud será de prueba (true) o no (false). Debes usarlo para que la solicitud se realice en el entorno de prueba. Al usar este header, puedes configurar X-enforce-signature como true y usar X-signature para probar la validación del body cifrado. | Obligatorio como true cuando se trate de una prueba. | true |
Si los datos enviados en el llamado son correctos, recibirás una respuesta como la siguiente:
json{ "id": "TOP01KV681P6SJ38NQHWX3SF2WM22", "created_date": "2026-06-15T14:17:38.606-06:00", "last_update_date": "2026-06-15T14:17:38.606-06:00", "external_reference": "0001234", "description": "description_transaction_01", "status": "success", "status_detail": "accredited", "amount": { "currency": "MXN", "value": 11 } }
| Atributo | Descripción |
id | Identificador único de la transacción, generado automáticamente. |
created_date | Fecha de creación de la transacción. |
last_update_date | Fecha de actualización del status de la transacción. |
external_reference | Referencia externa de la transacción, generada por el integrador al momento de la creación. |
status | Status actual de la transacción. |
status_detail | Información detallada del status de la transacción. |
amount.currency | Identificador de la moneda utilizada en la transacción. |
amount.value | Valor de la transacción. |
Programa transferencias utilizando el Scheduler, un recurso que automatiza la ejecución de las transacciones programadas y garantiza que cada transferencia ocurra exactamente en la fecha y hora definidas, de forma segura y sin duplicaciones, registrando todos los pasos para facilitar el seguimiento y la auditoría.
Para programar transferencias, envía una solicitud con tu Access Token de pruebaClave privada vinculada a una aplicación, utilizada en el backend para autenticar operaciones en el entorno de prueba. Puedes consultarla en la sección Credenciales de la aplicación, dentro del entorno de prueba. No permite procesar pagos reales y nunca debe exponerse en el frontend. al endpoint /v1/payoutsPOST incluyendo el campo schedule_date en el body. Además, incluye los campos necesarios según el tipo de transacción que desees realizar siguiendo las indicaciones de la pestaña correspondiente.
Para programar transferencias entre cuentas Mercado Pago, informa en schedule_date la fecha y hora de ejecución del payout, además del correo electrónico asociado a la cuenta de cada destinatario.
curlcurl --location 'https://api.mercadopago.com/v1/payouts' \ --header 'X-Idempotency-Key: {{SOME_UNIQUE_VALUE}}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ --header 'X-enforce-signature: false' \ --header 'X-test-token: true' \ --header 'X-signature: true' \ --data-raw '{ "external_reference": "000197", "config": { "notification_url": "https://link-your-webhook-notification.com" }, "description": "Payout for seller commissions", "schedule_date": "2026-12-31T14:30:00", "transactions": [ { "type": "account", "description": "Payment to seller Beltrano", "account": { "email": "test@testuser.com" }, "amount": { "currency": "MXN", "value": 1 }, "external_reference": "000197" } ] }'
| Campo | Descripción | Obligatoriedad | Ejemplo |
Authorization | Header. Hace referencia a tu clave privada, el Access Token de pruebaClave privada vinculada a una aplicación, utilizada en el backend para autenticar operaciones en el entorno de prueba. Puedes consultarla en la sección Credenciales de la aplicación, dentro del entorno de prueba. No permite procesar pagos reales y nunca debe exponerse en el frontend.. | Requerido | - |
X-Idempotency-Key | Header. Esta función permite repetir solicitudes de forma 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 transacciones idénticas. Para garantizar que cada solicitud sea única, usa un valor exclusivo en el header de tu solicitud. Sugerimos el uso de un UUID V4 o cadenas aleatorias. Ten en cuenta que, a partir del 01/01/24, el envío de este parámetro será obligatorio en todas las solicitudes. | Requerido | 0d5020ed-1af6-469c-ae06-c3bec19954bb |
X-signature | Header. Firma de la solicitud con el body cifrado en base64 con las claves pública y privada del integrador. | Requerido solo en el entorno de producción. | - |
X-enforce-signature | Header. Booleano para indicar si el integrador enviará o no la firma. Debe ser false para ambiente de prueba o true para ambiente productivo, que es cuando es obligatorio el envío de la firma. | Requerido solo en el ambiente de producción. | false |
X-test-token | Header. Booleano para indicar si la solicitud será de prueba (true) o no (false). Debes usarlo para que la solicitud se realice en el entorno de prueba. Al usar este header, puedes configurar X-enforce-signature como true y usar X-signature para probar la validación del body cifrado. | Obligatorio como true cuando se trate de una prueba. | true |
external_reference | Body. Referencia para identificar el payout. La genera el integrador y puede ser cualquier valor numérico (1234) que permita el seguimiento de la transacción, siempre que no supere los 50 caracteres y no esté duplicada. No puedes usar caracteres especiales ("", [ ], (), @), letras (abcde), guiones (-) ni guiones bajos (_). | Obligatorio | 000197 |
config | Body. Objeto que contiene configuraciones del usuario que realiza la transacción. | Opcional | - |
config.notification_url | Body. URL donde recibirás las notificaciones de eventos relacionados con la transacción, como cambios de status. Para más información, accede a Configurar notificaciones. | Opcional | https://link-your-webhook-notification.com |
description | Body. Texto breve que describe la operación del payout completo, con todas las transferencias enviadas. Usa solo letras, números, guiones (-), guiones bajos (_) y espacios, sin puntuación. | Opcional | "Payout for seller commissions" |
schedule_date | Body. Fecha de ejecución del payout. El valor debe estar en el futuro y en el formato estándar ISO 8601 UTC-0 ("YYYY-MM-DDTHH:MM:SS"), sin zona horaria. La zona horaria se infiere automáticamente según el país de la solicitud. Consulta más información en Programar transacciones. | Opcional | 2026-12-31T14:30:00 |
transactions.type | Body. Tipo de transacción. El único valor posible es account (cuenta corriente). | Obligatorio | account |
transactions.description | Body. Descripción breve de la transacción individual. Usa solo letras, números, guiones (-), guiones bajos (_) y espacios, sin puntuación. | Opcional | "Payment to seller Beltrano" |
transactions.account | Body. Detalles de la cuenta de destino cuando transactions.type sea account. Para este modelo de transferencia, proporciona el correo electrónico de la cuenta Mercado Pago de destino. | Obligatorio cuando transactions.type=account y debe completarse según el modelo de transferencia. | - |
transactions.account.email | Body. Correo electrónico de la cuenta Mercado Pago de destino. | Obligatorio cuando el modelo de transferencia sea entre cuentas Mercado Pago. | test@testuser.com |
transactions.amount | Body. Valor de la transacción. | Requerido | - |
transactions.amount.currency | Body. Identificador de la moneda utilizada en la transacción. | Requerido | MXN |
transactions.amount.value | Body. Valor de la transacción que se debitará de la cuenta corriente de origen. El valor mínimo es 0 y el máximo es 10000000000. | Requerido | 100 |
transactions.external_reference | Body. Referencia para identificar la transacción. La genera el integrador y puede ser cualquier valor numérico (1234) que permita su seguimiento, siempre que no supere los 50 caracteres y no esté duplicada. No puedes usar caracteres especiales ("", [ ], (), @), letras (abcde), guiones (-) ni guiones bajos (_). | Obligatorio | 000156 |
Si la ejecución se realiza correctamente, la solicitud devuelve un status code 202, lo que indica que el payout fue aceptado para su procesamiento.
202 confirma que el payout fue aceptado para procesamiento, pero no que todas las transacciones se validaron. La validación del formato y la longitud de transactions.external_reference ocurre de forma asíncrona: si el campo no es válido, la transacción se marcará con error durante el procesamiento. Consulta el estado de la transacción para identificar el error.pending, podrás utilizar las solicitudes descritas anteriormente para obtener más información sobre un lote o sobre una transacción específica.Cancela una transacción programada para interrumpir una operación de transferencia incorrecta o no deseada antes de la liquidación financiera. Este procedimiento es irreversible y preserva la integridad operativa y la trazabilidad para auditoría.
status=pending o status=in_process.Para cancelar una transacción, envía una solicitud con tu Access Token de pruebaClave privada vinculada a una aplicación, utilizada en el backend para autenticar operaciones en el entorno de prueba. Puedes consultarla en la sección Credenciales de la aplicación, dentro del entorno de prueba. No permite procesar pagos reales y nunca debe exponerse en el frontend. al endpoint /v1/payouts/{payout_id}/transactions/{transaction_id}/cancelPUT, utilizando el ID del payout (payout_id) y el ID de la transacción (transaction_id).
curlcurl --location --request PUT 'https://api.mercadopago.com/v1/payouts/{payout_id}/transactions/{transaction_id}/cancel' \ --header 'X-Idempotency-Key: {{SOME_UNIQUE_VALUE}}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ --header 'X-enforce-signature: false' \ --header 'X-test-token: true' \ --header 'X-signature: true' \ --data '{ "comments": "delete because the payment was canceled", "deleted_by": "user_123" }'
| Campo | Descripción | Obligatoriedad | Ejemplo |
payout_id | Path. String. Identificador del payout que contiene la transacción que deseas cancelar, devuelto en el campo id de la respuesta de creación. | Requerido | POP01KKYN1QY2SS1MKAY4KP6SSRCT |
transaction_id | Path. String. Identificador de la transacción que deseas cancelar, devuelto en el campo transactions[].id de la respuesta de creación del payout. | Requerido | TOP01KKYN1QY2SS1MKAY4E5KM8WZ6 |
Authorization | Header. Hace referencia a tu clave privada, el Access Token de pruebaClave privada vinculada a una aplicación, utilizada en el backend para autenticar operaciones en el entorno de prueba. Puedes consultarla en la sección Credenciales de la aplicación, dentro del entorno de prueba. No permite procesar pagos reales y nunca debe exponerse en el frontend.. | Requerido | - |
X-Idempotency-Key | Header. Esta función permite repetir solicitudes de forma 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 transacciones idénticas. Para garantizar que cada solicitud sea única, usa un valor exclusivo en el header de tu solicitud. Sugerimos el uso de un UUID V4 o cadenas aleatorias. Ten en cuenta que, a partir del 01/01/24, el envío de este parámetro será obligatorio en todas las solicitudes. | Requerido | 0d5020ed-1af6-469c-ae06-c3bec19954bb |
X-signature | Header. Firma de la solicitud con el cuerpo cifrado en base 64 con las claves pública y privada del integrador. | Requerido solo en el ambiente de producción. | - |
X-enforce-signature | Header. Booleano para indicar si el integrador enviará o no la firma. Debe ser false en el entorno de prueba y true en producción. | Requerido solo en el ambiente de producción. | false |
X-test-token | Header. Booleano para indicar si la solicitud será de prueba (true) o no (false). Debes usarlo para que la solicitud se realice en el entorno de prueba. Al usar este header, puedes configurar X-enforce-signature como true y usar X-signature para probar la validación del body cifrado. | Obligatorio como true cuando se trate de una prueba. | true |
comments | Body. String. Justificación clara y objetiva para la cancelación. Evita incluir información personal sensible. Este campo ayuda al historial y la auditoría. | Opcional | delete because the payment was canceled |
deleted_by | Body. String. Identificación única de quien realizó la cancelación (usuario, sistema, etc.). Este campo ayuda al historial y la auditoría. | Opcional | user_123 |
Si la ejecución fue exitosa, recibirás como respuesta un status code 204, indicando que la transacción fue cancelada.