Skip to main content
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

string
required
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

string
required
Código do terminal onde a venda será cobrada. É o identificador do aparelho no seu inventário.
integer
required
Valor da venda em centavos (ex.: 5200 = R$ 52,00).
string
required
Método presencial: credit_card ou debit_card.
integer
Número de parcelas no crédito (1 a 12). Padrão 1. Ignorado para debit_card.
string
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 campo state sempre — ele é a fonte da verdade do desfecho.
string
Identificador único da venda na Autorizou. Use-o para consultar o estado em GET /pos/sales/{identifier}.
string
Desfecho da venda: approved, declined, unknown ou aborted. Veja a tabela abaixo.
integer
Valor cobrado, em centavos.
string
Moeda da venda (ex.: BRL).
string
credit_card ou debit_card.
integer
Parcelas aplicadas.
string
A referência que você enviou.
object
O terminal onde a venda foi cobrada: code, serial_number e model.
object
A cobrança gerada quando a venda é aprovada: uuid e status. Ausente quando state não é approved.
string
Data/hora de criação da venda.

Estados da venda

A regra de ouro: unknown não é falha — é “ainda não sei”. Reenviar a venda nesse estado pode cobrar o cliente duas vezes. Se precisar repetir a chamada por segurança de rede, use a mesma Idempotency-Key: você recebe a venda em andamento, não uma segunda cobrança.

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: