Solución a errores 500 en Mercado Pago, causados por problemas en la recepción y procesamiento de webhooks y notificaciones IPN.
El error 500 en Mercado Pago generalmente indica un fallo interno del servidor al procesar la notificación. Esto puede ser debido a un problema de conectividad, un error en el código de tu aplicación que maneja la notificación, o un problema temporal en los servidores de Mercado Pago. A menudo, se manifiesta como un código HTTP 500, indicando que el servidor no pudo completar la solicitud. El sistema de retry de Mercado Pago puede intentar reintentar la notificación, pero si el problema persiste, es necesario investigar.
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