Saltar al contenido principal
La autorización de Discord agrega a un cliente que paga a tu servidor (y opcionalmente les asigna un rol) en el momento en que su suscripción se activa o su compra única se completa. Cancelaciones, reembolsos y cambios de plan revocan el rol automáticamente.

Qué se entrega

  • El cliente conecta su cuenta de Discord a través de un enlace OAuth en su correo de entrega o en el portal del cliente.
  • Una vez autorizados, Dodo Payments los añade a tu servidor (o encuentra su membresía existente) y asigna el rol que configuraste.
  • Si no elegiste un rol específico, solo se otorga la membresía del servidor.
Esta integración es ideal para comunidades de pago, beneficios de seguidores y canales de acceso por niveles.

Conectar Discord

1

Open Entitlements

En tu panel de Dodo Payments, ve a Entitlements y haz clic en + para comenzar una nueva autorización.
2

Pick Discord

Elige Acceso a Discord como la integración. Si aún no has conectado Discord para tu negocio, se te pedirá que Conectes Discord.
Panel de nueva autorización solicitando al comerciante que conecte Discord

Connect Discord prompt before the OAuth handoff.

Al hacer clic se abre Discord en una nueva pestaña. Inicia sesión, elige el servidor que deseas restringir y confirma los permisos del bot (Administrar Roles, Expulsar Miembros, Crear Invitación) en ese servidor.
Pantalla de OAuth de Discord preguntando a qué servidor agregar el bot de Dodo PaymentsPantalla de confirmación de permisos del bot de Discord

Discord OAuth: pick the server, then confirm the bot's permissions on it.

Cuando Discord redirija de regreso, verás una confirmación de que el servidor está conectado.
Página de confirmación de acceso a Discord conectado correctamente

Server connected — return to the Dodo Payments dashboard to continue.

3

Pick a server and role

De nuevo en el panel, selecciona el servidor (guild) que acabas de conectar. Opcionalmente, elige un rol para asignar en la entrega, o déjalo en blanco para otorgar solo membresía del servidor. Dale un nombre a la autorización y haz clic en Crear Autorización.
Nuevo formulario de Autorización - Acceso a Discord con servidor conectado, selector de servidor, desplegable de rol y campo de nombre
4

Save the entitlement

Guarda la autorización. Ahora está disponible para adjuntar a cualquier producto.

Flujo del cliente

  1. El cliente completa el pago.
  2. Dodo Payments crea una autorización en estado pending con un oauth_url señalando a Discord.
  3. El cliente recibe un correo electrónico con un botón “Unirse a Discord” (el enlace OAuth). El enlace también es visible en su portal de cliente.
  4. Después de que el cliente autoriza, el bot los agrega al servidor y asigna el rol configurado. La autorización pasa a delivered.
  5. Si la suscripción se cancela, pausa o expira, o si el comerciante revoca manualmente, el bot elimina el rol y la autorización pasa a revoked.
Asegúrate de que el rol del bot de Dodo Payments esté posicionado por encima del rol que otorgas. Discord impide que los bots asignen roles clasificados más alto que el suyo propio.

Configuración requerida

Crear vía API

Webhooks

Suscríbete a los eventos webhook entitlement_grant.* para rastrear las autorizaciones de Discord:
  • entitlement_grant.created se activa con status: "pending" y un oauth_url para que el cliente autorice.
  • entitlement_grant.delivered se activa una vez que el rol se asigna.
  • entitlement_grant.revoked se activa cuando el rol se elimina.

Resolución de problemas

La autorización está en pending hasta que el cliente complete el flujo OAuth. Verifica la lista de autorizaciones de la autorización y confirma si hicieron clic en el enlace OAuth. Reenvía el correo de entrega si es necesario.
Asegúrate de que el bot de Dodo Payments permanezca en el servidor, tenga permiso Manage Roles y esté posicionado por encima del rol que se está asignando. Volver a guardar la autorización volverá a ejecutar la validación.
Discord propaga las eliminaciones de roles de inmediato, pero el cliente local de Discord del cliente puede estar en caché. Deberían reconectar o refrescar; el estado del lado del servidor es correcto.
Última modificación el 13 de mayo de 2026