Skip to content

QuickPay — API Descontinuada

DANGER

Atenção: Todos os endpoints desta página estão descontinuados e mantidos apenas por compatibilidade. Não os utilize em novas integrações. Consulte as seções recomendadas indicadas em cada endpoint.


Autenticação

Todos os endpoints exigem os seguintes cabeçalhos:

HeaderExemploObrigatório
AuthorizationBearer <token>Sim
X-Account-Id123Sim
Content-Typeapplication/jsonSim (POST/PUT)

URL Base: {base_url}/quickpay


1. Verificação do Módulo

GET /quickpay

Retorna uma string de verificação. Sem utilidade prática.

Response (200 OK)

json
"quickpay"

2. Pix In — Recebimento

2.1 Listar Pix Gerados

GET /quickpay/pix/list

Use a documentação de Pix atualizada como referência para novas integrações.

Lista os QR Codes Pix gerados pela conta. Aceita dois modos de uso: listagem paginada ou consulta por ID.

Modo 1 — Listagem paginada

Query Params

ParâmetroTipoObrigatórioDescrição
per_pageintegerNãoItens por página (padrão: 15)
pageintegerNãoNúmero da página (padrão: 1)

Response (200 OK)

json
{
  "data": [
    {
      "id": 150,
      "txid": "abc123px",
      "qrcode": "000201010212260014br.gov.bcb.pix...",
      "value": 100.50,
      "status": "pending",
      "created_at": "2024-12-10T15:00:00.000000Z",
      "image": "data:image/png;base64,..."
    }
  ],
  "current_page": 1,
  "last_page": 5,
  "per_page": 15,
  "total": 73
}

Modo 2 — Consulta individual

Ao passar txid ou id como query param, retorna um único Pix com suas transações associadas.

Query Params

ParâmetroTipoDescrição
txidstringID do Pix
idintegerAlias de txid

Response (200 OK)

json
{
  "id": 150,
  "txid": "abc123px",
  "qrcode": "000201010212260014br.gov.bcb.pix...",
  "value": 100.50,
  "status": "pending",
  "image": "data:image/png;base64,...",
  "transactions": [
    {
      "id": 200,
      "value": 100.50,
      "datetime": "2024-12-10T15:05:00.000000Z"
    }
  ]
}

Response (404)

json
{ "success": false, "message": "Pix não encontrado para esta conta.", "data": null }

2.2 Criar QR Code Pix Dinâmico

POST /quickpay/pix/createPOST /quickpay/pix/qrcodePOST /quickpay/pix/qrcode-fixo

Os três caminhos são equivalentes e fazem a mesma operação.

Gera um novo QR Code Pix com valor definido.

Request Body

CampoTipoObrigatórioDescrição
amountnumericSimValor em BRL (mínimo configurado na conta, geralmente R$ 1,00)
webhookurlNãoURL para receber notificações de pagamento
namestringNãoNome do pagador (máx 100)
emailemailNãoE-mail do pagador (máx 100)
documentstringNãoCPF ou CNPJ do pagador
phonestringNãoTelefone do pagador

Response (201 Created)

json
{
  "success": true,
  "pix": {
    "id": 151,
    "txid": "def456px",
    "value": 100.50,
    "qrcode": "000201010212260014br.gov.bcb.pix...",
    "created_at": "2024-12-26T16:00:00.000000Z",
    "image": "data:image/png;base64,..."
  }
}

Regras:

  • O valor mínimo aceito é definido pela configuração da conta
  • Quando name, email e document são fornecidos juntos, o pagador é associado à cobrança

Erros:

  • 422 — campo inválido (valor abaixo do mínimo, URL inválida)
  • 500 — falha na comunicação com a instituição bancária

2.3 QR Code Fixo da Conta

GET /quickpay/pix/image

Retorna o payload EMV do QR Code estático da conta. Não gera cobrança — o pagador define o valor.

Response (200 OK)

json
{
  "success": true,
  "data": {
    "payload": "000201010211260014br.gov.bcb.pix0114+5511999999999..."
  }
}

Regras:

  • O QR Code estático aceita qualquer valor definido pelo pagador no momento do pagamento
  • Não use este endpoint para cobranças com valor específico — prefira o endpoint 2.2

2.4 Consultar Pix por TXID

GET /quickpay/pix/{txid}

Retorna os dados de um Pix específico.

Path Params

ParâmetroTipoDescrição
txidstringTXID do Pix

Response (200 OK)

json
{
  "txid": "abc123px",
  "image": "data:image/png;base64,...",
  "qrcode": "000201010212...",
  "status": "pending",
  "value": 100.50,
  "name": "João da Silva",
  "email": "joao@email.com",
  "document": "12345678901",
  "created_at": "2024-12-10T15:00:00.000000Z",
  "updated_at": "2024-12-10T15:00:00.000000Z"
}

Response (404)

json
{ "success": false, "message": "Pix não encontrado para esta conta.", "data": null }

3. Saques — Pix Out

3.1 Listar Saques

GET /quickpay/withdraws

Retorna o histórico paginado de saques realizados pela conta.

Query Params

