Skip to main content

Visão Geral

Existem duas formas de receber notificações via webhook na Autorizou:
  1. Webhook Global: Configurado na Dashboard e recebe todos os eventos selecionados
  2. Notification URL: URL específica por pagamento (configurada ao criar o pagamento)
A forma recomendada é configurar Webhooks Globais pela Dashboard, que oferece gerenciamento completo e histórico de disparos.

Configurando via Dashboard

Passo a Passo

1

Acesse a Dashboard

Faça login na Dashboard Autorizou
2

Navegue até Webhooks

No menu lateral, acesse Integrações → Webhooks
3

Criar Novo Webhook

Clique no botão “Criar Webhook”
4

Preencha o Formulário

Configure os campos obrigatórios (veja detalhes abaixo)
5

Salvar

Clique em “Salvar” para ativar o webhook

Campos de Configuração

url
string
required
URL do seu endpoint que receberá as notificaçõesDeve ser uma URL válida e acessívelHTTPS obrigatório em produçãoExemplo: https://seu-site.com.br/webhooks/autorizou
description
string
required
Descrição para identificar o webhookÚtil quando você tem múltiplos webhooks configuradosExemplo: Webhook principal de produção
events
array
required
Eventos que você deseja receber notificaçõesSelecione pelo menos um eventoA Dashboard mostra todos os eventos disponíveis organizados por categoriaVer todos os eventos disponíveis
content_type_header
string
required
Formato do conteúdo enviado no webhookOpções disponíveis:
  • application/json (recomendado)
  • application/x-www-form-urlencoded
Padrão: application/json
status
string
required
Status inicial do webhookOpções:
  • enabled - Ativo e enviando notificações
  • disabled - Desabilitado manualmente
Padrão: enabled
O status suspended é atribuído automaticamente pelo sistema após 3 falhas consecutivas
secret
string
Chave secreta opcional para validar requisiçõesRecomendado para adicionar uma camada extra de segurançaGuarde em local seguro - não será exibido novamenteExemplo: whsec_abc123def456xyz789

Gerenciando Webhooks na Dashboard

Visualizar Webhooks

Na página de webhooks você pode:

Ver URL e Status

Visualize a URL configurada e status atual

Ver Eventos

Confira quais eventos estão configurados

Editar Webhook

Atualize URL, eventos ou status

Excluir Webhook

Remova webhooks não utilizados

Histórico de Disparos

Para cada webhook, você pode acessar o histórico completo de disparos:
  • Data e hora de cada disparo
  • Evento que disparou
  • Status da entrega (delivered, failed, retrying, pending)
  • Código HTTP da resposta
  • Número de tentativas
  • Payload enviado
  • Resposta recebida
Use o histórico de disparos para debug e monitoramento da integração

Status do Webhook

Um webhook pode ter os seguintes status:
AtivoWebhook está funcionando normalmente e enviando notificaçõesEste é o status padrão ao criar um webhook
DesabilitadoWebhook foi desabilitado manualmenteNão envia notificações até ser reativadoÚtil para manutenção temporária
SuspensoWebhook foi suspenso automaticamente pelo sistema após 3 tentativas de entrega falhadasPara reativar:
  1. Corrija o problema no seu endpoint
  2. Atualize o webhook para status enabled na Dashboard

Notification URL por Pagamento

Além dos webhooks globais, você pode especificar uma notification_url ao criar um pagamento individual.

Quando Usar

  • Quando cada pagamento precisa notificar URLs diferentes
  • Para integrações com sistemas externos que fornecem URLs únicas
  • Para testes ou ambientes temporários

Exemplo ao Criar Pagamento

{
  "amount": 10000,
  "currency": "BRL",
  "payment_method": "credit_card",
  "notification_url": "https://seu-site.com.br/pedidos/123/webhook",
  "card": {
    "number": "4111111111111111",
    "exp_month": "12",
    "exp_year": "2025",
    "cvv": "123",
    "holder": "João Silva"
  },
  "customer": {
    "name": "João Silva",
    "email": "joao@exemplo.com"
  }
}
Se você tiver webhooks globais configurados E uma notification_url no pagamento, ambos receberão as notificações.

Content Type Header

O campo content_type_header define como o payload será enviado:

application/json (Recomendado)

POST /webhooks/autorizou HTTP/1.1
Host: seu-site.com.br
Content-Type: application/json

{
  "event": "payment.authorized",
  "payment": { ... }
}
Processamento:
$payload = $request->json()->all();
// ou
$payload = json_decode($request->getContent(), true);

application/x-www-form-urlencoded

POST /webhooks/autorizou HTTP/1.1
Host: seu-site.com.br
Content-Type: application/x-www-form-urlencoded

event=payment.authorized&payment[id]=pay_123&payment[status]=authorized
Processamento:
$payload = $request->all();

Troubleshooting

Webhook não está recebendo notificações

Na Dashboard, confirme que o status está enabled e não suspended
Confirme que os eventos que você espera estão selecionados na configuração
Verifique se sua URL está acessível:
  • HTTPS válido (certificado não expirado)
  • Porta 443 aberta
  • Firewall permite conexões externas
Acesse o histórico de disparos na Dashboard para ver detalhes dos erros

Webhook foi suspenso

Se seu webhook foi marcado como suspended:
1

Identifique o problema

Consulte o histórico de disparos para ver os errosErros comuns:
  • Timeout (endpoint demorou mais de 30s)
  • Erro 500 (problema no seu servidor)
  • Conexão recusada (endpoint indisponível)
2

Corrija o problema

Resolva o erro identificado no seu endpoint
3

Reative o webhook

Na Dashboard, edite o webhook e altere o status para enabled

Recebendo duplicatas

É normal receber o mesmo evento mais de uma vez devido ao sistema de retry automático. Solução: Implemente processamento idempotente usando o ID do pagamento para evitar processar o mesmo evento múltiplas vezes.

Múltiplos Webhooks

Você pode configurar múltiplos webhooks com diferentes conjuntos de eventos: Exemplo de uso:
Webhook 1: Pagamentos
├─ payment.authorized
├─ payment.received
└─ payment.refused

Webhook 2: Estornos e Disputas
├─ payment.refunded
├─ payment.refund_denied
└─ payment.chargeback_requested

Webhook 3: Assinaturas
├─ subscription.created
├─ subscription.updated
└─ subscription.inactivated
Isso permite:
  • Separar responsabilidades
  • Enviar para sistemas diferentes
  • Facilitar manutenção

Próximos Passos

Ver Eventos

Conheça todos os eventos disponíveis

Estrutura de Payloads

Entenda os dados recebidos