Documentação Completa da API PIX

Integre pagamentos e transferências via PIX em sua aplicação com nossa API simples e poderosa.

Começar Agora

Gerar QRCode PIX

Endpoint

POST https://seusite.com/v3/pix/qrcode

Parâmetros Requeridos

Parâmetro Tipo Descrição
client_id string ID do cliente na API
client_secret string Chave secreta do cliente
nome string Nome completo do pagador
cpf string CPF do pagador (apenas números)
valor float Valor da transação (ex: 100.50)
descricao string Descrição do pagamento
urlnoty string URL para receber notificações

Exemplo de Implementação

$apiUrl = 'https://seusite.com/v3/pix/qrcode';

$postData = [
  'client_id' => 'seu_client_id',
  'client_secret' => 'seu_client_secret',
  'nome' => 'João Silva',
  'cpf' => '12345678901',
  'valor' => 150.99,
  'descricao' => 'Pagamento de serviço',
  'urlnoty' => 'https://seusite.com/webhook'
];

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
$response = curl_exec($ch);
curl_close($ch);

// Processar resposta
$data = json_decode($response, true);
if(isset($data['qrcode'])) {
  echo "QRCode gerado com sucesso!";
} else {
  echo "Erro: " . $data['message'];
}

Respostas da API

Sucesso (200)

{
  "transactionId": "4392d1d7e408d3cec04fm1zf3gv7vkq1",
  "status": "PENDING",
  "amount": 150.99,
  "qrcode": "00020126850014br.gov.bcb.pix2563pix.voluti.com.br/qr/v3/at/6ed39bf2..."
}

Erro (400)

{
  "statusCode": 400,
  "message": "Parâmetros inválidos"
}

Transferência PIX

Endpoint

POST https://seusite.com/v3/pix/payment

Parâmetros Requeridos

Parâmetro Tipo Descrição
client_id string ID do cliente na API
client_secret string Chave secreta do cliente
nome string Nome do remetente
cpf string CPF do remetente
valor float Valor da transferência
chave_pix string Chave PIX do destinatário
urlnoty string URL para notificações

Exemplo de Implementação

$apiUrl = 'https://seusite.com/v3/pix/payment';

$postData = [
  'client_id' => 'juanfigueiredo_4703432954',
  'client_secret' => '5969b5a5830625b35407e83bcb247ab7a7364480f522fafb5d8fde0232c95ff1',
  'nome' => 'Maria Souza',
  'cpf' => '98765432100',
  'valor' => 250.75,
  'chave_pix' => '11970142332',
  'urlnoty' => 'https://seusite.com/webhook'
];

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
$response = curl_exec($ch);
curl_close($ch);

// Processar resposta
$data = json_decode($response, true);
if(isset($data['statusCode']) && $data['statusCode'] == 200) {
  echo "Transferência iniciada com sucesso!";
} else {
  echo "Erro: " . $data['message'];
}

Respostas da API

Sucesso (200)

[{
  "statusCode": 200,
  "message": "Transferência PIX processada com sucesso"
}]

Erro (400)

{
  "statusCode": 400,
  "message": "Saldo insuficiente"
}

Webhooks

Pagamento Recebido

Payload enviado quando um pagamento PIX é recebido:

{
  "transactionType": "RECEIVEPIX",
  "transactionId": "c327ce8bee2a18565ec2m1zdu6px2keu",
  "amount": 150.99,
  "status": "PAID",
  "dateApproval": "2024-05-20 14:30:45",
  "creditParty": {
    "name": "João Silva",
    "taxId": "12345678901"
  },
  "debitParty": {
    "bank": "BANCO EXEMPLO",
    "taxId": "46872831000154"
  }
}

Transferência Concluída

Payload enviado quando uma transferência PIX é concluída:

{
  "transactionType": "PAYMENT",
  "transactionId": "798176179",
  "amount": 250.75,
  "dateApproval": "2024-05-20 15:45:22",
  "statusCode": {
    "statusId": 1,
    "description": "Transferência concluída"
  }
}