> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autorizou.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook de Venda no Terminal

> O payload que você recebe quando uma venda presencial acontece — o bloco pos

Toda venda presencial — seja iniciada **na maquininha** (o operador passa o cartão) ou **pela sua
aplicação** ([criando a venda](/api-reference/pos/create-pos-sale)) — chega a você pelos **mesmos
eventos de webhook** de uma venda comum, acrescidos de um bloco **`pos`** que identifica o terminal.

Esta página é a referência desse payload. Para configurar a entrega e assinar eventos, veja
[Configuração de Webhooks](/api-reference/webhooks/configuration).

## Como reconhecer uma venda presencial

<Note>
  A venda de maquininha se reconhece pela **presença do bloco `pos`** no payload. Venda online não
  tem esse bloco; o resto do payload é idêntico.
</Note>

Uma venda presencial dispara os eventos normais de pagamento — no fluxo feliz,
[`payment.created`](/api-reference/webhooks/events) seguido de
[`payment.authorized`](/api-reference/webhooks/events).

## O bloco `pos`

<ResponseField name="pos.terminal.code" type="string">
  Código do terminal onde a venda aconteceu. É a chave para conciliar a venda com o aparelho e com o
  ponto de venda.
</ResponseField>

<ResponseField name="pos.terminal.serial_number" type="string">
  Número de série do aparelho.
</ResponseField>

<ResponseField name="pos.terminal.model" type="string">
  Modelo do aparelho.
</ResponseField>

## Exemplo de payload

```json theme={null}
{
  "event": "payment.authorized",
  "data": {
    "uuid": "AUTOCC01KW2P8M4Q7K3M9QP",
    "status": "authorized",
    "amount": 5200,
    "external_reference": "PEDIDO-8842",
    "payment": {
      "payment_method": "credit_card",
      "installments": 3
    },
    "pos": {
      "terminal": {
        "code": "POI0X9Q2T7K",
        "serial_number": "S123456",
        "model": "AMS1"
      }
    }
  }
}
```

## Divisão da venda (split)

Uma venda presencial dividida entre franqueadora e o recebedor dono do terminal traz também o bloco
**`split`** no mesmo payload — a divisão **realizada**, no centavo. O terminal é o **canal** que
determinou a regra: concilie amarrando `pos.terminal.code` (o aparelho) às fatias em `split`.

<Note>
  O `split` do POS é o mesmo bloco de qualquer venda — contrato único. Campos e exemplo em
  [Split de Pagamento → Split realizado no retorno](/casos-uso/split-pagamento#split-realizado-no-retorno-o-que-você-recebe).
</Note>

## Eventos de reverso

Cancelamento, reembolso e contestação de uma venda presencial chegam pelos **mesmos eventos de
reverso** de qualquer venda. A origem presencial continua reconhecível pelo bloco `pos` no payload.

| Reverso                  | Evento                                                           | Estado final         |
| ------------------------ | ---------------------------------------------------------------- | -------------------- |
| Cancelamento             | [`payment.canceled`](/api-reference/webhooks/events)             | `canceled`           |
| Reembolso total          | [`payment.refunded`](/api-reference/webhooks/events)             | `refunded`           |
| Reembolso parcial        | [`payment.refunded`](/api-reference/webhooks/events)             | `refunded_partially` |
| Contestação (chargeback) | [`payment.chargeback_requested`](/api-reference/webhooks/events) | `chargeback`         |

<Note>
  Um reembolso pode chegar **iniciado pelo próprio terminal** (o operador estorna no aparelho), sem
  você ter pedido — a Autorizou registra e te avisa do mesmo jeito. Concilie pelo
  `pos.terminal.code`.
</Note>

## O webhook é um gatilho, não a verdade final

<Warning>
  A ordem de entrega dos webhooks **não é garantida** e duplicatas são possíveis. Trate cada
  notificação como um **gatilho**: **deduplique** pelo `uuid` da venda e confirme o estado real com
  [`GET /payments/{identifier}`](/api-reference/charges/payments/get-payment) antes de agir sobre
  dinheiro ou estoque.
</Warning>
