Documentação

Webhookscom exemplos prontos para copiar

Cadastre uma URL e receba eventos de liquidação, falha e conciliação. Cada envio é assinado para você validar a origem.

O que você precisa saber

  • Eventos: batch.processing, batch.paid, payment.paid, payment.failed, receipt.available.
  • O header X-Unifica-Signature traz HMAC SHA-256 do corpo bruto com o seu segredo.
  • Retentativas com backoff exponencial por até 24 horas até receber um 2xx.
POST/v1/webhooks

Registra uma URL de notificação

Cadastra o endpoint e devolve o segredo usado para assinar os envios.

Request, cURLbash
curl -X POST https://api.unificapay.com.br/v1/webhooks \
  -H "Authorization: Bearer sk_live_9a71..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://erp.suaempresa.com.br/hooks/unifica",
    "events": ["batch.paid", "payment.failed", "receipt.available"]
  }'
Response, 201 Createdjson
{
  "id": "whk_3ab920",
  "url": "https://erp.suaempresa.com.br/hooks/unifica",
  "events": ["batch.paid", "payment.failed", "receipt.available"],
  "secret": "whsec_7f1b0c48d2...",
  "status": "active"
}
POSTseu-endpoint

Exemplo de evento recebido

Formato do corpo enviado pela Unifica para o seu endpoint.

Request, Headersbash
POST /hooks/unifica HTTP/1.1
Content-Type: application/json
X-Unifica-Event: payment.paid
X-Unifica-Delivery: dlv_44f0a7
X-Unifica-Signature: t=1785154204,v1=8b1f0c...
Response, Corpo do eventojson
{
  "id": "evt_6c72d1",
  "type": "payment.paid",
  "created_at": "2026-07-30T13:30:05Z",
  "data": {
    "batch_id": "bat_71ce03",
    "external_id": "nf-10238",
    "amount": 358900,
    "receipt_id": "rcp_9d31f0"
  }
}