POST /api/v1/wallet/withdrawals
Autenticação: Obrigatória — inclua o header Authorization: Bearer sk_live_sua_api_key. Requer o escopo withdrawal.create.
Parâmetros do corpo
number
required
Valor em reais que o destinatário vai receber. É obrigatório também com
brCode de valor fixo: nesse caso, o servidor decodifica novamente o código e usa o valor nele definido. Para código estático sem valor, amount define o pagamento. A taxa é somada ao valor debitado da carteira. Consulte GET /wallet/withdrawals/quote para os limites da loja.string
Chave Pix de destino: CPF, CNPJ, e-mail, telefone com DDI
55 ou chave aleatória. Envie pixKey ou brCode, nunca ambos.string
Código Pix Copia e Cola completo (BR Code/EMV). Use no lugar de
pixKey para pagar uma cobrança Pix diretamente com o saldo da loja. Envie brCode ou pixKey, nunca ambos.string
TOTP atual exigido para saque com sessão; uma API key ativa com escopo
withdrawal.create dispensa este campo.string
Alternativa no corpo ao header
Idempotency-Key. O header tem prioridade.Exemplo: saque por chave Pix
Saque por Pix Copia e Cola
Antes do saque, confira o código comPOST /api/v1/wallet/withdrawals/pix-code/preview usando a mesma API key (escopo withdrawal.create). A prévia não reserva saldo nem transfere dinheiro.
preview.type (static ou dynamic), preview.amount, preview.requiresAmount, preview.merchantName e preview.recipientReference. Confira o valor e o destinatário com o usuário. Em código estático sem valor, preview.amount é null e requiresAmount é true.
Para solicitar o saque, envie o BR Code completo em brCode e também amount. Se o código já contém valor, use o valor exibido na prévia; a API consultará e usará o valor do código. Se o código estático não contém valor, amount define quanto o destinatário recebe. Não envie pixKey junto.
brCode está disponível quando o gateway de saída da loja é PurinCash ou processamento manual; em outra configuração, a API retorna 400. Códigos inválidos, fora do limite, já pagos ou expirados são rejeitados. O valor mínimo recebido é R$ 2,00; consulte o máximo e a taxa da loja em GET /api/v1/wallet/withdrawals/quote.
Resposta
Status201 Created.
number
O que o destinatário recebe.
number
O que foi debitado da sua carteira, já com a taxa.
string
pending, processing, approved ou rejected.Idempotência
Envie o headerIdempotency-Key para poder repetir a requisição sem risco de enviar o dinheiro duas vezes. Use de 8 a 128 caracteres, com letras, números e . _ : -.
Se você não enviar a chave, a API gera uma e devolve no header
Idempotency-Key da resposta.
Confirmação pendente
Se a resposta for502 com code: "WithdrawalConfirmationPending", o saque pode ter sido enviado e fica em processing.
Em falha definitiva, o code é WithdrawalProcessingFailed e o valor volta ao seu saldo. Quando o serviço está indisponível, o code é WithdrawalUnavailable.
Acompanhar
Assine o webhooktransfer.completed para saber da conclusão, ou consulte GET /api/v1/wallet/activity?view=withdrawals.