# `pix.paid`

Pix pago.

A Kernos faz o POST no endereço cadastrado no webhook da conexão. Responda 2xx em até 10 s; sem isso, ela tenta de novo com espera crescente (30 s × 2ⁿ, até 1 h) por 3 dias. Confira a `Kernos-Signature` antes de confiar no corpo.

## Cabeçalhos

- `Kernos-Signature` (string, obrigatório): `t=<unix>,v1=<hex>`, com `v1 = HMAC-SHA256(webhook_secret, "<t>.<corpo>")`. Recuse `t` velho: barra o replay.
- `Kernos-Event-Id` (uuid, obrigatório): O id do evento: o mesmo em cada nova tentativa. Use para não processar duas vezes.

## Corpo

- `created_at` (data e hora, obrigatório)
- `data` (objeto, obrigatório)
  - `amount` (integer, ou nulo): Em centavos.
  - `end_to_end_id` (string, ou nulo): O identificador do Pix no Banco Central.
  - `paid_at` (data e hora, ou nulo)
  - `partner` (string): A adquirente que confirmou (`rede`).
  - `reference` (string, ou nulo): A referência que a Kernos mandou ao criar a cobrança.
  - `tid` (string)
  - `txid` (string, ou nulo)
- `id` (uuid, obrigatório): O id do fato, igual ao `Kernos-Event-Id`.
- `object` (objeto, obrigatório)
  - `id` (uuid)
  - `type` ("partner_notice")
- `tenant` (string, obrigatório): A empresa, pelo endereço (`minha-empresa` em `minha-empresa.kernos.com.br`).
- `type` ("pix.paid", obrigatório)

## Exemplo

A forma do corpo, sem dado real.

**pix.paid**

```json
{
  "created_at": "2026-10-03T12:00:00Z",
  "data": {
    "amount": 0,
    "end_to_end_id": "…",
    "paid_at": "2026-10-03T12:00:00Z",
    "partner": "…",
    "reference": "…",
    "tid": "…",
    "txid": "…"
  },
  "id": "3f1e0c8a-5b7d-4c21-9a3e-0b1c2d3e4f50",
  "object": {
    "id": "3f1e0c8a-5b7d-4c21-9a3e-0b1c2d3e4f50",
    "type": "partner_notice"
  },
  "tenant": "…",
  "type": "pix.paid"
}
```
