كيفية بناء نظام ترخيص لإضافات WordPress

يتطلب بيع إضافة WordPress تجارية نظام ترخيص.

ستحتاج إلى تفعيل المفاتيح على مواقع العملاء. ستحتاج إلى ربط المفاتيح بنطاقات (domains) محددة. يجب عليك منع المستخدمين من مشاركة مفتاح واحد عبر مواقع متعددة.

يستخدم معظم الناس Freemius أو EDD. تعمل هذه الأدوات بشكل جيد، ومع ذلك، فهي تأخذ حصة من الإيرادات. كما أنها تمثل تبعيات لأطراف خارجية، مما يعني أنك لا تملك العملية بالكامل.

لقد قمنا ببناء نظامنا الخاص لـ RideCab WP. إليك كيفية بناء نظام مخصص من الصفر.

يتكون النظام من جزأين:

  1. خادم الترخيص (The License Server) يعمل هذا الخادم على بنيتك التحتية الخاصة. استخدم إضافة WordPress من نوع "must-use" على موقعك التسويقي. يقوم بتخزين المفاتيح في قاعدة بيانات، ويستخدم REST API للتفعيل والتحقق، كما يوفر لوحة تحكم لإدارة المفاتيح.

  2. العميل (The Client) عبارة عن فئة (class) بلغة PHP داخل إضافتك التجارية. تقوم بإضافة صفحة إعدادات، وتتصل بخادمك للتفعيل، وتقوم بتخزين نتائج التحقق مؤقتًا (cache)، كما تعيد التحقق في الخلفية.

المتطلبات الأساسية:

القاعدة الأهم هي "الفشل المفتوح" (fail open).

إذا توقف خادم الترخيص الخاص بك، فلا تحرم العميل من الوصول. إذا اخترت "الفشل المغلق" (fail closed)، فسيواجه العميل موقعًا معطلًا، مما يدمر سمعتك. أما إذا اخترت "الفشل المفتوح" (fail open)، فستستمر الإضافة في العمل. قد يستخدمه بعض القراصنة مجانًا، لكن عملاءك الذين يدفعون مقابل الخدمة سيظلون راضين.

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

يغطي هذا الإعداد أساسيات الترخيص، ولكنه لا يشمل عملية تسليم التحديثات، وسأغطي ذلك في منشور مستقبلي.

المصدر: https://dev.to/canopuswebagency/how-to-build-a-wordpress-plugin-licensing-system-from-scratch-without-freemius-4l51