Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.
Discord entitlement thêm khách hàng trả phí vào máy chủ Discord của bạn và có thể gán cho họ một vai trò. Khách hàng kết nối tài khoản Discord sau khi subscription của họ trở nên active hoặc khoản thanh toán một lần thành công. Khi grant bị thu hồi, chẳng hạn do hủy hoặc hoàn tiền, Dodo Payments sẽ xóa vai trò và xóa khách hàng khỏi máy chủ.
Trong dashboard Dodo Payments, đi đến Entitlements và nhấp vào + để bắt đầu tạo entitlement mới.
2
Pick Discord
Chọn Discord Access làm integration. Nếu Discord chưa được kết nối cho doanh nghiệp của bạn, hãy nhấp vào Connect Discord.
Connect Discord prompt before the OAuth handoff.
Discord sẽ mở trong tab mới. Đăng nhập, chọn máy chủ bạn muốn kiểm soát quyền truy cập và phê duyệt các quyền của bot trên máy chủ đó: Manage Roles, Kick Members và Create Invite.
Discord OAuth: pick the server to add the bot to.
Discord OAuth: confirm the bot's permissions on the server.
Khi Discord chuyển hướng trở lại, một trang xác nhận sẽ cho biết máy chủ đã được kết nối.
Server connected. Return to the Dodo Payments dashboard to continue.
3
Pick a Server and Role
Quay lại dashboard, chọn Server bạn đã kết nối. Để gán vai trò khi cung cấp, hãy chọn vai trò đó trong Role. Để chỉ cấp membership trong máy chủ, giữ Role ở No specific role. Nhập Name cho entitlement và nhấp vào Create Entitlement.
Dodo Payments tạo một grant ở trạng thái Pending. Dodo Payments ngay lập tức cố gắng tạo URL ủy quyền Discord và lưu URL đó vào oauth_url. Nếu không thành công, oauth_url vẫn giữ giá trị null cho đến khi khách hàng bắt đầu quy trình chấp nhận.
Email xác nhận thanh toán liệt kê entitlement là Yêu cầu thao tác và liên kết đến Customer Portal. Trong portal, khách hàng nhấp vào Connect trên entitlement.
Khách hàng ủy quyền cho Dodo Payments trên Discord. Bot thêm khách hàng vào server và gán role đã cấu hình, đồng thời grant chuyển sang Delivered.
Khi grant bị thu hồi (subscription bị hủy, tạm dừng, đặt ở trạng thái chờ hoặc hết hạn, khoản thanh toán một lần được hoàn tiền, hoặc bạn thu hồi grant), bot xóa role và xóa khách hàng khỏi server. Grant chuyển sang Revoked.
Liên kết ủy quyền hết hạn 30 phút sau khi được tạo. Nếu khách hàng quay lại Customer Portal sau thời điểm đó, Dodo Payments sẽ tạo một liên kết mới. Nếu khách hàng tự rời khỏi máy chủ của bạn, Dodo Payments sẽ thu hồi grant của họ với revocation_reason: platform_external.
Đặt vai trò của bot Dodo Payments above vai trò bạn gán. Discord không cho phép bot gán một vai trò ngang bằng hoặc cao hơn vai trò cao nhất của chính bot. Không thể gán các vai trò được quản lý, chẳng hạn như vai trò của bot và integration.
// 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 được kích hoạt với status: "Pending". oauth_url có thể đã chứa URL ủy quyền. Nếu có giá trị null, URL sẽ được điền khi khách hàng bắt đầu quy trình chấp nhận từ Customer Portal.
entitlement_grant.delivered được kích hoạt sau khi khách hàng tham gia server và role được gán.
entitlement_grant.revoked được kích hoạt khi role bị xóa và khách hàng bị xóa khỏi server.
Grant vẫn ở trạng thái Pending cho đến khi khách hàng hoàn tất việc ủy quyền Discord. Mở entitlement trong dashboard và kiểm tra grant của khách hàng. Nếu grant vẫn ở trạng thái Pending, hãy yêu cầu khách hàng mở Customer Portal và nhấp vào Connect trên Discord entitlement.
Grant moves to failed with permission errors
Hãy đảm bảo bot Dodo Payments vẫn ở trong server, có quyền Manage Roles và nằm phía trên role đang được gán. Nếu bot bị xóa khỏi server, Dodo Payments sẽ thu hồi các grant đang chờ xử lý và đã phân phối của server. Việc lưu lại entitlement chỉ kiểm tra các cài đặt của entitlement, không kiểm tra quyền của bot. Sau khi khắc phục quyền, hãy yêu cầu khách hàng mở Customer Portal và nhấp vào Connect trên entitlement Discord để thử lại việc cấp grant.
Customer cancelled but still has the role
Việc thu hồi sẽ xóa vai trò và xóa khách hàng khỏi máy chủ. Nếu grant hiển thị Revoked nhưng khách hàng vẫn ở trong máy chủ, hãy xác nhận bot vẫn có quyền Manage Roles và Kick Members, đồng thời nằm phía trên vai trò đó. Nếu ứng dụng Discord của khách hàng vẫn hiển thị vai trò, hãy yêu cầu họ làm mới ứng dụng. Trạng thái phía máy chủ là nguồn dữ liệu chính xác.
Lần sửa đổi cuối 28 tháng 9, 2026
Trang này có hữu ích không?
⌘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":"6af5ba080b3858d5ef254c97","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"en","tag":"API Reference","count":181},{"language":"en","tag":"Docs","count":178},{"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":87},{"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":75},{"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":24},{"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":"vi/features/entitlements/discord","slug":"/vi/features/entitlements/discord","pageMetadata":{"title":"Quyền lợi trên Discord","sidebarTitle":"Discord","description":"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.","icon":"discord","keywords":["Dodo Payments","Discord","entitlement","vai trò Discord","truy cập cộng đồng"],"href":"/vi/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: \"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.\"\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:`Discord entitlement thêm khách hàng trả phí vào máy chủ Discord của bạn và có thể gán cho họ một vai trò. Khách hàng kết nối tài khoản Discord sau khi subscription của họ trở nên active hoặc khoản thanh toán một lần thành công. Khi grant bị thu hồi, chẳng hạn do hủy hoặc hoàn tiền, Dodo Payments sẽ xóa vai trò và xóa khách hàng khỏi máy chủ.`})}),`\n`,_jsx(Heading,{level:`2`,id:`nội-dung-được-cung-cấp`,children:`Nội dung được cung cấp`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Khách hàng kết nối tài khoản Discord từ Customer Portal. Email xác nhận thanh toán đánh dấu entitlement là `,_jsx(_components.strong,{children:`Action Required`}),` và liên kết đến portal.`]}),`\n`,_jsx(_components.li,{children:`Sau khi họ cấp quyền, bot Dodo Payments sẽ thêm họ vào máy chủ của bạn hoặc tìm membership hiện có của họ, rồi gán vai trò bạn đã cấu hình.`}),`\n`,_jsx(_components.li,{children:`Nếu bạn không chọn vai trò, khách hàng chỉ có membership trong máy chủ.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Sử dụng tính năng này cho các cộng đồng trả phí, quyền lợi dành cho người ủng hộ và các kênh có quyền truy cập theo cấp độ.`}),`\n`,_jsx(Heading,{level:`2`,id:`kết-nối-discord`,children:`Kết nối Discord`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Entitlements`,children:_jsxs(_components.p,{children:[`Trong dashboard Dodo Payments, đi đến `,_jsx(_components.strong,{children:`Entitlements`}),` và nhấp vào `,_jsx(_components.strong,{children:`+`}),` để bắt đầu tạo entitlement mới.`]})}),_jsxs(Step,{title:`Pick Discord`,children:[_jsxs(_components.p,{children:[`Chọn `,_jsx(_components.strong,{children:`Discord Access`}),` làm integration. Nếu Discord chưa được kết nối cho doanh nghiệp của bạn, hãy nhấp vào `,_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 quyền lợi mới nhắc thương nhân kết nối 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 sẽ mở trong tab mới. Đăng nhập, chọn máy chủ bạn muốn kiểm soát quyền truy cập và phê duyệt các quyền của bot trên máy chủ đó: `,_jsx(_components.strong,{children:`Manage Roles`}),`, `,_jsx(_components.strong,{children:`Kick Members`}),` và `,_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:`Màn hình Discord OAuth hỏi bạn muốn thêm bot Dodo Payments vào máy chủ nào`,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:`Màn hình xác nhận quyền của bot 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:`Khi Discord chuyển hướng trở lại, một trang xác nhận sẽ cho biết máy chủ đã được kết nối.`}),_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:`Trang xác nhận Discord Access đã được kết nối thành công`,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:[`Quay lại dashboard, chọn `,_jsx(_components.strong,{children:`Server`}),` bạn đã kết nối. Để gán vai trò khi cung cấp, hãy chọn vai trò đó trong `,_jsx(_components.strong,{children:`Role`}),`. Để chỉ cấp membership trong máy chủ, giữ `,_jsx(_components.strong,{children:`Role`}),` ở `,_jsx(_components.strong,{children:`No specific role`}),`. Nhập `,_jsx(_components.strong,{children:`Name`}),` cho entitlement và nhấp vào `,_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:`Biểu mẫu New Entitlement - Discord Access với máy chủ đã kết nối, bộ chọn máy chủ, menu thả xuống vai trò và trường tên`,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:[`Entitlement đã được lưu và có thể đính kèm vào bất kỳ sản phẩm nào. Xem `,_jsx(_components.a,{href:`/features/entitlements/introduction#attach-entitlements-to-products`,children:`Đính kèm Entitlements vào sản phẩm`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`quy-trình-của-khách-hàng`,children:`Quy trình của khách hàng`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Khách hàng hoàn tất quy trình thanh toán.`}),`\n`,_jsxs(_components.li,{children:[`Dodo Payments tạo một grant ở trạng thái `,_jsx(_components.code,{children:`Pending`}),`. Dodo Payments ngay lập tức cố gắng tạo URL ủy quyền Discord và lưu URL đó vào `,_jsx(_components.code,{children:`oauth_url`}),`. Nếu không thành công, `,_jsx(_components.code,{children:`oauth_url`}),` vẫn giữ giá trị `,_jsx(_components.code,{children:`null`}),` cho đến khi khách hàng bắt đầu quy trình chấp nhận.`]}),`\n`,_jsxs(_components.li,{children:[`Email xác nhận thanh toán liệt kê entitlement là `,_jsx(_components.strong,{children:`Yêu cầu thao tác`}),` và liên kết đến Customer Portal. Trong portal, khách hàng nhấp vào `,_jsx(_components.strong,{children:`Connect`}),` trên entitlement.`]}),`\n`,_jsxs(_components.li,{children:[`Khách hàng ủy quyền cho Dodo Payments trên Discord. Bot thêm khách hàng vào server và gán role đã cấu hình, đồng thời grant chuyển sang `,_jsx(_components.code,{children:`Delivered`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Khi grant bị thu hồi (subscription bị hủy, tạm dừng, đặt ở trạng thái chờ hoặc hết hạn, khoản thanh toán một lần được hoàn tiền, hoặc bạn thu hồi grant), bot xóa role và xóa khách hàng khỏi server. Grant chuyển sang `,_jsx(_components.code,{children:`Revoked`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Liên kết ủy quyền hết hạn 30 phút sau khi được tạo. Nếu khách hàng quay lại Customer Portal sau thời điểm đó, Dodo Payments sẽ tạo một liên kết mới. Nếu khách hàng tự rời khỏi máy chủ của bạn, Dodo Payments sẽ thu hồi grant của họ với `,_jsx(_components.code,{children:`revocation_reason: platform_external`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Đặt vai trò của bot Dodo Payments `,_jsx(_components.strong,{children:`above`}),` vai trò bạn gán. Discord không cho phép bot gán một vai trò ngang bằng hoặc cao hơn vai trò cao nhất của chính bot. Không thể gán các vai trò được quản lý, chẳng hạn như vai trò của bot và integration.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`cấu-hình-bắt-buộc`,children:`Cấu hình bắt buộc`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guild_id`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`ID của máy chủ Discord (guild). Bộ chọn máy chủ trong dashboard sẽ tự điền giá trị này cho bạn.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`role_id`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Vai trò cần gán khi cung cấp. Bỏ qua trường này hoặc truyền `,_jsx(_components.code,{children:`null`}),` để chỉ cấp quyền membership trong máy chủ.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`tạo-qua-api`,children:`Tạo qua 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:[`Đăng ký `,_jsxs(_components.a,{href:`/developer-resources/webhooks/intents/entitlement-grant`,children:[`các sự kiện webhook `,_jsx(_components.code,{children:`entitlement_grant.*`})]}),` để theo dõi các grant Discord:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`entitlement_grant.created`}),` được kích hoạt với `,_jsx(_components.code,{children:`status: \"Pending\"`}),`. `,_jsx(_components.code,{children:`oauth_url`}),` có thể đã chứa URL ủy quyền. Nếu có giá trị `,_jsx(_components.code,{children:`null`}),`, URL sẽ được điền khi khách hàng bắt đầu quy trình chấp nhận từ Customer Portal.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`entitlement_grant.delivered`}),` được kích hoạt sau khi khách hàng tham gia server và role được gán.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`entitlement_grant.revoked`}),` được kích hoạt khi role bị xóa và khách hàng bị xóa khỏi server.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`khắc-phục-sự-cố`,children:`Khắc phục sự cố`}),`\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:[`Grant vẫn ở trạng thái `,_jsx(_components.code,{children:`Pending`}),` cho đến khi khách hàng hoàn tất việc ủy quyền Discord. Mở entitlement trong dashboard và kiểm tra grant của khách hàng. Nếu grant vẫn ở trạng thái `,_jsx(_components.code,{children:`Pending`}),`, hãy yêu cầu khách hàng mở Customer Portal và nhấp vào `,_jsx(_components.strong,{children:`Connect`}),` trên Discord entitlement.`]})}),_jsx(Accordion,{title:`Grant moves to failed with permission errors`,id:`grant-moves-to-failed-with-permission-errors`,children:_jsxs(_components.p,{children:[`Hãy đảm bảo bot Dodo Payments vẫn ở trong server, có quyền `,_jsx(_components.strong,{children:`Manage Roles`}),` và nằm phía trên role đang được gán. Nếu bot bị xóa khỏi server, Dodo Payments sẽ thu hồi các grant đang chờ xử lý và đã phân phối của server. Việc lưu lại entitlement chỉ kiểm tra các cài đặt của entitlement, không kiểm tra quyền của bot. Sau khi khắc phục quyền, hãy yêu cầu khách hàng mở Customer Portal và nhấp vào `,_jsx(_components.strong,{children:`Connect`}),` trên entitlement Discord để thử lại việc cấp grant.`]})}),_jsx(Accordion,{title:`Customer cancelled but still has the role`,id:`customer-cancelled-but-still-has-the-role`,children:_jsxs(_components.p,{children:[`Việc thu hồi sẽ xóa vai trò và xóa khách hàng khỏi máy chủ. Nếu grant hiển thị `,_jsx(_components.code,{children:`Revoked`}),` nhưng khách hàng vẫn ở trong máy chủ, hãy xác nhận bot vẫn có quyền `,_jsx(_components.strong,{children:`Manage Roles`}),` và `,_jsx(_components.strong,{children:`Kick Members`}),`, đồng thời nằm phía trên vai trò đó. Nếu ứng dụng Discord của khách hàng vẫn hiển thị vai trò, hãy yêu cầu họ làm mới ứng dụng. Trạng thái phía máy chủ là nguồn dữ liệu chính xác.`]})})]})]})}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":"Quyền lợi trên Discord","sidebarTitle":"Discord","description":"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.","icon":"discord","keywords":["Dodo Payments","Discord","entitlement","vai trò Discord","truy cập cộng đồng"],"href":"/vi/features/entitlements/discord"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Nội dung được cung cấp","slug":"nội-dung-được-cung-cấp","depth":2,"children":[]},{"title":"Kết nối Discord","slug":"kết-nối-discord","depth":2,"children":[]},{"title":"Quy trình của khách hàng","slug":"quy-trình-của-khách-hàng","depth":2,"children":[]},{"title":"Cấu hình bắt buộc","slug":"cấu-hình-bắt-buộc","depth":2,"children":[]},{"title":"Tạo qua API","slug":"tạo-qua-api","depth":2,"children":[]},{"title":"Webhooks","slug":"webhooks","depth":2,"children":[]},{"title":"Khắc phục sự cố","slug":"khắc-phục-sự-cố","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":"Quyền lợi trên Discord - Dodo Payments Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/features/entitlements/discord","matchLevel":1},"es":{"href":"/es/features/entitlements/discord","matchLevel":1},"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":0},"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:06.091Z","gitLastModified":"2026-09-28T05:10:45.000Z","originalFileLocation":"vi/features/entitlements/discord.mdx","locale":"vi"},"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=\"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.\">\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=\"Quyền lợi trên Discord - Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dodo Payments Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dodopayments.com/vi/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=Quy%E1%BB%81n+l%E1%BB%A3i+tr%C3%AAn+Discord\u0026amp;description=Th%C3%AAm+kh%C3%A1ch+h%C3%A0ng+tr%E1%BA%A3+ph%C3%AD+v%C3%A0o+m%C3%A1y+ch%E1%BB%A7+Discord+c%E1%BB%A7a+b%E1%BA%A1n+v%E1%BB%9Bi+m%E1%BB%99t+vai+tr%C3%B2+t%C3%B9y+ch%E1%BB%8Dn+v%C3%A0+t%E1%BB%B1+%C4%91%E1%BB%99ng+x%C3%B3a+h%E1%BB%8D+khi+quy%E1%BB%81n+truy+c%E1%BA%ADp+k%E1%BA%BFt+th%C3%BAc.\u0026amp;theme=fcc3a546490e883f7462a320\u0026amp;signature=5785edf96b7dd8b2c1f3f5cef152c17bc56ec86845e0be91988fcb7ec3c776b2\">\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=\"Quyền lợi trên Discord - Dodo Payments Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dodopayments.mintlify.site/_mintlify/api/og/v2?division=Entitlements\u0026amp;title=Quy%E1%BB%81n+l%E1%BB%A3i+tr%C3%AAn+Discord\u0026amp;description=Th%C3%AAm+kh%C3%A1ch+h%C3%A0ng+tr%E1%BA%A3+ph%C3%AD+v%C3%A0o+m%C3%A1y+ch%E1%BB%A7+Discord+c%E1%BB%A7a+b%E1%BA%A1n+v%E1%BB%9Bi+m%E1%BB%99t+vai+tr%C3%B2+t%C3%B9y+ch%E1%BB%8Dn+v%C3%A0+t%E1%BB%B1+%C4%91%E1%BB%99ng+x%C3%B3a+h%E1%BB%8D+khi+quy%E1%BB%81n+truy+c%E1%BA%ADp+k%E1%BA%BFt+th%C3%BAc.\u0026amp;theme=fcc3a546490e883f7462a320\u0026amp;signature=5785edf96b7dd8b2c1f3f5cef152c17bc56ec86845e0be91988fcb7ec3c776b2\">\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/vi/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=\"/vi/features/entitlements/discord.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"vi\" href=\"https://docs.dodopayments.com/vi/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=\"es\" href=\"https://docs.dodopayments.com/es/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=\"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/vi/features/entitlements/discord#webpage\",\"url\":\"https://docs.dodopayments.com/vi/features/entitlements/discord\",\"name\":\"Quyền lợi trên Discord\",\"description\":\"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.\",\"dateModified\":\"2026-09-28T05:10:45.000Z\",\"isPartOf\":{\"@id\":\"https://docs.dodopayments.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dodopayments.com/vi/features/entitlements/discord#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dodopayments.com/vi/features/entitlements/discord#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.dodopayments.com/vi/features/products\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Entitlements\",\"item\":\"https://docs.dodopayments.com/vi/features/entitlements/introduction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Quyền lợi trên Discord\",\"item\":\"https://docs.dodopayments.com/vi/features/entitlements/discord\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dodopayments.com/vi/features/entitlements/discord#article\",\"headline\":\"Quyền lợi trên Discord\",\"name\":\"Quyền lợi trên Discord\",\"description\":\"Thêm khách hàng trả phí vào máy chủ Discord của bạn với một vai trò tùy chọn và tự động xóa họ khi quyền truy cập kết thúc.\",\"url\":\"https://docs.dodopayments.com/vi/features/entitlements/discord\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dodopayments.com/vi/features/entitlements/discord#webpage\"},\"dateModified\":\"2026-09-28T05:10:45.000Z\",\"keywords\":\"Dodo Payments, Discord, entitlement, vai trò Discord, truy cập cộng đồng\",\"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":"/vi/features/entitlements/discord.md","siteName":"Dodo Payments Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/features/entitlements/discord"}]},{"language":"es","pages":[{"title":"es","href":"/es/features/entitlements/discord"}]},{"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","tabs":[{"tab":"Docs","icon":"book","groups":[{"group":"Getting Started","pages":[{"title":"Welcome to Dodo Payments","sidebarTitle":"Introduction","icon":"rocket","href":"/vi/introduction"},{"title":"Xây dựng với AI Coding Agents","sidebarTitle":"AI Coding Agents","icon":"robot","href":"/vi/developer-resources/build-with-ai-coding-agents"},{"title":"Di chuyển sang Dodo Payments","icon":"arrow-right-arrow-left","href":"/vi/migrate-to-dodo"},{"title":"Xác minh tài khoản","icon":"id-card","href":"/vi/miscellaneous/verification-process"}]},{"group":"Features","pages":[{"sidebarTitle":"Sản phẩm","title":"Sản phẩm","icon":"box","href":"/vi/features/products"},{"sidebarTitle":"Product Collections","title":"Product Collections","icon":"layer-group","href":"/vi/features/product-collections"},{"sidebarTitle":"Thanh toán một lần","title":"Thanh toán một lần","icon":"credit-card","href":"/vi/features/one-time-payment-products"},{"group":"Subscriptions","icon":"infinity","pages":[{"sidebarTitle":"Subscriptions","title":"Subscriptions","icon":"repeat","href":"/vi/features/subscription"},{"sidebarTitle":"Add-ons","title":"Add-ons for Subscriptions","icon":"puzzle","href":"/vi/features/addons"},{"title":"On-Demand Subscriptions","icon":"bolt","href":"/vi/developer-resources/ondemand-subscriptions"}]},{"group":"Usage Based Billing","icon":"arrow-trend-up","pages":[{"sidebarTitle":"Giới thiệu","title":"Thanh toán dựa trên mức sử dụng","icon":"box","href":"/vi/features/usage-based-billing/introduction"},{"sidebarTitle":"Công tơ","title":"Công tơ","icon":"sliders","href":"/vi/features/usage-based-billing/meters"},{"sidebarTitle":"Tiếp Nhận Sự Kiện","title":"Tiếp Nhận Sự Kiện","icon":"bolt","href":"/vi/features/usage-based-billing/event-ingestion"},{"group":"Ingestion Blueprints","icon":"copy","pages":[{"sidebarTitle":"Giới thiệu","title":"Mô hình thu thập dữ liệu","icon":"box","href":"/vi/features/usage-based-billing/ingestion-blueprints"},{"title":"LLM Blueprint","icon":"brain-circuit","href":"/vi/developer-resources/ingestion-blueprints/llm"},{"title":"API Gateway Blueprint","icon":"cloud","href":"/vi/developer-resources/ingestion-blueprints/api-gateway"},{"title":"Kế Hoạch Lưu Trữ Đối Tượng","icon":"box-archive","href":"/vi/developer-resources/ingestion-blueprints/object-storage"},{"title":"Stream Blueprint","icon":"tower-broadcast","href":"/vi/developer-resources/ingestion-blueprints/stream"},{"title":"Mẫu Thời Gian","icon":"clock","href":"/vi/developer-resources/ingestion-blueprints/time-range"}]}]},{"sidebarTitle":"Credit-Based Billing","title":"Credit-Based Billing","icon":"coins","tag":"NEW","href":"/vi/features/credit-based-billing"},{"sidebarTitle":"Thanh Toán Theo Số Ghế","title":"Thanh Toán Theo Số Ghế","icon":"users","href":"/vi/features/seat-based-billing"},{"sidebarTitle":"Thanh Toán Lai","title":"Mô Hình Thanh Toán Lai","icon":"layer-group","href":"/vi/features/hybrid-billing"},{"title":"Upsells \u0026 Downsells","icon":"arrow-up-right-dots","href":"/vi/features/upsells-and-downsells"},{"group":"Customers","icon":"user-group","pages":[{"title":"Customer Management","icon":"user-group","href":"/vi/features/customers"},{"sidebarTitle":"Cổng Thông Tin Khách Hàng","title":"Cổng Thông Tin Khách Hàng","icon":"id-card","href":"/vi/features/customer-portal"},{"title":"Customer Wallets","icon":"wallet","tag":"NEW","href":"/vi/features/customer-wallet"},{"sidebarTitle":"Email đã gửi","title":"Nhật ký email khách hàng","icon":"envelope","tag":"NEW","href":"/vi/features/email-logs"},{"sidebarTitle":"Danh sách chặn khách hàng","title":"Danh sách chặn khách hàng","icon":"user-slash","tag":"NEW","href":"/vi/features/customer-blocklist"}]},{"sidebarTitle":"Giảm giá","title":"Giảm giá","icon":"percent","href":"/vi/features/discount-codes"},{"group":"Recovery","icon":"rotate","tag":"NEW","pages":[{"sidebarTitle":"Tổng quan","title":"Khôi phục Doanh thu","icon":"rotate","href":"/vi/features/recovery/overview"},{"sidebarTitle":"Khôi Phục Giỏ Hàng Bỏ Rơi","title":"Khôi Phục Giỏ Hàng Bỏ Rơi","icon":"cart-shopping","href":"/vi/features/recovery/abandoned-cart-recovery"},{"sidebarTitle":"Thu hồi Đăng ký","title":"Thu hồi Đăng ký","icon":"repeat","href":"/vi/features/recovery/subscription-dunning"},{"sidebarTitle":"Quá trình Lặp lại Thanh toán Đăng ký","title":"Quá trình Lặp lại Thanh toán Đăng ký","icon":"arrow-rotate-right","href":"/vi/features/recovery/payment-retries"},{"sidebarTitle":"Thử lại thủ công","title":"Thử lại thanh toán thủ công","icon":"hand-pointer","tag":"NEW","href":"/vi/features/recovery/manual-retry"}]},{"group":"Transactions","icon":"credit-card","pages":[{"title":"Thanh toán","icon":"money-bill-transfer","href":"/vi/features/transactions/payments"},{"title":"Hoàn tiền","icon":"rotate-left","href":"/vi/features/transactions/refunds"},{"title":"Disputes","icon":"circle-exclamation","href":"/vi/features/transactions/disputes"}]},{"group":"Entitlements","icon":"gift","tag":"NEW","pages":[{"title":"Giới Thiệu","sidebarTitle":"Giới Thiệu","icon":"box-archive","href":"/vi/features/entitlements/introduction"},{"title":"License Keys","icon":"key","href":"/vi/features/license-keys"},{"title":"Digital Product Delivery","sidebarTitle":"Digital Products","icon":"download","href":"/vi/features/digital-product-delivery"},{"title":"Quyền cấp Feature Flag","sidebarTitle":"Feature Flags","description":"Bật các tính năng trong ứng dụng của riêng bạn dựa trên giao dịch mua. Feature flag entitlement cung cấp một capability boolean khi thanh toán và tự động thu hồi capability đó khi hủy.","icon":"flag","tag":"NEW","href":"/vi/features/entitlements/feature-flags"},{"title":"Quyền lợi trên Discord","sidebarTitle":"Discord","icon":"discord","href":"/vi/features/entitlements/discord"},{"title":"Quyền lợi GitHub","sidebarTitle":"GitHub","description":"Cấp quyền cộng tác viên cho khách hàng đối với repository GitHub riêng tư ở cấp quyền bạn chọn và tự động thu hồi quyền khi hủy.","icon":"github","href":"/vi/features/entitlements/github"},{"title":"Quyền truy cập Telegram","sidebarTitle":"Telegram","icon":"telegram","href":"/vi/features/entitlements/telegram"},{"title":"Framer Entitlement","sidebarTitle":"Framer","icon":"puzzle-piece","href":"/vi/features/entitlements/framer"},{"title":"Quyền hạn Notion","sidebarTitle":"Notion","icon":"book","href":"/vi/features/entitlements/notion"}]},{"group":"Payouts and Balances","icon":"wallet","pages":[{"title":"Quy trình Thanh toán","icon":"money-bill","href":"/vi/features/payouts/payout-structure"},{"title":"Số dư","icon":"file-invoice-dollar","href":"/vi/features/account-summary-payout-wallet"}]},{"group":"Account Management","icon":"user","pages":[{"sidebarTitle":"Lưu trữ doanh nghiệp","title":"Lưu trữ doanh nghiệp","icon":"box-archive","tag":"NEW","href":"/vi/features/archive-business"},{"title":"Cài đặt Đa Thương Hiệu","icon":"building-columns","href":"/vi/features/multi-brands"},{"title":"Quản lý Hóa Đơn","icon":"file-invoice-dollar","href":"/vi/features/invoice-generation"},{"title":"Thành viên trong nhóm","icon":"user-gear","href":"/vi/features/team"},{"title":"Tùy chọn liên lạc","sidebarTitle":"Tùy chọn liên lạc","icon":"bell","tag":"NEW","href":"/vi/features/communication-preferences"},{"title":"Tài Khoản Của Tôi","icon":"user-gear","href":"/vi/miscellaneous/accounts"}]},{"group":"Pricing","icon":"dollar-sign","pages":[{"sidebarTitle":"Giá Bao Gồm Thuế","title":"Giá Bao Gồm Thuế","icon":"file-invoice","href":"/vi/features/tax-inclusive-pricing"},{"sidebarTitle":"Trả Theo Ý Muốn","title":"Giá Trả Theo Ý Muốn","icon":"dollar-sign","href":"/vi/features/pay-what-you-want"},{"title":"Thanh Toán B2B","icon":"money-bills","href":"/vi/features/b2b-payments"},{"title":"Định Giá Địa Phương","sidebarTitle":"Định Giá Địa Phương","icon":"earth-americas","href":"/vi/features/localized-pricing"},{"sidebarTitle":"Sức mua tương đương","title":"Purchasing Power Parity","tag":"NEW","icon":"money-bill-trend-up","href":"/vi/features/purchasing-power-parity"},{"sidebarTitle":"Charm Pricing","title":"Charm Pricing","tag":"NEW","icon":"tag","href":"/vi/features/charm-pricing"}]},{"sidebarTitle":"Thanh toán","title":"Tính năng Thanh toán","icon":"cart-shopping","href":"/vi/features/checkout"},{"sidebarTitle":"Thiết kế","title":"Tùy chỉnh Thiết kế \u0026 Chủ đề","icon":"palette","tag":"NEW","href":"/vi/features/design"},{"group":"Payment Methods","icon":"money-bill-wave","pages":[{"title":"Payment Methods","sidebarTitle":"Overview","icon":"layer-group","href":"/vi/features/payment-methods"},{"title":"Thẻ tín dụng \u0026 thẻ ghi nợ","sidebarTitle":"Thẻ","icon":"credit-card","href":"/vi/features/payment-methods/cards"},{"title":"Ví điện tử","sidebarTitle":"Ví điện tử","icon":"wallet","href":"/vi/features/payment-methods/digital-wallets"},{"title":"Mua Trước Trả Sau (BNPL)","sidebarTitle":"BNPL","icon":"calendar-days","href":"/vi/features/payment-methods/bnpl"},{"title":"ACH Direct Debit","sidebarTitle":"ACH Direct Debit","icon":"building-columns","href":"/vi/features/payment-methods/ach"},{"title":"Phương thức thanh toán tại India","sidebarTitle":"India","icon":"indian-rupee-sign","href":"/vi/features/payment-methods/india"},{"title":"Phương thức thanh toán tại châu Âu","sidebarTitle":"Châu Âu","icon":"euro-sign","href":"/vi/features/payment-methods/europe"},{"title":"Phương Thức Thanh Toán Hàn Quốc","sidebarTitle":"Hàn Quốc","icon":"won-sign","href":"/vi/features/payment-methods/south-korea"},{"title":"Phương thức thanh toán tại Châu Á - Thái Bình Dương","sidebarTitle":"Châu Á - Thái Bình Dương","icon":"earth-asia","href":"/vi/features/payment-methods/asia-pacific"},{"title":"Pix","sidebarTitle":"Pix","icon":"brazilian-real-sign","href":"/vi/features/payment-methods/pix"},{"title":"Stablecoins","sidebarTitle":"Stablecoins","icon":"dollar-sign","href":"/vi/features/payment-methods/stablecoins"},{"title":"WeChat Pay","sidebarTitle":"WeChat Pay","icon":"comment-dollar","href":"/vi/features/payment-methods/wechat"}]},{"title":"Phân tích của bên thứ ba","sidebarTitle":"Phân tích của bên thứ ba","icon":"chart-line","tag":"NEW","href":"/vi/features/analytics"},{"sidebarTitle":"Tiền Tệ Thích Ứng","title":"Tiền Tệ Thích Ứng","icon":"money-bill-transfer","href":"/vi/features/adaptive-currency"},{"group":"BYOP","icon":"shuffle","tag":"BETA","pages":[{"title":"Mang Theo Bộ Xử Lý Của Bạn (BYOP)","sidebarTitle":"Tổng Quan","tag":"BETA","icon":"boxes-stacked","href":"/vi/features/byop"},{"title":"Stripe - Kết nối \u0026 Raw Card API Access","sidebarTitle":"Stripe","icon":"stripe","href":"/vi/features/byop/stripe"},{"title":"Adyen - Truy cập API Kết nối \u0026 Raw Card","sidebarTitle":"Adyen","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/adyen.svg","href":"/vi/features/byop/adyen"}]},{"title":"Cửa hàng trực tuyến","icon":"store","href":"/vi/features/storefront"},{"title":"Đối tác","icon":"users-line","href":"/vi/features/affiliates"},{"title":"Moderation API","icon":"shield-check","tag":"NEW","href":"/vi/features/moderation"},{"title":"Bán hàng hóa kỹ thuật số trên iOS","icon":"mobile","href":"/vi/features/appstore-digital-goods"},{"title":"Phân tích Bảng điều khiển","sidebarTitle":"Phân tích Bảng điều khiển","icon":"chart-line","href":"/vi/features/analytics-and-reporting"},{"title":"Báo cáo","sidebarTitle":"Báo cáo","icon":"file-invoice","href":"/vi/features/reports"}]},{"group":"Integrate","pages":[{"group":"SDKs","icon":"box-open","pages":[{"sidebarTitle":"Tổng quan","title":"SDK chính thức","icon":"box","href":"/vi/developer-resources/dodo-payments-sdks"},{"title":"TypeScript","icon":"js","href":"/vi/developer-resources/sdks/typescript"},{"title":"Python","icon":"python","href":"/vi/developer-resources/sdks/python"},{"title":"Go","icon":"golang","href":"/vi/developer-resources/sdks/go"},{"title":"Ruby","icon":"gem","href":"/vi/developer-resources/sdks/ruby"},{"title":"Java","icon":"java","href":"/vi/developer-resources/sdks/java"},{"title":"Kotlin","icon":"k","href":"/vi/developer-resources/sdks/kotlin"},{"title":"PHP","icon":"php","href":"/vi/developer-resources/sdks/php"},{"title":"C#","icon":"c","href":"/vi/developer-resources/sdks/csharp"},{"title":"Rust","icon":"rust","href":"/vi/developer-resources/sdks/rust"}]},{"group":"Mobile Checkout SDKs","icon":"mobile","pages":[{"title":"Mobile Integration Guide","sidebarTitle":"Integration Guide","icon":"mobile","href":"/vi/developer-resources/mobile-integration"},{"title":"Android","sidebarTitle":"Android","tag":"NEW","icon":"android","href":"/vi/developer-resources/sdks/android"},{"title":"iOS","sidebarTitle":"iOS","tag":"NEW","icon":"apple","href":"/vi/developer-resources/sdks/ios"},{"title":"React Native","sidebarTitle":"React Native","tag":"NEW","icon":"react","href":"/vi/developer-resources/sdks/react-native"},{"title":"Flutter","sidebarTitle":"Flutter","tag":"NEW","icon":"layer-group","href":"/vi/developer-resources/sdks/flutter"}]},{"group":"Framework Adaptors","icon":"frame","pages":[{"sidebarTitle":"Tổng quan","title":"Tổng quan về các bộ chuyển đổi Framework","icon":"box","href":"/vi/developer-resources/framework-adaptors"},{"title":"Next.js Adaptor","icon":"code-merge","href":"/vi/developer-resources/nextjs-adaptor"},{"title":"Adaptor Better Auth","icon":"code-merge","href":"/vi/developer-resources/better-auth-adaptor"},{"title":"Thành phần Convex","icon":"code-merge","href":"/vi/developer-resources/convex-component"},{"title":"Bộ chuyển đổi TanStack","icon":"code-merge","href":"/vi/developer-resources/tanstack-adaptor"},{"title":"Bộ chuyển đổi Nuxt","icon":"code-merge","href":"/vi/developer-resources/nuxt-adaptor"},{"title":"Express Adaptor","icon":"code-merge","href":"/vi/developer-resources/express-adaptor"},{"title":"Astro Adaptor","icon":"code-merge","href":"/vi/developer-resources/astro-adaptor"},{"title":"SvelteKit Adaptor","icon":"code-merge","href":"/vi/developer-resources/sveltekit-adaptor"},{"title":"Hono Adaptor","icon":"code-merge","href":"/vi/developer-resources/hono-adaptor"},{"title":"Bộ điều hợp Remix","icon":"code-merge","href":"/vi/developer-resources/remix-adaptor"},{"title":"Bộ chuyển đổi Fastify","icon":"code-merge","href":"/vi/developer-resources/fastify-adaptor"},{"title":"Bun Adaptor","icon":"code-merge","href":"/vi/developer-resources/bun-adaptor"}]},{"group":"Webhooks","icon":"webhook","pages":[{"sidebarTitle":"Overview","title":"Webhooks","icon":"webhook","href":"/vi/developer-resources/webhooks"},{"title":"Hướng dẫn về Webhook Events","icon":"bell","href":"/vi/developer-resources/webhooks/intents/webhook-events-guide"},{"group":"Webhook Payloads","icon":"code","pages":[{"title":"Thanh toán","icon":"credit-card","href":"/vi/developer-resources/webhooks/intents/payment"},{"sidebarTitle":"Gói đăng ký","title":"Webhook của gói đăng ký","icon":"repeat","href":"/vi/developer-resources/webhooks/intents/subscription"},{"title":"Hoàn tiền","icon":"rotate-left","href":"/vi/developer-resources/webhooks/intents/refund"},{"sidebarTitle":"Tranh chấp","title":"Webhook Tranh chấp","icon":"circle-exclamation","href":"/vi/developer-resources/webhooks/intents/dispute"},{"title":"Khóa Bản Quyền","icon":"key","href":"/vi/developer-resources/webhooks/intents/license-key"},{"title":"Trao Quyền","icon":"gift","href":"/vi/developer-resources/webhooks/intents/entitlement-grant"},{"sidebarTitle":"Thanh toán dựa trên credit","title":"Webhook Thanh toán dựa trên credit","icon":"coins","href":"/vi/developer-resources/webhooks/intents/credit"},{"title":"Khôi phục","icon":"rotate","href":"/vi/developer-resources/webhooks/intents/recovery"},{"sidebarTitle":"Chi trả","title":"Webhook chi trả","icon":"money-bill-transfer","href":"/vi/developer-resources/webhooks/intents/payout"}]},{"group":"Deploy to Cloud","icon":"rocket","pages":[{"title":"Vercel Functions","icon":"triangle","href":"/vi/developer-resources/webhooks/examples/vercel-example"},{"title":"Cloudflare Workers","icon":"cloud","href":"/vi/developer-resources/webhooks/examples/cloudflare-example"},{"title":"Supabase Edge Functions","icon":"bolt","href":"/vi/developer-resources/webhooks/examples/supabase-example"},{"title":"Netlify Functions","icon":"diamond","href":"/vi/developer-resources/webhooks/examples/netlify-example"}]}]},{"group":"Testing \u0026 Demo Tools","icon":"flask","pages":[{"title":"Chế độ Kiểm Tra vs Chế độ Trực Tiếp","icon":"toggle-on","href":"/vi/miscellaneous/test-mode-vs-live-mode"},{"title":"Testing Process","icon":"flask","href":"/vi/miscellaneous/testing-process"},{"title":"Sản phẩm Demo Atlas","icon":"palette","href":"/vi/features/atlas-demo-website"}]},{"group":"Boilerplates","icon":"box-open","pages":[{"sidebarTitle":"Expo","title":"Mẫu Expo","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/expo.svg","tag":"NEW","href":"/vi/developer-resources/expo-boilerplate"},{"sidebarTitle":"Supabase","title":"Boilerplate Supabase","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/supabase.svg","href":"/vi/developer-resources/supabase-boilerplate"},{"sidebarTitle":"Figma Plugin","title":"Plugin Figma","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/figma.svg","href":"/vi/integrations/figma-plugin"},{"sidebarTitle":"Next.js","title":"Next.js Minimal Boilerplate","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/nextjs.svg","href":"/vi/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":"/vi/developer-resources/astro-boilerplate"},{"sidebarTitle":"FastAPI","title":"Mẫu FastAPI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/dodopayments/images/logos/fastapi.svg","tag":"NEW","href":"/vi/developer-resources/fastapi-boilerplate"},{"sidebarTitle":"Go","title":"Go Boilerplate","icon":"golang","tag":"NEW","href":"/vi/developer-resources/go-boilerplate"}]},{"title":"Dodo CLI","icon":"terminal","tag":"NEW","href":"/vi/developer-resources/sdks/cli"},{"title":"Overlay Checkout","icon":"cart-shopping","href":"/vi/developer-resources/overlay-checkout"},{"title":"Thanh toán Inline","icon":"credit-card","href":"/vi/developer-resources/inline-checkout"},{"title":"Billing SDK","icon":"boxes-stacked","href":"/vi/developer-resources/billingsdk"},{"title":"Dodo Payments MCP Server","icon":"server","href":"/vi/developer-resources/mcp-server"},{"title":"Agent Skills","icon":"wand-magic-sparkles","href":"/vi/developer-resources/agent-skills"},{"sidebarTitle":"Đồng bộ cơ sở dữ liệu","title":"Đồng bộ với cơ sở dữ liệu của bạn","icon":"database","href":"/vi/developer-resources/dodo-sync"},{"sidebarTitle":"Di chuyển đăng ký","title":"Di chuyển đăng ký sang Dodo Payments","icon":"file-import","href":"/vi/miscellaneous/subscription-migration"}]},{"group":"Merchant of Record","pages":[{"sidebarTitle":"MoR là gì?","title":"Giới thiệu","icon":"building-columns","href":"/vi/features/mor-introduction"},{"title":"MoR vs PG","icon":"scale-balanced","href":"/vi/features/mor-vs-pg"},{"title":"Các quốc gia đủ điều kiện để chấp nhận merchant","icon":"globe","href":"/vi/miscellaneous/accepted-countries-and-territories"},{"title":"Chính sách Đánh giá \u0026 Giám sát","icon":"magnifying-glass","href":"/vi/miscellaneous/review-monitoring-policy"},{"sidebarTitle":"Bypass of App Store Fees","title":"Bỏ qua phí App Store \u0026 Play Store bằng Dodo Payments","icon":"shield-check","href":"/vi/features/bypassing-app-store-fees"}]},{"group":"Miscellaneous","pages":[{"group":"Support Channels","icon":"headset","pages":[{"title":"Trợ Giúp và Hỗ Trợ","icon":"headset","href":"/vi/miscellaneous/help-support"},{"title":"Yêu cầu Tính năng và Lịch trình","icon":"lightbulb","href":"/vi/features/feature-request"}]},{"title":"Ứng dụng Di động \u0026 Máy tính để bàn","icon":"mobile","href":"/vi/features/mobile-app"},{"title":"Chính Sách Báo Cáo Bảo Mật","icon":"shield","href":"/vi/miscellaneous/security-policy"}]}]},{"tab":"Guides","icon":"compass","pages":[{"title":"Guides","href":"/vi/developer-resources/integration-guide"}]},{"tab":"API Reference","icon":"rectangle-code","pages":[{"title":"API Reference","href":"/vi/api-reference/introduction"}]},{"tab":"External Integrations","icon":"plug","pages":[{"title":"External Integrations","href":"/vi/integrations/introduction"}]},{"tab":"Changelog","icon":"calendar-days","pages":[{"title":"Changelog","href":"/vi/changelog/introduction"}]},{"tab":"Community Projects","icon":"users","pages":[{"title":"Community Projects","href":"/vi/community/overview"}]}]},{"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":"Quyền lợi trên 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"]}