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
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.50Conteú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"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"Descrição do pagamento que aparecerá no extrato do destinatário.Máximo: 140 caracteresPadrão: VazioExemplo:
"Pagamento fornecedor XYZ via QR Code"Nome do destinatário. Opcional — quando omitido, os dados do QR Code são utilizados.Exemplo:
"Destinatario Ltda"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
ID interno da transação gerada pela Fire Banking.Exemplo:
"456"ID externo fornecido na requisição (mesmo valor do input).Exemplo:
"QRPAY-987654-20240119"Status atual da transação.Valores possíveis:
PENDING: Pagamento em processamentoCONFIRMED: Pagamento confirmado e finalizadoERROR: Erro no processamento
"PENDING"Nota: A maioria dos pagamentos PIX é confirmada em poucos segundosData 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: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
Valide o QR Code localmente antes de enviar
Valide o QR Code localmente antes de enviar
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.Verifique o saldo antes de realizar pagamentos
Verifique o saldo antes de realizar pagamentos
Consulte o saldo disponível antes de enviar o pagamento para evitar erros 400 de saldo insuficiente.
Use externalId único e rastreável
Use externalId único e rastreável
Garante idempotência e facilita a conciliação:
QRPAY-{timestamp}-{uuid}Se enviar o mesmo externalId duas vezes, receberá erro 409 — evitando pagamentos duplicados.Trate QR Codes dinâmicos corretamente
Trate QR Codes dinâmicos corretamente
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
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