Skip to content

Validar Chave Pix

Consulta e valida uma chave Pix antes de realizar um saque. Retorna os dados do titular da chave para conferência.

GET /api/withdraws/validate-pix

Endpoint

GET https://api.divipay.com.br/api/withdraws/validate-pix

Headers

HeaderValorObrigatório
AuthorizationBearerSim

Query Parameters

CampoTipoDescriçãoObrigatório
keystringChave Pix (CPF, CNPJ, e-mail, telefone ou chave aleatória)Sim
customerIdstringId da sub-contaNão

Exemplo de Requisição

bash
curl -X GET "https://api.divipay.com.br/api/withdraws/validate-pix?key=joao@email.com" \
  -H "Authorization: Bearer SEU_TOKEN"
javascript
const key = encodeURIComponent('joao@email.com');
const response = await fetch(
  `https://api.divipay.com.br/api/withdraws/validate-pix?key=${key}`,
  {
    headers: {
      'Authorization': 'Bearer SEU_TOKEN'
    }
  }
);

const pixData = await response.json();
console.log('Titular:', pixData.name);
console.log('Token:', pixData.consultToken);
python
import requests

response = requests.get(
    'https://api.divipay.com.br/api/withdraws/validate-pix',
    params={'key': 'joao@email.com'},
    headers={
        'Authorization': 'Bearer SEU_TOKEN'
    }
)

pix_data = response.json()
print(f"Titular: {pix_data['name']}")
print(f"Token: {pix_data.get('consultToken')}")
php
<?php
$key = urlencode('joao@email.com');
$ch = curl_init("https://api.divipay.com.br/api/withdraws/validate-pix?key={$key}");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer SEU_TOKEN'
]);

$response = curl_exec($ch);
$data = json_decode($response, true);

echo 'Titular: ' . $data['name'];
echo 'Token: ' . ($data['consultToken'] ?? 'N/A');
?>

Resposta de Sucesso

Status: 200 OK

Consulta Nova (dados frescos do DICT)

json
{
  "name": "João da Silva",
  "keyType": "EMAIL",
  "key": "joao@email.com",
  "document": "123.***.**8-90",
  "ispb": "00000000",
  "consultToken": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Consulta em Cache (dados já consultados recentemente)

json
{
  "name": "João da Silva",
  "key": "joao@email.com",
  "document": "123.***.**8-90",
  "ispb": "00000000"
}

IMPORTANTE

O campo consultToken só é retornado em consultas novas (quando os dados são buscados diretamente no DICT/banco). Em consultas em cache, ele não é retornado.

Guarde o consultToken para enviar no campo consultId ao criar o saque.

CampoTipoDescrição
namestringNome do titular da chave
tradeNamestringNome fantasia (quando aplicável)
keyTypestringTipo da chave: CPF, CNPJ, EMAIL, PHONE, EVP
keystringChave Pix consultada
documentstringCPF/CNPJ do titular
ispbstringCódigo ISPB do banco
consultTokenstringToken de consulta para usar na criação do saque (apenas em consultas novas)

Respostas de Erro

400 Bad Request

Chave Pix inválida.

json
{
  "statusCode": 400,
  "message": "Chave Pix inválida"
}

404 Not Found

Conta não encontrada.

Fluxo Recomendado

O fluxo ideal para realizar um saque Pix com validação prévia:

javascript
// 1. Validar a chave Pix
const pixData = await fetch(
  `https://api.divipay.com.br/api/withdraws/validate-pix?key=${key}`,
  { headers: { 'Authorization': `Bearer ${token}` } }
).then(r => r.json());

// 2. Exibir dados para o usuário confirmar
console.log(`Titular: ${pixData.name}`);
console.log(`Documento: ${pixData.document}`);

// 3. Criar o saque com o consultToken
const withdraw = await fetch(
  'https://api.divipay.com.br/api/withdraws',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${token}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      type: 'DICT',
      amount: 500.00,
      keyPix: key,
      consultId: pixData.consultToken // token da validação
    })
  }
).then(r => r.json());

Proximos Passos

Documentação da API DiviPay