Skip to main content

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.
Cuadro de diálogo Add endpoint con Discord seleccionado en el menú desplegable Integration
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 reemplaza webhook.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, como dispute.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

  • 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.
  • 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.
Última modificación el 26 de septiembre de 2026