Skip to main content
مفاتيح التراخيص هي نوع الاستحقاق License Key. أنشئ استحقاق License Key مرة واحدة مع حد التنشيط وتاريخ انتهاء الصلاحية والتعليمات التي تريدها، وأرفقه بأي منتج، وسيتولى Dodo Payments إنشاء مفتاح وتسليمه لكل عملية شراء أو مقعد اشتراك تلقائيًا.

ما هي مفاتيح التراخيص؟

مفاتيح التراخيص هي رموز فريدة تسمح بالوصول إلى منتجك. وهي مناسبة لـ:
  • ترخيص البرامج: تطبيقات سطح المكتب والإضافات وCLIs
  • عناصر التحكم لكل مقعد: تحديد عدد عمليات التنشيط لكل مستخدم أو جهاز
  • المنتجات الرقمية: تقييد الوصول إلى التنزيلات أو التحديثات أو الميزات المميزة
داخل Dodo Payments، تتم إدارة مفاتيح التراخيص من خلال نظام الاستحقاقات، ما يعني أن دورة حياة كل مفتاح (الإنشاء والانتهاء والإبطال وإعادة المنح) تُدار بواسطة أحداث الدفع والاشتراك نفسها مثل بقية العناصر التي تسلّمها.

إنشاء استحقاق License Key

1

Open Entitlements

انتقل إلى الاستحقاقات في لوحة تحكم Dodo Payments وانقر على + لإنشاء استحقاق جديد.
2

Choose License Key

حدّد License Key باعتباره التكامل. اضبط سلوك كل مفتاح يتم إصداره:
  • Activations Limit: الحد الأقصى لعمليات التنشيط المتزامنة لكل مفتاح (مثلًا، 1 لمستخدم واحد، و5 لتراخيص الفرق، أو اتركه فارغًا لعدد غير محدود).
  • Duration: المدة التي يظل فيها المفتاح صالحًا بعد إصداره (مثلًا، 30 يومًا أو سنة واحدة). بالنسبة إلى المفاتيح الصادرة للاشتراكات، اتركه فارغًا؛ إذ تظل المفاتيح صالحة ما دام الاشتراك نشطًا.
  • Activation Instructions: التعليمات الموجهة إلى العميل والتي تُرسل مع المفتاح عبر البريد الإلكتروني. أمثلة: Paste the key in Settings → License أو Run: mycli activate <key>.
نموذج استحقاق License Key جديد يتضمن الاسم ووضع التنفيذ ومدة الترخيص وحد التنشيطات ورسالة التنشيط
3

Save the entitlement

احفظ التغييرات. أصبح الاستحقاق متاحًا الآن لإرفاقه بأي منتج.

إرفاق الاستحقاق بالمنتجات

افتح منتجًا، ووسّع Advanced Settings → Entitlements & Credits، ثم حدّد استحقاق License Key. يمكن لمنتج واحد تسليم مفتاح ترخيص إلى جانب استحقاقات أخرى (الوصول إلى Discord وتنزيلات الملفات والوصول إلى مستودع GitHub وغير ذلك) ضمن عملية الشراء نفسها.
لوحة استحقاقات المنتج مع تحديد License Key

Selecting the License Key entitlement in the product entitlements panel.


كيفية إصدار المفاتيح

يتبع إصدار المفاتيح دورة حياة المنح القياسية:

سلوك الكمية

  • منتجات الاشتراك: إصدار مفتاح واحد لكل مقعد (subscriptions.quantity).
  • المنتجات التي تُشترى مرة واحدة: إصدار مفتاح واحد لكل عنصر في سطر سلة التسوق (product_cart.quantity).
  • المنح اليدوية عبر API: إصدار مفتاح واحد بالضبط.

وضع التنفيذ

