Pular para o conteúdo principal
POST
/
pix
/
v2
/
payment
/
withdraw
Transferência via Chave PIX
curl --request POST \
  --url https://api-gateway.firebanking.dev/pix/v2/payment/withdraw \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "type": "PIX",
  "value": 15,
  "details": {
    "key": "12312312387",
    "keyType": "DOCUMENT",
    "name": "John Marvin",
    "document": "12312312387"
  },
  "externalId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
'
{
  "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  "status": "WAITING_CONFIRMATION"
}

Visão Geral

Realize transferências PIX (cash out) enviando valores da sua conta FireBanking para chaves PIX conhecidas (CPF, CNPJ, email, telefone ou chave aleatória). As transferências são processadas instantaneamente e funcionam 24/7.
Para pagamentos via QR Code dinâmico ou código Copia e Cola, utilize o endpoint /payment/withdraw/qrcode.
Certifique-se de ter saldo suficiente na sua conta antes de realizar a transferência.

Exemplo de Requisição

curl -X POST "https://api-gateway.firebanking.com.br/pix/v2/payment/withdraw" \
  -H "x-api-key: SUA_CHAVE_DE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "PIX",
    "value": 15,
    "details": {
      "key": "12312312387",
      "keyType": "DOCUMENT",
      "name": "John Marvin",
      "document": "12312312387"
    },
    "externalId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }'

Exemplo de Resposta

{
  "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  "status": "WAITING_CONFIRMATION"
}

Campos de Resposta

transactionId
string
ID único da transferência no FireBanking
status
string
Status da transferência:
  • WAITING_CONFIRMATION - Aguardando confirmação/processamento
  • WITHDRAW_PAID - Transferência realizada com sucesso
  • ERROR - Erro no processamento

Fluxo de Processamento

1. Validação Inicial

  • Verificação de saldo disponível
  • Validação da chave PIX do beneficiário
  • Confirmação dos dados do beneficiário

2. Processamento

  • Débito do valor na sua conta
  • Envio da transferência PIX
  • Confirmação pelo Sistema de Pagamentos Instantâneos (SPI)

3. Confirmação

  • Webhook enviado com status final
  • Valor disponível na conta do beneficiário
  • Comprovante gerado

Estados da Transferência

  • Descrição: Transferência criada, aguardando processamento
  • Duração típica: Alguns segundos
  • Ação: Sistema está validando e processando
  • Próximo status: WITHDRAW_PAID ou ERROR
  • Descrição: Transferência realizada com sucesso
  • Valor: Debitado da sua conta e creditado no destino
  • Dados extras: Informações do banco beneficiário
  • Status final: Transferência concluída
  • Descrição: Erro no processamento da transferência
  • Possíveis causas: Chave inválida, saldo insuficiente, dados incorretos
  • Valor: Não foi debitado (ou estornado automaticamente)
  • Ação: Verificar erro e tentar novamente

Validações e Limites

Limites Operacionais

  • Valor mínimo: R$ 0,01
  • Valor máximo diurno: R$ 20.000,00 (6h às 20h)
  • Valor máximo noturno: R$ 1.000,00 (20h às 6h)
  • Limite mensal: Configurável por conta

Validações Automáticas

  • Saldo disponível: Verificação em tempo real
  • Chave PIX válida: Validação no DICT (Diretório de Identificadores)
  • Dados do beneficiário: Confirmação nome/documento
  • Limites de horário: Conformidade com regulamentação

Tipos de Chave PIX

{
  "key": "12345678901",
  "keyType": "DOCUMENT"
}
  • CPF: 11 dígitos (sem formatação)
  • CNPJ: 14 dígitos (sem formatação)
  • Validação: Dígitos verificadores e registro PIX
{
  "key": "[email protected]",
  "keyType": "EMAIL"
}
  • Formato: Endereço de email válido
  • Case-sensitive: Não (convertido automaticamente)
  • Validação: Formato e registro no PIX
{
  "key": "+5511999999999",
  "keyType": "PHONE"
}
  • Formato: +55 + DDD + número (ou sem +55)
  • Padronização: Automática para formato brasileiro
  • Validação: Formato e registro PIX
{
  "key": "123e4567-e89b-12d3-a456-426614174000",
  "keyType": "RANDOM_KEY"
}
  • Formato: UUID v4 (36 caracteres com hífens)
  • Segurança: Maior privacidade (não expõe dados pessoais)
  • Validação: Formato UUID e registro PIX

Códigos de Erro

CódigoDescrição
INSUFFICIENT_BALANCESaldo insuficiente na conta
INVALID_PIX_KEYChave PIX inválida ou não encontrada
INVALID_KEY_TYPETipo de chave não corresponde ao formato
INVALID_BENEFICIARY_DATADados do beneficiário inconsistentes
LIMIT_EXCEEDEDLimite de transferência excedido
INVALID_AMOUNTValor inválido (fora dos limites permitidos)
EXTERNAL_ID_EXISTSExternalId já utilizado
PIX_UNAVAILABLESistema PIX temporariamente indisponível

Boas Práticas

Segurança

  • Validação prévia: Sempre validar chaves PIX antes de transferir
  • Confirmação dupla: Implementar confirmação para valores altos
  • Log detalhado: Registrar todas as tentativas de transferência
  • Rate limiting: Limitar número de transferências por minuto

Experiência do Usuário

  • Validação em tempo real: Verificar chaves durante digitação
  • Feedback claro: Mostrar progresso da transferência
  • Comprovante imediato: Exibir dados da transferência confirmada
  • Histórico acessível: Manter registro das transferências

Performance

  • Cache de validações: Para chaves PIX frequentes
  • Timeout apropriado: 30 segundos para transferências
  • Retry inteligente: Retentar apenas em casos específicos
  • Webhook prioritário: Use webhook ao invés de polling

Webhook de Confirmação

Após o processamento, você receberá um webhook:
{
  "event": "pix.withdraw_completed",
  "transaction_id": "withdraw_987654321012345",
  "external_id": "transfer-789012",
  "timestamp": "2024-01-15T15:30:15Z",
  "data": {
    "status": "WITHDRAW_PAID",
    "value": 25050,
    "beneficiary": {
      "name": "Ana Silva Santos",
      "key": "[email protected]",
      "bank": "Banco Inter"
    },
    "fees": {
      "total": 0
    }
  }
}

Próximos Passos

Authorizations

x-api-key
string
header
required

Chave de API para autenticação

Body

application/json
type
enum<string>
required

Tipo da operação: sempre PIX

Opções disponíveis:
PIX
value
number
required

Valor da transferência em reais

Intervalo obrigatório: x >= 0.01
Example:

15

details
object
required
externalId
string

Identificador único da transferência em seu sistema

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

Response

Transferência PIX criada com sucesso

transactionId
string
required

ID único da transferência no FireBanking

Example:

"75906707-8c31-479c-b354-aa805c4cefbc"

status
enum<string>
required

Status da transferência

Opções disponíveis:
WAITING_CONFIRMATION,
WITHDRAW_PAID,
ERROR
Example:

"WAITING_CONFIRMATION"