Entiende el error 401 en webhooks de Mercado Pago y cómo solucionarlo para evitar interrupciones en tus procesos.
El error 401 'Unauthorized' en webhooks de Mercado Pago indica que la solicitud no ha sido autenticada correctamente. Esto suele ocurrir cuando la clave secreta (secret key) proporcionada en la solicitud no coincide con la clave secreta registrada en tu cuenta de Mercado Pago. El servidor de Mercado Pago devuelve este código HTTP para indicar que la solicitud no tiene autorización para acceder a los recursos solicitados. El sistema de Mercado Pago puede estar implementando un mecanismo de retry con un backoff exponencial, pero si la autenticación falla repetidamente, se produce el error 401.
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