انسخ قالب Notion إلى مساحة عمل Notion الخاصة بالعميل عند إتمامه عملية الشراء، بعد أن يفوّض العميل Dodo Payments باستخدام Notion.
تعمل صلاحية Notion على نسخ قالب أعددته مسبقًا إلى مساحة عمل Notion الخاصة بالعميل الذي أتم الدفع. يفوّض العميل Dodo Payments باستخدام Notion ويختار مساحة العمل التي ستستلم القالب، ثم ينشئ Dodo Payments النسخة.
في لوحة تحكم Dodo Payments، انتقل إلى Entitlements وانقر على +.
2
Pick Notion
اختر Notion Template باعتباره التكامل. إذا لم يكن Notion متصلًا بعد، فانقر على Connect Notion.
Connect Notion prompt before the OAuth handoff.
يفتح Notion في علامة تبويب جديدة. سجّل الدخول إلى مساحة العمل التي تملك قوالب المصدر، وراجع الأذونات التي يطلبها Dodo Payments. ثم اختر الصفحات (القوالب) التي يمكن للتكامل قراءتها ونسخها.
Notion OAuth: review the permissions Dodo Payments requests.
Notion OAuth: pick the template pages to share.
عندما يعيد Notion التوجيه، تعرض صفحة تأكيد أن مساحة العمل متصلة.
Workspace connected. Return to the Dodo Payments dashboard to continue.
3
Pick a Template
بالعودة إلى لوحة التحكم، حدد القالب المراد نسخه ضمن Template. تظهر هنا فقط الصفحات التي شاركتها في الخطوة السابقة. أدخل Name للصلاحية وانقر على Create Entitlement.
ينشئ Dodo Payments منحة بالحالة Pending. يحاول Dodo Payments إنشاء عنوان URL للتفويض في Notion فورًا ويخزّنه في oauth_url. إذا فشل ذلك، يظل oauth_url بالقيمة null إلى أن يبدأ العميل تدفق القبول.
في Customer Portal، ينقر العميل على Connect في الاستحقاق، ويفوّض الوصول باستخدام Notion، ويختار مساحة العمل التي ستتلقى القالب، ويشارك صفحة واحدة على الأقل مع Dodo Payments.
ينسخ Dodo Payments القالب إلى صفحة مشتركة في مساحة العمل تلك. تنتقل المنحة إلى Delivered.
عند الإلغاء، تُعلَّم المنحة بالحالة Revoked، وتبقى النسخة في مساحة عمل العميل.
لا يؤدي الإلغاء إلى حذف النسخة. توجد النسخة في مساحة عمل العميل، ولا يؤدي تدفق إلغاء Dodo Payments إلا إلى وضع علامة Revoked على المنحة.
// 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("Study Notes"), IntegrationType: dodopayments.F(dodopayments.EntitlementIntegrationTypeNotion), IntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam]( dodopayments.IntegrationConfigNotionConfigParam{ NotionTemplateID: dodopayments.F("3f2b8c1e-7d4a-4e9b-a6c5-1d2e3f4a5b6c"), }, ),})
يتم تشغيل entitlement_grant.created مع status: "Pending". قد يحتوي oauth_url مسبقًا على عنوان URL للتفويض في Notion. إذا كانت قيمته null، فستتم تعبئته بمجرد أن يبدأ العميل تدفق القبول من Customer Portal.
يتم تشغيل entitlement_grant.delivered بعد نسخ القالب.
يتم تشغيل entitlement_grant.revoked عند الإلغاء. تُترك نسخة العميل دون تغيير.
تبقى المنحة في Pending حتى يُكمل العميل تفويض Notion. اطلب من العميل فتح Customer Portal والنقر على Connect. تنتهي صلاحية كل رابط تفويض بعد 30 دقيقة من إنشائه، وينشئ Customer Portal رابطًا جديدًا عند عودة العميل. أثناء التفويض، يجب على العميل مشاركة صفحة واحدة على الأقل، لأن Dodo Payments ينشئ النسخة داخل صفحة مشتركة.
Template picker is empty
في نموذج الاستحقاق، انقر على Disconnect في بطاقة Notion، ثم انقر على Connect Notion وأعد الاتصال بمساحة العمل التي تملك القوالب المصدر. شارك صفحات القالب أثناء التفويض.
Customer wants the template removed after refund
لا يحذف Dodo Payments النسخة عند إلغاء المنحة. يجب على العميل حذف النسخة من مساحة العمل الخاصة به.