Skip to main content

Visão geral

Antes de realizar chamadas ao endpoint de solicitação de transferência, é importante compreender os campos aceitos, os tipos de chave PIX e as regras de negócio aplicadas. Toda requisição passa por uma série de validações em cadeia — se qualquer etapa falhar, a transferência não será processada e você receberá uma resposta de erro correspondente.

Campos do payload

Se key_type não for informado, o sistema assume cpf como padrão e valida o key_value como CPF.

Taxa de saque (discount_fee)

O campo discount_fee controla se a taxa de saque é descontada do valor transferido ou acrescida ao valor total debitado da conta. Exemplo com discount_fee: true (padrão): Você solicita R500,00(amount:50000)eataxaeˊR 500,00 (`amount: 50000`) e a taxa é R 2,00 (200 centavos):
  • Valor debitado da conta: R$ 500,00
  • Valor transferido (liquid_amount): R$ 498,00
Exemplo com discount_fee: false: Você solicita R500,00(amount:50000)eataxaeˊR 500,00 (`amount: 50000`) e a taxa é R 2,00 (200 centavos):
  • Valor debitado da conta: R$ 502,00
  • Valor transferido (liquid_amount): R$ 500,00
Use discount_fee: false quando precisar que o destinatário receba o valor exato informado em amount. Use o padrão (true) quando preferir que a taxa seja deduzida do valor transferido.

Tipos de chave PIX aceitos

CPF e CNPJ podem ser enviados com ou sem formatação (pontos, traços, barras). A API aceita ambos os formatos e realiza a validação algorítmica automaticamente.

Fluxo de validação

As verificações abaixo são aplicadas na ordem listada. A primeira falha interrompe o processamento e retorna o erro correspondente.
1

Autenticação das credenciais

As credenciais X-Public-Key e X-Secret-Key devem estar presentes nos headers da requisição, além de serem válidas e ativas.Se as credenciais estiverem ausentes, inválidas ou inativas, a API retorna 401 Unauthorized.
2

Permissão da credencial

A credencial utilizada deve possuir permissão do tipo cashout (apenas saídas) ou all (ambas). Credenciais do tipo apenas entrada não podem solicitar transferências.Se a credencial não tiver permissão, a API retorna 403 Forbidden.
3

Status da conta

A conta do usuário deve estar com o status approved (aprovada). Contas pendentes, em análise ou rejeitadas não podem solicitar saques.Se a conta não estiver aprovada, a API retorna 403 Forbidden.
4

Conta não bloqueada

A conta do usuário não pode estar bloqueada. Contas bloqueadas perdem temporariamente o acesso a todas as funcionalidades da API.Se a conta estiver bloqueada, a API retorna 403 Forbidden.
5

Validação dos campos

Os campos obrigatórios devem ser preenchidos com valores válidos. O tipo de chave PIX deve ser um dos aceitos (cpf, cnpj, email, phone, random) e o key_value deve seguir o formato correspondente. CPF e CNPJ são validados algoritmicamente.Se houver erros de validação, a API retorna 422 Unprocessable Entity com os erros detalhados por campo.
6

Valor mínimo

O valor do saque (amount) deve ser de no mínimo 1.000 centavos (R$ 10,00).Se o valor for inferior ao mínimo, a API retorna 400 Bad Request.
7

Saldo disponível

O usuário deve ter saldo disponível suficiente para cobrir o saque. O saldo é verificado em tempo real no momento da requisição.
  • Com discount_fee: true (padrão), o saldo deve cobrir o valor de amount.
  • Com discount_fee: false, o saldo deve cobrir o valor de amount mais as taxas de saque.
Se o saldo for insuficiente, a API retorna 400 Bad Request com os detalhes do saldo.
8

Limite por solicitação

O valor não pode ultrapassar o limite por solicitação configurado para o usuário (se houver). Esse limite é definido individualmente por conta.Se o valor exceder o limite, a API retorna 400 Bad Request.
9

Limite diário

O valor não pode ultrapassar o limite diário de saques restante do usuário. O limite considera a soma de todos os saques com status paid e pending realizados no dia.Se o valor exceder o limite diário restante, a API retorna 400 Bad Request.
10

Valor líquido após taxas

Após o cálculo das taxas de saque, o valor líquido transferido deve ser maior que R$ 0,00.
  • Com discount_fee: true (padrão), a taxa é descontada de amount — o liquid_amount deve ser positivo após o desconto.
  • Com discount_fee: false, o liquid_amount é igual ao amount solicitado; a taxa é acrescentada ao total debitado da conta.
Se o valor líquido for insuficiente, a API retorna 400 Bad Request.
11

Horário de funcionamento

Dependendo da adquirente configurada, saques podem estar restritos ao horário comercial, das 09:00 às 22:00 (horário de Brasília).Se a solicitação for feita fora do horário permitido, a API retorna 400 Bad Request.
12

Processamento na adquirente

Se o saque for auto-aprovado, a comunicação com a adquirente de cash-out deve ser bem-sucedida para que a transferência PIX seja realizada.Se houver falha na comunicação, a API retorna 500 Internal Server Error.

Resposta de sucesso

Se todas as validações passarem e o saque for processado com sucesso, a API retorna 201 Created com os seguintes dados:

Resumo dos códigos de resposta