ParâmetroTipoObrigatórioDescrição
searchstringNãoBusca por nome, TXID, EndToEndId ou chave Pix
per_pageintegerNãoItens por página (padrão: 15)
pageintegerNãoPágina atual

Response (200 OK)

json
{
  "data": [
    {
      "id": 123,
      "txid": "E123...",
      "endtoendid": "E456...",
      "value": 100.50,
      "status": { "value": "concluido", "title": "Pago", "description": "" },
      "name": "NOME DO FAVORECIDO",
      "document": "12345678901",
      "key_pix": "joao@email.com",
      "bank_code": "341",
      "branch": "0001",
      "account_number": "12345-6",
      "account_type": "CORRENTE",
      "message": "Pagamento serviços",
      "created_at": "2024-03-25T12:00:00Z"
    }
  ],
  "meta": { "current_page": 1, "last_page": 5, "per_page": 15, "total": 75 }
}

3.2 Detalhar Saque

GET /quickpay/withdraws/{id}

Retorna os dados de um saque e a transação do extrato associada (se disponível).

Path Params

ParâmetroTipoDescrição
idintegerID do saque

Response (200 OK)

json
{
  "data": {
    "id": 123,
    "name": "NOME DO FAVORECIDO",
    "document": "12345678901",
    "bank_code": "341",
    "branch": "0001",
    "account_number": "12345-6",
    "account_type": "CORRENTE",
    "status": { "value": "concluido", "title": "Pago" },
    "value": 100.50,
    "txid": "E123...",
    "endtoendid": "E456...",
    "key_pix": "joao@email.com",
    "message": "Pagamento serviços",
    "created_at": "2024-03-25T12:00:00Z"
  },
  "transaction": {
    "id": 500,
    "datetime": "2024-03-25 12:00:05",
    "value": -100.50,
    "balance": 1400.00,
    "type": { "slug": "pix-out", "name": "Pix de Saída" }
  }
}

Regras:

  • O campo transaction pode ser null se o extrato não possuir correspondência para este saque
  • Retorna 404 se o saque não pertencer à conta autenticada

3.3 Iniciar Saque — Lookup da Chave Pix

POST /quickpay/withdraws

Consulta uma chave Pix no Banco Central e prepara o registro de saque. Não realiza a transferência. Use este endpoint para exibir os dados do destinatário antes da confirmação.

Request Body

CampoTipoObrigatórioDescrição
keypixstringSimChave Pix de destino (CPF, CNPJ, e-mail, telefone ou chave aleatória)
valuenumericNãoValor pretendido — usado para verificar o saldo disponível
messagestringNãoDescrição da transferência (máx 255)

Response — Sucesso

json
{
  "data": {
    "internal_id": 124,
    "name": "NOME BENEFICIÁRIO",
    "document": "123***78901",
    "bank_code": "341",
    "branch": "0001",
    "account_number": "98765-4",
    "account_type": "CORRENTE",
    "key_pix": "joao@email.com",
    "account_balance": 1500.00
  }
}

Response — Solicitação duplicada (200 OK)

Quando já existe um saque aguardando confirmação para o mesmo destinatário e valor na última 1 hora, a API reutiliza o registro existente:

json
{
  "data": {
    "internal_id": 120,
    "account_balance": 1500.00,
    "stored_recipient": { ... }
  }
}

Response (404) — Chave não encontrada

json
{ "success": false, "message": "A chave Pix pesquisada não existe." }

Regras:

  • CPFs e CNPJs têm formatação removida automaticamente antes da consulta
  • O campo internal_id retornado é obrigatório para o passo de confirmação (3.4)
  • Se a requisição for duplicada na última 1 hora (mesmo destinatário e valor), o sistema retorna o registro existente em vez de criar um novo

3.4 Confirmar Saque Pix

POST /quickpay/withdraws/confirm

Finaliza a transferência Pix. Exige PIN de segurança. Este é o passo que efetivamente debita o saldo.

Request Body

CampoTipoObrigatórioDescrição
internal_idintegerSimID retornado no passo 3.3
keypixstringSimConfirmação da chave Pix de destino
valuenumericSimValor exato a transferir (mín R$ 0,01)
pinstringSimPIN de segurança da conta
messagestringNãoMensagem enviada ao recebedor (máx 140 caracteres)

Response (201) — Sucesso

json
{
  "success": true,
  "message": "Transferência Pix realizada com sucesso",
  "data": {
    "txid": "E789...",
    "endtoendid": "E101...",
    "value": 100.50,
    "receiver_name": "NOME BENEFICIÁRIO",
    "receiver_document": "12345678901",
    "receiver_bank_name": "ITAÚ UNIBANCO",
    "receiver_agency": "0001",
    "receiver_account": "98765-4",
    "receiver_account_type": "CORRENTE"
  }
}

Response (403) — PIN inválido

json
{ "success": false, "message": "PIN inválido.", "data": [] }

Regras:

  • O PIN é validado antes de qualquer operação bancária. PIN incorreto retorna 403 imediatamente
  • Após transferência bem-sucedida, aparecem duas entradas no extrato: o valor do saque e a taxa da operação
  • O destinatário é salvo automaticamente para facilitar transferências futuras

