Skip to main content

Introdução

A integração com o Discord publica eventos de pagamentos, assinaturas, disputas e outros eventos do Dodo Payments em um canal do Discord que você escolher. Sua equipe vê cada evento no local em que já colabora, sem consultar uma API repetidamente ou verificar um dashboard.
Você precisa ter acesso a Developer → Webhooks no dashboard do Dodo Payments e à permissão Manage Webhooks no servidor do Discord.

Começando

1

Create a Discord Webhook

No Discord, abra o canal que deve receber as notificações e clique em Edit Channel. Acesse Integrations → Webhooks → New Webhook, dê um nome ao webhook, confirme o canal e clique em Copy Webhook URL.
2

Open the Webhook Section

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

Select Discord

Em Integration, selecione Discord. O painel How to connect Discord repete as etapas para criar o webhook do Discord.
4

Paste the Webhook URL

Cole a URL do webhook do Discord, que começa com https://discord.com/api/webhooks/, em Endpoint URL. O Discord não precisa de uma chave de API.
5

Select Events

Em Subscribed events, selecione os eventos que sua transformação processa. O Discord rejeita uma mensagem que não tenha content ou embeds, portanto um evento que a transformação não converte não será entregue.
6

Edit Transformation Code

Em Transformation code, personalize como cada evento é mapeado para um embed do Discord ou comece pelos exemplos.
7

Test & Create

Em Test this code, clique em Simulate para visualizar o embed de um payload de exemplo. Em seguida, clique em Create endpoint.
8

Done

Seu canal do Discord agora recebe uma mensagem para cada evento inscrito.

Exemplos de código de transformação

Cada handler substitui webhook.payload por uma mensagem do Discord que contém um embed. Os valores de Dodo Payments estão na menor unidade da moeda, portanto os exemplos dividem por 100 e exibem o código da moeda.

Embed mínimo de pagamento

Publique um embed quando um pagamento for aprovado (payment.succeeded):
payment_embed.js

Eventos de assinatura

Publique um embed quando uma assinatura se tornar ativa (subscription.active) ou for cancelada (subscription.cancelled):
subscription_embed.js

Alertas de disputa

Publique um embed para cada evento de disputa, como dispute.opened, dispute.won e dispute.lost. O título e a cor seguem o dispute_status da disputa:
dispute_embed.js

Dicas

  • Use embeds para formatação avançada e cores.
  • Mantenha os títulos curtos e coloque os detalhes nos campos.
  • Use cores que indiquem o resultado: verde para sucesso, vermelho para falha e laranja para avisos.

Solução de problemas

  • Confirme se o webhook ainda existe em Integrations → Webhooks do canal e se Endpoint URL corresponde à URL dele.
  • Verifique se a transformação retorna um objeto JSON com embeds.
  • Verifique se Subscribed events inclui os eventos esperados.
  • Abra as tentativas de entrega do endpoint na aba Logs de Developer → Webhooks para ver o código de resposta do Discord.
  • Valide seu código no editor. Erros de sintaxe impedem a entrega.
  • Verifique se os nomes dos campos correspondem à estrutura do payload do webhook.
Última modificação em 26 de setembro de 2026