أضف العملاء الذين يدفعون إلى خادم Discord الخاص بك مع دور اختياري، وأزلهم تلقائيًا عند انتهاء وصولهم.
تضيف استحقاقات Discord العميل الذي يدفع إلى خادم Discord الخاص بك، ويمكنها تعيين دور له. يربط العميل حساب Discord الخاص به بعد تفعيل اشتراكه أو نجاح عملية الدفع لمرة واحدة. عند إلغاء المنح، مثلًا عند الإلغاء أو ردّ المبلغ، يزيل Dodo Payments الدور ويزيل العميل من الخادم.
يربط العميل حساب Discord الخاص به من Customer Portal. تُعلّم رسالة البريد الإلكتروني لتأكيد الدفع الاستحقاق بحالة مطلوب إجراء وتوفّر رابطًا إلى البوابة.
بعد أن يمنح العميل التفويض، يضيفه روبوت Dodo Payments إلى خادمك، أو يعثر على عضويته الحالية، ويعيّن الدور الذي ضبطته.
إذا لم تختر دورًا، يحصل العميل على عضوية الخادم فقط.
استخدمه للمجتمعات المدفوعة، ومزايا الداعمين، وقنوات الوصول المتدرجة.
في لوحة معلومات Dodo Payments، انتقل إلى الاستحقاقات وانقر على + لبدء استحقاق جديد.
2
Pick Discord
اختر وصول Discord باعتباره التكامل. إذا لم يكن Discord متصلًا بنشاطك التجاري بعد، فانقر على توصيل Discord.
Connect Discord prompt before the OAuth handoff.
يفتح Discord في علامة تبويب جديدة. سجّل الدخول، واختر الخادم الذي تريد تقييد الوصول إليه، ووافِق على أذونات الروبوت في ذلك الخادم: إدارة الأدوار وطرد الأعضاء وإنشاء دعوة.
Discord OAuth: pick the server to add the bot to.
Discord OAuth: confirm the bot's permissions on the server.
عندما يعيد Discord التوجيه، تعرض صفحة تأكيد أن الخادم متصل.
Server connected. Return to the Dodo Payments dashboard to continue.
3
Pick a Server and Role
بالعودة إلى لوحة المعلومات، اختر الخادم الذي اتصلت به. لتعيين دور عند التسليم، اختره ضمن الدور. لمنح عضوية الخادم فقط، اترك الدور مضبوطًا على لا يوجد دور محدد. أدخل اسمًا للاستحقاق وانقر على إنشاء استحقاق.
ينشئ Dodo Payments منحة بالحالة Pending. يحاول Dodo Payments إنشاء عنوان URL لتفويض Discord فورًا ويخزّنه في oauth_url. إذا فشل ذلك، تظل oauth_url بالقيمة null إلى أن يبدأ العميل تدفق القبول.
يدرج بريد تأكيد الدفع الاستحقاق بالحالة يتطلب إجراءً ويربط إلى Customer Portal. في البوابة، ينقر العميل على الاتصال ضمن الاستحقاق.
يفوّض العميل Dodo Payments على Discord. يضيف الروبوت العميل إلى الخادم ويعيّن له الدور المُعدّ، وتنتقل المنحة إلى Delivered.
عند إلغاء المنحة (إلغاء الاشتراك أو إيقافه مؤقتًا أو تعليقه أو انتهاء صلاحيته، أو ردّ الدفعة لمرة واحدة، أو إلغائك للمنحة)، يزيل الروبوت الدور ويزيل العميل من الخادم. تنتقل المنحة إلى Revoked.
تنتهي صلاحية رابط التفويض بعد 30 دقيقة من إنشائه. إذا عاد العميل إلى Customer Portal بعد ذلك، ينشئ Dodo Payments رابطًا جديدًا. وإذا غادر العميل خادمك بمفرده، يُلغي Dodo Payments منحَه بالحالة revocation_reason: platform_external.
ضع دور روبوت Dodo Payments فوق الدور الذي تمنحه. لا يسمح Discord للروبوت بتعيين دور يقع عند أعلى دور له أو فوقه. لا يمكن تعيين الأدوار المُدارة، مثل أدوار الروبوتات والتكاملات.
// 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 مع status: "Pending". قد يحتوي oauth_url مسبقًا على عنوان URL للتفويض. إذا كانت قيمته null، فستتم تعبئته بمجرد أن يبدأ العميل تدفق القبول من Customer Portal.
يتم تشغيل entitlement_grant.delivered بمجرد انضمام العميل إلى الخادم وتعيين الدور.
يتم تشغيل entitlement_grant.revoked عند إزالة الدور وإزالة العميل من الخادم.
يبقى المنح بحالة Pending إلى أن يُكمل العميل تفويض Discord. افتح الاستحقاق في لوحة المعلومات وتحقّق من منح العميل. إذا كان لا يزال بحالة Pending، فاطلب من العميل فتح Customer Portal والنقر على توصيل ضمن استحقاق Discord.
Grant moves to failed with permission errors
تأكد من أن روبوت Dodo Payments لا يزال موجودًا في الخادم، وأن لديه إذن إدارة الأدوار، وأنه أعلى من الدور الذي يتم تعيينه. إذا أُزيل الروبوت من الخادم، يُلغي Dodo Payments المنح المعلّقة والمسلّمة للخادم. تؤدي إعادة حفظ الاستحقاق إلى التحقق من إعداداته فقط، وليس من أذونات الروبوت. بعد إصلاح الأذونات، اطلب من العميل فتح Customer Portal والنقر على الاتصال ضمن استحقاق Discord لإعادة محاولة منح الصلاحية.
Customer cancelled but still has the role
تؤدي عملية الإلغاء إلى إزالة الدور وإزالة العميل من الخادم. إذا ظهر المنح بالحالة Revoked بينما لا يزال العميل في الخادم، فتأكد من أن الروبوت لا يزال يملك أذوني إدارة الأدوار وطرد الأعضاء، وأنه أعلى من الدور. إذا كان تطبيق Discord لدى العميل لا يزال يعرض الدور، فاطلب منه تحديثه. تُعد حالة الخادم مصدر الحقيقة.