Realizando um saque PIX para uma chave fixa
Este endpoint permite realizar saques PIX para chaves PIX fixas (CPF, CNPJ, EMAIL, PHONE, RANDOM). A operação é processada de forma assíncrona e o status é atualizado via webhooks.
Obs.: O pagamento deve ser feito por uma conta bancária com o mesmo CPF ou CNPJ do usuário.
📍 Endpoint
POST https://api.etherglobalassets.com/pix/withdraw/pix-key
🧾 Cabeçalhos obrigatórios (Headers)
|
Cabeçalho |
Valor |
Descrição |
|---|---|---|
|
Authorization |
Bearer <token> |
Token JWT de autenticação |
|
Content-Type |
application/json |
Formato do corpo da requisição |
🧰 Corpo da Requisição (JSON)
{
"amount": 10000,
"pixKey": "user@example.com",
"pixKeyType": "EMAIL",
"description": "Saque PIX para conta pessoal"
}
Explicação dos campos:
|
Campo |
Tipo |
Obrigatório |
Descrição |
|---|---|---|---|
|
amount |
number |
✅ |
Valor em centavos (mín: 100, máx: 50.000.000) |
|
pixKey |
string |
✅ |
Chave PIX destino (deve ser válida para o tipo especificado) |
|
pixKeyType |
enum |
✅ |
Tipo da chave PIX (EMAIL, CPF, CNPJ, PHONE, RANDOM) |
|
description |
string |
❌ |
Descrição da operação (máx: 500 caracteres) |
Tipos de Chave PIX Suportados:
|
Tipo |
Formato |
Exemplo |
|---|---|---|
|
|
Email válido |
|
|
CPF |
11 dígitos |
|
|
CNPJ |
14 dígitos |
|
|
PHONE |
Telefone com DDD |
|
|
RANDOM |
Chave aleatória |
|
📌 Exemplo com curl
curl https://api.etherglobalassets.com/pix/withdraw/pix-key \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"amount": 10000,
"pixKey": "user@example.com",
"pixKeyType": "EMAIL",
"description": "Saque PIX para conta pessoal"
}'
✅ Dica: Substitua <token> pelo seu JWT de autenticação válido e ajuste os valores conforme necessário.
✅ Resposta esperada (HTTP 200 - OK)
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"tenantId": "tenant-123",
"qrCodeId": null,
"pixKey": "user@example.com",
"e2e": "",
"pixKeyType": "EMAIL",
"type": "WITHDRAW",
"amount": 10000,
"description": "Saque PIX para conta pessoal",
"status": "PENDING",
"providerReferenceId": null,
"expireAt": "2025-01-31T23:59:59.000Z",
"executedAt": null,
"provider": null,
"createdAt": "2025-01-31T10:00:00.000Z",
"updatedAt": "2025-01-31T10:00:00.000Z",
"senderInfo": null,
"receiverInfo": null,
"feeBatchId": null,
"feeDistributionCompletedAt": null,
"feeDistributionMetadata": null
}
Explicação da resposta:
|
Campo |
Tipo |
Descrição |
|---|---|---|
|
id |
string |
ID único da transação PIX |
|
uuid |
string |
UUID único da transação |
|
userId |
string |
ID do usuário que solicitou o saque |
|
tenantId |
string |
ID do tenant |
|
qrCodeId |
string/null |
ID do QR Code (null para saques) |
|
pixKey |
string |
Chave PIX destino |
|
e2e |
string |
End-to-end ID (preenchido após confirmação) |
|
pixKeyType |
enum |
Tipo da chave PIX |
|
type |
enum |
Tipo da operação (sempre “WITHDRAW”) |
|
amount |
number |
Valor em centavos |
|
description |
string |
Descrição da operação |
|
status |
enum |
Status da transação |
|
providerReferenceId |
string/null |
ID de referência do provider |
|
expireAt |
string |
Data de expiração |
|
executedAt |
string/null |
Data de execução |
|
provider |
string/null |
Nome do provider |
|
createdAt |
string |
Data de criação |
|
updatedAt |
string |
Data da última atualização |
Status da Transação:
|
Status |
Descrição |
|---|---|
|
PENDING |
Transação criada, aguardando processamento |
|
PROCESSING |
Transação sendo processada pelo provider |
|
CONFIRMED |
Transação confirmada pelo provider |
|
COMPLETED |
Transação finalizada com sucesso |
|
FAILED |
Transação falhou |
|
CANCELED |
Transação cancelada |
|
REFUNDED |
Transação reembolsada |
⚠️ Possíveis erros
|
Código |
Erro |
Causa comum |
|---|---|---|
|
400 |
Bad Request |
Valor inválido, saldo insuficiente ou campo obrigatório faltando |
|
401 |
Unauthorized |
Token inválido ou ausente |
|
500 |
Internal Server Error |
Erro interno do serviço |
🎯 Como usar o saque PIX
Após receber a resposta, você pode:
-
Monitorar o status: Verifique o campo
statuspara acompanhar o processamento -
Aguardar confirmação: O saque é processado de forma assíncrona
-
Receber webhook: Configure webhooks para receber atualizações automáticas
-
Verificar execução: Use o campo
executedAtpara saber quando foi processado
⏰ Processamento assíncrono
-
Criação: Transação criada imediatamente com status
PENDING -
Enfileiramento: Adicionada à fila de processamento
-
Processamento: Provider processa a transação
-
Webhook: Status atualizado via webhook do provider
-
Finalização: Transação marcada como
COMPLETEDouFAILED
🛡️ Limitações e restrições
✅ FAÇA:
-
Use valores entre R$ 1,00 (100 centavos) e R$ 500.000,00 (50.000.000 centavos)
-
Verifique se tem saldo suficiente + taxas
-
Use chaves PIX válidas e pertencentes ao usuário
-
Configure webhooks para receber atualizações
❌ NÃO FAÇA:
-
Usar valores fora dos limites permitidos
-
Tentar saques sem saldo suficiente
-
Usar chaves PIX de outros usuários
-
Ignorar o processamento assíncrono
🆘 Problemas comuns
“Estou recebendo erro 400!”
-
Verifique se o valor está dentro dos limites (R$ 1,00 a R$ 500.000,00)
-
Confirme se tem saldo suficiente
-
Verifique se a chave PIX é válida
“O saque não está sendo processado!”
-
Verifique se a chave PIX pertence ao usuário
-
Confirme se o status não está como
FAILED -
Aguarde o processamento assíncrono
“Erro 401!”
-
Verifique se o token de autenticação é válido
-
Faça uma nova autenticação se necessário
📞 Suporte
Se nada funcionar:
-
Verifique os valores e limites
-
Confirme a autenticação está válida
-
Entre em contato com nossa equipe de suporte
Mais informações sobre esse endpoint:
Acesse aqui