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_ideclient_secret) - Ferramenta para fazer requisições HTTP (curl, Postman, etc)
Passo 1: Obter Credenciais
- Acesse o painel DiviPay
- Navegue até Configurações > API
- Clique em Gerar Credenciais
- Guarde seu
client_ideclient_secretem 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:
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:
{
"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:
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:
{
"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:
<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:
{
"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
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
- Autenticação - Entenda melhor o sistema de autenticação
- Webhooks - Configure notificações em tempo real
- Sub-contas - Crie um marketplace com split de pagamentos
- API Reference - Explore todos os endpoints
Testando no Sandbox
Use o ambiente sandbox para testes:
const API_URL = 'https://pay-sandbox.hge.app';No sandbox, os pagamentos são simulados e não há movimentação real de dinheiro.