Base URL
https://api.depixpay.com/api/v1
Todas as requisições devem usar HTTPS. HTTP não é suportado.
🔐 Autenticação
Todas as requisições devem incluir sua API Key no header:
Authorization: Bearer dpx_sua_api_key_aqui
Sua API Key é gerada no momento do cadastro. Guarde-a em segurança — ela não pode ser recuperada.
⚠️ Nunca exponha sua API Key em código frontend. Use sempre server-side.
📊 Limites (Compliance Eulen)
O DEPIX PAY segue as diretrizes de compliance da Eulen/Banco Central:
| Limite | Valor | Descrição |
|---|---|---|
| Por transação | R$ 5.000 | Limite máximo do QR Code dinâmico (imposição bancária) |
| Primeira compra (CPF novo) | R$ 500 | Proteção contra fraudes MED. Após 1ª compra confirmada, limite aumenta. |
| Limite diário por CPF | R$ 6.000 | Soma de todas as transações do CPF no dia |
💡 Dica: Para receber R$ 6.000 no dia de um mesmo CPF, divida em múltiplas transações de até R$ 5.000 cada.
Erros de Limite
| Código | Descrição |
|---|---|
SINGLE_TX_LIMIT |
Valor excede R$ 5.000 por transação |
FIRST_PURCHASE_LIMIT |
CPF novo, primeira compra limitada a R$ 500 |
CPF_DAILY_LIMIT |
CPF atingiu limite diário de R$ 6.000 |
💳 Pagamentos
POST /payment/create
Cria um novo pagamento PIX e retorna o QR Code.
Parâmetros
| Campo | Tipo | Status | Descrição |
|---|---|---|---|
amount |
number | Obrigatório | Valor em reais (ex: 100.00). Mínimo R$ 10. |
customer_name |
string | Opcional | Nome completo do pagador |
customer_cpf |
string | Opcional | CPF (11 dígitos) ou CNPJ (14 dígitos) |
customer_email |
string | Opcional | Email do pagador |
description |
string | Opcional | Descrição do pagamento (max 200 chars) |
external_id |
string | Opcional | Seu ID interno para referência |
webhook_url |
string | Opcional | URL para receber notificações deste pagamento |
Exemplo Request
curl -X POST https://api.depixpay.com/api/v1/payment/create \
-H "Authorization: Bearer dpx_sua_api_key" \
-H "Content-Type: application/json" \
-d '{
"amount": 100.00,
"customer_name": "João Silva",
"customer_cpf": "12345678901",
"description": "Pedido #123"
}'
Exemplo Response (201)
{
"success": true,
"data": {
"payment_id": "dep_abc123xyz",
"amount": 100.00,
"status": "pending",
"qr_code": "00020126...",
"qr_image_url": "https://response.eulen.app/...",
"expires_at": "2026-02-15T20:00:00Z",
"created_at": "2026-02-15T19:40:00Z"
}
}
GET /payment/{payment_id}/status
Consulta o status de um pagamento.
Status possíveis
| Status | Descrição |
|---|---|
pending | Aguardando pagamento |
completed | Pago e confirmado |
expired | QR Code expirou (20 min) |
cancelled | Cancelado |
refunded | Estornado |
GET /payments
Lista os últimos 50 pagamentos do merchant.
🔔 Webhooks
Quando um pagamento muda de status, enviamos um POST para a URL configurada:
Payload do Webhook
{
"event": "payment.completed",
"payment_id": "dep_abc123xyz",
"external_id": "pedido_123",
"amount": 100.00,
"status": "completed",
"customer_name": "João Silva",
"customer_cpf": "12345678901",
"completed_at": "2026-02-15T19:45:00Z"
}
Eventos
| Evento | Descrição |
|---|---|
payment.completed | Pagamento confirmado |
payment.expired | QR Code expirou |
💡 Responda com HTTP 200 para confirmar recebimento. Tentamos até 3 vezes em caso de falha.
❌ Códigos de Erro
| Código | HTTP | Descrição |
|---|---|---|
UNAUTHORIZED | 401 | API Key inválida ou ausente |
INVALID_AMOUNT | 400 | Valor inválido |
MIN_AMOUNT | 400 | Valor abaixo do mínimo (R$ 10) |
SINGLE_TX_LIMIT | 400 | Valor excede R$ 5.000/transação |
FIRST_PURCHASE_LIMIT | 400 | CPF novo, máx R$ 500 na 1ª compra |
CPF_DAILY_LIMIT | 400 | CPF atingiu limite diário (R$ 6.000) |
INVALID_CPF | 400 | CPF/CNPJ inválido |
NOT_FOUND | 404 | Pagamento não encontrado |
PROVIDER_ERROR | 502 | Erro no provedor PIX |
Exemplo de Erro
{
"success": false,
"error": "CPF_DAILY_LIMIT",
"message": "Limite diário de R$ 6.000,00 por CPF atingido",
"daily_limit": 6000,
"daily_used": 5500,
"remaining": 500
}