Guias
Cobranças
Crie, acompanhe, liste e cancele cobranças. Toda cobrança vai para um terminal específico e passa por estados bem definidos.
Criar uma cobrança
POST/v1/charges
Corpo (JSON)
terminal_iduuidobrigatórioO
id do terminal que deve cobrar. Veja os terminais em GET /v1/terminals.amountinteiroobrigatórioValor em centavos, de
1 a 10000000 (R$ 100.000,00).methodstringobrigatóriocredit (crédito à vista), debit ou pix.descriptionstringAté 140 caracteres. Aparece na maquininha e no painel.
external_referencestringAté 100 caracteres. Seu identificador (pedido, comanda). Volta no webhook e pode ser usado como filtro.
Cabeçalhos
AuthorizationstringobrigatórioBearer itg_live_…Idempotency-KeystringRecomendado. Até 255 caracteres. Garante que um retry não crie outra cobrança. Veja Idempotência.
curl -X POST https://api.integrator.co26.com.br/v1/charges \
-H "Authorization: Bearer $INTEGRATOR_API_KEY" \
-H "Idempotency-Key: pedido-1234" \
-H "Content-Type: application/json" \
-d '{
"terminal_id": "6f1c2b8e-2f4a-4c55-9a59-6a1d5b1f0c3e",
"amount": 4590,
"method": "credit",
"description": "Pedido #1234",
"external_reference": "pedido-1234"
}'Resposta 201 Created com o objeto cobrança em pending. Se a mesma Idempotency-Key já foi usada com os mesmos dados, a resposta é 200 OK com a cobrança original.
Quando a criação é recusada
402 insufficient_credits: o saldo atingiu o limite negativo da conta.403 account_blocked: conta bloqueada pelo suporte.404 terminal_not_foundou409 terminal_revoked: confira oterminal_id.
Ciclo de vida
pendingna fila
→processingna maquininha
→approveddeclinedcanceledfailed
direto de pending:canceledexpired
pendingNa fila, esperando a maquininha buscar. Expira se não for buscada a tempo (padrão: 2 minutos).processingA maquininha pegou a cobrança e abriu o pagamento. O cliente está pagando.approvedPaga. Traz nsu, authorization_code, card_brand e a tarifa (fee) em créditos.declinedRecusada pela adquirente ou emissor (saldo, senha, cartão bloqueado…).canceledCancelada por você via API (enquanto pending) ou pelo operador na maquininha.failedErro técnico na maquininha ou interrupção. Veja failure_reason.expiredFicou na fila além do tempo limite sem a maquininha buscar.approved, declined, canceled, failed e expired são finais e sempre disparam um webhook.
Motivos de falha
declined_by_acquirerdeclinedA adquirente negou. acquirer_code e failure_message trazem o motivo dela.
canceled_on_terminalcanceledO operador cancelou na maquininha.
canceled_by_merchantcanceledVocê cancelou via API enquanto estava pending.
not_picked_upexpiredA maquininha não buscou a cobrança a tempo (desligada, sem internet ou sem o app aberto).
terminal_unavailablefailedO app de pagamento da adquirente não está disponível no aparelho.
terminal_timeoutfailedO pagamento não terminou em 5 minutos.
terminal_errorfailedErro técnico informado pelo SDK da adquirente.
interruptedfailedO app foi fechado no meio do pagamento ou não informou o resultado em 30 minutos. Confira no extrato da adquirente: em casos raros o pagamento passou.
Cobrança interrompida que foi aprovada
Se a maquininha conseguir reportar a aprovação depois de uma cobrança virar
failed com interrupted, ela muda para approved e você recebe charge.approved. Trate esse evento mesmo depois de um charge.failed.O objeto cobrança
JSON
{
"id": "0b6f0f7e-5a8f-4f1e-9a52-2b7d3c1e9d10",
"object": "charge",
"terminal_id": "6f1c2b8e-2f4a-4c55-9a59-6a1d5b1f0c3e",
"amount": 4590,
"currency": "BRL",
"method": "credit",
"status": "approved",
"description": "Pedido #1234",
"external_reference": "pedido-1234",
"fee": 46,
"acquirer": null,
"nsu": "000123456",
"authorization_code": "A1B2C3",
"card_brand": "VISA",
"acquirer_code": "00",
"failure_reason": null,
"failure_message": null,
"created_at": "2026-10-13T18:20:11.204Z",
"processing_at": "2026-10-13T18:20:11.851Z",
"completed_at": "2026-10-13T18:20:42.017Z",
"expires_at": "2026-10-13T18:22:11.204Z"
}feeinteiro | nullTarifa cobrada em créditos. Preenchida só quando approved.
acquirernullAdquirente da maquininha que processou.
nsustring | nullNúmero sequencial da transação na adquirente. Use para conciliar com o extrato.
authorization_codestring | nullCódigo de autorização do emissor.
processing_atdata | nullQuando a maquininha pegou a cobrança.
completed_atdata | nullQuando chegou a um estado final.
expires_atdataLimite para a maquininha buscar a cobrança enquanto pending.
Consultar
GET/v1/charges/{id}
cURL
curl https://api.integrator.co26.com.br/v1/charges/0b6f0f7e-5a8f-4f1e-9a52-2b7d3c1e9d10 \
-H "Authorization: Bearer $INTEGRATOR_API_KEY"Listar
GET/v1/charges
Query string
limit1–100Itens por página. Padrão 20.
cursorstringO
next_cursor da página anterior.terminal_iduuidSó de um terminal.
statusstringFiltra por estado.
external_referencestringBusca pela sua referência.
created_from / created_toISO 8601Intervalo de criação (inclusivo).
JSON
{
"data": [
"…objetos cobrança, mais recentes primeiro…"
],
"next_cursor": "WyIyMDI2LTEwLTEzIDE4OjIw..."
}Cancelar
POST/v1/charges/{id}/cancel
Funciona só enquanto a cobrança está pending. Depois que a maquininha pega (processing), o cancelamento é feito pelo operador na própria maquininha. Tentar cancelar fora da fila devolve 409 charge_not_cancelable.
Estornos
O Integrator não estorna vendas aprovadas. Use o estorno da própria adquirente (na maquininha ou no portal dela) com o NSU da cobrança.