📊 Visão Geral
⚡ Atividade Recente
🏆 Performance dos Webhooks
Gerenciar Webhooks
| Nome | URL | Eventos | Filtros | Status | Performance | Ações |
|---|
Transações PIX
| ID | ID Externo | Status | Valor | Cliente | Produtos | Webhooks | Data | Ações |
|---|
Logs de Webhooks
| Data/Hora | Webhook | Evento | Transação | Status | Filtro Aplicado | Resposta | Detalhes |
|---|
Estatísticas por Produto
| # | Produto | Transações | Receita Total | Webhooks Enviados | Webhooks Filtrados | Performance |
|---|
API - Endpoints
📍 Criar PIX
Carregando...
Requisição (POST):
{
"external_id": "pedido-123456",
"total_amount": 99.90,
"payment_method": "PIX",
"parametros": "utm_source=instagram&utm_medium=post&utm_campaign=promocao",
"customer": {
"name": "João Silva",
"email": "joao@exemplo.com",
"phone": "11999999999",
"document_type": "CPF",
"document": "12345678900",
"address": {
"cep": "32323232",
"city": "Florianopolis",
"state": "SC",
"number": "82",
"street": "Florianopolis Centro",
"complement": "ALTOS",
"neighborhood": "Centro"
}
},
"items": [
{
"title": "Produto Exemplo",
"price": 99.90,
"quantity": 1,
"is_physical": true,
"description": "Produto físico que precisa de entrega"
}
]
}
🆕 Campo Parametros
O campo parametros é opcional e permite armazenar parâmetros de URL (UTMs, IDs de referência, etc).
Este campo é salvo localmente e retransmitido em todos os webhooks, mas não é enviado para a Pagardin.
Exemplo: "parametros": "utm_source=instagram&utm_medium=post&ref_id=123"
📍 Campo Address
O campo customer.address é opcional e permite armazenar o endereço de entrega do cliente.
Use para produtos físicos que precisam de envio. Para produtos digitais, omita este campo.
O endereço completo é retransmitido em todos os webhooks dentro dos dados do cliente, mas não é enviado para a Pagardin.
📦 Campo is_physical
Use "is_physical": true para produtos físicos e "is_physical": false para produtos digitais.
Este campo ajuda a identificar se o produto precisa de entrega. É enviado para a Pagardin.
Resposta:
{
"external_id": "pedido-123456",
"status": "PENDING",
"amount": 99.90,
"parametros": "utm_source=instagram&utm_medium=post&utm_campaign=promocao",
"customer": {
"name": "João Silva",
"email": "joao@exemplo.com",
"phone": "11999999999",
"document_type": "CPF",
"document": "12345678900",
"address": {
"cep": "32323232",
"city": "Florianopolis",
"state": "SC",
"number": "82",
"street": "Florianopolis Centro",
"complement": "ALTOS",
"neighborhood": "Centro"
}
},
"items": [
{
"title": "Produto Exemplo",
"price": 99.90,
"quantity": 1,
"is_physical": true,
"description": "Produto físico que precisa de entrega"
}
],
"pix": {
"payload": "00020126580014BR.GOV.BCB.PIX...",
"qr_code": "https://api.qrserver.com/..."
},
"created_at": "2025-05-24 12:00:00",
"updated_at": "2025-05-24 12:00:05"
}
🔍 Consultar Status
Carregando...
Resposta:
{
"external_id": "pedido-123456",
"status": "PENDING",
"amount": 99.90,
"parametros": "utm_source=instagram&utm_medium=post&utm_campaign=promocao",
"customer": {
"name": "João Silva",
"email": "joao@exemplo.com",
"phone": "11999999999",
"document_type": "CPF",
"document": "12345678900",
"address": {
"cep": "32323232",
"city": "Florianopolis",
"state": "SC",
"number": "82",
"street": "Florianopolis Centro",
"complement": "ALTOS",
"neighborhood": "Centro"
}
},
"items": [
{
"title": "Produto Exemplo",
"price": 99.90,
"quantity": 1,
"is_physical": true,
"description": "Produto físico que precisa de entrega"
}
],
"pix": {
"payload": "00020126580014BR.GOV.BCB.PIX...",
"qr_code": "https://api.qrserver.com/..."
},
"created_at": "2025-05-24 12:00:00",
"updated_at": "2025-05-24 12:00:05"
}
Configurações do Sistema
💳 Gateway de Pagamento
🔔 Notificações
🎨 Aparência
🚀 Performance
🔐 O que é HMAC?
HMAC (Hash-based Message Authentication Code) é um método de segurança que garante que o webhook foi realmente enviado por este sistema e não foi alterado no caminho.
Se você definir um Secret, enviaremos uma assinatura digital no header X-Webhook-Signature que você pode verificar no seu servidor para garantir a autenticidade.
$secret = 'seu_secret_aqui';
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'];
$expected = hash_hmac('sha256', $payload, $secret);
if ($signature === $expected) {
// Webhook é autêntico!
}