Criar Venda no Terminal
POS / Maquininhas
Criar Venda no Terminal
Inicia uma venda presencial na maquininha a partir da sua aplicação e devolve o resultado
POST
Criar Venda no Terminal
Inicia uma venda presencial na maquininha a partir da sua aplicação (um caixa, uma comanda, um
sistema de vendas). Você informa o terminal e o valor; a Autorizou dispara a cobrança no
aparelho, o portador paga, e a mesma chamada devolve o resultado.
A venda nasce escopada ao lojista da sua chave de API — você não envia
merchant_id. A divisão
(split) para o recebedor dono do terminal é aplicada automaticamente; você não informa recebedor.
Chamada síncrona: a sua aplicação aguarda enquanto o portador paga no aparelho. O desfecho
(
approved, declined ou unknown) volta no corpo da resposta. Para o guia de integração ponta a
ponta, veja Aceitar pagamento na maquininha.Cabeçalhos
Chave de idempotência da venda. Reenviar a mesma chave não dispara uma segunda cobrança no
aparelho — devolve a venda já em andamento (ou seu resultado final). É o que torna seguro repetir a
chamada após timeout ou queda de rede. Use um valor único por venda (ex.: o ID da venda no seu
sistema).
Parâmetros
Código do terminal onde a venda será cobrada. É o identificador do aparelho no seu inventário.
Valor da venda em centavos (ex.:
5200 = R$ 52,00).Método presencial:
credit_card ou debit_card.Número de parcelas no crédito (1 a 12). Padrão
1. Ignorado para debit_card.A sua referência própria da venda (ex.: número do pedido/comanda). Volta em todos os eventos e na
consulta, para você conciliar sem guardar o
uuid da Autorizou.cURL
Resposta
O corpo traz a venda no estado final da tentativa. Trate o campostate sempre — ele é a fonte da
verdade do desfecho.
Identificador único da venda na Autorizou. Use-o para consultar o estado em
GET /pos/sales/{identifier}.Desfecho da venda:
approved, declined, unknown ou aborted. Veja a tabela abaixo.Valor cobrado, em centavos.
Moeda da venda (ex.:
BRL).credit_card ou debit_card.Parcelas aplicadas.
A referência que você enviou.
O terminal onde a venda foi cobrada:
code, serial_number e model.A cobrança gerada quando a venda é aprovada:
uuid e status. Ausente quando state não é
approved.Data/hora de criação da venda.
Estados da venda
state | O que significa | O que a sua aplicação faz |
|---|---|---|
approved | Pagamento aprovado no aparelho | Concluir a venda. O webhook payment.authorized chega em seguida com o bloco pos |
declined | Pagamento recusado pelo portador/emissor | Oferecer nova tentativa (nova chamada, nova Idempotency-Key) |
aborted | Cancelada antes de pagar (operador/portador desistiu no aparelho) | Encerrar sem cobrança |
unknown | Ainda não sabemos o resultado — timeout ou queda no meio da cobrança | Consultar GET /pos/sales/{identifier} até resolver. Nunca reenviar a venda cegamente |
Erros
declined, aborted e unknown são desfechos de negócio e voltam com HTTP 200 — não são erros
de API. Os erros abaixo são de validação/requisição:
| HTTP | Quando |
|---|---|
401 | Chave de API ausente ou inválida |
404 | terminal_code não existe ou não pertence ao seu lojista |
422 | Corpo inválido (valor abaixo do mínimo, payment_method desconhecido, installments fora do intervalo) |