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.