يحتوي كل استحقاق License Key على fulfillment_mode الذي يحدد الجهة التي توفّر المفتاح:
  • auto (افتراضيًا): يتولى Dodo Payments إنشاء المفتاح وإرساله عبر البريد الإلكتروني تلقائيًا عند الدفع أو الاشتراك. هذا هو السلوك الموضح أعلاه، ويُطبق عند حذف fulfillment_mode.
  • manual: تنشئ عملية الشراء منحة pending بلا مفتاح، وتوفر أنت قيمة كل مفتاح بنفسك. راجع التنفيذ اليدوي أدناه.

التنفيذ اليدوي

افتراضيًا، ينشئ Dodo Payments مفتاح ترخيص ويرسله عبر البريد الإلكتروني فور دفع العميل. مع التنفيذ اليدوي، توفر المفتاح بنفسك: تنشئ عملية الشراء منحة pending بلا مفتاح، وتخطرك، ثم تنتظر منك إرسال قيمة المفتاح. استخدمه عندما تأتي المفاتيح من نظامك الخاص أو مورّد خارجي أو مخزون محدود من الرموز المطبوعة مسبقًا.
هل تبحث عن طريقة إنشاء خطوة بخطوة؟ راجع دليل تكامل التنفيذ اليدوي لمفاتيح التراخيص للاطلاع على شرح شامل يبدأ من إنشاء المنتج وينتهي بتسليم المفتاح.

متى تستخدمه

يُعد التنفيذ التلقائي الخيار الافتراضي المناسب لمعظم حالات ترخيص البرامج. اختر التنفيذ اليدوي عندما يتعذر على Dodo Payments إنشاء المفتاح بنفسه:
  • استخدام مفاتيحك الخاصة: ينشئ المفتاح تطبيقك أو منتج سطح المكتب أو خادم التراخيص الخاص بك.
  • المورّدون الخارجيون: تعيد بيع مفاتيح يصدرها مزوّد منبع (مفتاح لعبة أو بيانات اعتماد API أو منصة شريكة).
  • المخزون المحدود: توزع رموزًا من مجموعة مخصصة مسبقًا وتريد تعيينها واحدًا تلو الآخر.
  • المراجعة البشرية: تريد مراجعة عملية الشراء قبل إتاحة الوصول.

تفعيل التنفيذ اليدوي

اضبط fulfillment_mode: "manual" في إعداد تكامل استحقاق License Key:
fulfillment_mode متوافق مع الإصدارات السابقة. لا تحتوي الاستحقاقات التي أُنشئت قبل توفر هذا الإعداد على fulfillment_mode، وتستمر في العمل باعتبارها auto. ولا يؤثر التبديل إلى manual إلا في المنح التي تُنشأ بعد التغيير؛ أما المفاتيح التي تم تسليمها مسبقًا فلا تتأثر.

العثور على المنح التي تنتظر التنفيذ

عندما يشتري العميل منتجًا في الوضع اليدوي، تُنشأ المنحة بحالة pending من دون مفتاح، ويتم تشغيل entitlement_grant.created webhook مع integration_type: "license_key" وstatus: "pending". يمكنك الاستجابة لذلك الـ webhook، أو الاستعلام دوريًا عن نقطة النهاية List Customer Grants باستخدام عاملَي التصفية integration_type وstatus:

تسليم المفتاح

أرسل المفتاح باستخدام نقطة النهاية Fulfill License Key Grant. تنتقل المنحة إلى delivered، ويُرسل المفتاح إلى العميل تلقائيًا — في رسالة البريد الإلكتروني نفسها التي كان سيتلقاها في التنفيذ التلقائي.
cURL
يُعد كل من activations_limit وexpires_at اختياريًا، ويُستخدم إعداد الاستحقاق عند حذفه. يمكن تنفيذ كل منحة مرة واحدة؛ وتؤدي إعادة محاولة تنفيذ منحة نُفذت مسبقًا إلى إرجاع 409 بدلًا من إصدار مفتاح ثانٍ.
لا تحتاج إلى إرسال المفتاح عبر البريد الإلكتروني بنفسك — إذ يتم التسليم تلقائيًا عند تنفيذ المنحة. ويختلف ذلك عن استيراد المفاتيح عبر POST /license_keys، الذي لا يرسل إشعارًا إلى العميل عمدًا.

