Como funcionam
Quando um evento ocorre, a Liquera envia uma requisiçãoPOST para a URL que você cadastrou, com um payload JSON descrevendo o evento.
Se o seu servidor não retornar 2xx dentro do timeout (5 segundos), a Liquera fará até 3 tentativas com backoff exponencial (1 min, 2 min, 4 min…) antes de marcar a entrega como falha.
Estrutura do payload
Todo evento entregue pelo webhook segue o mesmo envelope:Verificação do secret
Cada requisição de webhook inclui dois headers de segurança:
Para validar que a requisição veio da Liquera, compare o
x-webhook-secret com o secret que você salvou ao criar o webhook.
Exemplo em Node.js
Eventos disponíveis
Cobranças
Payload do
charge.paid:
charge.refunded:
Saques
Payload do
withdraw.completed:
withdraw.failed:
Chave PIX
Payload:
Infrações
Wildcards
Se você criar um webhook sem especificar eventos, ele receberá todos os eventos automaticamente. Útil para logging geral ou durante desenvolvimento.Logs de entrega
Você pode consultar os logs das últimas 20 entregas de cada webhook viaGET /v1/webhooks/merchant. Cada log inclui:
- O payload enviado
- O status HTTP retornado pelo seu servidor
- O número de tentativas realizadas
- Se a entrega foi bem-sucedida
Boas práticas
- Retorne
200rapidamente: Processe o evento de forma assíncrona e retorne200 OKimediatamente. Operações lentas dentro do handler fazem o webhook atingir o timeout e ser reentregue. - Seja idempotente: É possível receber o mesmo evento mais de uma vez (retries). Use o
deliveryIdpara evitar processamento duplicado — salve-o no banco antes de processar. - Valide sempre o secret: Nunca processe um evento sem verificar o header
x-webhook-secret. - Monitore os logs: Consulte periodicamente os logs de entrega para garantir que todos os eventos estão sendo processados com sucesso.