Skip to content

Início Rápido

Este guia vai te ajudar a fazer sua primeira integração com a API DiviPay em poucos minutos.

Pré-requisitos

  • Conta ativa no DiviPay
  • Credenciais de API (client_id e client_secret)
  • Ferramenta para fazer requisições HTTP (curl, Postman, etc)

Passo 1: Obter Credenciais

  1. Acesse o painel DiviPay
  2. Navegue até Configurações > API
  3. Clique em Gerar Credenciais
  4. Guarde seu client_id e client_secret em local seguro

ATENÇÃO

Nunca compartilhe suas credenciais ou as exponha em código cliente (frontend). Use sempre no backend.

Passo 2: Autenticar

Faça uma requisição POST para obter seu token de acesso:

bash
curl -X POST https://api.divipay.com.br/api/auth \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "seu_client_id",
    "client_secret": "seu_client_secret"
  }'

Resposta:

json
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expireIn": 86400,
  "expireOn": "2024-11-05T15:00:00.000Z",
  "type": "Bearer"
}

DICA

O token expira em 24 horas (86400 segundos). Implemente lógica para renovar automaticamente.

Passo 3: Criar uma Cobrança Pix

Agora vamos criar sua primeira cobrança:

bash
curl -X POST https://api.divipay.com.br/api/charge/pix \
  -H "Authorization: Bearer SEU_TOKEN_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50.00,
    "description": "Meu primeiro pagamento",
    "referenceId": "pedido-001",
    "callbackUrl": "https://seusite.com/webhook",
    "expirationSeconds": 3600,
    "client": {
      "name": "João Silva",
      "document": "12345678901",
      "email": "joao@email.com",
      "phone": "11999999999",
      "ip": "192.168.1.1"
    },
    "itens": [
      {
        "name": "Produto Teste",
        "quantity": 1,
        "unitPrice": 50.00,
        "feePercent": 0
      }
    ]
  }'

Resposta:

json
{
  "id": "cob_abc123xyz",
  "status": "PENDING",
  "qrCode": "00020126580014br.gov.bcb.pix...",
  "qrCodeImage": "data:image/png;base64,iVBORw0KG...",
  "pixCopyPaste": "00020126580014br.gov.bcb.pix...",
  "expiresAt": "2024-11-04T16:00:00.000Z"
}

Passo 4: Exibir QR Code

Use o campo qrCodeImage para exibir o QR Code ao cliente:

html
<img src="data:image/png;base64,iVBORw0KG..." alt="QR Code Pix" />
<p>Ou copie o código: <code>00020126580014br.gov.bcb.pix...</code></p>

Passo 5: Receber Webhook

Quando o pagamento for confirmado, você receberá um webhook no callbackUrl:

json
{
  "event": "charge.paid",
  "chargeId": "cob_abc123xyz",
  "referenceId": "pedido-001",
  "amount": 50.00,
  "paidAt": "2024-11-04T15:30:00.000Z",
  "status": "PAID"
}

WEBHOOK

Configure um endpoint HTTPS em seu servidor para receber as notificações. Veja mais em Webhooks.

Exemplo Completo em Node.js

javascript
const axios = require('axios');

const API_URL = 'https://api.divipay.com.br';
const CLIENT_ID = 'seu_client_id';
const CLIENT_SECRET = 'seu_client_secret';

// 1. Autenticar
async function authenticate() {
  const response = await axios.post(`${API_URL}/api/auth`, {
    client_id: CLIENT_ID,
    client_secret: CLIENT_SECRET
  });
  return response.data.token;
}

// 2. Criar cobrança Pix
async function createPixCharge(token, amount, description) {
  const response = await axios.post(
    `${API_URL}/api/charge/pix`,
    {
      amount,
      description,
      referenceId: `pedido-${Date.now()}`,
      callbackUrl: 'https://seusite.com/webhook',
      expirationSeconds: 3600,
      client: {
        name: 'João Silva',
        document: '12345678901',
        email: 'joao@email.com',
        phone: '11999999999',
        ip: '192.168.1.1'
      },
      itens: [
        {
          name: 'Produto',
          quantity: 1,
          unitPrice: amount,
          feePercent: 0
        }
      ]
    },
    {
      headers: {
        Authorization: `Bearer ${token}`
      }
    }
  );
  return response.data;
}

// Executar
(async () => {
  try {
    const token = await authenticate();
    console.log('✅ Autenticado com sucesso');
    
    const charge = await createPixCharge(token, 50.00, 'Teste');
    console.log('✅ Cobrança criada:', charge.id);
    console.log('📱 QR Code:', charge.pixCopyPaste);
  } catch (error) {
    console.error('❌ Erro:', error.response?.data || error.message);
  }
})();

Próximos Passos

Testando no Sandbox

Use o ambiente sandbox para testes:

javascript
const API_URL = 'https://pay-sandbox.hge.app';

No sandbox, os pagamentos são simulados e não há movimentação real de dinheiro.

Documentação da API DiviPay