تنشيط الترخيص والتحقق منه وإلغاء تنشيطه

تُعد نقاط نهاية API الخاصة بالتنشيط والتحقق وإلغاء التنشيط عامة ولا تتطلب مفتاح API. استخدمها مباشرةً من برامج سطح المكتب أو CLIs أو العملاء المستندين إلى المتصفح للتحقق من المفاتيح أثناء التشغيل.
نقاط النهاية العامة: نقاط نهاية تنشيط التراخيص وإلغاء تنشيطها والتحقق منها عامة ولا تتطلب مفتاح API. استدعها مباشرةً من تطبيقات العملاء من دون كشف بيانات اعتماد API الخاصة بك.

تنشيط ترخيص

التحقق من ترخيص

إلغاء تنشيط مثيل تنشيط


إدارة المفاتيح

افتح استحقاق License Key من لوحة التحكم لعرض كل منحة (صف واحد لكل مفتاح عميل) مع تاريخ التسليم وعدد عمليات التنشيط وإجراء للإبطال. تعرض تفاصيل كل منحة مفتاح الترخيص الأساسي وتاريخ انتهاء الصلاحية وعمليات التنشيط المستخدمة وحد التنشيط. يمكنك أيضًا إدراج المنح برمجيًا:

استيراد مفاتيح التراخيص الحالية عبر API

هل لديك مفاتيح تراخيص موجودة في نظام آخر؟ استخدم API Create License Key لاستيرادها إلى Dodo Payments. يتيح لك ذلك نقل المفاتيح الحالية من دون التأثير في عملائك — إذ يستمرون في تنشيط المفاتيح والتحقق منها وإلغاء تنشيطها باستخدام سلاسل المفاتيح نفسها من دون إعادة إصدارها.
لا تؤدي مفاتيح التراخيص التي يتم إنشاؤها أو تحديثها عبر API إلى تشغيل إشعارات بريد إلكتروني للعملاء. وإذا احتجت إلى إخطار العملاء بشأن مفتاح مستورد، فتولَّ ذلك بشكل منفصل في تطبيقك.

كيف تختلف المفاتيح حسب المصدر

استخدم الحقل source في استجابات GET /license_keys للتمييز بين المخزون المنقول والمفاتيح المنفذة يدويًا والمفاتيح الصادرة تلقائيًا عند المطابقة أو التدقيق.
هل تنتقل من Polar.sh أو Lemon Squeezy؟ تعمل dodo-migrate CLI على أتمتة عمليات الاستيراد الجماعي للمنتجات والعملاء والخصومات ومفاتيح التراخيص بأمر واحد، وتربط المعرّفات الخارجية بمعرّفات Dodo تلقائيًا.

مفاتيح التراخيص في عنوان URL للعودة

عند إتمام العميل عملية شراء لمنتج يتضمن استحقاق License Key، يُضاف المفتاح المُنشأ تلقائيًا إلى return_url باعتباره معلمة query. يتيح لك ذلك عرض المفتاح فورًا في صفحة النجاح من دون إجراء استدعاء API إضافي.
إذا أنشأت عملية الشراء مفاتيح متعددة (quantity > 1)، فستُفصل بينها بفواصل:
بالنسبة إلى الاشتراكات، يُستخدم subscription_id بدلًا من payment_id:
حلّل معلمة license_key في صفحة العودة لعرض المفتاح فورًا، وتحسين تجربة ما بعد الشراء.

إدارة API

التنشيط وإلغاء التنشيط والتحقق عمليات عامة؛ ولا يلزم مفتاح API.

Activate License

أنشئ مثيل تنشيط لمفتاح ترخيص أو سجّله.

Deactivate License

أبطل تنشيطًا سابقًا لتحرير السعة.

Validate License

