Introducción
La integración de Discord publica eventos de pagos, suscripciones, disputas y otros eventos de Dodo Payments en el canal de Discord que elijas. Tu equipo ve cada evento donde ya colabora, sin consultar una API periódicamente ni revisar un panel.Necesitas acceso a Developer → Webhooks en el panel de Dodo Payments y el permiso Manage Webhooks en el servidor de Discord.
Comenzando
1
Create a Discord Webhook
En Discord, abre el canal que debe recibir las notificaciones y haz clic en Edit Channel. Ve a Integrations → Webhooks → New Webhook, asigna un nombre al webhook, confirma el canal y haz clic en Copy Webhook URL.
2
Open the Webhook Section
En el panel de Dodo Payments, ve a Developer → Webhooks y haz clic en Add endpoint.

3
Select Discord
En Integration, selecciona Discord. El panel How to connect Discord repite los pasos para crear el webhook de Discord.
4
Paste the Webhook URL
Pega la URL del webhook de Discord, que comienza con
https://discord.com/api/webhooks/, en Endpoint URL. Discord no necesita una clave de API.5
Select Events
En Subscribed events, selecciona los eventos que gestiona tu transformación. Discord rechaza un mensaje que no tenga
content o embeds, por lo que un evento que la transformación no convierta no se podrá entregar.6
Edit Transformation Code
En Transformation code, adapta cómo se asigna cada evento a un embed de Discord o comienza con los ejemplos.
7
Test & Create
En Test this code, haz clic en Simulate para previsualizar el embed de una carga de ejemplo. Después, haz clic en Create endpoint.
8
Done
Tu canal de Discord ahora recibe un mensaje por cada evento suscrito.
Ejemplos de código de transformación
Cada controlador reemplazawebhook.payload con un mensaje de Discord que contiene un embed. Los importes de Dodo Payments están expresados en la unidad monetaria más pequeña, por lo que los ejemplos los dividen entre 100 y muestran el código de moneda.
Embed de pago mínimo
Publica un embed cuando un pago se realiza correctamente (payment.succeeded):
payment_embed.js
Eventos de suscripción
Publica un embed cuando una suscripción se activa (subscription.active) o se cancela (subscription.cancelled):
subscription_embed.js
Alertas de disputas
Publica un embed para cada evento de disputa, comodispute.opened, dispute.won y dispute.lost. El título y el color siguen el dispute_status de la disputa:
dispute_embed.js
Consejos
- Usa embeds para aplicar formato enriquecido y colores.
- Mantén los títulos breves y coloca los detalles en los campos.
- Usa colores que indiquen el resultado: verde para éxitos, rojo para errores y naranja para advertencias.
Solución de problemas
No Messages in Discord
No Messages in Discord
- Confirma que el webhook aún exista en Integrations → Webhooks del canal y que Endpoint URL coincida con su URL.
- Comprueba que la transformación devuelva un objeto JSON con
embeds. - Comprueba que Subscribed events incluya los eventos esperados.
- Abre los intentos de entrega del endpoint en la pestaña Logs de Developer → Webhooks para ver el código de respuesta de Discord.
Transformation Errors
Transformation Errors
- Valida tu código en el editor. Los errores de sintaxis bloquean la entrega.
- Comprueba que los nombres de los campos coincidan con la estructura del payload del webhook.