Probar integración
Antes de pasar a producción, es fundamental realizar pruebas del flujo completo de Pagos automáticos vía Orders. Esto permitirá verificar que la creación de clientes, perfiles de pago y transacciones se realice correctamente previo a recibir pagos reales.
En todo el proceso, deberás utilizar tus credenciales de pruebaClaves de acceso que identifican a tu usuario de prueba, utilizadas en etapas de desarrollo o para probar la integración. Puedes acceder a ellas a través de Tus integraciones > Detalles de aplicación > Pruebas > Credenciales de prueba. para asegurar que las pruebas funcionen correctamente.
Sigue los pasos a continuación para probar tu integración.
Primero, deberás tokenizar el medio de pago.
Mercado Pago proporciona tarjetas de prueba que te permitirán probar pagos sin utilizar una tarjeta real.
Sus datos, como número, código de seguridad y fecha de caducidad, pueden ser combinados con los datos relativos al titular de la tarjeta, que te permitirán probar distintos escenarios de pago. Es decir, puedes utilizar la información de cualquier tarjeta de prueba y probar resultados de pago diferentes a partir de los datos del titular.
A continuación, puedes ver los datos de las tarjetas de débito y crédito de prueba. Selecciona aquella que quieras utilizar para probar tu integración.
| Tipo de tarjeta | Bandera | Número | Código de seguridad | Fecha de caducidad |
| Tarjeta de crédito | Mastercard | 5031 7557 3453 0604 | 123 | 11/30 |
| Tarjeta de crédito | Visa | 4509 9535 6623 3704 | 123 | 11/30 |
| Tarjeta de crédito | American Express | 3711 803032 57522 | 1234 | 11/30 |
| Tarjeta de débito | Mastercard | 5287 3383 1025 3304 | 123 | 11/30 |
| Tarjeta de débito | Visa | 4002 7686 9439 5619 | 123 | 11/30 |
Luego, elige qué escenario de pago probar, y completa los campos del titular de la tarjeta (Nombre y apellido, Tipo y número de documento) según lo indica la tabla a continuación.
| Estado de pago | Nombre y apellido del titular | Documento de identidad |
| Pago aprobado | APRO | (DNI) 12345678 |
| Rechazado por error general | OTHE | (DNI) 12345678 |
| Pendiente de pago | CONT | - |
| Rechazado con validación para autorizar | CALL | - |
| Rechazado por importe insuficiente | FUND | - |
| Rechazado por código de seguridad inválido | SECU | - |
| Rechazado debido a un problema de fecha de vencimiento | EXPI | - |
| Rechazado debido a un error de formulario | FORM | - |
| Rechazado por falta de card_number | CARD | - |
| Rechazado por cuotas invalidas | INST | - |
| Rechazado por pago duplicado | DUPL | - |
| Rechazado por tarjeta deshabilitada | LOCK | - |
| Rechazado por tipo de tarjeta no permitida | CTNA | - |
| Rechazado debido a intentos excedidos del pin de la tarjeta | ATTE | - |
| Rechazado por estar en lista negra | BLAC | - |
| No soportado | UNSU | - |
| Usado para aplicar regla de montos | TEST | - |
Continúa registrando en tu sistema la tarjeta de prueba tokenizada siguiendo los pasos según el modelo de negocio al que se adapte tu integración.
Deberás utilizar tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago, que es utilizada en el backend. Puedes acceder a ella a través de Tus integraciones > Detalles de aplicación > Pruebas > Credenciales de prueba. en todas las solicitudes y utilizar como email del cliente el valor test@testuser.com.
Con el customer_id y el payment_profile_id generados en la etapa anterior, ya puedes procesar un pago automático de prueba.
Envía un POST al endpoint /v1/orders incluyendo tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago, que es utilizada en el backend. Puedes acceder a ella a través de Tus integraciones > Detalles de aplicación > Pruebas > Credenciales de prueba. y siguiendo las indicaciones detalladas para cada tipo de pago.
curl
curl -X POST \ 'https://api.mercadopago.com/v1/orders' \ -H 'Content-Type: application/json' \ -H 'X-Idempotency-Key: UNIQUE_IDEMPOTENCY_KEY' \ -H 'Authorization: Bearer TEST-ACCESS_TOKEN' \ -d '{ "type": "online", "processing_mode": "automatic", "total_amount": "100.00", "external_reference": "test-order-001", "payer": { "customer_id": "CUSTOMER_ID" }, "transactions": { "payments": [ { "amount": "100.00", "automatic_payments": { "payment_profile_id": "PAYMENT_PROFILE_ID" }, "stored_credential": { "payment_initiator": "merchant", "reason": "card_on_file", "first_payment": true } } ] } }'
| Parámetro | Tipo | Descripción | Obligatoriedad |
type | String | Tipo de order. Debe ser online. | Requerido |
external_reference | String | Referencia externa de la order. Máximo 64 caracteres alfanuméricos, guiones (-) y guiones bajos (_). | Requerido |
total_amount | String | Monto total de la transacción. | Requerido |
payer.customer_id | String | Identificador del cliente, obtenido en el paso 2. | Requerido |
transactions.payments.amount | String | Monto de la transacción. | Requerido |
automatic_payments.payment_profile_id | String | Identificador del perfil de pago, obtenido en el paso 2. | Requerido |
stored_credential.payment_initiator | String | Indica quién inicia la transacción. Usa merchant para pagos MIT o customer para pagos CIT. | Requerido |
stored_credential.reason | String | Razón del pago. Para pagos únicos con tarjeta guardada, usa card_on_file. | Opcional |
stored_credential.first_payment | Boolean | Indica si es el primer pago (true) o un pago posterior (false). | Opcional |
stored_credential.previous_transaction_reference | String | Código de referencia de la transacción previa. | Requerido cuando first_payment es false |
Si deseas probar otro escenario de pago, repite la solicitud asegurándote de incluir los datos asociados a la segunda tarjeta de prueba tokenizada.
Para verificar que el pago de prueba se realizó correctamente, envía un GET al endpoint /v1/orders/{id}API reemplazando {id} por la identificación de la order recibida en la respuesta del paso anterior.
La respuesta deberá mostrar el estado del pago seleccionado al momento de ingresar los datos del titular de la tarjeta de prueba.
json
{ "id": "ORD01JS2V6CM8KJ0EC4H502TGK1WP", "type": "online", "processing_mode": "automatic", "status": "processed", "status_detail": "accredited", "total_amount": "100.00", "transactions": { "payments": [ { "id": "PAY01JS2V6CM8KJ0EC4H504R7YE34", "amount": "100.00", "status": "processed", "status_detail": "accredited" } ] } }
Adicionalmente, puedes verificar haber recibido la notificación Webhook con los datos de la order.