3.5 Saque via Dados Bancários

POST /quickpay/withdraws/bank

Transfere Pix informando agência, conta e banco manualmente. Operação única (sem etapa de lookup). Exige PIN de segurança.

Request Body

CampoTipoObrigatórioDescrição
amountnumericSimValor da transferência em BRL (mín R$ 0,01)
bank_codestringSimCódigo COMPE (3 dígitos) ou ISPB do banco
agencystringSimAgência sem dígito verificador
accountstringSimConta com dígito verificador (ex: 12345-6)
beneficiary_namestringSimNome completo do favorecido
beneficiary_documentstringSimCPF (11 dígitos) ou CNPJ (14 dígitos)
pinstringSimPIN de segurança da conta
messagestringNãoMensagem opcional

Response (200 OK)

json
{
  "data": {
    "id": 125,
    "txid": "E202...",
    "endtoendid": "E303...",
    "value": 200.00,
    "status": { "value": "concluido", "title": "Pago" },
    "name": "NOME FAVORECIDO",
    "document": "12345678901",
    "bank_code": "341",
    "branch": "0001",
    "account_number": "55555-5"
  },
  "transaction": {
    "id": 501,
    "value": -200.00,
    "balance": 1300.00,
    "type": { "slug": "pix-out" }
  }
}

Regras:

  • O bank_code deve corresponder a uma instituição financeira válida no sistema
  • Diferente do fluxo com chave Pix, esta operação não tem etapa de lookup prévia

3.6 Listar Destinatários

GET /quickpay/withdraws/recipients

Retorna clientes que já receberam transferências da conta, com suas chaves Pix cadastradas.

Query Params

ParâmetroTipoDescrição
searchstringBusca por nome, chave Pix, banco, agência, conta ou documento
per_pageintegerItens por página (padrão: 15)

Response (200 OK)

json
{
  "data": [
    {
      "id": 10,
      "name": "NOME CLIENTE",
      "document": "12345678901",
      "email": "cliente@email.com",
      "pix_recipients": [
        {
          "id": 5,
          "pix_key": "joao@email.com",
          "bank_name": "ITAÚ",
          "bank_code": "341",
          "branch": "0001",
          "account": "12345-6",
          "account_type": "CORRENTE",
          "count": 5,
          "last_used_at": "2024-12-25T10:00:00Z"
        }
      ]
    }
  ],
  "meta": { "current_page": 1, "last_page": 2, "total": 18 }
}

3.7 Destinatários Frequentes

GET /quickpay/withdraws/recipients/frequent

Retorna os 10 destinatários mais utilizados pela conta.

Query Params

ParâmetroTipoDescrição
searchstringBusca por nome, chave Pix ou documento

Response (200 OK)

json
{
  "success": true,
  "message": "Destinatários frequentes recuperados com sucesso.",
  "data": [
    {
      "id": 5,
      "pix_key": "joao@email.com",
      "name": "NOME FAVORECIDO",
      "document": "12345678901",
      "bank_name": "ITAÚ",
      "bank_code": "341",
      "count": 12,
      "last_used_at": "2024-12-25T10:00:00Z"
    }
  ]
}

Regras:

  • Retorna no máximo 10 resultados, ordenados por frequência de uso

3.8 Destinatário por ID

GET /quickpay/withdraws/recipients/frequent/{id}

Retorna os dados de um destinatário específico.

Path Params

ParâmetroTipoDescrição
idintegerID do destinatário

Response (200 OK)

json
{
  "success": true,
  "message": "Destinatário recuperado com sucesso.",
  "data": {
    "id": 5,
    "pix_key": "joao@email.com",
    "name": "NOME FAVORECIDO",
    "document": "12345678901",
    "bank_name": "ITAÚ",
    "bank_code": "341",
    "branch": "0001",
    "account": "12345-6",
    "account_type": "CORRENTE",
    "count": 12,
    "last_used_at": "2024-12-25T10:00:00Z"
  }
}

4. Pix Out — Endpoints Descontinuados (Não Usar)

DANGER

Os três endpoints abaixo estão descontinuados e com problemas conhecidos. Não os utilize. Use os endpoints da seção 3 (Saques) ou seção 8 (Pix Out) como substitutos.

4.1 POST /quickpay/saida-sicred

Substituto: POST /quickpay/withdraws + POST /quickpay/withdraws/confirm

Problema: Integração direta com configuração bancária fixa — não suporta múltiplas contas. Descontinuado.

Request Body

CampoTipoObrigatórioDescrição
mountnumericSimValor do Pix (atenção: o campo se chama mount, não amount)
keyPixstringSimChave Pix do beneficiário (máx 99)
documentoBeneficiariostringSimCPF ou CNPJ do beneficiário (máx 99)
messagestringNãoMensagem Pix (máx 99)

4.2 POST /quickpay/pix-out/dataBank

Substituto: POST /quickpay/pixout/pix-databank

Problema: Bug conhecido — o valor da transação gerada no extrato fica incorreto. Não usar.

Request Body

