Skip to main content
تضيف صلاحية GitHub عميلًا يدفع إلى مستودع خاص بصفته collaborator. تختار مستوى الأذونات (pull أو push أو triage أو maintain أو admin). يرسل Dodo Payments دعوة collaborator ويزيل collaborator عند إلغاء الصلاحية.

ما يتم تسليمه

  • يربط العميل حسابه على GitHub من Customer Portal. يؤدي ذلك إلى ربط حساب GitHub الخاص به بعملية الشراء.
  • يدعو Dodo Payments هذا الحساب إلى مستودعك بمستوى الأذونات المُهيأ. يحصل العميل على الوصول بعد قبول الدعوة على GitHub. إذا كان العميل يملك المستودع، فلا حاجة إلى إرسال دعوة.
  • يؤدي الإلغاء أو استرداد المبلغ أو الإلغاء اليدوي إلى إزالة collaborator وإلغاء أي دعوة معلّقة.
تشمل الاستخدامات الشائعة المنتجات المتاحة المصدر، والقوالب المدفوعة، ومستودعات أكواد الدورات، وSDKs الخاصة بالعملاء والمقيّدة.

الاتصال بـ GitHub

1

Open Entitlements

في لوحة معلومات Dodo Payments، انتقل إلى Entitlements وانقر على + لبدء صلاحية جديدة.
2

Pick GitHub

اختر GitHub Access باعتباره التكامل. إذا لم يكن GitHub متصلًا بعد، فانقر على Connect GitHub.
New entitlement panel prompting the merchant to connect GitHub

Connect GitHub prompt before the install handoff.

يفتح GitHub في علامة تبويب جديدة. سجّل الدخول، ثم ثبّت Dodo Payments GitHub App على المؤسسة أو حساب المستخدم الذي يملك المستودع. يمكنك منح التطبيق الوصول إلى All repositories أو Only select repositories. إذا اخترت مستودعات محددة، فأدرج كل مستودع تنوي تقييد الوصول إليه.
صفحة تثبيت GitHub وتفويضه مع خياري All repositories وOnly select repositories

GitHub Install & Authorize page. Choose which repositories the app can manage.

عندما يعيد GitHub التوجيه، تعرض صفحة تأكيد أن الحساب متصل.
صفحة تأكيد نجاح اتصال GitHub Access

Account connected. Return to the Dodo Payments dashboard to continue.

3

Pick a Repository and Permission

بالعودة إلى لوحة المعلومات، حدد Repository الذي تمنح الصلاحية الوصول إليه، ثم حدد مستوى Permission. يعرض منتقي المستودعات المستودعات التي يمكن لـ GitHub App الوصول إليها فقط. أدخل Name للصلاحية وانقر على Create Entitlement.
GitHub entitlement form with connected GitHub Access, repository selector, permission dropdown, and name field

Creating a GitHub entitlement. Pick the repository and the permission you want customers to receive.

4

Attach It to a Product

اربط الصلاحية بأي منتج. يحصل العملاء الذين يشترون هذا المنتج على دعوة GitHub بعد ربط حساب GitHub الخاص بهم.

مستويات الأذونات

تستخدم الصلاحية أذونات المستودعات القياسية في GitHub:
امنح أقل قدر من الصلاحيات الذي يناسب حالة استخدامك. تحتاج معظم منتجات المحتوى المدفوعة إلى pull فقط.

مسار العميل

  1. يُكمل العميل عملية الدفع.
  2. ينشئ Dodo Payments منحة بالحالة Pending. يحاول Dodo Payments إنشاء عنوان URL للتفويض في GitHub فورًا، ويخزّنه في oauth_url. إذا فشلت العملية، يبقى oauth_url بالقيمة null حتى يبدأ العميل تدفق القبول.
  3. يعرض البريد الإلكتروني لتأكيد الدفع الاستحقاق بالحالة Action Required ويرتبط بـ Customer Portal. في البوابة، ينقر العميل على Connect ويفوّض باستخدام GitHub. تنتهي صلاحية رابط التفويض بعد 30 دقيقة، وينشئ Customer Portal رابطًا جديدًا عند عودة العميل.
  4. يرسل Dodo Payments دعوة إلى حساب GitHub الخاص بالعميل للانضمام إلى المستودع بالأذونات المُهيأة. تنتقل المنحة إلى Delivered بمجرد إنشاء الدعوة. إذا رفض GitHub الدعوة، فلا يتم تسليم المنحة.
  5. إذا أُلغيت الاشتراكية، أو تم رد المبلغ، أو أُلغيت المنحة، يزيل Dodo Payments العميل بصفته متعاونًا ويلغي أي دعوة معلّقة.

الإعداد المطلوب

الإنشاء عبر API

Webhooks

تشمل أحداث Webhook القياسية غطاء تدفق GitHub:
  • يتم تشغيل entitlement_grant.created مع status: "Pending". قد يحتوي oauth_url مسبقًا على عنوان URL لتفويض GitHub. إذا كانت قيمته null، فستتم تعبئته بمجرد أن يبدأ العميل تدفق القبول من Customer Portal.
  • يتم تشغيل entitlement_grant.delivered بمجرد إنشاء دعوة المتعاون.
  • يتم تشغيل entitlement_grant.revoked عند سحب الوصول. إذا أزلت تثبيت GitHub App، فإن Dodo Payments يلغي المنح المعلّقة والمسلّمة الخاصة بذلك التثبيت باستخدام revocation_reason: platform_external.
  • يتم تشغيل entitlement_grant.failed مع error_code: "GRANT_ACCESS_FAILED" إذا تعذّر على Dodo Payments إضافة العميل إلى المستودع، مثلًا لأن GitHub App فقد الوصول إليه.

استكشاف الأخطاء وإصلاحها

يجب تثبيت Dodo Payments GitHub App على المؤسسة أو المستخدم الذي يملك المستودع. في نموذج الاستحقاق، انقر على Disconnect في بطاقة GitHub، ثم انقر على Connect GitHub لإعادة تثبيت التطبيق، وامنحه الوصول إلى المستودعات التي تريد تقييد الوصول إليها.
لم يعد تثبيت GitHub App يملك صلاحية الوصول إلى المستودع، أو أُعيدت تسمية المستودع أو نُقل. امنح التطبيق الوصول إلى المستودع مرة أخرى، وستنجح إعادة المنح التالية.
يقبل العملاء دعوة GitHub من إشعارات GitHub الخاصة بهم أو من الرابط الموجود في رسالة الدعوة الإلكترونية من GitHub. إلى أن يقبلوها، يكونون مدعوين لكن لا يمكنهم استنساخ المستودع. تظل المنحة في الحالة Delivered في Dodo Payments، لأن الدعوة هي ما يصدره Dodo Payments.
آخر تعديل في ٢٨ سبتمبر ٢٠٢٦