Detecta y corrige el error 'IPN no Recibido' en Mercado Pago, causante de fallos en la actualización de pagos.
El error 'IPN no Recibido' se produce generalmente por problemas de conectividad entre tu servidor y los servidores de Mercado Pago, resultando en códigos de error HTTP como 404 (No Encontrado) o 500 (Error Interno del Servidor). Además, fallos en la configuración del webhook o problemas de firewall pueden impedir la correcta recepción y procesamiento de las notificaciones.
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);
});
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