Entiende y soluciona el error 'Evento sin Payload' en Mercado Pago, un problema común en webhooks y notificaciones. Aprende a diagnosticar y prevenirlo.
Este error indica que Mercado Pago está enviando un webhook, pero el cuerpo de la solicitud HTTP está vacío. Esto suele ocurrir debido a problemas de red, timeouts o errores en el procesamiento del webhook en tu servidor, resultando en una respuesta HTTP 200 OK con un cuerpo vacío. Implementa un mecanismo de retry con backoff exponencial para manejar estos fallos transitorios.
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