مقدمة
تتيح وحدة Subscriptions إعداد مدفوعات دورية يسددها المستخدمون في المشروع مقابل مجموعة ثابتة من المنتجات. يتكون الاشتراك من مجموعة منتجات وفترة: كل N يومًا يُخصم من المستخدم تلقائيًا (أو يدويًا) مبلغ يساوي مجموع أسعار المنتجات المدرجة فيه.
تتكون الوحدة من جزأين رئيسيين:
- وحدة "Subscriptions" في القائمة اليسرى: كتالوج بجميع اشتراكات المشروع. هنا تنشئ الاشتراكات وتعدّلها وتحذفها، وتضبط حساب الدفع والفترة والمنتجات المدرجة فيها. التفاصيل في قسم إعدادات الاشتراكات (يفتح في علامة تبويب جديدة).
- علامة التبويب "Subscriptions" في بطاقة المستخدم: قائمة باشتراكات مستخدم معيّن مع حالاتها وتواريخ انتهائها والإجراءات اليدوية (للاشتراكات من النوع
custom). التفاصيل في قسم اشتراكات المستخدم (يفتح في علامة تبويب جديدة).
يتعامل تطبيق العميل مع الاشتراكات عبر API. التفاصيل في قسم API الاشتراكات (يفتح في علامة تبويب جديدة).
آلية عمل الاشتراك
عند إنشاء اشتراك في لوحة الإدارة، تحدد ما يلي:
- حساب الدفع: يحدد طريقة إجراء الدفع. لمعرفة أنواع الحسابات، راجع قسم حسابات الدفع (يفتح في علامة تبويب جديدة).
- الفترة بالأيام: عدد الأيام التي يجب بعدها على المستخدم الدفع لتجديد الاشتراك.
- قائمة المنتجات المدرجة في الاشتراك: تُحسب التكلفة الإجمالية للاشتراك من مجموع أسعارها الحالية.
عندما يشترك المستخدم عبر API، يقوم النظام بما يلي:
- ينشئ سجل اشتراك للمستخدم.
- يُرجع رابط دفع (لـ
stripeوmidtrans) أو يفعّل الاشتراك فورًا في حالة النوعcustom. - عند انتهاء الفترة، يخصم الدفعة التالية تلقائيًا (
stripeوmidtrans) أو ينتظر التجديد اليدوي (custom).
حسابات الدفع المدعومة
يمكن ربط الاشتراك بأحد أنواع حسابات الدفع التالية:
- Stripe: خصم دوري تلقائي عبر Stripe. بعد إنشاء الاشتراك، يُرجع API رابطًا للدفعة الأولى.
- Midtrans: خصم دوري تلقائي عبر Midtrans. يُرجع أيضًا رابط دفع، كما في Stripe.
- Custom: اشتراك يدوي. لا تُنفَّذ أي خصومات تلقائيًا، ويتولى المسؤول التجديد والإلغاء من بطاقة المستخدم.
يحدد نوع حساب الدفع الإجراءات المتاحة على الاشتراك، وما إذا كان يمكن إلغاؤه عبر API.
تُلغى اشتراكات custom فقط من لوحة الإدارة، في قسم المستخدم.
تغيّر التكلفة
تُحسب تكلفة الاشتراك على أنها مجموع أسعار المنتجات المدرجة فيه. إذا غيّرت سعر أحد المنتجات، تعيد الاشتراكات النشطة حساب تكلفتها تلقائيًا، وتُطبَّق القيمة الجديدة بدءًا من فترة الخصم التالية.
تُدفع الفترة الحالية دائمًا بالسعر الذي كان ساريًا عند بدايتها. لذلك يمكنك تغيير المنتجات المدرجة وأسعارها دون المساس بالفترات التي دفعها المستخدم بالفعل.