LYNX UPBANK
DocsReferência da APIPagar boleto
1 min de leitura

Pagar boleto

POST/v1/boleto/query · /v1/boleto/pay

Pague boletos bancários e tributos/convênios (água, luz, telefone, DARF, IPVA) com o saldo da conta. Fluxo em 2 passos: /v1/boleto/query consulta o título (valor do dia com juros, multa ou desconto, beneficiário e taxas) e devolve um quoteId que trava o valor por ~5 minutos; /v1/boleto/pay debita valor + taxas e liquida de forma assíncrona.

Permissão necessária: BOLETO:PAY

Parâmetros

ParâmetroTipoDescrição
barcodeobrig.stringNo /query: linha digitável (47/48 dígitos) ou código de barras (44). Pontos e espaços são ignorados.
quoteIdobrig.stringNo /pay: o quoteId devolvido pela consulta. Garante o valor exato cotado.
externalIdstringNo /pay: seu identificador idempotente. Repetir a chamada devolve o mesmo pagamento.

Boas práticas

  • Consulte SEMPRE antes de pagar: o valor de um boleto muda com a data (juros, multa e desconto).
  • Tributos/convênios vêm com bank e beneficiary null: a base centralizada de convênios não registra esses dados. Se payable for true, pode pagar.
  • Horários: boletos bancários em dias úteis até 22h; contas de consumo e tributos até 18h. Fora da janela: 400 sem débito.
  • Cada título só pode ser pago uma vez (409 se já houver pagamento). Se o pagamento falhar, o débito volta integral ao saldo.
  • Acompanhe a liquidação pelos webhooks withdraw.done / withdraw.failed ou por GET /v1/transaction/list.

Requisição

bash
curl -X POST https://lynxpix.cc/api/v1/boleto/query · /v1/boleto/pay \
  -H "Authorization: Bearer lynx_test_sua_chave" \
  -H "Content-Type: application/json" \
  -d '{"barcode":"34191790010104351004791020150008291070026000"}'

Resposta

json
{
  "data": {
    "quoteId": "bq_1a2b3c",
    "type": "boleto",
    "bank": {
      "code": "341",
      "name": "Banco Itaú S.A."
    },
    "beneficiary": {
      "name": "EMPRESA EXEMPLO LTDA",
      "document": "12345678000199"
    },
    "dueDate": "2026-08-01",
    "payable": true,
    "paymentWindow": {
      "open": true
    },
    "amounts": {
      "original": 10000,
      "interest": 137,
      "fine": 200,
      "discount": 0,
      "rebate": 0,
      "final": 10337
    },
    "fees": {
      "providerCents": 207,
      "lynxCents": 50,
      "totalCents": 257
    },
    "totalDebitCents": 10594,
    "quoteExpiresInSeconds": 300
  },
  "error": null
}