CampoTipoObrigatórioDescrição
amountnumericSimValor da transferência
beneficiary_namestringSimNome do beneficiário
beneficiary_documentstringSimCPF ou CNPJ
bank_codestringSimCódigo do banco
branchstringSimAgência
accountstringSimNúmero da conta
account_typestringSimCORRENTE, POUPANCA, SALARIO ou PAGAMENTO
mensagemstringNãoMensagem opcional
payment_datedateNãoData de pagamento agendado

4.3 POST /quickpay/boleto-saida-sicred

DANGER

Não implementado. Este endpoint retorna erro 500. Não utilize.


5. Boleto — Paths Legados (/boleto/)

WARNING

Os paths abaixo usam /boleto/ (sem 's'). O caminho atual e recomendado é /boletos/ (seção 6). Ambos funcionam, mas os paths legados serão removidos em versão futura.

Endpoint legadoSubstituto
GET /quickpay/boleto/listGET /quickpay/boletos
POST /quickpay/boleto/createPOST /quickpay/boletos
GET /quickpay/boleto/{txid}GET /quickpay/boletos/{txid}
POST /quickpay/boleto/cancelPOST /quickpay/boletos/cancel
POST /quickpay/boleto/pdf/{txid}POST /quickpay/boletos/{txid}/pdf
DELETE /quickpay/boleto/{txid}DELETE /quickpay/boletos/{txid}

Parâmetros, respostas e regras são idênticos. Consulte a seção 6 para a especificação completa.


6. Boleto — Paths Atuais (/boletos/)

NOTE

Estes endpoints fazem parte do mesmo arquivo de rotas descontinuado, mas são os caminhos recomendados para boletos. A referência completa está em QuickPay — Boletos.

6.1 Listar Boletos

GET /quickpay/boletos

Query Params

ParâmetroTipoDescrição
pageintegerPágina atual (padrão: 1)
per_pageintegerItens por página (padrão: 100)
statusintegerFiltro por código de status
created_at_startdateData inicial de criação (Y-m-d)
created_at_enddateData final de criação (Y-m-d)
payment_date_startdateData inicial de pagamento (Y-m-d)
payment_date_enddateData final de pagamento (Y-m-d)
updated_at_startdateData inicial de atualização (Y-m-d)
updated_at_enddateData final de atualização (Y-m-d)
searchstringBusca por nome, e-mail, documento ou TXID

Response (200 OK)

json
{
  "data": [
    {
      "id": 85,
      "status": 1,
      "status_label": "Pago",
      "txid": "bol_def456",
      "name": "Maria Santos",
      "email": "maria@email.com",
      "document": "12345678901",
      "value": "250.00",
      "expired": "2024-12-30",
      "barcode": "...",
      "digitableLine": "...",
      "ourNumber": "12345678",
      "yourNumber": "000001",
      "paid_amount": 250.00,
      "payment_date": "2024-12-15",
      "pix": [
        { "id": 10, "status": 1, "txid": "...", "qrcode": "...", "value": "250.00" }
      ]
    }
  ],
  "meta": { "current_page": 1, "per_page": 100, "total": 1, "last_page": 1 }
}

6.2 Criar Boleto

POST /quickpay/boletos

Gera um boleto bancário, opcionalmente com QR Code Pix vinculado (Bolepix).

Request Body

CampoTipoObrigatórioDescrição
amountnumericSimValor nominal em BRL
expiration_datedateSimData de vencimento (Y-m-d)
namestringSimNome do pagador
emailemailSimE-mail do pagador
documentstringSimCPF (11 dígitos) ou CNPJ (14 dígitos)
webhookurlNãoURL para notificações de mudança de status
hasPixbooleanNãotrue gera QR Code Pix junto ao boleto (Bolepix)
hasPDFbooleanNãotrue gera o PDF do boleto imediatamente
late_feenumericNãoMulta pós-vencimento
late_fee_typestringNãoTipo da multa: ABSOLUTE ou PERCENTAGE
amount_ratenumericNãoJuros mensais
type_ratestringNãoTipo dos juros: ABSOLUTE ou PERCENTAGE
discountnumericNãoValor ou percentual de desconto
days_discountintegerNãoDias antes do vencimento para aplicar o desconto
type_discountstringNãoTipo do desconto: ABSOLUTE ou PERCENTAGE
phonestringNãoTelefone do pagador
addressobjectNãoEndereço: { street, number, city, state, zipcode }
informativestringNãoTexto informativo exibido no boleto

Response (200 OK)

json
{
  "success": true,
  "message": "Boleto Gerado com sucesso",
  "data": {
    "txid": "bol_abc123",
    "status": 0,
    "value": 250.00,
    "name": "João da Silva",
    "email": "joao@email.com",
    "document": "12345678901",
    "barcode": "34191.75301 24945.450801 30600.000000 1 98180000025000",
    "digitableLine": "341917530124945450801306000000001981800002500",
    "expired": "2024-12-30",
    "ourNumber": "12345678",
    "yourNumber": "000001",
    "pix": {
      "txid": "pixabc123",
      "value": 250.00,
      "qrcode": "000201010212...",
      "image": "data:image/png;base64,..."
    },
    "pdf_path": "/storage/boletos/bol_abc123.pdf"
  }
}

