Inicio Hosting WordPress SEO Marketing VacaWeb.com 🚀 Hosting desde $85 MXN/mes
eCommerce

Métodos de Pago para Tiendas en Línea en México: SPEI, OXXO, Tarjetas y Más

1 Sep 2025 13 min de lectura VacaWeb Blog

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 pagoPenetración en MXComisión promedioTiempo de acreditación
Tarjeta de crédito/débito42% de adultos2.9-3.6% + $3 MXNInmediato
OXXO Pay (efectivo)85% (cobertura OXXO)$10-15 MXN fijo24-48 horas hábiles
SPEI/Transferencia bancaria60% de bancarizados$8-15 MXNMinutos (24/7)
CoDi (QR bancario)Creciendo (18M usuarios)GratisInmediato
PayPalUsuarios con tarjeta3.4% + tarifaInmediato
Mercado PagoAlta penetración online2.99% estándarInmediato/2 días
💳
Checkout multi-método de pago para ecommerce mexicano: el usuario puede elegir tarjeta (Conekta), OXXO Pay (código de barras), SPEI (clabe interbancaria) o Mercado Pago. Ofrecer estos 4 métodos captura el 92% de los compradores potenciales en México.

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';
}
Advertencia: Nunca proceses pagos en base al resultado del redirect de vuelta al sitio (el return_url de OXXO o SPEI). Cualquier usuario podría manipular esos parámetros. Siempre confirma los pagos via webhook desde el servidor de la pasarela de pago, verificando la firma criptográfica del payload.
Tip: En México, ofrecer 3 meses de mensualidades sin intereses (MSI) en tarjetas de crédito puede aumentar el valor promedio del carrito en un 35-60%. Conekta, Stripe y Mercado Pago soportan MSI con los principales bancos mexicanos (Banamex, BBVA, Banorte, HSBC, Santander).

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

ErrorSíntomaCausaSolución
card_declinedPago rechazado al cliente3DS2 no implementadoHabilitar 3D Secure en dashboard Conekta
Webhook no llegaPedido queda pendienteFirewall bloqueando IPWhitelist IPs de Conekta/MP en servidor
OXXO sin confirmarPedido sin procesarWebhook no configuradoRegistrar endpoint en panel del proveedor
Doble cobroCliente paga dos vecesSin idempotency keyUsar idempotency key única por orden
SSL caducadoCheckout bloqueadoCertificado vencidoRenovar 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á.

👨‍💻
Juan Vaca
Cloud Infrastructure Expert & Founder de VacaWeb

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.

Compartir: