Volver al blog

5 consejos esenciales de seguridad para webhooks

Los webhooks entregan notificaciones de pago en tiempo real directamente a tu servidor. Pero, si no se implementan con cuidado, pueden convertirse en una vulnerabilidad. Estas son cinco prácticas esenciales.

1. Verifica siempre la firma

Cada webhook de InzoPay incluye una cabecera InzoPay-Signature con una firma HMAC-SHA256. Verifícala siempre con el secreto de firma de tu endpoint antes de procesar el evento. Consulta nuestra guía de verificación de firmas.

2. Comprueba la marca de tiempo

Verifica que la marca de tiempo del webhook (t=) esté a menos de 5 minutos de la hora actual. Así evitas los ataques de repetición, en los que un atacante reenvía un webhook capturado.

3. Devuelve 200 rápidamente

Procesa los webhooks de forma asíncrona. Devuelve de inmediato una respuesta 200 y gestiona el evento en segundo plano. Si tu servidor tarda más de 10 segundos, InzoPay considerará fallida la entrega.

4. Gestiona los eventos duplicados

Por los reintentos, tu endpoint puede recibir el mismo evento más de una vez. Usa el ID del evento (event.id) para lograr idempotencia: no vuelvas a procesar un evento que ya gestionaste.

5. Usa solo HTTPS

InzoPay solo entrega webhooks a endpoints HTTPS. Nunca uses HTTP en los endpoints de webhook en producción.