Error común al procesar pagos, causado por múltiples webhooks, afectando la integridad de las transacciones. Evítalo con configuración correcta.
El error 'Callback duplicado' en Mercado Pago surge cuando el sistema recibe múltiples notificaciones (webhooks) para la misma transacción. Esto suele ocurrir debido a la configuración incorrecta de los servidores, permitiendo que el webhook se active repetidamente. Normalmente, se ve reflejado en códigos HTTP 409 (Conflict) o 200 (OK) duplicados. La aplicación intenta procesar la misma transacción varias veces, generando inconsistencias.
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