Regras:

  • Com hasPix: true, o boleto recebe um QR Code Pix alternativo para pagamento (Bolepix)
  • Com hasPDF: true, o link do PDF já vem na resposta em pdf_path
  • Multa, juros e desconto são todos opcionais
  • Em caso de falha, nenhum dado é persistido

Erros:

  • 400 — erro retornado pela instituição bancária
  • 422 — campo inválido ou ausente

6.3 Consultar Boleto

GET /quickpay/boletos/{txid}

Path Params

ParâmetroTipoDescrição
txidstringTXID do boleto

Retorna os dados completos do boleto. Retorna 404 se o TXID não pertencer à conta.


6.4 Cancelar Boleto(s)

POST /quickpay/boletos/cancel

Cancela um ou mais boletos. Processa cada TXID individualmente — erros em um não cancelam os demais.

Request Body

CampoTipoObrigatórioDescrição
txidstringCondicional*TXID para cancelamento unitário
txidsarrayCondicional*Lista de TXIDs para cancelamento em lote

* Pelo menos um dos campos é obrigatório.

Exemplo (lote)

json
{ "txids": ["bol_123", "bol_456"] }

Response (200 OK)

json
{
  "success": true,
  "message": "Processamento de cancelamento concluído",
  "data": {
    "bol_123": { "success": true,  "message": "Boleto cancelado com sucesso" },
    "bol_456": { "success": false, "message": "Boleto já está pago e não pode ser cancelado" }
  }
}

Regras:

  • Boletos com status Pago não podem ser cancelados
  • Se a comunicação com o banco falhar, o boleto ainda é marcado como cancelado localmente
  • O Pix vinculado (Bolepix) também é cancelado junto

6.5 URL do PDF do Boleto

POST /quickpay/boletos/{txid}/pdf

Retorna os links de acesso ao PDF do boleto.

Path Params

ParâmetroTipoDescrição
txidstringTXID do boleto

Response (200 OK)

json
{
  "success": true,
  "message": "PDF gerado com sucesso",
  "data": {
    "pdf_url": "/storage/boletos/boleto_bol_abc123.pdf",
    "pdf_path": "/storage/boletos/boleto_bol_abc123.pdf",
    "pdf_url_full": "https://api.fastgivr.com/storage/boletos/boleto_bol_abc123.pdf"
  }
}

Regras:

  • O PDF precisa ter sido gerado no momento da criação (via hasPDF: true). Este endpoint apenas retorna a URL — não gera o PDF novamente.

6.6 Cancelar Boleto (DELETE)

DELETE /quickpay/boletos/{txid}

Equivalente ao cancelamento unitário (6.4), usando o método HTTP DELETE.

Path Params

ParâmetroTipoDescrição
txidstringTXID do boleto

Response (200 OK)

json
{ "success": true, "message": "Boleto deletado com sucesso.", "data": null }

Regras:

  • Falhas na comunicação com o banco são ignoradas — o boleto é cancelado localmente de qualquer forma
  • O Pix vinculado (Bolepix) também é cancelado

7. Pagamento de Boleto Externo

Endpoints para pagar boletos de terceiros debitando o saldo da conta. O fluxo é obrigatoriamente em 2 etapas: consultar o boleto e depois confirmar o pagamento.

7.1 Listar Pagamentos de Boleto (Saída)

GET /quickpay/boleto/payments

Lista todos os boletos externos consultados ou pagos pela conta.

Query Params

ParâmetroTipoDescrição
per_pageintegerItens por página (padrão: 15)
statusstringFiltro por status do pagamento

Response (200 OK)

json
{
  "data": [
    {
      "id": 10,
      "barcode": "00190500954014481606...",
      "value": 150.00,
      "status": "completed",
      "due_date": "2024-12-30",
      "paid_at": "2024-12-15T10:00:00Z",
      "txid": "idPagamento123",
      "created_at": "2024-12-14T09:00:00Z"
    }
  ],
  "meta": { "current_page": 1, "total": 5 }
}

7.2 Detalhar Pagamento de Boleto

GET /quickpay/boleto/payments/{id}

Path Params

ParâmetroTipoDescrição
idintegerID do registro de pagamento

Retorna os dados completos do pagamento. Retorna 404 se não pertencer à conta.


7.3 Consultar Informações do Boleto Externo

POST /quickpay/boleto/info-barcode

Etapa 1 do fluxo de pagamento. Extrai os dados de um boleto externo a partir do código de barras e registra para pagamento.

Request Body

CampoTipoObrigatórioDescrição
barcodestringSimCódigo de barras ou linha digitável do boleto (mín 44 caracteres)

Response (201 Created)

json
{
  "boleto": {
    "id": 10,
    "beneficiary": "EMPRESA XPTO S.A.",
    "document": "12.345.678/0001-90",
    "value": 250.00,
    "due_date": "2024-12-30",
    "barcode": "00190500954014481606906809350314337370000000250"
  }
}

