Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.
La entitlement de Discord añade un cliente de pago a tu servidor de Discord y puede asignarle un rol. El cliente conecta su cuenta de Discord después de que su suscripción se active o de que su pago único se complete correctamente. Cuando se revoca la concesión, por ejemplo, tras una cancelación o un reembolso, Dodo Payments elimina el rol y retira al cliente del servidor.
El cliente conecta su cuenta de Discord desde el Customer Portal. El correo de confirmación del pago marca la entitlement como Action Required y enlaza al portal.
Después de autorizar, el bot de Dodo Payments lo añade a tu servidor o encuentra su membresía existente y le asigna el rol que configuraste.
Si no eliges un rol, el cliente solo obtiene la membresía del servidor.
Úsala para comunidades de pago, beneficios para colaboradores y canales de acceso por niveles.
En el dashboard de Dodo Payments, ve a Entitlements y haz clic en + para iniciar una nueva entitlement.
2
Pick Discord
Elige Discord Access como integración. Si Discord todavía no está conectado para tu empresa, haz clic en Connect Discord.
Connect Discord prompt before the OAuth handoff.
Discord se abre en una pestaña nueva. Inicia sesión, elige el servidor que quieres proteger y aprueba los permisos del bot en ese servidor: Manage Roles, Kick Members y Create Invite.
Discord OAuth: pick the server to add the bot to.
Discord OAuth: confirm the bot's permissions on the server.
Cuando Discord redirige de vuelta, una página de confirmación muestra que el servidor está conectado.
Server connected. Return to the Dodo Payments dashboard to continue.
3
Pick a Server and Role
De vuelta en el dashboard, selecciona el Server que conectaste. Para asignar un rol al entregar, selecciónalo en Role. Para conceder únicamente la membresía del servidor, deja Role establecido en No specific role. Introduce un Name para la entitlement y haz clic en Create Entitlement.
Dodo Payments crea un grant en estado Pending. Dodo Payments intenta crear de inmediato una URL de autorización de Discord y la almacena en oauth_url. Si falla, oauth_url permanece en null hasta que el cliente inicia el flujo de aceptación.
El correo electrónico de confirmación del pago muestra el entitlement como Acción requerida y enlaza al Customer Portal. En el portal, el cliente hace clic en Conectar en el entitlement.
El cliente autoriza a Dodo Payments en Discord. El bot lo añade al servidor y le asigna el rol configurado, y el grant pasa a Delivered.
Cuando se revoca el grant (se cancela, pausa, suspende o vence la suscripción, se reembolsa el pago único o revocas el grant), el bot elimina el rol y al cliente del servidor. El grant pasa a Revoked.
Un enlace de autorización caduca 30 minutos después de generarse. Si el cliente vuelve al Customer Portal después de ese tiempo, Dodo Payments genera un enlace nuevo. Si un cliente abandona tu servidor por su cuenta, Dodo Payments revoca su concesión con revocation_reason: platform_external.
Coloca el rol del bot de Dodo Payments above el rol que concedes. Discord no permite que un bot asigne un rol que esté al mismo nivel o por encima de su propio rol más alto. Los roles administrados, como los roles de bots e integraciones, no se pueden asignar.
// client is a *dodopayments.Client, for example from// dodopayments.NewClient(option.WithEnvironmentTestMode()); ctx is a context.Context.client.Entitlements.New(ctx, dodopayments.EntitlementNewParams{ Name: dodopayments.F("Patrons Discord Role"), IntegrationType: dodopayments.F(dodopayments.EntitlementIntegrationTypeDiscord), IntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam]( dodopayments.IntegrationConfigDiscordConfigParam{ GuildID: dodopayments.F("123456789012345678"), RoleID: dodopayments.F("987654321098765432"), }, ),})
entitlement_grant.created se activa con status: "Pending". oauth_url puede contener ya la URL de autorización. Si es null, se completa cuando el cliente inicia el flujo de aceptación desde el Customer Portal.
entitlement_grant.delivered se activa cuando el cliente se une al servidor y se asigna el rol.
entitlement_grant.revoked se activa cuando se elimina el rol y el cliente se elimina del servidor.
La concesión permanece en Pending hasta que el cliente completa la autorización de Discord. Abre la entitlement en el dashboard y comprueba la concesión del cliente. Si todavía está en Pending, pídele al cliente que abra el Customer Portal y haga clic en Connect en la entitlement de Discord.
Grant moves to failed with permission errors
Asegúrate de que el bot de Dodo Payments siga en el servidor, tenga el permiso Gestionar roles y esté por encima del rol que se asignará. Si se elimina el bot del servidor, Dodo Payments revoca los grants pendientes y entregados del servidor. Volver a guardar el entitlement comprueba únicamente su configuración, no los permisos del bot. Después de corregir los permisos, pide al cliente que abra el Customer Portal y haga clic en Conectar en el entitlement de Discord para volver a intentar conceder el grant.
Customer cancelled but still has the role
La revocación elimina el rol y retira al cliente del servidor. Si la concesión muestra Revoked pero el cliente sigue en el servidor, confirma que el bot aún tenga los permisos Manage Roles y Kick Members y esté por encima del rol. Si la aplicación de Discord del cliente todavía muestra el rol, pídele que la actualice. El estado del servidor es la fuente de verdad.
Última modificación el 28 de septiembre de 2026
¿Esta página le ayudó?
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Dodo Payments Documentation","description":"Documentation for Dodo Payments — the all-in-one payments, billing, and merchant of record platform for SaaS, AI, and digital products.","colors":{"primary":"#779812","light":"#C6FE1E","dark":"#166534"},"logo":{"light":"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/light.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=23f7a052f7ecb9d6570b7c95ee359a97","dark":"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/dark.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=cd6c20238a54526436f21c43fee51b26"},"favicon":"https://mintcdn.com/dodopayments/doYQc9oUE-WNz0cs/favicon.svg?fit=max\u0026auto=format\u0026n=doYQc9oUE-WNz0cs\u0026q=85\u0026s=271c6cc8ce7d6bf4d7f2b9cca029e004","background":{"color":{"light":"#FFFFFF","dark":"#0D0D0D"}},"navbar":{"links":[{"icon":"link","href":"https://docs.dodopayments.com/llms-full.txt","label":"llms-full.txt"},{"icon":"discord","href":"https://discord.gg/bYqAp4ayYh","label":"Community"},{"icon":"house","href":"https://app.dodopayments.com/","label":"Dashboard"}]},"footer":{"socials":{"x":"https://x.com/dodopayments","linkedin":"https://linkedin.com/company/dodopayments","website":"https://dodopayments.com","discord":"https://discord.gg/bYqAp4ayYh","github":"https://github.com/dodopayments","instagram":"https://www.instagram.com/dodo.payments","facebook":"https://www.facebook.com/profile.php?id=61565515607280"}},"seo":{"metatags":{"og:site_name":"Dodo Payments Documentation","twitter:card":"summary_large_image"},"indexing":"navigable"},"fonts":{"heading":{"family":"ApfelGrotezk","weight":400,"source":"fonts/ApfelGrotezk-Regular.woff2","format":"woff2"},"body":{"family":"Inter","weight":400,"source":"fonts/Inter-Variable.woff2","format":"woff2"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"introduction"},{"language":"es","href":"es/introduction"},{"language":"ar","href":"ar/introduction"},{"language":"fr","href":"fr/introduction"},{"language":"de","href":"de/introduction"},{"language":"id","href":"id/introduction"},{"language":"ja","href":"ja/introduction"},{"language":"ko","href":"ko/introduction"},{"language":"pt-BR","href":"pt-BR/introduction"},{"language":"vi","href":"vi/introduction"},{"language":"cn","href":"cn/introduction"},{"language":"hi","href":"hi/introduction"},{"language":"it","href":"it/introduction"},{"language":"sv","href":"sv/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dodopayments","hasAudioNarration":false,"actualSubdomain":"dodopayments","customDomains":["docs.dodopayments.com"],"gitSource":{"type":"github","owner":"dodopayments","repo":"dodo-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4027c778b6a49d3c24d62","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"en","tag":"API Reference","count":181},{"language":"en","tag":"Docs","count":176},{"language":"ar","tag":"Docs","count":153},{"language":"cn","tag":"Docs","count":153},{"language":"de","tag":"Docs","count":153},{"language":"es","tag":"Docs","count":153},{"language":"fr","tag":"Docs","count":153},{"language":"hi","tag":"Docs","count":153},{"language":"id","tag":"Docs","count":153},{"language":"it","tag":"Docs","count":153},{"language":"ja","tag":"Docs","count":153},{"language":"ko","tag":"Docs","count":153},{"language":"pt-BR","tag":"Docs","count":153},{"language":"sv","tag":"Docs","count":153},{"language":"vi","tag":"Docs","count":153},{"language":"ar","tag":"API Reference","count":151},{"language":"cn","tag":"API Reference","count":151},{"language":"de","tag":"API Reference","count":151},{"language":"es","tag":"API Reference","count":151},{"language":"fr","tag":"API Reference","count":151},{"language":"hi","tag":"API Reference","count":151},{"language":"id","tag":"API Reference","count":151},{"language":"it","tag":"API Reference","count":151},{"language":"ja","tag":"API Reference","count":151},{"language":"ko","tag":"API Reference","count":151},{"language":"pt-BR","tag":"API Reference","count":151},{"language":"sv","tag":"API Reference","count":151},{"language":"vi","tag":"API Reference","count":151},{"language":"en","tag":"Features","count":86},{"language":"ar","tag":"Features","count":81},{"language":"cn","tag":"Features","count":81},{"language":"de","tag":"Features","count":81},{"language":"es","tag":"Features","count":81},{"language":"fr","tag":"Features","count":81},{"language":"hi","tag":"Features","count":81},{"language":"id","tag":"Features","count":81},{"language":"it","tag":"Features","count":81},{"language":"ja","tag":"Features","count":81},{"language":"ko","tag":"Features","count":81},{"language":"pt-BR","tag":"Features","count":81},{"language":"sv","tag":"Features","count":81},{"language":"vi","tag":"Features","count":81},{"language":"en","tag":"Integrate","count":74},{"language":"en","tag":"Changelog","count":66},{"language":"ar","tag":"Changelog","count":65},{"language":"cn","tag":"Changelog","count":65},{"language":"de","tag":"Changelog","count":65},{"language":"es","tag":"Changelog","count":65},{"language":"fr","tag":"Changelog","count":65},{"language":"hi","tag":"Changelog","count":65},{"language":"id","tag":"Changelog","count":65},{"language":"it","tag":"Changelog","count":65},{"language":"ja","tag":"Changelog","count":65},{"language":"ko","tag":"Changelog","count":65},{"language":"pt-BR","tag":"Changelog","count":65},{"language":"sv","tag":"Changelog","count":65},{"language":"vi","tag":"Changelog","count":65},{"language":"ar","tag":"Integrate","count":59},{"language":"cn","tag":"Integrate","count":59},{"language":"de","tag":"Integrate","count":59},{"language":"es","tag":"Integrate","count":59},{"language":"fr","tag":"Integrate","count":59},{"language":"hi","tag":"Integrate","count":59},{"language":"id","tag":"Integrate","count":59},{"language":"it","tag":"Integrate","count":59},{"language":"ja","tag":"Integrate","count":59},{"language":"ko","tag":"Integrate","count":59},{"language":"pt-BR","tag":"Integrate","count":59},{"language":"sv","tag":"Integrate","count":59},{"language":"vi","tag":"Integrate","count":59},{"language":"en","tag":"External Integrations","count":33},{"language":"ar","tag":"External Integrations","count":30},{"language":"cn","tag":"External Integrations","count":30},{"language":"de","tag":"External Integrations","count":30},{"language":"es","tag":"External Integrations","count":30},{"language":"fr","tag":"External Integrations","count":30},{"language":"hi","tag":"External Integrations","count":30},{"language":"id","tag":"External Integrations","count":30},{"language":"it","tag":"External Integrations","count":30},{"language":"ja","tag":"External Integrations","count":30},{"language":"ko","tag":"External Integrations","count":30},{"language":"pt-BR","tag":"External Integrations","count":30},{"language":"sv","tag":"External Integrations","count":30},{"language":"vi","tag":"External Integrations","count":30},{"language":"en","tag":"Webhooks","count":23},{"language":"ar","tag":"Webhooks","count":23},{"language":"cn","tag":"Webhooks","count":23},{"language":"de","tag":"Webhooks","count":23},{"language":"es","tag":"Webhooks","count":23},{"language":"fr","tag":"Webhooks","count":23},{"language":"hi","tag":"Webhooks","count":23},{"language":"id","tag":"Webhooks","count":23},{"language":"it","tag":"Webhooks","count":23},{"language":"ja","tag":"Webhooks","count":23},{"language":"ko","tag":"Webhooks","count":23},{"language":"pt-BR","tag":"Webhooks","count":23},{"language":"sv","tag":"Webhooks","count":23},{"language":"vi","tag":"Webhooks","count":23},{"language":"en","tag":"Guides","count":22},{"language":"ar","tag":"Guides","count":22},{"language":"cn","tag":"Guides","count":22},{"language":"de","tag":"Guides","count":22},{"language":"es","tag":"Guides","count":22},{"language":"fr","tag":"Guides","count":22},{"language":"hi","tag":"Guides","count":22},{"language":"id","tag":"Guides","count":22},{"language":"it","tag":"Guides","count":22},{"language":"ja","tag":"Guides","count":22},{"language":"ko","tag":"Guides","count":22},{"language":"pt-BR","tag":"Guides","count":22},{"language":"sv","tag":"Guides","count":22},{"language":"vi","tag":"Guides","count":22},{"language":"en","tag":"Entitlements","count":20},{"language":"ar","tag":"Entitlements","count":20},{"language":"cn","tag":"Entitlements","count":20},{"language":"de","tag":"Entitlements","count":20},{"language":"es","tag":"Entitlements","count":20},{"language":"fr","tag":"Entitlements","count":20},{"language":"hi","tag":"Entitlements","count":20},{"language":"id","tag":"Entitlements","count":20},{"language":"it","tag":"Entitlements","count":20},{"language":"ja","tag":"Entitlements","count":20},{"language":"ko","tag":"Entitlements","count":20},{"language":"pt-BR","tag":"Entitlements","count":20},{"language":"sv","tag":"Entitlements","count":20},{"language":"vi","tag":"Entitlements","count":20},{"language":"en","tag":"Invoices","count":17},{"language":"ar","tag":"Customers","count":16},{"language":"cn","tag":"Customers","count":16},{"language":"de","tag":"Customers","count":16},{"language":"es","tag":"Customers","count":16},{"language":"fr","tag":"Customers","count":16},{"language":"hi","tag":"Customers","count":16},{"language":"id","tag":"Customers","count":16},{"language":"it","tag":"Customers","count":16},{"language":"ja","tag":"Customers","count":16},{"language":"ko","tag":"Customers","count":16},{"language":"pt-BR","tag":"Customers","count":16},{"language":"sv","tag":"Customers","count":16},{"language":"vi","tag":"Customers","count":16}]},"assistantConfig":{"deflection":{"enabled":false,"email":"support@dodopayments.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#content-area{max-width:60rem}h1,h2,h3,h4,h5,h6{letter-spacing:0.05em!important}.welcome-page .card-group{margin:3rem auto 8rem;max-width:70rem;padding-left:1.25rem;padding-right:1.25rem}.welcome-page .card-group .card{padding:1rem}.welcome-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:20vh;text-align:center;margin-top:3rem;margin-bottom:2.5rem}.welcome-hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2;color:#fff}.welcome-hero p{font-size:1.25rem;max-width:600px;margin:0 auto}.welcome-hero h1{color:rgb(41 42 37 / 1)}.dark .welcome-hero h1{color:rgb(255 255 255 / 1)}.welcome-hero p{color:rgb(83 85 79 / 1)}.dark .welcome-hero p{color:rgb(162 164 158 / 1)}"}],"page":{"pagePath":"es/features/entitlements/discord","slug":"/es/features/entitlements/discord","pageMetadata":{"title":"Autorización de Discord","sidebarTitle":"Discord","description":"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.","icon":"discord","keywords":["Dodo Payments","Discord","autorización","rol de Discord","acceso a la comunidad"],"href":"/es/features/entitlements/discord"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,CodeGroup,Frame,Heading,Info,OptimizedImage,Step,Steps,Table,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsx(_components.p,{children:`La entitlement de Discord añade un cliente de pago a tu servidor de Discord y puede asignarle un rol. El cliente conecta su cuenta de Discord después de que su suscripción se active o de que su pago único se complete correctamente. Cuando se revoca la concesión, por ejemplo, tras una cancelación o un reembolso, Dodo Payments elimina el rol y retira al cliente del servidor.`})}),`\n`,_jsx(Heading,{level:`2`,id:`qué-se-entrega`,children:`Qué se entrega`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`El cliente conecta su cuenta de Discord desde el Customer Portal. El correo de confirmación del pago marca la entitlement como `,_jsx(_components.strong,{children:`Action Required`}),` y enlaza al portal.`]}),`\n`,_jsx(_components.li,{children:`Después de autorizar, el bot de Dodo Payments lo añade a tu servidor o encuentra su membresía existente y le asigna el rol que configuraste.`}),`\n`,_jsx(_components.li,{children:`Si no eliges un rol, el cliente solo obtiene la membresía del servidor.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Úsala para comunidades de pago, beneficios para colaboradores y canales de acceso por niveles.`}),`\n`,_jsx(Heading,{level:`2`,id:`conectar-discord`,children:`Conectar Discord`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Entitlements`,children:_jsxs(_components.p,{children:[`En el dashboard de Dodo Payments, ve a `,_jsx(_components.strong,{children:`Entitlements`}),` y haz clic en `,_jsx(_components.strong,{children:`+`}),` para iniciar una nueva entitlement.`]})}),_jsxs(Step,{title:`Pick Discord`,children:[_jsxs(_components.p,{children:[`Elige `,_jsx(_components.strong,{children:`Discord Access`}),` como integración. Si Discord todavía no está conectado para tu empresa, haz clic en `,_jsx(_components.strong,{children:`Connect Discord`}),`.`]}),_jsx(Frame,{caption:`Connect Discord prompt before the OAuth handoff.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connect-prompt.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=8a34c436dd7510942db2a9221f623938`,alt:`Panel de nueva autorización solicitando al comerciante que conecte Discord`,style:{maxHeight:`500px`,width:`auto`},\"data-og-width\":`2844`,width:`2844`,\"data-og-height\":`1622`,height:`1622`,\"data-path\":`images/entitlements/discord/connect-prompt.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connect-prompt.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=80a90ce4a602bf3a2019f76c57f76571 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connect-prompt.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=315a0a9625630a619dd064bfc3d46495 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connect-prompt.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=b019dbe6d66630ba1f3d459f487d6100 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connect-prompt.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=aeb49ba303909dde28dbf66d26793cc9 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connect-prompt.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=8c7714357bca9cfc57054e053a442dce 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connect-prompt.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=fb0074b7cd6da4cee8ec266b5727e558 2500w`})}),_jsxs(_components.p,{children:[`Discord se abre en una pestaña nueva. Inicia sesión, elige el servidor que quieres proteger y aprueba los permisos del bot en ese servidor: `,_jsx(_components.strong,{children:`Manage Roles`}),`, `,_jsx(_components.strong,{children:`Kick Members`}),` y `,_jsx(_components.strong,{children:`Create Invite`}),`.`]}),_jsx(Frame,{caption:`Discord OAuth: pick the server to add the bot to.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-add-bot.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=b57bf306fa15aa3f49b528f803cc625e`,alt:`Pantalla de OAuth de Discord que pregunta a qué servidor añadir el bot de Dodo Payments`,style:{maxHeight:`420px`,width:`auto`},\"data-og-width\":`1026`,width:`1026`,\"data-og-height\":`1362`,height:`1362`,\"data-path\":`images/entitlements/discord/oauth-add-bot.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-add-bot.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=9ebcc6e8114f87ae174af644cf0a1b2c 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-add-bot.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=bb923e0614d18c6dd4327a175e24d13b 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-add-bot.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=52cd505c2e813e71c8ad6132ac8aeb19 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-add-bot.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=df921f9a89d1bb54ed1cc1bf6e141880 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-add-bot.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=90a5fc68c07ed2f7a325b78d1e1e2707 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-add-bot.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=17ad7ee8524aeb04a7760f99038e3cc9 2500w`})}),_jsx(Frame,{caption:`Discord OAuth: confirm the bot's permissions on the server.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-permissions.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=438c0b04177e3a4863fb90986f5b95e0`,alt:`Pantalla de confirmación de permisos del bot de Discord`,style:{maxHeight:`420px`,width:`auto`},\"data-og-width\":`1038`,width:`1038`,\"data-og-height\":`1472`,height:`1472`,\"data-path\":`images/entitlements/discord/oauth-permissions.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-permissions.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=8bd22223c7f709512277dc11fce14ec8 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-permissions.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=634d113e4795203dc04e70478223cc21 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-permissions.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=65ae6681480c271ffed0f81f2024921c 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-permissions.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=158738713e43c63ad505c4a762d81c92 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-permissions.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=ab39fe821dd603c70ae839b1b2097295 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/oauth-permissions.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=768b68192d05254982789bf68dc8cca3 2500w`})}),_jsx(_components.p,{children:`Cuando Discord redirige de vuelta, una página de confirmación muestra que el servidor está conectado.`}),_jsx(Frame,{caption:`Server connected. Return to the Dodo Payments dashboard to continue.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connected.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=bd1cbb3f9960e4eb1881d7a818dc6f16`,alt:`Página de confirmación que indica que Discord Access se conectó correctamente`,style:{maxHeight:`500px`,width:`auto`},\"data-og-width\":`2000`,width:`2000`,\"data-og-height\":`1140`,height:`1140`,\"data-path\":`images/entitlements/discord/connected.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connected.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=7c6bfc974529187857b6c5848bf1c8c5 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connected.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=1920933e2dcba6fdf8ea125303e608be 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connected.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=d24c947223c229d68e4838372d8ca2d6 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connected.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=c8872cc7aec50f631e0a794fd35e5d2c 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connected.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=0927f0cf9cf44aa5c44d3258855ef58e 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/connected.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=d8d0a32d0e704213fa0dd4c0383460ef 2500w`})})]}),_jsxs(Step,{title:`Pick a Server and Role`,children:[_jsxs(_components.p,{children:[`De vuelta en el dashboard, selecciona el `,_jsx(_components.strong,{children:`Server`}),` que conectaste. Para asignar un rol al entregar, selecciónalo en `,_jsx(_components.strong,{children:`Role`}),`. Para conceder únicamente la membresía del servidor, deja `,_jsx(_components.strong,{children:`Role`}),` establecido en `,_jsx(_components.strong,{children:`No specific role`}),`. Introduce un `,_jsx(_components.strong,{children:`Name`}),` para la entitlement y haz clic en `,_jsx(_components.strong,{children:`Create Entitlement`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/create.png?fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=79e95041881d2925e58fc752280d508e`,alt:`Formulario New Entitlement - Discord Access con servidor conectado, selector de servidor, menú desplegable de roles y campo de nombre`,style:{maxHeight:`500px`,width:`auto`},\"data-og-width\":`1196`,width:`1196`,\"data-og-height\":`1564`,height:`1564`,\"data-path\":`images/entitlements/discord/create.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/create.png?w=280\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=c59e5ef956446f5ac2f51cf547299987 280w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/create.png?w=560\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=cc24d359cfda5807265319b7cd96e2d0 560w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/create.png?w=840\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=3abd4fa942e351c9cc76cf6be0032554 840w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/create.png?w=1100\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=8630de37a9f57fc183f6f25b75c15dc7 1100w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/create.png?w=1650\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=bb34bffe7f18f75563f6788158b82881 1650w, https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/discord/create.png?w=2500\u0026fit=max\u0026auto=format\u0026n=do-W-dMDGVB_xzr_\u0026q=85\u0026s=4a93adc16ad9b235641066e294583a1d 2500w`})})]}),_jsx(Step,{title:`Attach It to a Product`,children:_jsxs(_components.p,{children:[`La entitlement se guarda y está disponible para asociarla a cualquier producto. Consulta `,_jsx(_components.a,{href:`/features/entitlements/introduction#attach-entitlements-to-products`,children:`Asociar entitlements a productos`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`flujo-del-cliente`,children:`Flujo del cliente`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`El cliente completa el checkout.`}),`\n`,_jsxs(_components.li,{children:[`Dodo Payments crea un grant en estado `,_jsx(_components.code,{children:`Pending`}),`. Dodo Payments intenta crear de inmediato una URL de autorización de Discord y la almacena en `,_jsx(_components.code,{children:`oauth_url`}),`. Si falla, `,_jsx(_components.code,{children:`oauth_url`}),` permanece en `,_jsx(_components.code,{children:`null`}),` hasta que el cliente inicia el flujo de aceptación.`]}),`\n`,_jsxs(_components.li,{children:[`El correo electrónico de confirmación del pago muestra el entitlement como `,_jsx(_components.strong,{children:`Acción requerida`}),` y enlaza al Customer Portal. En el portal, el cliente hace clic en `,_jsx(_components.strong,{children:`Conectar`}),` en el entitlement.`]}),`\n`,_jsxs(_components.li,{children:[`El cliente autoriza a Dodo Payments en Discord. El bot lo añade al servidor y le asigna el rol configurado, y el grant pasa a `,_jsx(_components.code,{children:`Delivered`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Cuando se revoca el grant (se cancela, pausa, suspende o vence la suscripción, se reembolsa el pago único o revocas el grant), el bot elimina el rol y al cliente del servidor. El grant pasa a `,_jsx(_components.code,{children:`Revoked`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Un enlace de autorización caduca 30 minutos después de generarse. Si el cliente vuelve al Customer Portal después de ese tiempo, Dodo Payments genera un enlace nuevo. Si un cliente abandona tu servidor por su cuenta, Dodo Payments revoca su concesión con `,_jsx(_components.code,{children:`revocation_reason: platform_external`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Coloca el rol del bot de Dodo Payments `,_jsx(_components.strong,{children:`above`}),` el rol que concedes. Discord no permite que un bot asigne un rol que esté al mismo nivel o por encima de su propio rol más alto. Los roles administrados, como los roles de bots e integraciones, no se pueden asignar.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`configuración-necesaria`,children:`Configuración necesaria`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`Obligatorio`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guild_id`})}),_jsx(_components.td,{children:`Sí`}),_jsx(_components.td,{children:`El ID del servidor de Discord (guild). El selector de servidores del dashboard lo completa por ti.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`role_id`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`El rol que se asignará al entregar. Omítelo o pasa `,_jsx(_components.code,{children:`null`}),` para obtener acceso únicamente como miembro del servidor.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`crear-mediante-api`,children:`Crear mediante API`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`TypeScript`,expandable:`true`,numberOfLines:`15`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` DodoPayments`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'dodopayments'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` DodoPayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` bearerToken:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'DODO_PAYMENTS_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` environment:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'test_mode'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` entitlement`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`entitlements`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Patrons Discord Role'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` integration_type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'discord'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` integration_config:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` guild_id:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '123456789012345678'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` role_id:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '987654321098765432'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,expandable:`true`,numberOfLines:`16`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dodopayments `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DodoPayments`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DodoPayments(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` bearer_token`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ.get(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DODO_PAYMENTS_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` environment`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test_mode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`entitlement `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.entitlements.create(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Patrons Discord Role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` integration_type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"discord\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` integration_config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"guild_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"123456789012345678\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"987654321098765432\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Go`,expandable:`true`,numberOfLines:`12`,language:`go`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// client is a *dodopayments.Client, for example from`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// dodopayments.NewClient(option.WithEnvironmentTestMode()); ctx is a context.Context.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Entitlements`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`New`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`EntitlementNewParams`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`F`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Patrons Discord Role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` IntegrationType`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`F`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`EntitlementIntegrationTypeDiscord`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` IntegrationConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`F`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`IntegrationConfigUnionParam`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`](`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`IntegrationConfigDiscordConfigParam`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` GuildID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`F`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"123456789012345678\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` RoleID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dodopayments`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`F`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"987654321098765432\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`webhooks`,children:`Webhooks`}),`\n`,_jsxs(_components.p,{children:[`Suscríbete a los `,_jsxs(_components.a,{href:`/developer-resources/webhooks/intents/entitlement-grant`,children:[`eventos de webhook `,_jsx(_components.code,{children:`entitlement_grant.*`})]}),` para realizar un seguimiento de las concesiones de Discord:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`entitlement_grant.created`}),` se activa con `,_jsx(_components.code,{children:`status: \"Pending\"`}),`. `,_jsx(_components.code,{children:`oauth_url`}),` puede contener ya la URL de autorización. Si es `,_jsx(_components.code,{children:`null`}),`, se completa cuando el cliente inicia el flujo de aceptación desde el Customer Portal.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`entitlement_grant.delivered`}),` se activa cuando el cliente se une al servidor y se asigna el rol.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`entitlement_grant.revoked`}),` se activa cuando se elimina el rol y el cliente se elimina del servidor.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`solución-de-problemas`,children:`Solución de problemas`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Customer never sees the role assigned`,id:`customer-never-sees-the-role-assigned`,children:_jsxs(_components.p,{children:[`La concesión permanece en `,_jsx(_components.code,{children:`Pending`}),` hasta que el cliente completa la autorización de Discord. Abre la entitlement en el dashboard y comprueba la concesión del cliente. Si todavía está en `,_jsx(_components.code,{children:`Pending`}),`, pídele al cliente que abra el Customer Portal y haga clic en `,_jsx(_components.strong,{children:`Connect`}),` en la entitlement de Discord.`]})}),_jsx(Accordion,{title:`Grant moves to failed with permission errors`,id:`grant-moves-to-failed-with-permission-errors`,children:_jsxs(_components.p,{children:[`Asegúrate de que el bot de Dodo Payments siga en el servidor, tenga el permiso `,_jsx(_components.strong,{children:`Gestionar roles`}),` y esté por encima del rol que se asignará. Si se elimina el bot del servidor, Dodo Payments revoca los grants pendientes y entregados del servidor. Volver a guardar el entitlement comprueba únicamente su configuración, no los permisos del bot. Después de corregir los permisos, pide al cliente que abra el Customer Portal y haga clic en `,_jsx(_components.strong,{children:`Conectar`}),` en el entitlement de Discord para volver a intentar conceder el grant.`]})}),_jsx(Accordion,{title:`Customer cancelled but still has the role`,id:`customer-cancelled-but-still-has-the-role`,children:_jsxs(_components.p,{children:[`La revocación elimina el rol y retira al cliente del servidor. Si la concesión muestra `,_jsx(_components.code,{children:`Revoked`}),` pero el cliente sigue en el servidor, confirma que el bot aún tenga los permisos `,_jsx(_components.strong,{children:`Manage Roles`}),` y `,_jsx(_components.strong,{children:`Kick Members`}),` y esté por encima del rol. Si la aplicación de Discord del cliente todavía muestra el rol, pídele que la actualice. El estado del servidor es la fuente de verdad.`]})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Autorización de Discord","sidebarTitle":"Discord","description":"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.","icon":"discord","keywords":["Dodo Payments","Discord","autorización","rol de Discord","acceso a la comunidad"],"href":"/es/features/entitlements/discord"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Qué se entrega","slug":"qué-se-entrega","depth":2,"children":[]},{"title":"Conectar Discord","slug":"conectar-discord","depth":2,"children":[]},{"title":"Flujo del cliente","slug":"flujo-del-cliente","depth":2,"children":[]},{"title":"Configuración necesaria","slug":"configuración-necesaria","depth":2,"children":[]},{"title":"Crear mediante API","slug":"crear-mediante-api","depth":2,"children":[]},{"title":"Webhooks","slug":"webhooks","depth":2,"children":[]},{"title":"Solución de problemas","slug":"solución-de-problemas","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/dodopayments/0ee82a08f7b65bcb/seo.js","/_mintlify/custom/dodopayments/6f88c9bbee313616/assistant-loader.js"],"subdomain":"dodopayments","siteName":"Dodo Payments Documentation","title":"Autorización de Discord - Dodo Payments Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/features/entitlements/discord","matchLevel":1},"es":{"href":"/es/features/entitlements/discord","matchLevel":0},"ar":{"href":"/ar/features/entitlements/discord","matchLevel":1},"fr":{"href":"/fr/features/entitlements/discord","matchLevel":1},"de":{"href":"/de/features/entitlements/discord","matchLevel":1},"id":{"href":"/id/features/entitlements/discord","matchLevel":1},"ja":{"href":"/ja/features/entitlements/discord","matchLevel":1},"ko":{"href":"/ko/features/entitlements/discord","matchLevel":1},"pt-BR":{"href":"/pt-BR/features/entitlements/discord","matchLevel":1},"vi":{"href":"/vi/features/entitlements/discord","matchLevel":1},"cn":{"href":"/cn/features/entitlements/discord","matchLevel":1},"hi":{"href":"/hi/features/entitlements/discord","matchLevel":1},"it":{"href":"/it/features/entitlements/discord","matchLevel":1},"sv":{"href":"/sv/features/entitlements/discord","matchLevel":1}}},"lastModified":"2026-09-28T05:12:07.841Z","gitLastModified":"2026-09-28T05:10:45.000Z","originalFileLocation":"es/features/entitlements/discord.mdx","locale":"es"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Autorización de Discord - Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dodopayments.com/es/features/entitlements/discord\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dodopayments.mintlify.site/_mintlify/api/og/v2?division=Entitlements\u0026amp;title=Autorizaci%C3%B3n+de+Discord\u0026amp;description=A%C3%B1ade+clientes+de+pago+a+tu+servidor+de+Discord+con+un+rol+opcional+y+elim%C3%ADnalos+autom%C3%A1ticamente+cuando+finalice+su+acceso.\u0026amp;theme=fcc3a546490e883f7462a320\u0026amp;signature=1ec168c2d16a324ff818fe55b0967add243136b00b38fbe1b7041bcfdb0350e1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Autorización de Discord - Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dodopayments.mintlify.site/_mintlify/api/og/v2?division=Entitlements\u0026amp;title=Autorizaci%C3%B3n+de+Discord\u0026amp;description=A%C3%B1ade+clientes+de+pago+a+tu+servidor+de+Discord+con+un+rol+opcional+y+elim%C3%ADnalos+autom%C3%A1ticamente+cuando+finalice+su+acceso.\u0026amp;theme=fcc3a546490e883f7462a320\u0026amp;signature=1ec168c2d16a324ff818fe55b0967add243136b00b38fbe1b7041bcfdb0350e1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dodopayments/KuV_TozyHuGHOyyc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#779812\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.dodopayments.com/es/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/es/features/entitlements/discord.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.dodopayments.com/es/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.dodopayments.com/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.dodopayments.com/ar/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.dodopayments.com/fr/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.dodopayments.com/de/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://docs.dodopayments.com/id/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.dodopayments.com/ja/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.dodopayments.com/ko/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.dodopayments.com/pt-BR/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"vi\" href=\"https://docs.dodopayments.com/vi/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.dodopayments.com/cn/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://docs.dodopayments.com/hi/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.dodopayments.com/it/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"sv\" href=\"https://docs.dodopayments.com/sv/features/entitlements/discord\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.dodopayments.com/features/entitlements/discord\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.dodopayments.com/#organization\",\"name\":\"Dodo Payments Documentation\",\"url\":\"https://docs.dodopayments.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dodopayments/nM_mJfYkri-OpC5M/logo/light.svg?fit=max\u0026auto=format\u0026n=nM_mJfYkri-OpC5M\u0026q=85\u0026s=23f7a052f7ecb9d6570b7c95ee359a97\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.dodopayments.com#website\",\"name\":\"Dodo Payments Documentation\",\"url\":\"https://docs.dodopayments.com\",\"publisher\":{\"@id\":\"https://docs.dodopayments.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.dodopayments.com/es/features/entitlements/discord#webpage\",\"url\":\"https://docs.dodopayments.com/es/features/entitlements/discord\",\"name\":\"Autorización de Discord\",\"description\":\"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.\",\"dateModified\":\"2026-09-28T05:10:45.000Z\",\"isPartOf\":{\"@id\":\"https://docs.dodopayments.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dodopayments.com/es/features/entitlements/discord#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dodopayments.com/es/features/entitlements/discord#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.dodopayments.com/es/features/products\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Entitlements\",\"item\":\"https://docs.dodopayments.com/es/features/entitlements/introduction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Autorización de Discord\",\"item\":\"https://docs.dodopayments.com/es/features/entitlements/discord\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dodopayments.com/es/features/entitlements/discord#article\",\"headline\":\"Autorización de Discord\",\"name\":\"Autorización de Discord\",\"description\":\"Añade clientes de pago a tu servidor de Discord con un rol opcional y elimínalos automáticamente cuando finalice su acceso.\",\"url\":\"https://docs.dodopayments.com/es/features/entitlements/discord\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dodopayments.com/es/features/entitlements/discord#webpage\"},\"dateModified\":\"2026-09-28T05:10:45.000Z\",\"keywords\":\"Dodo Payments, Discord, autorización, rol de Discord, acceso a la comunidad\",\"publisher\":{\"@id\":\"https://docs.dodopayments.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.dodopayments.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dodo Payments Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Dodo Payments Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/es/features/entitlements/discord.md","siteName":"Dodo Payments Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/features/entitlements/discord"}]},{"language":"es","tabs":[{"tab":"Docs","icon":"book","groups":[{"group":"Getting Started","pages":[{"title":"Welcome to Dodo Payments","sidebarTitle":"Introduction","icon":"rocket","href":"/es/introduction"},{"title":"Construya con Agentes de Codificación AI","sidebarTitle":"Agentes de Codificación AI","icon":"robot","href":"/es/developer-resources/build-with-ai-coding-agents"},{"title":"Migrar a Dodo Payments","icon":"arrow-right-arrow-left","href":"/es/migrate-to-dodo"},{"title":"Account Verification","icon":"id-card","href":"/es/miscellaneous/verification-process"}]},{"group":"Features","pages":[{"sidebarTitle":"Products","title":"Products","icon":"box","href":"/es/features/products"},{"sidebarTitle":"Colecciones de Productos","title":"Colecciones de Productos","icon":"layer-group","href":"/es/features/product-collections"},{"sidebarTitle":"Pagos únicos","title":"Pagos únicos","icon":"credit-card","href":"/es/features/one-time-payment-products"},{"group":"Subscriptions","icon":"infinity","pages":[{"sidebarTitle":"Subscriptions","title":"Subscriptions","icon":"repeat","href":"/es/features/subscription"},{"sidebarTitle":"Complementos","title":"Complementos para Suscripciones","icon":"puzzle","href":"/es/features/addons"},{"title":"Suscripciones bajo demanda","icon":"bolt","href":"/es/developer-resources/ondemand-subscriptions"}]},{"group":"Usage Based Billing","icon":"arrow-trend-up","pages":[{"sidebarTitle":"Introducción","title":"Facturación basada en el uso","icon":"box","href":"/es/features/usage-based-billing/introduction"},{"sidebarTitle":"Medidores","title":"Medidores","icon":"sliders","href":"/es/features/usage-based-billing/meters"},{"sidebarTitle":"Ingesta de Eventos","title":"Ingesta de Eventos","icon":"bolt","href":"/es/features/usage-based-billing/event-ingestion"},{"group":"Ingestion Blueprints","icon":"copy","pages":[{"sidebarTitle":"Introducción","title":"Planos de Ingesta","icon":"box","href":"/es/features/usage-based-billing/ingestion-blueprints"},{"title":"Blueprint de LLM","icon":"brain-circuit","href":"/es/developer-resources/ingestion-blueprints/llm"},{"title":"Plantilla de API Gateway","icon":"cloud","href":"/es/developer-resources/ingestion-blueprints/api-gateway"},{"title":"Plano de Almacenamiento de Objetos","icon":"box-archive","href":"/es/developer-resources/ingestion-blueprints/object-storage"},{"title":"Plantilla de Transmisión","icon":"tower-broadcast","href":"/es/developer-resources/ingestion-blueprints/stream"},{"title":"Plantilla de Rango de Tiempo","icon":"clock","href":"/es/developer-resources/ingestion-blueprints/time-range"}]}]},{"sidebarTitle":"Credit-Based Billing","title":"Credit-Based Billing","icon":"coins","tag":"NEW","href":"/es/features/credit-based-billing"},{"sidebarTitle":"Facturación por Asiento","title":"Facturación por Asiento","icon":"users","href":"/es/features/seat-based-billing"},{"sidebarTitle":"Facturación híbrida","title":"Modelos de facturación híbrida","icon":"layer-group","href":"/es/features/hybrid-billing"},{"title":"Upsells y Downsells","icon":"arrow-up-right-dots","href":"/es/features/upsells-and-downsells"},{"group":"Customers","icon":"user-group","pages":[{"title":"Gestión de Clientes","icon":"user-group","href":"/es/features/customers"},{"sidebarTitle":"Portal del Cliente","title":"Portal del Cliente","icon":"id-card","href":"/es/features/customer-portal"},{"title":"Billeteras de clientes","icon":"wallet","tag":"NEW","href":"/es/features/customer-wallet"},{"sidebarTitle":"Correos enviados","title":"Registros de correos de clientes","icon":"envelope","tag":"NEW","href":"/es/features/email-logs"},{"sidebarTitle":"Lista de bloqueo de clientes","title":"Lista de bloqueo de clientes","icon":"user-slash","tag":"NEW","href":"/es/features/customer-blocklist"}]},{"sidebarTitle":"Descuentos","title":"Descuentos","icon":"percent","href":"/es/features/discount-codes"},{"group":"Recovery","icon":"rotate","tag":"NEW","pages":[{"sidebarTitle":"Visión general","title":"Recuperación de Ingresos","icon":"rotate","href":"/es/features/recovery/overview"},{"sidebarTitle":"Recuperación de Carritos Abandonados","title":"Recuperación de Carritos Abandonados","icon":"cart-shopping","href":"/es/features/recovery/abandoned-cart-recovery"},{"sidebarTitle":"Gestión de suscripciones fallidas","title":"Gestión de suscripciones fallidas","icon":"repeat","href":"/es/features/recovery/subscription-dunning"},{"sidebarTitle":"Reintentos de Pago de Suscripción","title":"Reintentos de Pago de Suscripción","icon":"arrow-rotate-right","href":"/es/features/recovery/payment-retries"},{"sidebarTitle":"Reintento manual","title":"Reintento manual de pagos","icon":"hand-pointer","tag":"NEW","href":"/es/features/recovery/manual-retry"}]},{"group":"Transactions","icon":"credit-card","pages":[{"title":"Payments","icon":"money-bill-transfer","href":"/es/features/transactions/payments"},{"title":"Reembolsos","icon":"rotate-left","href":"/es/features/transactions/refunds"},{"title":"Disputes","icon":"circle-exclamation","href":"/es/features/transactions/disputes"}]},{"group":"Entitlements","icon":"gift","tag":"NEW","pages":[{"title":"Introducción","sidebarTitle":"Introducción","icon":"box-archive","href":"/es/features/entitlements/introduction"},{"title":"License Keys","icon":"key","href":"/es/features/license-keys"},{"title":"Entrega de Productos Digitales","sidebarTitle":"Productos Digitales","icon":"download","href":"/es/features/digital-product-delivery"},{"title":"Derecho de Bandera de Función","sidebarTitle":"Banderas de Función","description":"Control las funciones de su propia aplicación según una compra. Las concesiones de feature flags proporcionan una capacidad booleana al realizar el pago y la revocan automáticamente al cancelar.","icon":"flag","tag":"NEW","href":"/es/features/entitlements/feature-flags"},{"title":"Autorización de Discord","sidebarTitle":"Discord","icon":"discord","href":"/es/features/entitlements/discord"},{"title":"Derechos de GitHub","sidebarTitle":"GitHub","description":"Concede a los clientes acceso como colaboradores a un repositorio privado de GitHub con el nivel de permiso que elijas y revócalo automáticamente al cancelar.","icon":"github","href":"/es/features/entitlements/github"},{"title":"Derechos de Telegram","sidebarTitle":"Telegram","icon":"telegram","href":"/es/features/entitlements/telegram"},{"title":"Entitlement de Framer","sidebarTitle":"Framer","icon":"puzzle-piece","href":"/es/features/entitlements/framer"},{"title":"Asignación de Notion","sidebarTitle":"Notion","icon":"book","href":"/es/features/entitlements/notion"}]},{"group":"Payouts and Balances","icon":"wallet","pages":[{"title":"Proceso de Pagos","icon":"money-bill","href":"/es/features/payouts/payout-structure"},{"title":"Balances","icon":"file-invoice-dollar","href":"/es/features/account-summary-payout-wallet"}]},{"group":"Account Management","icon":"user","pages":[{"sidebarTitle":"Archivar un negocio","title":"Archivar un negocio","icon":"box-archive","tag":"NEW","href":"/es/features/archive-business"},{"title":"Configuración de Múltiples Marcas","icon":"building-columns","href":"/es/features/multi-brands"},{"title":"Gestión de Facturas","icon":"file-invoice-dollar","href":"/es/features/invoice-generation"},{"title":"Miembros del equipo","icon":"user-gear","href":"/es/features/team"},{"title":"Preferencias de comunicación","sidebarTitle":"Preferencias de comunicación","icon":"bell","tag":"NEW","href":"/es/features/communication-preferences"},{"title":"Mi Cuenta","icon":"user-gear","href":"/es/miscellaneous/accounts"}]},{"group":"Pricing","icon":"dollar-sign","pages":[{"sidebarTitle":"Precios con Impuestos Incluidos","title":"Precios con Impuestos Incluidos","icon":"file-invoice","href":"/es/features/tax-inclusive-pricing"},{"sidebarTitle":"Paga lo que quieras","title":"Precios de Paga lo que quieras","icon":"dollar-sign","href":"/es/features/pay-what-you-want"},{"title":"Pagos B2B","icon":"money-bills","href":"/es/features/b2b-payments"},{"title":"Precios Localizados","sidebarTitle":"Precios Localizados","icon":"earth-americas","href":"/es/features/localized-pricing"},{"sidebarTitle":"Paridad del poder adquisitivo","title":"Paridad del Poder Adquisitivo","tag":"NEW","icon":"money-bill-trend-up","href":"/es/features/purchasing-power-parity"},{"sidebarTitle":"Precios psicológicos","title":"Precios psicológicos","tag":"NEW","icon":"tag","href":"/es/features/charm-pricing"}]},{"sidebarTitle":"Finalizar compra","title":"Características de Finalización de Compra","icon":"cart-shopping","href":"/es/features/checkout"},{"sidebarTitle":"Diseño","title":"Personalización de diseño y temas","icon":"palette","tag":"NEW","href":"/es/features/design"},{"group":"Payment Methods","icon":"money-bill-wave","pages":[{"title":"Payment Methods","sidebarTitle":"Overview","icon":"layer-group","href":"/es/features/payment-methods"},{"title":"Tarjetas de Crédito y Débito","sidebarTitle":"Tarjetas","icon":"credit-card","href":"/es/features/payment-methods/cards"},{"title":"Billeteras Digitales","sidebarTitle":"Billeteras Digitales","icon":"wallet","href":"/es/features/payment-methods/digital-wallets"},{"title":"Buy Now Pay Later (BNPL)","sidebarTitle":"BNPL","icon":"calendar-days","href":"/es/features/payment-methods/bnpl"},{"title":"ACH Direct Debit","sidebarTitle":"ACH Direct Debit","icon":"building-columns","href":"/es/features/payment-methods/ach"},{"title":"Métodos de Pago en India","sidebarTitle":"India","icon":"indian-rupee-sign","href":"/es/features/payment-methods/india"},{"title":"Métodos de Pago Europeos","sidebarTitle":"Europa","icon":"euro-sign","href":"/es/features/payment-methods/europe"},{"title":"Métodos de Pago en Corea del Sur","sidebarTitle":"Corea del Sur","icon":"won-sign","href":"/es/features/payment-methods/south-korea"},{"title":"Métodos de pago de Asia-Pacífico","sidebarTitle":"Asia-Pacífico","icon":"earth-asia","href":"/es/features/payment-methods/asia-pacific"},{"title":"Pix","sidebarTitle":"Pix","icon":"brazilian-real-sign","href":"/es/features/payment-methods/pix"},{"title":"Stablecoins","sidebarTitle":"Stablecoins","icon":"dollar-sign","href":"/es/features/payment-methods/stablecoins"},{"title":"WeChat Pay","sidebarTitle":"WeChat Pay","icon":"comment-dollar","href":"/es/features/payment-methods/wechat"}]},{"title":"Analítica de terceros","sidebarTitle":"Analítica de terceros","icon":"chart-line","tag":"NEW","href":"/es/features/analytics"},{"sidebarTitle":"Moneda Adaptativa","title":"Moneda Adaptativa","icon":"money-bill-transfer","href":"/es/features/adaptive-currency"},{"group":"BYOP","icon":"shuffle","tag":"BETA","pages":[{"title":"Trae Tu Propio Procesador (BYOP)","sidebarTitle":"Descripción general","tag":"BETA","icon":"boxes-stacked","href":"/es/features/byop"},{"title":"Stripe - Conectar y Acceso a la API de Datos de Tarjeta en Crudo","sidebarTitle":"Stripe","icon":"stripe","href":"/es/features/byop/stripe"},{"title":"Adyen - Acceso a la API de Connect \u0026 Raw Card","sidebarTitle":"Adyen","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/adyen.svg","href":"/es/features/byop/adyen"}]},{"title":"Vitrina","icon":"store","href":"/es/features/storefront"},{"title":"Afiliados","icon":"users-line","href":"/es/features/affiliates"},{"title":"API de moderación","icon":"shield-check","tag":"NEW","href":"/es/features/moderation"},{"title":"Vender productos digitales en iOS","icon":"mobile","href":"/es/features/appstore-digital-goods"},{"title":"Dashboard Analytics","sidebarTitle":"Dashboard Analytics","icon":"chart-line","href":"/es/features/analytics-and-reporting"},{"title":"Informes","sidebarTitle":"Informes","icon":"file-invoice","href":"/es/features/reports"}]},{"group":"Integrate","pages":[{"group":"SDKs","icon":"box-open","pages":[{"sidebarTitle":"Descripción general","title":"SDK oficiales","icon":"box","href":"/es/developer-resources/dodo-payments-sdks"},{"title":"TypeScript","icon":"js","href":"/es/developer-resources/sdks/typescript"},{"title":"Python","icon":"python","href":"/es/developer-resources/sdks/python"},{"title":"Go","icon":"golang","href":"/es/developer-resources/sdks/go"},{"title":"Ruby","icon":"gem","href":"/es/developer-resources/sdks/ruby"},{"title":"Java","icon":"java","href":"/es/developer-resources/sdks/java"},{"title":"Kotlin","icon":"k","href":"/es/developer-resources/sdks/kotlin"},{"title":"PHP","icon":"php","href":"/es/developer-resources/sdks/php"},{"title":"C#","icon":"c","href":"/es/developer-resources/sdks/csharp"},{"title":"Rust","icon":"rust","href":"/es/developer-resources/sdks/rust"}]},{"group":"Mobile Checkout SDKs","icon":"mobile","pages":[{"title":"Mobile Integration Guide","sidebarTitle":"Integration Guide","icon":"mobile","href":"/es/developer-resources/mobile-integration"},{"title":"Android","sidebarTitle":"Android","tag":"NEW","icon":"android","href":"/es/developer-resources/sdks/android"},{"title":"iOS","sidebarTitle":"iOS","tag":"NEW","icon":"apple","href":"/es/developer-resources/sdks/ios"},{"title":"React Native","sidebarTitle":"React Native","tag":"NEW","icon":"react","href":"/es/developer-resources/sdks/react-native"},{"title":"Flutter","sidebarTitle":"Flutter","tag":"NEW","icon":"layer-group","href":"/es/developer-resources/sdks/flutter"}]},{"group":"Framework Adaptors","icon":"frame","pages":[{"sidebarTitle":"Descripción general","title":"Descripción general de los adaptadores de frameworks","icon":"box","href":"/es/developer-resources/framework-adaptors"},{"title":"Next.js Adaptor","icon":"code-merge","href":"/es/developer-resources/nextjs-adaptor"},{"title":"Better Auth Adaptor","icon":"code-merge","href":"/es/developer-resources/better-auth-adaptor"},{"title":"Componente Convex","icon":"code-merge","href":"/es/developer-resources/convex-component"},{"title":"Adaptador de TanStack","icon":"code-merge","href":"/es/developer-resources/tanstack-adaptor"},{"title":"Adaptador de Nuxt","icon":"code-merge","href":"/es/developer-resources/nuxt-adaptor"},{"title":"Express Adaptor","icon":"code-merge","href":"/es/developer-resources/express-adaptor"},{"title":"Adaptador de Astro","icon":"code-merge","href":"/es/developer-resources/astro-adaptor"},{"title":"Adaptador de SvelteKit","icon":"code-merge","href":"/es/developer-resources/sveltekit-adaptor"},{"title":"Hono Adaptor","icon":"code-merge","href":"/es/developer-resources/hono-adaptor"},{"title":"Adaptador de Remix","icon":"code-merge","href":"/es/developer-resources/remix-adaptor"},{"title":"Adaptador Fastify","icon":"code-merge","href":"/es/developer-resources/fastify-adaptor"},{"title":"Adaptador de Bun","icon":"code-merge","href":"/es/developer-resources/bun-adaptor"}]},{"group":"Webhooks","icon":"webhook","pages":[{"sidebarTitle":"Overview","title":"Webhooks","icon":"webhook","href":"/es/developer-resources/webhooks"},{"title":"Guía de eventos de Webhook","icon":"bell","href":"/es/developer-resources/webhooks/intents/webhook-events-guide"},{"group":"Webhook Payloads","icon":"code","pages":[{"title":"Pago","icon":"credit-card","href":"/es/developer-resources/webhooks/intents/payment"},{"sidebarTitle":"Suscripción","title":"Webhooks de suscripción","icon":"repeat","href":"/es/developer-resources/webhooks/intents/subscription"},{"title":"Reembolso","icon":"rotate-left","href":"/es/developer-resources/webhooks/intents/refund"},{"sidebarTitle":"Disputa","title":"Webhooks de disputas","icon":"circle-exclamation","href":"/es/developer-resources/webhooks/intents/dispute"},{"title":"Clave de Licencia","icon":"key","href":"/es/developer-resources/webhooks/intents/license-key"},{"title":"Concesión de Derechos","icon":"gift","href":"/es/developer-resources/webhooks/intents/entitlement-grant"},{"sidebarTitle":"Facturación basada en créditos","title":"Webhooks de facturación basada en créditos","icon":"coins","href":"/es/developer-resources/webhooks/intents/credit"},{"title":"Recuperación","icon":"rotate","href":"/es/developer-resources/webhooks/intents/recovery"},{"sidebarTitle":"Pago","title":"Webhooks de pagos","icon":"money-bill-transfer","href":"/es/developer-resources/webhooks/intents/payout"}]},{"group":"Deploy to Cloud","icon":"rocket","pages":[{"title":"Funciones de Vercel","icon":"triangle","href":"/es/developer-resources/webhooks/examples/vercel-example"},{"title":"Cloudflare Workers","icon":"cloud","href":"/es/developer-resources/webhooks/examples/cloudflare-example"},{"title":"Funciones Edge de Supabase","icon":"bolt","href":"/es/developer-resources/webhooks/examples/supabase-example"},{"title":"Funciones de Netlify","icon":"diamond","href":"/es/developer-resources/webhooks/examples/netlify-example"}]}]},{"group":"Testing \u0026 Demo Tools","icon":"flask","pages":[{"title":"Modo de Prueba vs Modo en Vivo","icon":"toggle-on","href":"/es/miscellaneous/test-mode-vs-live-mode"},{"title":"Testing Process","icon":"flask","href":"/es/miscellaneous/testing-process"},{"title":"Producto de Demostración de Atlas","icon":"palette","href":"/es/features/atlas-demo-website"}]},{"group":"Boilerplates","icon":"box-open","pages":[{"sidebarTitle":"Expo","title":"Plantilla de Expo","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/expo.svg","tag":"NEW","href":"/es/developer-resources/expo-boilerplate"},{"sidebarTitle":"Supabase","title":"Plantilla base de Supabase","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/supabase.svg","href":"/es/developer-resources/supabase-boilerplate"},{"sidebarTitle":"Plugin de Figma","title":"Plugin de Figma","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/figma.svg","href":"/es/integrations/figma-plugin"},{"sidebarTitle":"Next.js","title":"Plantilla Mínima de Next.js","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/nextjs.svg","href":"/es/developer-resources/nextjs-boilerplate"},{"sidebarTitle":"Astro","title":"Astro Minimal Boilerplate","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/astro.svg","href":"/es/developer-resources/astro-boilerplate"},{"sidebarTitle":"FastAPI","title":"Plantilla de FastAPI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/fastapi.svg","tag":"NEW","href":"/es/developer-resources/fastapi-boilerplate"},{"sidebarTitle":"Go","title":"Plantilla Go","icon":"golang","tag":"NEW","href":"/es/developer-resources/go-boilerplate"}]},{"title":"Dodo CLI","icon":"terminal","tag":"NEW","href":"/es/developer-resources/sdks/cli"},{"title":"Pago en Superposición","icon":"cart-shopping","href":"/es/developer-resources/overlay-checkout"},{"title":"Pago en línea","icon":"credit-card","href":"/es/developer-resources/inline-checkout"},{"title":"SDK de Facturación","icon":"boxes-stacked","href":"/es/developer-resources/billingsdk"},{"title":"Servidor MCP de Dodo Payments","icon":"server","href":"/es/developer-resources/mcp-server"},{"title":"Agent Skills","icon":"wand-magic-sparkles","href":"/es/developer-resources/agent-skills"},{"sidebarTitle":"Sincronización de Base de Datos","title":"Sincroniza con tu base de datos","icon":"database","href":"/es/developer-resources/dodo-sync"},{"sidebarTitle":"Migración de Suscripciones","title":"Migración de Suscripciones a Dodo Payments","icon":"file-import","href":"/es/miscellaneous/subscription-migration"}]},{"group":"Merchant of Record","pages":[{"sidebarTitle":"¿Qué es MoR?","title":"Introducción","icon":"building-columns","href":"/es/features/mor-introduction"},{"title":"MoR vs PG","icon":"scale-balanced","href":"/es/features/mor-vs-pg"},{"title":"Países elegibles para la aceptación de comerciantes","icon":"globe","href":"/es/miscellaneous/accepted-countries-and-territories"},{"title":"Política de Revisión y Monitoreo","icon":"magnifying-glass","href":"/es/miscellaneous/review-monitoring-policy"},{"sidebarTitle":"Bypass of App Store Fees","title":"Cómo evitar las comisiones de App Store y Play Store usando Dodo Payments","icon":"shield-check","href":"/es/features/bypassing-app-store-fees"}]},{"group":"Miscellaneous","pages":[{"group":"Support Channels","icon":"headset","pages":[{"title":"Ayuda y Soporte","icon":"headset","href":"/es/miscellaneous/help-support"},{"title":"Solicitud de Función y Hoja de Ruta","icon":"lightbulb","href":"/es/features/feature-request"}]},{"title":"Aplicaciones Móviles y de Escritorio","icon":"mobile","href":"/es/features/mobile-app"},{"title":"Política de Reporte de Seguridad","icon":"shield","href":"/es/miscellaneous/security-policy"}]}]},{"tab":"Guides","icon":"compass","pages":[{"title":"Guides","href":"/es/developer-resources/integration-guide"}]},{"tab":"API Reference","icon":"rectangle-code","pages":[{"title":"API Reference","href":"/es/api-reference/introduction"}]},{"tab":"External Integrations","icon":"plug","pages":[{"title":"External Integrations","href":"/es/integrations/introduction"}]},{"tab":"Changelog","icon":"calendar-days","pages":[{"title":"Changelog","href":"/es/changelog/introduction"}]},{"tab":"Community Projects","icon":"users","pages":[{"title":"Community Projects","href":"/es/community/overview"}]}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/features/entitlements/discord"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/features/entitlements/discord"}]},{"language":"de","pages":[{"title":"de","href":"/de/features/entitlements/discord"}]},{"language":"id","pages":[{"title":"id","href":"/id/features/entitlements/discord"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/features/entitlements/discord"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/features/entitlements/discord"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/features/entitlements/discord"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/features/entitlements/discord"}]},{"language":"cn","pages":[{"title":"cn","href":"/cn/features/entitlements/discord"}]},{"language":"hi","pages":[{"title":"hi","href":"/hi/features/entitlements/discord"}]},{"language":"it","pages":[{"title":"it","href":"/it/features/entitlements/discord"}]},{"language":"sv","pages":[{"title":"sv","href":"/sv/features/entitlements/discord"}]}]},"basePath":"","title":"Autorización de Discord - Dodo Payments Documentation","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-u3J1-UOn.js","DynamicMarkdown-B-f2cqXQ.js","zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}