Tutorial

Cómo migrar de Stripe a MercadoPago para vender en LATAM (2026)

Tutorial para migrar cobros de Stripe a MercadoPago: OXXO, Pix y cuotas, integración, webhooks y cierre de Stripe sin perder suscripciones activas.

Publicado: 11 de septiembre de 2026 Actualizado: 28 de octubre de 2026

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, una ruta es abrir cuenta MercadoPago en el país con más volumen y usar una pasarela transfronteriza como dLocal para los demás. Cubierto en alternativas a MercadoPago.


Paso 2: Alta MercadoPago + verificación (1-3 días)

  1. Ve a mercadopago.com del país elegido → “Registrarme” → “Cuenta de empresa/vendedor”.
  2. Llena datos legales (RFC/CUIT/CNPJ según país), dirección fiscal, cuenta bancaria para liquidación.
  3. Sube documentación: comprobante de domicilio, identificación oficial, acta constitutiva (si aplica).
  4. Espera la aprobación, que puede tomar algunos días. 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)

  1. Panel MercadoPago → “Desarrolladores” → “Tus integraciones” → “Crear aplicación”.
  2. Nombre: el de tu producto. Modelo: “Pagos online”.
  3. Guarda las 4 credenciales sandbox (ACCESS_TOKEN y PUBLIC_KEY, test y producción).
  4. 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 — 3.49% + $4 MXN + IVA con dinero al instante (3.19% a 7 días, 2.95% a 30 días)
  • OXXO y PayCash (efectivo)
  • Transferencia con CLABE
  • Meses sin intereses con tarjeta — de 4.69% + IVA (3 meses) a 27.29% + IVA (24 meses), a cargo del vendedor
  • Cuotas sin tarjeta (crédito de Mercado Pago)

Argentina:

  • Tarjeta crédito/débito con cuotas
  • Dinero en cuenta de MercadoPago
  • Efectivo (Pago Fácil, Rapipago; no disponibles para suscripciones)
  • Cuotas sin tarjeta

Chile:

  • Tarjeta crédito, débito (incluye RedCompra) y prepago
  • Dinero en cuenta de MercadoPago
  • Webpay o Khipu no son medios de MercadoPago: requieren integración aparte

Brasil:

  • Pix (instantáneo; revisa su tarifa en tu cuenta, suele ser menor que la de tarjeta)
  • Boleto bancário
  • Tarjeta con parcelamento (equivalente a cuotas)

Colombia:

  • PSE (Pagos Seguros En Línea)
  • Efectivo (Efecty)
  • 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:

  1. Cliente completa el pago.
  2. MercadoPago hace POST a tu notification_url con { type, data: { id } }.
  3. Tu servidor recibe, hace GET a https://api.mercadopago.com/v1/payments/{id} con tu access token para obtener el estado real.
  4. 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):

  1. Deja Stripe activo para las suscripciones existentes.
  2. Todo cliente nuevo va por MercadoPago.
  3. Cuando venza el ciclo del cliente Stripe, envías email pidiendo actualizar método (URL a Checkout MercadoPago).
  4. 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:

  1. Anuncias a todos los clientes que en X días cambias de proveedor.
  2. Todos re-autorizan cobro por MercadoPago en el período de gracia.
  3. Los que no re-autorizan quedan en pausa hasta que actualicen.

Costo: parte de los clientes no re-autoriza y se pierde (mídelo con tu propia base). 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 y MercadoPago cobra en cada ciclo. Revisa la comisión de suscripciones en tu cuenta antes de lanzar.


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: compárala por método y país con tus propios datos.
  • Tiempo de liquidación: depende del método y del plazo que elijas (en MercadoPago México, al instante, 7 o 30 días, con distinta comisión).
  • Chargebacks: registra cuántos llegan y cuánto tarda cada proceso de disputa.
  • 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:

  1. Deja de crear nuevas suscripciones en Stripe (bloquea el flujo en tu app).
  2. 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.”
  3. Cuando la última suscripción activa de Stripe venza, ve a Stripe Dashboard → Settings → Team → Close account.
  4. Descarga todas las facturas emitidas por Stripe (Dashboard → Invoices → Export) — las vas a necesitar para contabilidad futura.
  5. 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 en Argentina/México/Brasil. Son un medio de pago muy usado en la región. Stripe México también ofrece meses sin intereses, así que si ya los tenías activos en Stripe y no los activas en MercadoPago, puedes perder conversión.

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. Las autoridades fiscales de LATAM piden conservar registros contables y comprobantes durante varios años. Si cerraste Stripe sin export, tendrás que pedirlos por soporte.

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, no esperes un ahorro grande en comisiones con tarjeta:

  • Tarjeta nacional: Stripe México cobra 3.6% + $3 MXN; MercadoPago México cobra 3.49% + $4 MXN + IVA con dinero al instante (menos si aceptas recibirlo a 7 o 30 días). En tickets de $500-2,000 MXN la diferencia es pequeña.
  • Efectivo y meses sin intereses: Stripe México también acepta OXXO (4% + $3 MXN) y meses sin intereses, así que la ventaja de MercadoPago no es tener esos métodos, sino su wallet, su marca conocida y su cobertura de medios locales en Sudamérica.
  • Aprobación y conversión: no hay una cifra universal. Mide la tasa de aprobación y la conversión de checkout durante el período paralelo (Paso 8) antes de decidir el corte.

Si los datos del período paralelo no muestran mejora, quedarte con Stripe (o usar ambos) puede ser la mejor decisión.

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

Comparativas relacionadas