Response (400) — Já pago anteriormente

json
{ "message": "Este boleto já foi pago anteriormente em 15/12/2024 10:05:00" }

Regras:

  • Se o mesmo código de barras já foi pago por esta conta, a operação é bloqueada imediatamente
  • O id retornado em boleto.id é necessário para a etapa de pagamento (7.4)

7.4 Pagar Boleto Externo

POST /quickpay/boleto/payment-barcode

Etapa 2 do fluxo de pagamento. Efetua o débito. Exige PIN de segurança.

Request Body

CampoTipoObrigatórioDescrição
idstringSimID retornado pelo endpoint de consulta (7.3)
pinstringSimPIN de segurança da conta
descriptionstringNãoDescrição do pagamento

Response (200 OK)

json
{
  "id": 10,
  "barcode": "00190500954014481606...",
  "value": 150.00,
  "status": "completed",
  "paid_at": "2024-12-15T10:05:00Z",
  "txid": "idPagamento123"
}

Response (403) — PIN inválido

json
{ "message": "PIN inválido." }

Response (400) — Boleto já pago ou em processamento

json
{ "message": "Este boleto já foi pago ou está em processamento." }

Regras:

  • O boleto deve ter sido consultado via endpoint 7.3 antes de chamar este endpoint
  • Tentativas de pagar o mesmo boleto duas vezes são bloqueadas automaticamente
  • O pagamento aparece no extrato como saída

Status de pagamento:

StatusDescrição
pendingConsultado, aguardando pagamento
processingPagamento em andamento
completedPagamento confirmado

8. Pix Out — PixOutController

8.1 Consultar Chave Pix

POST /quickpay/pix/lookup

Consulta os dados de uma chave Pix sem realizar transferência.

Request Body

CampoTipoObrigatórioDescrição
keystringSimA chave Pix (máx 255)
typestringSimTipo da chave: cpf, cnpj, email, telefone ou aleatorio

Validações por tipo:

TipoFormato esperado
cpf11 dígitos numéricos
cnpj14 dígitos numéricos
emailE-mail válido
telefone11 dígitos numéricos
aleatorio32 a 37 caracteres

Response (200 OK)

json
{
  "status": "success",
  "message": "Chave Pix encontrada",
  "data": {
    "nome": "NOME DO TITULAR",
    "documento": "123***78901",
    "banco": "ITAÚ UNIBANCO",
    "agencia": "0001",
    "conta": "98765-4",
    "tipo_conta": "CORRENTE"
  }
}

Response (404)

json
{ "status": "error", "message": "A chave Pix pesquisada não existe." }

Response (400) — Formato inválido

json
{ "status": "error", "message": "Chave Pix para CPF deve ter 11 dígitos numéricos." }

8.2 Pix Out por Chave

POST /quickpay/pixout/pix-key

Transferência Pix para uma chave. Operação direta, sem etapa de confirmação.

Request Body

CampoTipoObrigatórioDescrição
amountnumericSimValor em BRL
keystringSimChave Pix do beneficiário
documentstringSimCPF ou CNPJ do beneficiário
messagestringNãoMensagem Pix (máx 99)

Response (200 OK)

json
{
  "id": 502,
  "endtoendid": "E001...",
  "txid": "idPagamentoPix",
  "value": -100.00,
  "balance": 1400.00
}

Regras:

  • O saldo deve cobrir o valor da transferência mais a taxa da conta
  • Saldo insuficiente retorna 400

8.3 Pix Out por Dados Bancários

POST /quickpay/pixout/pix-databank

Transferência Pix informando agência e conta do beneficiário. Operação direta.

Request Body

CampoTipoObrigatórioDescrição
amountnumericSimValor em BRL (até o limite configurado na conta)
beneficiary_documentstringSimCPF ou CNPJ do beneficiário
beneficiary_namestringSimNome do beneficiário (máx 99)
beneficiary_bank_branchstringSimAgência (máx 99)
beneficiary_bank_codestringSimCódigo do banco (máx 99)
beneficiary_accountstringSimNúmero da conta (máx 99)
beneficiary_account_typestringSimCORRENTE, PAGAMENTO, SALARIO ou POUPANCA
messagestringNãoMensagem opcional (máx 99)

Response (200 OK) — mesma estrutura do endpoint 8.2.

Regras:

  • O valor máximo por transferência é definido pelo limite configurado na conta
  • Saldo insuficiente retorna 400

9. Webhooks — Reenvio de Notificação

9.1 Reenviar Notificação de Cobrança

POST /quickpay/webhooks/send-charge/{chargeId}

Força o reenvio de uma notificação de webhook para uma cobrança já paga.

Path Params

ParâmetroTipoDescrição
chargeIdintegerID da cobrança

Response (200 OK)

json
{
  "message": "Notificação enviada com sucesso",
  "charge_id": 150,
  "status": "success",
  "http_status": 200,
  "error": null,
  "webhook_url": "https://meusite.com/callback",
  "response": { ... }
}

Response (404) — Cobrança não encontrada ou não está paga

json
{ "message": "Cobrança não encontrada." }

