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.
📊 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 |
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 |
⏱️ QR Delay — Proteção Antifraude
Por orientação oficial da Eulen (provedora do DePix) e como medida de proteção contra fraudes, todo merchant recém-cadastrado começa com um delay de D+5 (120 horas) entre a confirmação do pagamento Pix e a conversão para DePix. Conforme o merchant constrói reputação com pagamentos confirmados, o delay pode ser reduzido pela nossa equipe.
Como funciona
- Você cria a cobrança via
POST /payment/createnormalmente — sem precisar passar nenhum parâmetro extra. - O cliente paga o QR Code Pix instantaneamente.
- O pagamento entra em status
delayedaguardando a janela de proteção (D+5 por padrão). - Você recebe um webhook
payment.delayedassim que o Pix é confirmado pela Eulen. - Após o delay expirar, o DePix é liberado na sua wallet e o status muda para
completedcom webhookpayment.completed.
Tabela de delays por reputação
| Estágio do Merchant | Delay padrão | Equivalente |
|---|---|---|
| Novo (sem histórico) | 120h | D+5 |
| Reputação inicial | 72h | D+3 |
| Reputação consolidada | 48h | D+2 |
| Histórico positivo extenso | 24h | D+1 |
| Parceiros verificados (sob análise) | 0h | Imediato |
Consultando seu delay atual
O delay configurado para sua conta aparece em GET /merchant/me:
{
"success": true,
"data": {
"id": "...",
"name": "Sua Loja",
"level_name": "Nível 1",
"qr_delay_hours": 120,
"qr_delay_label": "D+5",
...
}
}
Resposta do /payment/create com delay ativo
Quando o delay está ativo, a resposta da criação do pagamento inclui qr_delay_hours e settlement_info:
{
"success": true,
"data": {
"payment_id": "dep_abc123xyz",
"amount": 100.00,
"status": "pending",
"qr_code": "00020126...",
"qr_delay_hours": 120,
"settlement_info": "Após o pagamento Pix, a liquidação em DePix ocorrerá em 120h (D+5) — proteção antifraude/MED.",
"expires_at": "2026-02-15T20:00:00Z",
"created_at": "2026-02-15T19:40:00Z"
}
}
Webhook payment.delayed
Quando o Pix é confirmado e o pagamento entra em janela de delay:
{
"event": "payment.delayed",
"payment_id": "dep_abc123xyz",
"amount": 100.00,
"status": "delayed",
"qr_delay_hours": 120,
"delay_ends_at": "2026-02-20T19:45:00Z"
}
Por que o D+5? MED — Mecanismo Especial de Devolução
O MED é um mecanismo do Banco Central que permite ao pagador solicitar devolução de um Pix em casos de fraude (golpe). Como o DePix é convertido após esta janela, o delay protege:
- O DepixPay e a Eulen contra estornos de Pix fraudulentos já convertidos em DePix.
- Você (merchant) contra ter sua conta encerrada por receber dinheiro de origem fraudulenta.
- A rede DePix como um todo, evitando lavagem via stablecoin.
💳 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 |
delayed | Pix pago, aguardando janela antifraude (ver QR Delay) |
completed | Pago, janela cumprida e DePix liberado |
expired | QR Code expirou (20 min) |
cancelled | Cancelado |
refunded | Estornado (MED) |
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.delayed | Pix confirmado, entrou em janela de proteção antifraude |
payment.completed | DePix liberado na wallet do merchant |
payment.expired | QR Code expirou sem pagamento |
❌ 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
}