Documentação XFlow API

POST

Solicitar Saque (Withdraw)

Solicita um saque do saldo disponível da empresa. Valores monetários: Sempre informados em centavos (R$ 25,00 → 2500).

💡 Campo metadata (opcional):

A requisição agora aceita o campo metadata que pode ser string ou JSON (objeto). Se enviar um objeto, ele será salvo como string JSON no banco.

O metadata que você enviar será retornado no webhook.

Endpoint

POST /api/Withdraw/request

Headers

HeaderTipo
Acceptapplication/json
Content-Typeapplication/json
X-Client-IdClient ID do aplicativo
X-API-KeySecret Key (Company)
Idempotency-KeyChave única (ex.: wd_123456789)

Request Body

{
  "amount": 2500,
  "currency": "BRL",
  "pixKey": "50651470862",
  "pixKeyType": "CPF",
  "description": "Saque teste via chave custom",
  "metadata": { "origem": "n8n", "pedidoId": 123 }
}

Campos do Body

amount(integer)Obrigatório

Valor do saque em centavos (2500 = R$ 25,00)

currency(string)Obrigatório

Moeda padrão (BRL)

pixKey(string)Opcional

Chave PIX a ser usada (CPF, CNPJ, e-mail, telefone ou EVP)

pixKeyType(string)Opcional

Tipo da chave PIX (ex: CPF, CNPJ, EMAIL, PHONE, EVP)

description(string)Opcional

Descrição livre para o saque

metadata(string | object)Opcional

Metadados personalizados. Pode ser uma string ou um objeto JSON. Retorna no webhook.

Resposta de Sucesso (201 Created)

{
  "id": 15,
  "companyId": 1,
  "idempotencyKey": "dc2b11dc8007409dbd421ed9014ac18c",
  "value": 10.00,
  "pixKey": "50651470862",
  "pixKeyType": "CPF",
  "creditorDocument": "11111111111111",
  "description": "Saque teste via chave custom",
  "currency": "BRL",
  "enTransaction": "Awaiting",
  "createdAt": "2025-11-17T14:05:07.825Z"
}

Exemplos

cURL

curl -X POST 'https://app.xflowpayments.com.br/api/Withdraw/request' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'X-Client-Id: e1c98954cc404cbcb2868af9b40c7a33' \
  -H 'X-API-Key: sua-api-key-secreta' \
  -H 'Idempotency-Key: wd_test_pix_custom' \
  -d '{
    "amount": 1000,
    "currency": "BRL",
    "pixKey": "50651470862",
    "pixKeyType": "CPF",
    "description": "Saque R$10 via chave custom",
    "metadata": { "origem": "n8n", "pedidoId": 123 }
  }'

JavaScript/Node.js

const response = await fetch('https://app.xflowpayments.com.br/api/Withdraw/request', {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'X-Client-Id': 'e1c98954cc404cbcb2868af9b40c7a33',
    'X-API-Key': 'sua-api-key-secreta',
    'Idempotency-Key': 'wd_test_' + Date.now()
  },
  body: JSON.stringify({
    amount: 1000,
    currency: 'BRL',
    pixKey: '50651470862',
    pixKeyType: 'CPF',
    description: 'Saque R$10 via chave custom',
    metadata: { origem: 'n8n', pedidoId: 123 }
  })
});

const data = await response.json();
console.log(data);

Observações

💡 Se pixKey for omitida, o sistema automaticamente usará a chave PIX cadastrada na conta bancária (BankAccount) da empresa.

💡 Se nenhuma chave estiver disponível, a API retornará erro.

💡 O valor mínimo para saque é R$ 10,00 (1000 centavos).