انتقل إلى المحتوى الرئيسي

مقدمة

تتيح وحدة Subscriptions إعداد مدفوعات دورية يسددها المستخدمون في المشروع مقابل مجموعة ثابتة من المنتجات. يتكون الاشتراك من مجموعة منتجات وفترة: كل N يومًا يُخصم من المستخدم تلقائيًا (أو يدويًا) مبلغ يساوي مجموع أسعار المنتجات المدرجة فيه.

تتكون الوحدة من جزأين رئيسيين:

يتعامل تطبيق العميل مع الاشتراكات عبر API. التفاصيل في قسم API الاشتراكات (يفتح في علامة تبويب جديدة).

آلية عمل الاشتراك​

عند إنشاء اشتراك في لوحة الإدارة، تحدد ما يلي:

  • حساب الدفع: يحدد طريقة إجراء الدفع. لمعرفة أنواع الحسابات، راجع قسم حسابات الدفع (يفتح في علامة تبويب جديدة).
  • الفترة بالأيام: عدد الأيام التي يجب بعدها على المستخدم الدفع لتجديد الاشتراك.
  • قائمة المنتجات المدرجة في الاشتراك: تُحسب التكلفة الإجمالية للاشتراك من مجموع أسعارها الحالية.

عندما يشترك المستخدم عبر API، يقوم النظام بما يلي:

  1. ينشئ سجل اشتراك للمستخدم.
  2. يُرجع رابط دفع (لـ stripe وmidtrans) أو يفعّل الاشتراك فورًا في حالة النوع custom.
  3. عند انتهاء الفترة، يخصم الدفعة التالية تلقائيًا (stripe وmidtrans) أو ينتظر التجديد اليدوي (custom).

حسابات الدفع المدعومة​

يمكن ربط الاشتراك بأحد أنواع حسابات الدفع التالية:

  • Stripe: خصم دوري تلقائي عبر Stripe. بعد إنشاء الاشتراك، يُرجع API رابطًا للدفعة الأولى.
  • Midtrans: خصم دوري تلقائي عبر Midtrans. يُرجع أيضًا رابط دفع، كما في Stripe.
  • Custom: اشتراك يدوي. لا تُنفَّذ أي خصومات تلقائيًا، ويتولى المسؤول التجديد والإلغاء من بطاقة المستخدم.
معلومات

يحدد نوع حساب الدفع الإجراءات المتاحة على الاشتراك، وما إذا كان يمكن إلغاؤه عبر API. تُلغى اشتراكات custom فقط من لوحة الإدارة، في قسم المستخدم.

تغيّر التكلفة​

تُحسب تكلفة الاشتراك على أنها مجموع أسعار المنتجات المدرجة فيه. إذا غيّرت سعر أحد المنتجات، تعيد الاشتراكات النشطة حساب تكلفتها تلقائيًا، وتُطبَّق القيمة الجديدة بدءًا من فترة الخصم التالية.

معلومات

تُدفع الفترة الحالية دائمًا بالسعر الذي كان ساريًا عند بدايتها. لذلك يمكنك تغيير المنتجات المدرجة وأسعارها دون المساس بالفترات التي دفعها المستخدم بالفعل.