Entiende el error de webhook sin datos y cómo solucionarlo para evitar retrasos en tus pagos.
Este error indica que Mercado Pago envía una notificación de webhook pero sin el contenido (payload) necesario para procesarla. Normalmente se manifiesta con un código HTTP 200 OK, pero sin datos en el cuerpo de la solicitud. Esto puede ocurrir por problemas de conectividad o configuraciones incorrectas en tu aplicación, provocando que el webhook se envíe vacío.
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