Métodos de Pago para Tiendas en Línea en México: SPEI, OXXO, Tarjetas y Más
México tiene uno de los ecosistemas de pagos digitales más peculiares de América Latina: el 58% de la población adulta no tiene cuenta bancaria, OXXO procesa millones de pagos en efectivo diariamente, y los pagos con CoDi (QR) crecen 300% año a año. Integrar correctamente los métodos de pago adecuados para México puede incrementar tu tasa de conversión en un 40%.
Mapa del ecosistema de pagos en México 2025
| Método de pago | Penetración en MX | Comisión promedio | Tiempo de acreditación |
|---|---|---|---|
| Tarjeta de crédito/débito | 42% de adultos | 2.9-3.6% + $3 MXN | Inmediato |
| OXXO Pay (efectivo) | 85% (cobertura OXXO) | $10-15 MXN fijo | 24-48 horas hábiles |
| SPEI/Transferencia bancaria | 60% de bancarizados | $8-15 MXN | Minutos (24/7) |
| CoDi (QR bancario) | Creciendo (18M usuarios) | Gratis | Inmediato |
| PayPal | Usuarios con tarjeta | 3.4% + tarifa | Inmediato |
| Mercado Pago | Alta penetración online | 2.99% estándar | Inmediato/2 días |
Integrar OXXO Pay con Conekta en WooCommerce
<?php
// Crear un cargo OXXO Pay usando la API REST de Conekta directamente
// (Útil para plataformas fuera de WooCommerce)
function crear_cargo_oxxo($monto_centavos, $nombre_cliente, $email_cliente) {
$api_key = getenv('CONEKTA_PRIVATE_KEY'); // key_XXXXXXXXXXXXXXXXXX
$payload = [
'currency' => 'MXN',
'customer_info' => [
'name' => $nombre_cliente,
'email' => $email_cliente,
'phone' => '+5255XXXXXXXX',
],
'line_items' => [[
'name' => 'Hosting Web VacaWeb',
'unit_price' => $monto_centavos,
'quantity' => 1,
]],
'charges' => [[
'payment_method' => [
'type' => 'oxxo_cash',
'expires_at' => strtotime('+3 days'), // UNIX timestamp
],
]],
];
$ch = curl_init('https://api.conekta.io/orders');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
'Accept: application/vnd.conekta-v2.1.0+json',
'Content-Type: application/json',
'Authorization: Basic ' . base64_encode($api_key . ':'),
],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
// Extraer el número de referencia OXXO
$referencia = $response['charges']['data'][0]['payment_method']['reference'] ?? null;
return [
'orden_id' => $response['id'],
'referencia_oxxo' => $referencia,
'vence' => date('Y-m-d H:i', $response['charges']['data'][0]['payment_method']['expires_at']),
];
}
// Ejemplo de uso:
$cargo = crear_cargo_oxxo(
monto_centavos: 8000, // $80 MXN = 8000 centavos
nombre_cliente: 'Juan García',
email_cliente: 'juan@empresa.com.mx'
);
echo "Referencia OXXO: " . $cargo['referencia_oxxo'];
?>
Webhooks: confirmar pagos automáticamente
<?php
// Endpoint para recibir confirmaciones de pago de Conekta
// URL: https://tudominio.com.mx/webhooks/conekta/
// Verificar la firma del webhook (seguridad)
function verificar_firma_conekta($payload, $firma_recibida, $secreto_webhook) {
$firma_calculada = hash_hmac('sha256', $payload, $secreto_webhook);
return hash_equals($firma_calculada, $firma_recibida);
}
$payload = file_get_contents('php://input');
$firma = $_SERVER['HTTP_SIGNATURE'] ?? '';
$secreto = getenv('CONEKTA_WEBHOOK_SECRET');
if (!verificar_firma_conekta($payload, $firma, $secreto)) {
http_response_code(401);
die('Firma invalida');
}
$evento = json_decode($payload, true);
// Procesar pagos confirmados
if ($evento['type'] === 'order.paid') {
$orden_id = $evento['data']['object']['id'];
$monto = $evento['data']['object']['amount'] / 100; // centavos a pesos
// Activar el servicio, actualizar la BD, enviar correo de confirmación
activar_servicio_hosting($orden_id);
enviar_credenciales_cliente($orden_id);
// Registrar en la BD
$wpdb->insert('wp_pagos_conekta', [
'orden_id' => $orden_id,
'monto' => $monto,
'fecha_pago' => current_time('mysql'),
'metodo' => $evento['data']['object']['charges']['data'][0]['payment_method']['type'],
]);
http_response_code(200);
echo 'OK';
}
Escenarios Prácticos: Pagos en eCommerce Mexicano
Escenario 1 — Tienda de moda con clientes 35+ años sin tarjeta de crédito: El 49% de mexicanos adultos no tiene tarjeta de crédito. OXXO Pay es esencial. Integración con WooCommerce vía Conekta:
// En functions.php de tu tema WordPress
add_filter('woocommerce_payment_gateways', function($gateways) {
$gateways[] = 'WC_Conekta_Oxxo_Gateway';
return $gateways;
});
// La referencia OXXO se genera automáticamente y expira en 3 días
// Conekta notifica via webhook cuando el pago se confirma
Escenario 2 — Plataforma B2B con tickets de $50,000+ MXN: Transferencia SPEI es el método preferido para B2B mexicano. Sin comisión para el cliente, liquidación en minutos. Integra Banwire o OpenPay para SPEI automático con conciliación bancaria y generación de CLABE dinámica por pedido.
Errores Comunes en Pasarelas de Pago México
| Error | Síntoma | Causa | Solución |
|---|---|---|---|
card_declined | Pago rechazado al cliente | 3DS2 no implementado | Habilitar 3D Secure en dashboard Conekta |
| Webhook no llega | Pedido queda pendiente | Firewall bloqueando IP | Whitelist IPs de Conekta/MP en servidor |
| OXXO sin confirmar | Pedido sin procesar | Webhook no configurado | Registrar endpoint en panel del proveedor |
| Doble cobro | Cliente paga dos veces | Sin idempotency key | Usar idempotency key única por orden |
| SSL caducado | Checkout bloqueado | Certificado vencido | Renovar SSL y habilitar auto-renovación |
Preguntas Frecuentes sobre Pagos en México
¿Cuál pasarela tiene menor comisión en México?
Comisiones aproximadas (2025): Conekta 2.9% + $3.50 MXN, Mercado Pago 3.49% + $4 MXN (tarjeta), OpenPay 2.9% + $2.50 MXN, Clip 3.6% (solo físico). OXXO cobra comisión fija ~$13-15 MXN por transacción independiente del monto. Para eCommerce de alto volumen, negocia tarifas directamente con el proveedor.
¿Stripe funciona bien en México?
Stripe Mexico está disponible desde 2019. Acepta tarjetas nacionales e internacionales con muy buenas tasas de aprobación. No soporta OXXO ni SPEI nativamente (lo agrega Conekta). Ideal para negocios que venden a clientes mexicanos e internacionales por su motor antifraude Radar.
¿Cómo reducir transacciones rechazadas?
Implementa 3DS2 (autenticación bancaria adicional que reduce fraude). Muestra el nombre de tu empresa claramente en el cargo del estado de cuenta. Ofrece múltiples métodos de pago. Los rechazos bancarios en México tienen tasa promedio del 15-25%; con 3DS2 bien implementado baja al 8-12%.
¿Necesito cuenta bancaria empresarial para recibir pagos?
Mercado Pago acepta personas físicas con RFC. Conekta y Stripe requieren empresa o actividad empresarial ante el SAT. Para empezar rápido, Mercado Pago es más accesible. Para volumen mayor a $50,000 MXN/mes, conviene formalizar con cuenta empresarial por mejores condiciones y retiros más rápidos.
¿Cómo emitir CFDI automáticamente tras cada venta?
Integra la API de Facturama, Facturapi o SW Sapien en tu plataforma. Cuando el webhook de tu pasarela confirma el pago, disparas la creación del CFDI con los datos del cliente. WooCommerce tiene plugins como "CFDI para WooCommerce" que automatizan esto con configuración mínima.
El Futuro de los Pagos Digitales en México
El ecosistema de pagos mexicano está evolucionando aceleradamente. CoDi (Cobro Digital) del Banco de México permite transferencias instantáneas sin comisión entre cuentas bancarias, disponible las 24 horas. DiMo (Dinero Móvil), su sucesor en 2023, permite transferir usando el número de teléfono como identificador. Para eCommerce, estas opciones complementan a OXXO y SPEI como alternativas para el segmento de usuarios bancarizados que prefieren no usar tarjeta en línea. Integrar CoDi vía API de tu banco o a través de agregadores como OpenPay posiciona tu tienda a la vanguardia de los medios de pago en México para 2025 y más allá.
📚 Profundiza en estos temas
- Configurar WooCommerce para México: pasarelas de pago y IVA 16%
- Crear una tienda en línea en México: plataformas y costos reales
- SSL obligatorio para tiendas en línea: proteger los datos de pago
- Facturación electrónica SAT: integrar CFDI en tu ecommerce mexicano
- Seguridad en WooCommerce: proteger los datos de tarjetas de clientes
Fundador de VacaWeb con más de 15 años administrando infraestructura Linux en producción. Especialista en LiteSpeed, CloudLinux, cPanel/WHM y arquitectura de hosting de alto rendimiento para el mercado mexicano. Ha diseñado y migrado la infraestructura de más de 1,200 sitios web empresariales.