Tutorial
Cómo migrar de Stripe a MercadoPago para vender en LATAM (2026)
Tutorial paso a paso para migrar cobros de Stripe a MercadoPago: setup con OXXO, Pix y cuotas sin interés, integración con tu plataforma existente, redirects de webhooks y cancelación de Stripe sin perder suscripciones activas.
Este tutorial cubre migrar cobros desde Stripe a MercadoPago para vender productos digitales, SaaS o servicios en LATAM. Apto para operaciones que ya facturan menos de 50,000 USD/mes con Stripe y tienen clientes concentrados en México, Argentina, Chile, Colombia, Brasil o Perú.
Asume que ya decidiste migrar. Si estás evaluando, lee primero Alternativas a Stripe en LATAM para ver el trade-off honesto. Si tu operación es global (>30% clientes fuera de LATAM), probablemente NO deberías migrar — Stripe sigue siendo mejor para ese caso.
Tiempo total estimado:
- SaaS con menos de 200 suscripciones activas, integración vía API: 3-5 días
- E-commerce con Shopify/WooCommerce vía plugin: 1-2 días
- Producto complejo con múltiples flujos de cobro: 1-2 semanas
Lo que necesitas antes de empezar:
- Acceso admin a tu cuenta Stripe
- Documentación fiscal por país (RFC en México, CUIT en Argentina, etc.)
- Cuenta bancaria local en el país donde vas a facturar
- Plan de comunicación a clientes activos sobre el cambio de método
Paso 1: Decide el país de operación primario (30 min)
MercadoPago es multi-país pero cada país es una cuenta legal separada. No puedes cobrar en México desde una cuenta MercadoPago Argentina y viceversa. Antes de crear cuenta, decide dónde vas a facturar principalmente.
Criterios operativos:
- País donde reside tu empresa registrada: normalmente ahí abres la cuenta primaria.
- País donde está el 60%+ de tu volumen actual con Stripe: minimiza fricción del cliente durante la migración.
- País con mejor tratamiento fiscal para tu operación: consulta contador si no estás seguro.
Para operaciones multi-país sin empresa registrada en LATAM, la ruta más común es abrir cuenta MercadoPago México (regulación más clara para nube/SaaS) y usar dLocal como pasarela secundaria para otros países. Cubierto en alternativas a MercadoPago.
Paso 2: Alta MercadoPago + verificación (1-3 días)
- Ve a mercadopago.com del país elegido → “Registrarme” → “Cuenta de empresa/vendedor”.
- Llena datos legales (RFC/CUIT/CNPJ según país), dirección fiscal, cuenta bancaria para liquidación.
- Sube documentación: comprobante de domicilio, identificación oficial, acta constitutiva (si aplica).
- Espera aprobación 24-72h. Sin la cuenta verificada no puedes procesar transacciones reales, solo pruebas.
Mientras esperas, sigue con el paso 3 en modo sandbox.
Paso 3: Setup de credenciales sandbox (15 min)
- Panel MercadoPago → “Desarrolladores” → “Tus integraciones” → “Crear aplicación”.
- Nombre: el de tu producto. Modelo: “Pagos online”.
- Guarda las 4 credenciales sandbox (
ACCESS_TOKENyPUBLIC_KEY, test y producción). - Añádelas como variables de entorno en tu servidor:
MP_ACCESS_TOKEN_TEST=APP_USR-...
MP_PUBLIC_KEY_TEST=APP_USR-...
MP_ACCESS_TOKEN=APP_USR-... # solo tras verificación
MP_PUBLIC_KEY=APP_USR-...
Nunca commit las de producción al repo. Usa el sistema de secrets de tu host (Cloudflare, Vercel, Railway).
Paso 4: Integración según tu stack
Opción A: Ya usas Shopify o WooCommerce
Instala el módulo oficial de MercadoPago desde la app store de tu plataforma. Setup guiado 15-30 min. Salta al Paso 6.
Opción B: Integración API custom (SaaS, aplicación propia)
MercadoPago tiene SDK oficial para Node.js, Python, PHP, Ruby, Java y .NET. Instala:
npm install mercadopago
# o
pip install mercadopago
Reemplaza tu creación de charge de Stripe por un Preference de MercadoPago. Ejemplo mínimo Node.js:
import { MercadoPagoConfig, Preference } from 'mercadopago';
const client = new MercadoPagoConfig({ accessToken: process.env.MP_ACCESS_TOKEN });
const preference = new Preference(client);
const result = await preference.create({
body: {
items: [{ title: 'Plan Pro', quantity: 1, unit_price: 499, currency_id: 'MXN' }],
back_urls: {
success: 'https://tuapp.com/pago/exito',
failure: 'https://tuapp.com/pago/fallo',
pending: 'https://tuapp.com/pago/pendiente',
},
auto_return: 'approved',
notification_url: 'https://tuapp.com/api/mercadopago-webhook',
},
});
return result.init_point; // URL a la que redirigir al cliente
Devuelve init_point (URL de Checkout Pro) o usa Checkout Bricks para integración embebida. Para suscripciones recurrentes ver Paso 7.
Paso 5: Setup de métodos de pago LATAM (30 min)
Panel MercadoPago → “Cobros” → “Métodos de pago”. Activa según país:
México:
- Tarjeta crédito/débito (Visa, Mastercard, Amex) — 3.49% + IVA por transacción
- OXXO (cash) — 3.5% + $5 MXN por transacción, liquidación 1-2 días hábiles después de que el cliente pague
- SPEI (transferencia bancaria) — tarifa fija por transacción
- Mercado Crédito (cuotas sin interés a meses seleccionados) — costo asumido por vendedor
Argentina:
- Tarjeta crédito/débito con cuotas sin interés hasta 12 meses (crítico para conversión)
- MercadoPago wallet
- Efectivo (Pago Fácil, Rapipago) — retail cash networks
- Débito directo bancario (DEBIN)
Chile:
- Tarjeta crédito/débito
- Webpay Plus vía integración (a veces requiere cuenta Transbank paralela)
- Khipu vía integración de terceros
Brasil:
- Pix (instantáneo, tarifa dramáticamente menor, ~0.99%)
- Boleto bancário
- Tarjeta con parcelamento (equivalente cuotas)
Colombia:
- PSE (Pagos Seguros En Línea)
- Efectivo (Efecty, Baloto)
- Tarjeta
Test con transacciones sandbox de cada método antes de activar producción. Los datos de tarjeta de prueba están en la doc oficial de cada país.
Paso 6: Webhooks para confirmar pagos (30-60 min)
Stripe usa un solo endpoint webhook con firma HMAC. MercadoPago usa un patrón distinto: envía notificación al notification_url que declaraste y tu servidor debe hacer una llamada de vuelta para confirmar el estado real del pago.
Flujo:
- Cliente completa el pago.
- MercadoPago hace POST a tu
notification_urlcon{ type, data: { id } }. - Tu servidor recibe, hace GET a
https://api.mercadopago.com/v1/payments/{id}con tu access token para obtener el estado real. - Si
status === 'approved', marca el pedido como pagado y liberas el producto.
app.post('/api/mercadopago-webhook', async (req, res) => {
if (req.body.type !== 'payment') return res.sendStatus(200);
const paymentId = req.body.data.id;
const payment = await new Payment(client).get({ id: paymentId });
if (payment.status === 'approved') {
await marcarPagoAprobado(payment.external_reference, payment);
}
res.sendStatus(200);
});
Idempotencia obligatoria: MercadoPago puede reenviar el mismo webhook varias veces. Verifica en base de datos si ya procesaste ese payment.id antes de aplicar cambios.
Reemplaza el endpoint viejo de Stripe (o mantén ambos activos durante el overlap del Paso 8).
Paso 7: Migrar suscripciones activas (si aplica)
Suscripciones NO se migran automáticamente. Los tokens de tarjeta de Stripe no son portables a MercadoPago por regulación PCI. Cada cliente activo tiene que re-autorizar el cobro en MercadoPago.
Opciones:
Opción A — Migración progresiva (recomendada):
- Deja Stripe activo para las suscripciones existentes.
- Todo cliente nuevo va por MercadoPago.
- Cuando venza el ciclo del cliente Stripe, envías email pidiendo actualizar método (URL a Checkout MercadoPago).
- Cuando 90% de tus clientes esté en MercadoPago, cancelas Stripe.
Costo: 2-3 meses de doble mantenimiento operativo. Beneficio: cero churn forzado.
Opción B — Migración forzada:
- Anuncias a todos los clientes que en X días cambias de proveedor.
- Todos re-autorizan cobro por MercadoPago en el período de gracia.
- Los que no re-autorizan quedan en pausa hasta que actualicen.
Costo: 5-15% de churn por fricción. Beneficio: cierras Stripe en 30 días.
Para MercadoPago recurrente: usa la API de “Suscripciones” (Preapproval). El cliente firma una autorización de cobro recurrente, tú disparas los cobros por API en cada ciclo. Costo: mismo % que transacción única.
Paso 8: Período paralelo + monitoreo (30-60 días)
Mantén Stripe activo mientras MercadoPago procesa transacciones nuevas. Compara métricas semana a semana:
- Tasa de aprobación: MercadoPago suele estar 2-5% arriba en países LATAM.
- Tiempo de liquidación: Stripe 2-7 días vs MercadoPago 1-14 días según método y país.
- Chargebacks: MercadoPago tiene proceso de disputas más burocrático pero % similar.
- Emails de error a soporte: mide fricción real del cliente con la nueva pasarela.
Si algo se rompe, roll back a Stripe es tan simple como cambiar el default en tu UI. Por eso mantén ambos activos.
Paso 9: Cancelación de Stripe
Una vez confirmado que MercadoPago procesa el 95%+ de tus transacciones sin issues durante 30 días consecutivos:
- Deja de crear nuevas suscripciones en Stripe (bloquea el flujo en tu app).
- Comunica a los clientes de Stripe restantes: “Nuestro proveedor de cobros cambió. Al vencer tu ciclo actual, te llegará un link para actualizar método.”
- Cuando la última suscripción activa de Stripe venza, ve a Stripe Dashboard → Settings → Team → Close account.
- Descarga todas las facturas emitidas por Stripe (Dashboard → Invoices → Export) — las vas a necesitar para contabilidad futura.
- Cierra la cuenta bancaria vinculada a Stripe si no la usas para otra cosa.
No cierres Stripe hasta tener el export completo y confirmar cero transacciones activas.
Errores comunes que cuestan dinero real
1. Elegir el país equivocado en Paso 1. Abrir cuenta MercadoPago México cuando el 70% de tus clientes están en Argentina te obliga a re-crear cuenta y re-verificar. Días perdidos.
2. No activar cuotas sin interés en Argentina/México/Brasil. Es la feature #1 diferenciadora vs Stripe. Sin cuotas, tu tasa de conversión será menor a la que tenías con Stripe (aunque las comisiones sean similares).
3. Ignorar el paso de idempotencia en webhooks. MercadoPago reenvía webhooks múltiples veces. Sin idempotencia, cobras dos veces al mismo cliente y generas chargebacks.
4. Cerrar Stripe sin exportar facturas históricas. Muchos países LATAM piden 5 años de facturación electrónica. Si cerraste Stripe sin export, tienes que pedirlas por soporte y a veces cobran.
5. No comunicar a tiempo a clientes activos. El cambio de método de cobro genera fricción; si te enteran en el último día del ciclo, churn se dispara.
Sobre el efecto real en revenue
En una operación SaaS mexicana con tickets promedio de $500-2,000 MXN mensuales, migrar de Stripe a MercadoPago típicamente produce:
- Comisiones bajan ~15-30% (Stripe MX 3.6% vs MP MX 3.49% base; mayor diferencia con OXXO y SPEI incluidos).
- Tasa de aprobación sube 2-5% por mejor procesamiento de bancos locales.
- Conversión de checkout sube 15-30% al ofrecer OXXO/Pix/cuotas que Stripe no cubre.
Combinado, es 20-40% de mejora en revenue neto en 60-90 días. Es donde justifica los 3-5 días de migración operativa.
Si tu operación tiene mucho revenue en clientes fuera de LATAM (US, EU), migrar reduce revenue global. Ese es el trade-off del Paso 0 que debes tener claro antes de empezar.
Recursos relacionados
- ⚖️ Alternativas a Stripe en LATAM — 5 pasarelas comparadas por país y método.
- ⚖️ Alternativas a MercadoPago — cuándo MercadoPago se queda corto y qué usar.
- 🌐 Cómo cobrar USD desde LATAM — para freelancers y PyMEs que cobran fuera de sus país.
- 🧭 Cuándo migrar SaaS realmente vale la pena — framework de decisión aplicable a este cambio.
Comparativas relacionadas
Descarga gratis: Plantilla de evaluación de software
Hoja de cálculo en Excel con 8 criterios ponderados para comparar tus opciones de software antes de migrar. Suscríbete y la recibes al instante.
- 8 criterios ponderados (precio, soporte, integraciones, migración…)
- Fórmulas listas para puntuar hasta 5 alternativas
- Editable en Excel, Google Sheets o Numbers
Recibirás también una comparativa nueva cada semana. Sin spam. Cancela cuando quieras.
¡Listo! Revisa tu inbox.
Te envíamos un email para confirmar tu suscripción. Una vez que confirmes, recibirás la plantilla automáticamente.
¿No quieres esperar? Descarga la plantilla ahora.
Si no ves el email en 2 minutos, revisa Promociones o Spam.