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.

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 substituiwebhook.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, comodispute.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
No Messages in Discord
No Messages in Discord
- 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.
Transformation Errors
Transformation Errors
- Valide seu código no editor. Erros de sintaxe impedem a entrega.
- Verifique se os nomes dos campos correspondem à estrutura do payload do webhook.