Entiende y resuelve el error 'Push timeout' en Mercado Pago, relacionado con webhooks y notificaciones fallidas. Evita retrasos en las transacciones.
El error 'Push timeout' en Mercado Pago indica que el servidor no recibió la notificación del webhook dentro del tiempo límite establecido (normalmente 60 segundos). Esto suele ocurrir debido a la latencia de la red o a la sobrecarga del servidor de Mercado Pago. El código HTTP asociado suele ser 504 Gateway Timeout. Implementar una lógica de retry con backoff exponencial puede mitigar este problema.
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