Solución a problemas de notificaciones de pago fallidas en tu web. Descubre la causa y cómo resolverlo rápidamente.
Este error indica que Mercado Pago no está enviando las notificaciones de pago (push) a tu web. Generalmente, se debe a problemas de conectividad o a un tiempo de espera (timeout) en la recepción de los datos. El servidor web puede estar retornando un código HTTP 504 (Gateway Timeout) o un 502 (Bad Gateway) si no puede acceder a la API de Mercado Pago. La solución implica implementar una lógica de reintento (retry) con un backoff exponencial para manejar estos timeouts.
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