Response (400) — Sem Pix ou Boleto vinculado

json
{ "message": "Não há PIX ou Boleto associado a esta cobrança." }

Response (500) — Falha no envio para o webhook

json
{
  "message": "Erro ao enviar notificação",
  "status": "error",
  "http_status": 500,
  "error": "Connection refused",
  "webhook_url": "https://meusite.com/callback"
}

Regras:

  • Funciona apenas para cobranças com status Pago
  • Se a cobrança tiver boleto e Pix, o webhook do boleto tem prioridade

10. Cobranças

10.1 Relatório de Cobranças

GET /quickpay/charges/reports

Retorna dados agrupados de cobranças por período, úteis para gráficos e dashboards.

WARNING

O path /quickpay/chargess/reports (com dois 's') existe por engano — não use. Use sempre /charges/reports.

Query Params

ParâmetroTipoObrigatórioDescrição
group_bystringSimdays (por dia) ou months (por mês)
date_startdateSimData inicial (Y-m-d)
date_enddateSimData final (Y-m-d, deve ser ≥ date_start)

Response (200 OK)

json
[
  {
    "reference_date": "2024-12-01",
    "payment_method": "BOLETO",
    "total_qtd": 5,
    "total_amount_paid": 1250.00,
    "total_value": 1250.00,
    "total_method_paid": 1250.00,
    "total_method_unpaid": 0.00,
    "status": { "title": "Pago", "description": "" }
  }
]

Regras:

  • A data de referência usa a data de pagamento para cobranças pagas e a data de vencimento para as demais
  • Os dados são agrupados por período + status + método de pagamento

10.2 Exportar Cobranças

GET /quickpay/charges/export

Exporta cobranças como arquivo. Com download=true, o arquivo é retornado diretamente; sem ele, é enviado por e-mail.

Query Params

ParâmetroTipoDescrição
formatstringxlsx, csv ou pdf (padrão: xlsx)
downloadbooleantrue para download imediato; omitir para receber por e-mail
searchstringFiltro por texto
client_idintegerFiltro por cliente
created_at_startdateData inicial de criação
created_at_enddateData final de criação
due_date_startdateData inicial de vencimento
due_date_enddateData final de vencimento
payment_date_startdateData inicial de pagamento
payment_date_enddateData final de pagamento
status_idstringUm ou mais IDs de status separados por vírgula

Response — Download direto (download=true): Arquivo binário com Content-Type adequado

Response (202) — Por e-mail (download omitido)

json
{
  "success": true,
  "message": "Exportação agendada com sucesso!",
  "data": {
    "message": "Sua exportação foi iniciada. Você receberá um email em breve com o link para download."
  }
}

Regras:

  • download=true é síncrono — pode ter timeout para grandes volumes. Prefira a versão assíncrona (por e-mail) em relatórios grandes.

10.3 Download de Comprovante de Cobrança

GET /quickpay/charges/{id}/download

Gera e faz download do comprovante PDF de uma cobrança.

Path Params

ParâmetroTipoDescrição
idstringID ou código da cobrança

Response (200 OK) — arquivo PDF para download

Content-Type: application/pdf
Content-Disposition: attachment; filename="comprovante_150.pdf"

10.4 Notificar Cliente sobre Cobrança

POST /quickpay/charges/{id}/notify

Envia uma notificação ao cliente vinculado à cobrança.

Path Params

ParâmetroTipoDescrição
idintegerID da cobrança

Request Body

CampoTipoObrigatórioDescrição
messagestringNãoMensagem personalizada (máx 255)

Response (200 OK)

json
{ "message": "Notificação enviada com sucesso!" }

Response (500) — Falha no envio

json
{ "message": "Falha ao enviar notificação", "error": "..." }

11. Transações e Extrato

11.1 Listar Transações

GET /quickpay/transactions

Retorna o histórico paginado de transações da conta com totalizadores financeiros.

Query Params

ParâmetroTipoDescrição
per_pageintegerItens por página (padrão: 15)
pageintegerPágina atual (padrão: 1)
searchstringBusca por texto
typeintegerFiltro por tipo de transação
type_idintegerAlias de type
type_idsarrayMúltiplos tipos
created_at_startdateData inicial
created_at_enddateData final
payment_date_startdateAlias de created_at_start
payment_date_enddateAlias de created_at_end

Response (200 OK)

json
{
  "data": [
    {
      "id": 500,
      "datetime": "2024-12-10T15:05:00Z",
      "txid": "abc123",
      "endtoendid": "E001...",
      "value": 100.50,
      "description": null,
      "type": { "slug": "pix-in", "name": "Pix de Entrada" },
      "payer_name": "REMETENTE",
      "payer_document": "12345678901",
      "payer_bank_name": "NUBANK",
      "receiver_name": "EMPRESA X",
      "receiver_document": "98765432000100"
    }
  ],
  "sumary": {
    "total_transactions": 150,
    "income_value": 5000.00,
    "expenses_value": -2000.00
  },
  "meta": { "current_page": 1, "per_page": 15, "total": 150, "last_page": 10 }
}

NOTE

