Respuesta Directa: Stripe Para Suscripciones, MercadoPago Para Pagos Únicos con OXXO
Nuestra recomendación basada en 35+ apps: Usa Stripe si tu modelo principal es suscripción mensual/anual con tarjeta. Usa MercadoPago si necesitas aceptar pagos en OXXO, transferencia SPEI, o tu mercado son PYMEs mexicanas que no usan tarjeta internacional. Idealmente, integra ambos.
En iAmanos estamos implementando pagos en varias apps. La decisión no fue obvia — cada plataforma tiene ventajas claras en contextos específicos. Este artículo es la guía que armamos después de evaluar ambas opciones para el mercado mexicano.
Comparativa Rápida: Stripe vs MercadoPago en México
Comisiones
- Stripe: 3.6% + $3 MXN por transacción con tarjeta mexicana. 4.5% + $3 MXN con tarjeta internacional.
- MercadoPago: 3.49% + $4 MXN por tarjeta. 3.45% por OXXO. Varía según volumen.
En transacciones de $500 MXN:
- Stripe: $21 MXN de comisión (4.2%)
- MercadoPago: $21.45 MXN de comisión (4.29%)
La diferencia de comisiones es marginal. La decisión NO debe basarse en fracciones de porcentaje sino en funcionalidad.
Métodos de pago
- Stripe: Tarjetas crédito/débito (Visa, Mastercard, Amex), OXXO (vía Stripe con opciones adicionales), Link (wallet de Stripe)
- MercadoPago: Tarjetas crédito/débito, OXXO, SPEI, wallet MercadoPago, efectivo en tiendas de conveniencia, meses sin intereses
Ganador en métodos de pago: MercadoPago — especialmente por SPEI directo y meses sin intereses, que son muy usados en México.
API y experiencia de desarrollo
- Stripe: La mejor API de pagos del mundo. Documentación impecable. SDKs oficiales en 10+ lenguajes. Stripe Elements para checkout embebido. Webhooks robustos.
- MercadoPago: API funcional pero con documentación irregular. Algunos endpoints tienen ejemplos desactualizados. El SDK de Node.js es estable pero menos pulido que Stripe.
Ganador en API: Stripe — por mucho. La diferencia de developer experience es abismal.
Stripe en México: Cómo Lo Usamos y Qué Aprendimos
Setup para México
Stripe opera legalmente en México. El proceso de activación:
- Crea cuenta en stripe.com
- Verifica identidad (INE/pasaporte)
- Conecta cuenta bancaria mexicana (CLABE)
- Espera aprobación (24-48 horas)
Una vez activo, puedes cobrar en MXN y recibir depósitos en tu cuenta mexicana. Los depósitos llegan cada 2 días hábiles.
Integración típica para SaaS
// Crear sesión de Stripe Checkout
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
export async function createCheckoutSession(priceId: string, customerId: string) {
const session = await stripe.checkout.sessions.create({
customer: customerId,
payment_method_types: ['card'],
line_items: [{ price: priceId, quantity: 1 }],
mode: 'subscription', // o 'payment' para compra única
success_url: `${process.env.NEXT_PUBLIC_URL}/success?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: `${process.env.NEXT_PUBLIC_URL}/pricing`,
});
return session.url;
}
Webhooks: el corazón de la integración
Stripe envía eventos vía webhooks cuando algo pasa: pago exitoso, suscripción cancelada, cobro fallido. Tu app debe escuchar y reaccionar:
// api/webhooks/stripe/route.ts
export async function POST(request: Request) {
const body = await request.text();
const signature = request.headers.get('stripe-signature')!;
const event = stripe.webhooks.constructEvent(
body, signature, process.env.STRIPE_WEBHOOK_SECRET!
);
switch (event.type) {
case 'checkout.session.completed':
// Activar suscripción del usuario
break;
case 'customer.subscription.deleted':
// Desactivar acceso del usuario
break;
case 'invoice.payment_failed':
// Notificar al usuario que su pago falló
break;
}
}
Cuándo elegir Stripe
- Tu modelo principal es suscripción mensual/anual
- Tus clientes tienen tarjeta de crédito/débito
- Necesitas cobrar en múltiples monedas (clientes internacionales)
- Valoras la experiencia de desarrollo y documentación
- Necesitas webhooks robustos para automatización
MercadoPago en México: El Poder del OXXO y SPEI
Por qué importa OXXO
Según datos del INEGI, el 48% de los mexicanos adultos no tienen cuenta bancaria. Eso significa que casi la mitad de tu mercado potencial no puede pagar con tarjeta. Si solo aceptas Stripe (tarjeta), estás excluyendo al 48% de México.
OXXO procesa millones de pagos diarios. El flujo: tu app genera un código de barras, el cliente va al OXXO, paga en efectivo, y tu app recibe la confirmación vía webhook en minutos.
Integración con Checkout Pro
MercadoPago Checkout Pro es la forma más rápida de integrar. Redirige al usuario a la página de MercadoPago donde puede elegir su método de pago:
import { MercadoPagoConfig, Preference } from 'mercadopago';
const client = new MercadoPagoConfig({
accessToken: process.env.MERCADOPAGO_ACCESS_TOKEN!
});
export async function createPreference(items: any[]) {
const preference = new Preference(client);
const result = await preference.create({
body: {
items: items.map(item => ({
title: item.name,
unit_price: item.price,
quantity: 1,
currency_id: 'MXN',
})),
back_urls: {
success: `${process.env.NEXT_PUBLIC_URL}/success`,
failure: `${process.env.NEXT_PUBLIC_URL}/failure`,
pending: `${process.env.NEXT_PUBLIC_URL}/pending`,
},
auto_return: 'approved',
},
});
return result.init_point; // URL de checkout
}
Meses sin intereses
MercadoPago permite ofrecer meses sin intereses con tarjetas participantes. Esto es un diferenciador enorme para ventas de alto valor en México. Un SaaS de $11,999 MXN (como la licencia de WouWou) se vuelve más accesible a $1,000 MXN por 12 meses sin intereses.
Cuándo elegir MercadoPago
- Tu mercado incluye personas sin tarjeta bancaria (OXXO es crítico)
- Vendes productos de alto valor que se benefician de meses sin intereses
- Tu público son PYMEs mexicanas acostumbradas al ecosistema MercadoLibre
- Necesitas transferencia SPEI como método de pago
- Tu app es marketplace y necesitas split payments
El Problema de la Facturación: CFDI No Viene con Ninguno
Ni Stripe ni MercadoPago generan CFDIs. Si vendes a empresas mexicanas (B2B), te van a pedir factura. Es ley. Y necesitas resolverlo con un tercero:
Opciones de CFDI
- Facturama: API REST limpia. Desde $1,500 MXN/mes. Genera CFDI 4.0 con todos los campos SAT. Tiene sandbox para pruebas.
- Factura.com: Interfaz web más amigable. Similar en precio. API funcional.
- Multifacturas: Opción económica. Menos features de API pero cumple lo básico.
Flujo de facturación automatizado
- Cliente paga (Stripe o MercadoPago)
- Webhook confirma el pago
- Si el cliente proporcionó datos fiscales → genera CFDI vía Facturama API
- Envía CFDI por email al cliente automáticamente
- Si no proporcionó datos → genera CFDI de público en general (o espera solicitud)
El punto crítico: captura los datos fiscales ANTES del pago. RFC, razón social, régimen fiscal, código postal fiscal, uso CFDI. Si no los tienes al momento del pago, generar la factura después es un proceso manual doloroso.
La Mejor Opción: Integrar Ambos
Para maximizar tu mercado en México, integra ambos procesadores de pago:
- Stripe: Suscripciones mensuales/anuales con tarjeta. Checkout embebido para UX fluida.
- MercadoPago: Compras únicas, OXXO, SPEI, meses sin intereses. Checkout redirigido.
En la página de pricing de tu SaaS, ofreces ambas opciones: “Paga con tarjeta” (Stripe) y “Paga con OXXO, SPEI o MercadoPago” (MercadoPago). El usuario elige.
Sí, es más trabajo de integración (dos webhooks, dos dashboards, reconciliación). Pero el acceso a más clientes lo justifica ampliamente.
Testing de Pagos: Cómo Probar Sin Perder Dinero
Stripe sandbox
Stripe tiene el mejor sandbox de la industria. Usa la tarjeta de prueba 4242 4242 4242 4242 con cualquier fecha futura y CVC. Los webhooks de sandbox son idénticos a los de producción. Para testing local usa Stripe CLI: stripe listen --forward-to localhost:3000/api/webhooks/stripe.
MercadoPago sandbox
MercadoPago requiere crear usuarios de prueba (vendedor y comprador) en su panel de developer. El sandbox es funcional pero tiene quirks: algunos errores del sandbox no existen en producción y viceversa. Siempre prueba con un pago real de $1 MXN antes de ir live.
Nuestro checklist pre-launch de pagos
- Flujo completo de compra en sandbox (checkout → pago → webhook → activación)
- Manejo de pago fallido (tarjeta rechazada, fondos insuficientes)
- Cancelación de suscripción (webhook → desactivación con período de gracia)
- Cobro fallido en suscripción recurrente (3 reintentos → suspensión)
- Reembolso parcial y total
- Generación de CFDI post-pago (si aplica)
- Pago real de $1 MXN en producción para verificar que todo fluye correctamente
Este checklist nos ha salvado de ir a producción con bugs de pago en múltiples ocasiones. Un bug en el flujo de pagos no solo pierde dinero — pierde la confianza del cliente para siempre.
Errores Comunes al Integrar Pagos en México
Error 1: No manejar el estado “pendiente” de OXXO
Cuando un usuario elige pagar en OXXO, el pago no se confirma inmediatamente. El usuario recibe un código de barras y tiene entre 24 y 72 horas para ir a pagar. Tu app debe manejar este estado intermedio: mostrar “Pago pendiente”, enviar recordatorio si no paga en 24h, y cancelar la reserva si no paga en el plazo límite. Muchos devs tratan el pago como binario (pagado/no pagado) y se olvidan del estado pendiente.
Error 2: No considerar los impuestos en el precio
En México, los precios al consumidor deben incluir IVA (16%). Si muestras $377/mes en tu pricing page pero cobras $377 + IVA = $437, vas a tener clientes enojados. Define desde el inicio si tus precios son con IVA incluido o sin IVA, y muéstralo claramente.
Error 3: Hardcodear precios en el frontend
Los precios deben venir de Stripe/MercadoPago, no estar hardcodeados en tu React. Si cambias el precio de un plan en el dashboard del procesador pero olvidas actualizarlo en tu frontend, muestras un precio diferente al que cobras. Siempre consulta los precios vía API.
Error 4: No tener página de billing dentro de la app
Tus clientes necesitan poder ver sus facturas, cambiar de plan, actualizar método de pago, y cancelar — todo desde dentro de la app. Stripe Customer Portal resuelve esto con una línea de código. Sin ello, cada cambio de billing es un ticket de soporte manual.
Si necesitas un SaaS con pagos integrados para el mercado mexicano, en iAmanos lo construimos con ambos procesadores. Cotiza tu proyecto aquí.
Preguntas Frecuentes
¿Stripe acepta pagos en OXXO?
Sí, Stripe agregó soporte para OXXO en México. Sin embargo, MercadoPago tiene la experiencia más madura en pagos OXXO con mayor adopción entre comercios mexicanos. Ambos funcionan, pero MercadoPago es el estándar de facto para OXXO.
¿Cuánto tarda en llegar el dinero a mi cuenta?
Stripe deposita cada 2 días hábiles en tu cuenta bancaria mexicana. MercadoPago deposita al instante en tu wallet de MercadoPago, y el retiro a cuenta bancaria tarda 1-2 días hábiles.
¿Necesito RFC para usar Stripe o MercadoPago?
Para operar como empresa, sí. Para recibir pagos necesitas un RFC activo en el SAT. Stripe y MercadoPago requieren verificación de identidad y datos fiscales como parte del onboarding.
¿Puedo usar ambos procesadores en la misma app?
Sí, y es lo que recomendamos. Stripe para suscripciones con tarjeta y MercadoPago para pagos únicos con OXXO/SPEI. Cada procesador tiene su webhook endpoint y dashboard independiente.
¿MercadoPago soporta suscripciones recurrentes?
Sí, MercadoPago tiene un producto de suscripciones. Sin embargo, la experiencia de API y la robustez de webhooks es significativamente inferior a Stripe Billing. Para suscripciones complejas (upgrades, downgrades, proration), Stripe es muy superior.



