Entenda como o sistema de webhooks da PayHub funciona e como receber notificações em tempo real sobre eventos da sua conta.
Webhooks são notificações HTTP enviadas automaticamente pela PayHub para a sua aplicação quando eventos importantes acontecem, como a captura de uma cobrança, um estorno ou um chargeback.
Em vez de consultar a API periodicamente para verificar mudanças (polling), você configura endpoints de webhook e a PayHub envia um POST com os dados do evento assim que ele ocorre.
HTTP POST para todos os endpoints ativos que estão inscritos nesse evento2xxVocê pode configurar quantos endpoints quiser. Cada endpoint possui:
| Campo | Descrição |
|---|---|
| URL | A URL que receberá as notificações via HTTP POST |
| Eventos | Lista de eventos que este endpoint recebe (ex: charge.captured, charge.refunded) |
| Secret | Chave HMAC-SHA256 exclusiva para verificar a autenticidade das notificações |
| Status | active (recebe notificações) ou paused (temporariamente desativado) |
Cada endpoint tem seu próprio secret. Isso permite que você integre com múltiplos sistemas, cada um com sua própria chave de verificação.
Todos os webhooks seguem a mesma estrutura de envelope, com o campo de dados variando conforme o tipo de evento:
{
"id": "uuid-do-delivery-log",
"event": "charge.captured",
"charge": { "..." },
"occurred_at": "2026-02-24T10:00:00.000Z"
}{
"id": "uuid-do-delivery-log",
"event": "submerchant.approved",
"submerchant": { "..." },
"occurred_at": "2026-03-30T14:00:00.000Z"
}{
"id": "uuid-do-delivery-log",
"event": "withdrawal.completed",
"withdrawal": { "..." },
"occurred_at": "2026-03-30T14:05:00.000Z"
}| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador único da entrega (delivery log) |
event | string | Nome do evento (ex: charge.captured, submerchant.approved, withdrawal.completed) |
charge | object | Dados da cobrança (presente em eventos charge.*) |
submerchant | object | Dados do submerchant (presente em eventos submerchant.*) |
withdrawal | object | Dados do saque (presente em eventos withdrawal.*) |
occurred_at | string | Data/hora em que o evento ocorreu (ISO 8601) |
Cada notificação inclui os seguintes headers:
| Header | Descrição |
|---|---|
Content-Type | application/json |
X-SoarLabz-Signature | Assinatura HMAC-SHA256 do payload (ex: sha256=abc123...) |
X-SoarLabz-Event | Nome do evento (ex: charge.captured) |
X-SoarLabz-Delivery-Id | ID único da entrega |
User-Agent | SoarLabz-Postback/1.0 |