O campo sumary (sem 'a') é a grafia original da API — mantenha assim nos seus clientes.

Regras:

  • Retorna apenas transações confirmadas
  • income_value e expenses_value no sumary consideram todas as transações do filtro, não apenas a página atual

11.2 Evolução de Saldo por Período

GET /quickpay/transactions/balance-summary

Retorna receitas, despesas e saldo acumulado agrupados por dia ou mês.

Query Params

ParâmetroTipoObrigatórioDescrição
group_bystringSimdays ou months
date_startdateSimData inicial (Y-m-d)
date_enddateSimData final (Y-m-d)

Response (200 OK)

json
{
  "data": [
    {
      "period": "2024-12-01",
      "sum": 850.00,
      "running_balance": 1500.00,
      "income": 1000.00,
      "expenses": -150.00,
      "income_count": 3,
      "expenses_count": 2,
      "transactions_count": 5
    }
  ],
  "resume": {
    "period": "total",
    "sum": 3200.00,
    "running_balance": 1500.00,
    "income": 4000.00,
    "expenses": -800.00,
    "income_count": 15,
    "expenses_count": 6,
    "transactions_count": 21
  }
}

Regras:

  • running_balance é acumulado — representa o saldo ao final de cada período
  • resume totaliza todos os períodos retornados

11.3 Download de Comprovante de Transação

GET /quickpay/transactions/{id}/download

Gera e faz download do comprovante PDF de uma transação.

Path Params

ParâmetroTipoDescrição
idstringID da transação

Response (200 OK) — arquivo PDF para download

Content-Type: application/pdf
Content-Disposition: attachment; filename="comprovante_{id}{timestamp}.pdf"

11.4 Detalhar Transação

GET /quickpay/transactions/{id}

Path Params

ParâmetroTipoDescrição
idintegerID da transação

Response (200 OK)

json
{
  "success": true,
  "data": {
    "id": 500,
    "datetime": "2024-12-10T15:05:00Z",
    "txid": "abc123",
    "endtoendid": "E001...",
    "description": null,
    "value": 100.50,
    "balance": 1600.50,
    "type": { "slug": "pix-in", "name": "Pix de Entrada" },
    "created_at": "2024-12-10T15:05:00Z"
  }
}

Response (404)

json
{ "error": "Transação não encontrada." }

11.5 Extrato por Período

GET /quickpay/extract

Retorna o extrato agrupado por dia com saldo acumulado.

Query Params

ParâmetroTipoObrigatórioDescrição
payment_date_startdateSimData inicial (Y-m-d)
payment_date_enddateSimData final (Y-m-d)
typeintegerNãoFiltro por tipo de transação
type_idsarrayNãoMúltiplos tipos
searchstringNãoBusca por texto

Response (200 OK)

json
{
  "data": [
    {
      "date": "2024-12-10",
      "transactions": [...],
      "transactions_count": 3,
      "summary": {
        "day_total": 350.50,
        "balance_end_of_day": 1600.50
      }
    }
  ],
  "sumary": {
    "balance": 1600.50,
    "total_transactions": 8,
    "by_type": [
      { "type_name": "Pix de Entrada", "count": 5, "total": 1000.00 },
      { "type_name": "Pix de Saída",   "count": 3, "total": -649.50 }
    ]
  }
}

Regras:

  • O saldo inicial do período é calculado com base em todas as transações anteriores à data inicial
  • balance_end_of_day acumula o saldo ao final de cada dia
  • sumary.balance representa o saldo histórico total da conta, sem filtro de data
  • As transações dentro de cada dia são retornadas em ordem cronológica

Tabelas de Referência

Status de Boleto

CódigoLabelDescrição
0PendenteAguardando pagamento
1PagoPagamento confirmado
-5CanceladoBaixa bancária confirmada
3ExpiradoVencimento ultrapassado sem pagamento
4FalhouErro no registro junto ao banco
5Pago com PixLiquidado via QR Code Pix (Bolepix)
-1DeletadoCancelado ou removido

Status de Saque

ValorTítuloDescrição
aguardandoAguardandoAguardando confirmação do PIN
concluidoPagoTransferência realizada com sucesso
erroFalhaErro na transferência
awaiting_paymentAguardandoAguardando processamento
processing_paymentProcessandoEm fila de processamento
paidPagoLiquidado (legado)

Tipos de Transação

SlugDescrição
pix-inRecebimento via Pix
pix-outTransferência Pix enviada
taxaTaxa sobre operação
taxa-pix-outTaxa sobre Pix enviado
pagamento-boletoPagamento de boleto externo
bolepixBolepix (boleto + Pix)

Resumo de Problemas Conhecidos

EndpointProblemaUse em vez disso
POST /saida-sicredConfiguração bancária fixa, não suporta múltiplas contasPOST /withdraws + POST /withdraws/confirm
POST /pix-out/dataBankBug: valor do extrato gerado incorretoPOST /pixout/pix-databank
POST /boleto-saida-sicredNão implementado — retorna erro 500
GET /chargess/reportsTypo no path (dois 's')GET /charges/reports

Última atualização: 2026-05-19

FastGivr API Documentation