Pular para o conteúdo principal

Visão Geral

O endpoint PIX Cash-Out via QR Code permite que você realize pagamentos PIX a partir de um QR Code escaneado ou copiado (copia-e-cola). O QR Code deve seguir o padrão EMV do Banco Central do Brasil. Os dados do destinatário são extraídos automaticamente do QR Code, simplificando o processo de pagamento.
Este endpoint requer um token Bearer válido. Verifique a documentação de autenticação para mais detalhes.

Chave PIX vs QR Code: Qual endpoint usar?

A API Fire Banking oferece dois endpoints para enviar pagamentos PIX. Escolha o mais adequado para o seu caso de uso:
  • Use Cash-Out por Chave quando sua aplicação já tem os dados do destinatário (ex: folha de pagamento, repasses programáticos)
  • Use Cash-Out via QR Code quando o pagamento é iniciado a partir de um QR Code escaneado (ex: PDV, pagamento de conta, copia-e-cola)
Ambos os endpoints retornam a mesma estrutura de resposta e disparam o mesmo webhook CashOut quando confirmados.

Características

  • Pagamento via QR Code estático ou dinâmico
  • Validação automática de valor embutido no QR Code
  • Verificação de saldo automática antes do envio
  • Identificação única por externalId (idempotência)
  • Cálculo automático de taxas

Endpoint

POST /api/pix/cash-out-qrcode

Realiza um pagamento PIX a partir de um QR Code.

Headers Obrigatórios

Request Body

Request

Response (201 Created)

Parâmetros da Requisição

value
number
obrigatório
Valor do pagamento em reais (BRL). Deve ter no máximo 2 casas decimais. Se o QR Code contiver um valor embutido, o valor informado deve corresponder (tolerância de 1 centavo).Mínimo: 0.01Exemplo: 15.50
qrCode
string
obrigatório
Conteúdo do QR Code PIX (string EMV). Pode ser obtido via escaneamento de câmera ou pelo campo copia-e-cola.Mínimo: 50 caracteresMáximo: 500 caracteresFormato: Deve iniciar com 000201 (padrão EMV PIX do Banco Central)Exemplo: "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890520400005303986540515.505802BR5925DESTINATARIO LTDA6009SAO PAULO62070503***6304ABCD"
externalId
string
obrigatório
Identificador externo único da transação. Garante idempotência — enviar o mesmo externalId duas vezes resulta em erro 409.Máximo: 255 caracteresRecomendação: Use um formato que garanta unicidadeExemplo: "QRPAY-987654-20240119"
description
string
Descrição do pagamento que aparecerá no extrato do destinatário.Máximo: 140 caracteresPadrão: VazioExemplo: "Pagamento fornecedor XYZ via QR Code"
name
string
Nome do destinatário. Opcional — quando omitido, os dados do QR Code são utilizados.Exemplo: "Destinatario Ltda"
document
string
CPF ou CNPJ do destinatário (apenas números). Opcional — quando omitido, os dados do QR Code são utilizados.CPF: 11 dígitosCNPJ: 14 dígitosExemplo: "12345678000190"

Estrutura da Resposta

transactionId
string
obrigatório
ID interno da transação gerada pela Fire Banking.Exemplo: "456"
externalId
string
obrigatório
ID externo fornecido na requisição (mesmo valor do input).Exemplo: "QRPAY-987654-20240119"
status
string
obrigatório
Status atual da transação.Valores possíveis:
  • PENDING: Pagamento em processamento
  • CONFIRMED: Pagamento confirmado e finalizado
  • ERROR: Erro no processamento
Exemplo: "PENDING"Nota: A maioria dos pagamentos PIX é confirmada em poucos segundos
generateTime
string
obrigatório
Data e hora de criação do pagamento (ISO 8601 UTC).Exemplo: "2024-01-19T14:30:00.000Z"

Exemplos de Implementação

Node.js / TypeScript

Python

PHP

Casos de Uso

1. PDV — Pagar via QR Code no Caixa

2. Pagamento de Fornecedor via QR Code

3. Automação de Pagamentos Recorrentes

Validação do QR Code

O QR Code PIX segue o padrão EMV (Europay, Mastercard, Visa) definido pelo Banco Central do Brasil. Antes de enviar à API, você pode validar localmente:
Estrutura do QR Code EMV PIX:
  • 000201 — Payload Format Indicator (obrigatório)
  • 0102XX — Point of Initiation Method (11 = estático, 12 = dinâmico)
  • Campos com dados do recebedor, valor, cidade, etc.
  • 6304XXXX — CRC16 (checksum de validação)
A validação completa do QR Code (decodificação EMV, verificação de CRC e extração de dados) é feita automaticamente pela API. A validação local serve apenas para filtrar QR Codes claramente inválidos.

Códigos de Resposta

Consulte a Referência da API para detalhes completos dos campos de resposta.

Boas Práticas

Verifique se a string começa com 000201 e tem pelo menos 50 caracteres. Isso evita chamadas desnecessárias à API para QR Codes claramente inválidos.
Consulte o saldo disponível antes de enviar o pagamento para evitar erros 400 de saldo insuficiente.
Garante idempotência e facilita a conciliação: QRPAY-{timestamp}-{uuid}Se enviar o mesmo externalId duas vezes, receberá erro 409 — evitando pagamentos duplicados.
QR Codes dinâmicos podem não conter valor embutido. Nesse caso, o campo value define o valor do pagamento. QR Codes estáticos com valor embutido exigem que o value informado corresponda ao valor do QR Code.

Observações Importantes

  • Valor mínimo: R$ 0,01
  • Formato do QR Code: Deve iniciar com 000201 e ter entre 50 e 500 caracteres
  • QR Codes dinâmicos: QR Codes sem valor embutido são aceitos — o campo value define o valor do pagamento
  • QR Codes estáticos com valor: O valor informado em value deve corresponder ao valor embutido no QR Code (tolerância de 1 centavo)

Próximos Passos

Cash-Out por Chave PIX

Realize pagamentos informando a chave PIX do destinatário

Webhook CashOut

Receba notificações quando o pagamento for confirmado

Consultar Saldo

Verifique o saldo antes de realizar pagamentos