Empezar gratis →
⚠️ Error conocido de Mercado Pago

IPN vs Webhooks: Mercado Pago - Guía Técnica

Entiende la diferencia entre IPN y webhooks de Mercado Pago para evitar errores y asegurar notificaciones correctas.

✅ Solución paso a paso

  1. Verificar configuración del dominio
  2. Asegurarse de que el dominio esté correctamente registrado en Mercado Pago.
  3. Revisar el archivo `.htaccess` para evitar conflictos con las peticiones de Mercado Pago.
  4. Implementar un sistema de retries con backoff exponencial para manejar errores temporales y timeouts.

¿Por qué ocurre este error?

El error surge porque IPN (Instant Payment Notification) es un protocolo HTTP POST legado, mientras que los webhooks son una comunicación bidireccional más moderna y eficiente. Si hay fallos en la conexión o timeouts, Mercado Pago puede devolver códigos HTTP 504 (Gateway Timeout) o 502 (Bad Gateway), provocando que la notificación no se procese correctamente.

Código de ejemplo

import crypto from 'node:crypto';
import express from 'express';
const app = express();

app.post('/webhook/mercadopago', express.json(), (req, res) => {
  const sig = req.headers['x-signature'] || '';
  const ts = sig.match(/ts=(\d+)/)?.[1];
  const v1 = sig.match(/v1=([a-f0-9]+)/)?.[1];
  const reqId = req.headers['x-request-id'];
  const data = `id:${req.body.data.id};request-id:${reqId};ts:${ts};`;
  const expected = crypto
    .createHmac('sha256', process.env.MP_WEBHOOK_SECRET)
    .update(data)
    .digest('hex');

  if (expected !== v1) return res.sendStatus(401);
  // Idempotencia: deduplicar por (data.id, action)
  res.sendStatus(200);
});

¿Cansado de manejar estos errores manualmente?

Comorando intercepta cada evento de Mercado Pago, ejecuta reintentos inteligentes y te avisa cuando hay un problema — sin que escribas una sola línea de código extra.

Automatizá tus pagos gratis →

Sin tarjeta de crédito · 250 eventos gratis · En vivo en 5 minutos