Visão Geral
Os eventos de webhook de transações permitem que você receba notificações em tempo real quando transações são criadas ou atualizadas em sua organização. Gu1 envia automaticamente solicitações HTTP POST para seu endpoint de webhook configurado, permitindo que você automatize fluxos de trabalho de monitoramento de transações, detecção de fraude e conformidade regulatória.Por Que Usar Webhooks de Transações?
Monitoramento em Tempo Real
Receba notificações instantâneas sobre transações novas ou atualizadas
Detecção de Fraude
Implemente verificações de segurança adicionais em tempo real
Automação de Workflows
Acione processos automáticos baseados em atividade transacional
Auditoria e Conformidade
Mantenha registros de auditoria sincronizados em todos os seus sistemas
Eventos Disponíveis
Gu1 envia webhooks para os seguintes eventos de transações:| Tipo de Evento | Descrição | Quando Acionado |
|---|---|---|
transaction.created | Transação criada | Quando uma nova transação é registrada no sistema |
transaction.updated | Transação atualizada | Quando o status ou informações de uma transação são atualizados |
Os eventos
transaction.created e transaction.updated estão atualmente em desenvolvimento e serão ativados em breve. A documentação está disponível para preparar sua integração.Estrutura do Payload do Evento
Todos os eventos de webhook de transações seguem esta estrutura padrão:Campos Comuns do Payload
O tipo de evento (por exemplo,
transaction.created)Timestamp ISO 8601 quando o evento ocorreu
Seu ID de organização
O ID UUID da transação no Gu1
Seu ID externo para a transação
Tipo de transação:
payment, transfer, withdrawal, etc.Status atual da transação:
CREATED, PROCESSING, SUSPENDED, SENT, SUCCESSFUL, DECLINED, REFUNDED, EXPIREDValor da transação na moeda original
Código de moeda ISO 4217 (por exemplo,
USD, EUR, BRL)Payloads Específicos de Eventos
transaction.created
Enviado quando uma nova transação é registrada no sistema.transaction.updated
Enviado quando uma transação existente é atualizada (por exemplo, mudança de status).Exemplos de Código
Node.js - Lidando com Eventos de Transações
Python - Lidando com Eventos de Transações
Melhores Práticas
Use externalId para Busca
Use externalId para Busca
O webhook inclui
externalId que é o ID que você forneceu ao criar a transação. Use-o para buscar a transação no seu banco de dados.Armazene IDs de Transação do Gu1
Armazene IDs de Transação do Gu1
Salve o
transactionId do Gu1 no seu banco de dados. Isso permite que você consulte detalhes da transação mais tarde se necessário.Lide com Idempotência
Lide com Idempotência
Você pode receber o mesmo webhook múltiplas vezes. Use o
transactionId e o event para garantir que você processe cada evento apenas uma vez.Retorne 200 Rapidamente
Retorne 200 Rapidamente
Sempre retorne um código de status 200 o mais rápido possível para confirmar o recebimento. Processe o webhook assincronamente se necessário.
Verifique Assinaturas
Verifique Assinaturas
Sempre verifique o header
X-Webhook-Signature para garantir que o webhook seja autêntico. Veja o guia de segurança para detalhes.Solução de Problemas
Não Recebo Webhooks
Não Recebo Webhooks
Verificar estes itens:
- URL do webhook é publicamente acessível via HTTPS
- Webhook está configurado e habilitado no dashboard
- Inscrito nos tipos de eventos corretos
- Endpoint retorna código de status 200 dentro de 30 segundos
- Verificar logs do servidor para solicitações recebidas
- Os eventos de transações estão atualmente em desenvolvimento - confirme que estão ativados para sua organização
Verificação de Assinatura Falhando
Verificação de Assinatura Falhando
Causas comuns:
- Usar secret errado (verificar dashboard para secret atual)
- Verificar assinatura em JSON analisado em vez de corpo raw
- Secret não salvo corretamente após criação do webhook
- Problemas de codificação (garantir UTF-8)
Recebendo Webhooks Duplicados
Recebendo Webhooks Duplicados
Este é um comportamento normal. Webhooks podem ser enviados múltiplas vezes devido a problemas de rede, timeouts ou tentativas.Sempre implemente idempotência usando o
transactionId e tipo de event do webhook.