تحقق من الأصالة والحالة والقيود قبل منح الوصول.
أنشئ سجلات مفاتيح التراخيص الفردية وأدرجها واسترجعها وحدّثها. استخدم هذه العمليات لاستيراد المفاتيح الحالية أو جلب تفاصيل الاستخدام.

Create License Key

أنشئ مفتاح ترخيص جديدًا أو استورد مفتاحًا موجودًا.

List License Keys

استعرض جميع المفاتيح مع تفاصيل الحالة والاستخدام.

Get License Key

استرجع مفتاحًا محددًا وبياناته الوصفية.

Update License Key

عدّل تاريخ انتهاء الصلاحية أو حدود التنشيط، أو فعّل مفتاحًا أو عطّله.
أدر استحقاق License Key نفسه: حد التنشيط والمدة والتعليمات.

Create Entitlement

أنشئ استحقاق License Key.

Update Entitlement

حدّث إعدادات الاستحقاق.

List Grants

أدرج المفاتيح الصادرة لاستحقاق.

Revoke Grant

أبطل مفتاح العميل يدويًا.

Webhooks

يؤدي تسليم مفاتيح التراخيص وإبطالها إلى تشغيل أحداث entitlement_grant.* webhook الأربعة. تتضمن حمولة المنحة كائن license_key مكتملًا يحتوي على المفتاح وتاريخ انتهاء الصلاحية وعمليات التنشيط المستخدمة والحد. تستمر أحداث license_key.* القديمة (license_key.created) في التشغيل لدورة حياة سجل مفتاح الترخيص الأساسي؛ راجع صفحة حمولة License Key webhook.
للتكاملات الجديدة، استمع إلى entitlement_grant.delivered بدلًا من license_key.created. يخبرك حدث الاستحقاق بأن التسليم اكتمل عبر جميع التكاملات الموجودة على المنتج، وليس لمفتاح الترخيص فقط.

مفاتيح التراخيص القديمة

تم ترحيل المنتجات تلقائيًا التي أُنشئت باستخدام العلامة license_key_enabled الأقدم إلى استحقاق License Key. عملية الترحيل شفافة: تستمر مفاتيح العملاء الحاليين في العمل دون تغيير، وتواصل نقاط النهاية العامة /licenses/activate و/licenses/validate و/licenses/deactivate عملها، كما تواصل نقاط نهاية API /license_keys/* القراءة والكتابة في مخزن المفاتيح نفسه.يبقى قسم لوحة التحكم المستقل License Keys متاحًا باعتباره قائمة مسطحة بكل مفتاح تم إصداره، وهو مفيد للتدقيق والبحث. ينبغي إجراء الإعدادات الجديدة (تغيير حدود التنشيط أو المدد أو التعليمات) عبر تعديل استحقاق License Key الذي تم ترحيله ضمن الاستحقاقات.

أفضل الممارسات

  • اجعل حدود التنشيط واضحة: اختر قيمًا افتراضية مناسبة (1 لتطبيقات المستخدم الواحد، و3–5 لتراخيص الفرق) ووثّقها.
  • قدّم تعليمات تنشيط دقيقة: ينسخ العملاء هذه التعليمات من بريدهم الإلكتروني، لذا فإن المسارات والأوامر الدقيقة تقلل طلبات الدعم.
  • تحقق من المفاتيح من جهة الخادم: بالنسبة إلى المنتجات المتصلة بالشبكة، تحقّق عبر /licenses/validate بدلًا من تخزين التنشيط مؤقتًا محليًا.
  • استخدم webhooks للإبطال: استمع إلى entitlement_grant.revoked لتعطيل الميزات داخل التطبيق فورًا عند إلغاء العميل أو استرداد المبلغ.
  • اختبر الاشتراكات والعمليات التي تُشترى مرة واحدة: يختلف سلوك مفتاح الترخيص بينهما بشكل طفيف، لذا اختبر كليهما قبل الإطلاق.
آخر تعديل في ٣١ يوليو ٢٠٢٦