Webhooks

Receber webhook

Como receber notificações de mudança de status no seu servidor.

Vanilla Pag envia um POST JSON ao webhook configurado no projeto sempre que uma transação muda de status. O corpo é assinado com HMAC-SHA256 usando o `webhook_secret` da credencial — verifique o header `X-Signature` antes de processar o evento. Em caso de falha (resposta não-2xx ou timeout > 10s), tentamos de novo com backoff: 30s, 2min, 8min, 30min, 2h.

Endpoint

POST (seu endpoint)

Headers

HeaderValor
Content-Type application/json
User-Agent VanillaPag-Webhooks/1.0
X-Event PAID
X-Transaction-Id tx_2sQfgT…
X-Signature sha256=<hmac-hex>

Request body

FieldTypeDescription
id string ID da transação.
status string Novo status: PAID, REFUNDED, EXPIRED, CANCELLED, REFUSED.
amount integer Valor em centavos.
payment_method string Sempre `pix` nesta versão.
customer.name string Nome do cliente final.
customer.email string E-mail do cliente final.
customer.phone string Telefone do cliente, se informado no create.
customer.document string CPF ou CNPJ do cliente.
pix.qr_code string Payload PIX copia-e-cola usado na cobrança.
pix.end2end_id string Identificador end-to-end do PIX (nulo enquanto não confirmado).
paid_at string ISO 8601. Preenchido quando `status = PAID`.
created_at string ISO 8601. Quando a cobrança foi criada.
updated_at string ISO 8601. Última mudança de status.
metadata object Objeto reservado para uso futuro.

Example

Request

{
  "id": "tx_2sQfgT...",
  "status": "PAID",
  "amount": 1990,
  "payment_method": "pix",
  "customer": {
    "name": "Cliente Exemplo",
    "email": "[email protected]",
    "phone": "",
    "document": "12345678901"
  },
  "pix": {
    "qr_code": "00020126410014BR.GOV.BCB.PIX...",
    "end2end_id": null
  },
  "paid_at": "2026-05-27T17:24:11Z",
  "metadata": {},
  "created_at": "2026-05-27T17:20:02Z",
  "updated_at": "2026-05-27T17:24:11Z"
}