Skip to content

Webhooks

Los webhooks te permiten recibir notificaciones en tiempo real sobre eventos importantes en tu cuenta. Cuando ocurre un evento, nuestro sistema enviará una solicitud HTTP POST a la URL que hayas configurado.

  1. Ingresa al panel administrativo de tu cuenta de Vesvank y navega a la sección Webhooks en el menú lateral.
  2. Haz clic en en el botón Configurar.
  3. Ingresa la URL a la que deseas que lleguen los eventos. Esta URL debe aceptar solicitudes HTTP POST.
  4. Activa el webhook usando el interruptor o botón de Habilitar.
  5. Una vez habilitado, se mostrará el Webhook Secret. Este secreto es fundamental para verificar la autenticidad de las firmas de los webhooks que recibas.
Evento Descripción
payment_request.paid Enviado cuando una solicitud de pago se marca como pagada

Cada solicitud webhook incluye una firma HMAC-SHA256 en el encabezado X-Webhook-Signature. Debes verificar esta firma para asegurarte de que la solicitud proviene exclusivamente de Vesvank.

// Ejemplo de verificación en JavaScript/Node.js
const crypto = require('crypto');
function verifySignature(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(JSON.stringify(payload))
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signature)
);
}
// Ejemplo de uso en Express.js
app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
const signature = req.headers['x-webhook-signature'];
const rawBody = req.body; // Buffer
if (!verifySignature(rawBody, signature, process.env.WEBHOOK_SECRET)) {
return res.status(401).json({ error: 'Invalid signature' });
}
// Procesar el webhook...
res.status(200).json({ received: true });
});
  • Los webhooks fallidos se reintentarán automáticamente hasta 3 veces
  • El intervalo entre reintentos es de 5 minutos
  • Después de 3 intentos fallidos, el evento se marcará como fallido permanentemente
  • Responde con un código de estado 200 lo más rápido posible
  • Procesa los eventos de forma asíncrona en tu servidor
  • Mantén un registro de los eventos recibidos
  • Implementa manejo de errores robusto
  • Verifica siempre la firma del webhook

Puedes configurar una URL de prueba en tu cuenta con eventos simulados. Para facilitar el desarrollo y pruebas locales, recomendamos exponer tu servidor local usando ngrok u otra herramienta similar. Así podrás recibir webhooks en tu entorno de desarrollo sin exponer tu infraestructura real.