Skip to main content

Introdução

Execute funções do Inngest e tarefas em segundo plano quando ocorrerem eventos de pagamento. O Dodo Payments envia cada evento para o Inngest, onde suas funções podem enviar notificações, atualizar bancos de dados e executar fluxos de trabalho com várias etapas usando as tentativas e o tratamento de erros do Inngest.
Você precisa de uma URL de webhook do Inngest. Crie-a no dashboard do Inngest, em Manage → Webhooks.

Começando

1

Open the Webhook Section

No dashboard do Dodo Payments, acesse Developer → Webhooks e clique em Add endpoint.
Caixa de diálogo Add endpoint com Inngest selecionado no menu suspenso Integration
2

Select Inngest

Em Integration, selecione Inngest. Em Subscribed events, selecione os eventos que devem acionar suas funções.
3

Create an Inngest Webhook

No dashboard do Inngest, abra a aba Manage e selecione Webhooks. Crie um webhook e copie a URL. O Inngest executa a função de transformação do webhook em cada solicitação, portanto verifique se ela mantém os campos name e data que suas funções esperam.
4

Paste Webhook URL

Cole a URL do webhook do Inngest em Endpoint URL.
5

Configure Transformation

Em Transformation code, edite o código para formatar os eventos para suas funções do Inngest. Consulte os exemplos abaixo.
6

Test & Create

Em Test this code, selecione um tipo de evento e clique em Simulate para executar a transformação em um payload de exemplo. Em seguida, clique em Create endpoint para ativar a integração.
7

Done

Os eventos do Dodo Payments agora acionam suas funções do Inngest.

Exemplos de Código de Transformação

Cada exemplo reescreve webhook.payload em um evento do Inngest. name é o evento que aciona sua função, data contém os detalhes do evento, user contém o cliente e ts é o horário do evento em milissegundos, exigido pelo formato de eventos do Inngest.

Payload de evento básico

basic_event.js

Manipulador de eventos de assinatura

subscription_event.js

Manipulador de eventos de disputa

Esse manipulador encaminha cada evento dispute.* e marca dispute.opened como urgente. Os payloads de disputa não incluem detalhes do cliente, portanto não enviam nenhum objeto user.
dispute_event.js

Casos de uso comuns do Inngest

  • Enviar e-mails de confirmação
  • Atualizar registros de clientes
  • Processar reembolsos
  • Gerar faturas
  • Atualizar o inventário
  • Dar boas-vindas a novos assinantes
  • Processar cancelamentos
  • Enviar lembretes de renovação
  • Atualizar ciclos de cobrança
  • Processar pagamentos com falha
  • Atualizar métricas de receita
  • Acompanhar o comportamento dos clientes
  • Gerar relatórios
  • Sincronizar dados com plataformas de análise
  • Calcular taxas de churn

Dicas

  • Use nomes de eventos descritivos. O Inngest recomenda prefixá-los com a origem, como dodo/payment.succeeded.
  • Coloque os detalhes do cliente em user, que o Inngest criptografa em repouso.
  • Defina ts a partir de timestamp do webhook, em milissegundos, para que os eventos mantenham sua ordem e seu horário originais.
  • Use a mesma estrutura de dados em todos os eventos.
  • Use os recursos de novas tentativas e tratamento de erros do Inngest.

Solução de problemas

  • Verifique se a URL do endpoint corresponde à URL do webhook do Inngest e se o webhook está ativo.
  • Verifique se sua função do Inngest está implantada e ativa.
  • Verifique se os nomes dos eventos correspondem aos acionadores da sua função.
  • Consulte os logs da função do Inngest em busca de erros.
  • Verifique se a estrutura do payload corresponde ao formato de eventos do Inngest.
  • Verifique se os nomes dos eventos estão formatados corretamente.
  • Verifique se a função de transformação do webhook do Inngest mantém os campos definidos pela transformação do Dodo Payments.
  • Verifique se todos os campos obrigatórios estão incluídos.
  • Teste com a ferramenta de testes de webhook do Inngest.
Última modificação em 28 de setembro de 2026