الاشتراك — فوترة سحابة صناديق
إصدار المنتج: 1.0.0+1 آخر تحديث: 2026-10-02 الجمهور المستهدف: مستخدمون بصلاحية
billing:read(billing:updateللتعديل)
أ. صفحة الاشتراك
المسار: /billing/subscription (ومن مركز الفوترة).
تعرض الاشتراك النشط (أو المعلق): الخطة، الحالة، الأشهر، المقاعد/الموظفون، بدل التخزين، وتوقيت الفوترة عند توفره من الواجهة البرمجية.
حالات شائعة: active، pending، trialing، past_due، cancelled، وما يعيده الـ API.
ب. كيف يعمل التسعير
تستخدم سحابة صناديق أسعار الخطة (وليست مستويات ثابتة بالاسم). تختار المؤسسة:
| التحكم | النطاق في التطبيق |
|---|---|
| المدة (أشهر) | 1–24 |
| الموظفون / المقاعد | 1–500 |
| التخزين (GB) | 1–1000 |
الإجمالي مرة واحدة لكل فترة (اشتراك جديد):
(السعر_الشهري × الأشهر)
+ (سعر_الموظف × الموظفون)
+ (max(التخزين − التخزين_المجاني, 0) × سعر_GB)
يفوتر فقط التخزين فوق البدل المجاني. بطاقة عرض الخطط وفواتير الاشتراك الجديد تستخدم نفس الصيغة.
ج. اشتراك جديد
- افتح الفوترة > الخطط.
- عين الأشهر والموظفين/المقاعد والتخزين.
- راجع الإجمالي → ادفع → Stripe Checkout (وضع الاشتراك).
- العودة عبر مسارات النجاح/الإلغاء؛ يؤكد التطبيق الجلسة عند النجاح (وقد يفعل الـ webhook أيضا).
د. تعديل (تحديث) الاشتراك
عند وجود اشتراك تشغيلي:
- المركز أو الاشتراك → تحديث / تعديل (
/billing/subscription/adjust). - عدل الأشهر والمقاعد والتخزين ضمن الحدود.
- التأكيد → واجهة الفوترة تجهز الزيادات وتنشئ فاتورة غير مدفوعة لـ رسوم التحديث (فرق فقط — لا إعادة إنشاء للمدة كاملة). التخفيضات تجدول لنهاية الفترة بقيمة $0 بلا فاتورة وبلا استرداد. حتى تدفع الزيادة تبقى الحدود الحالية سارية.
- ادفع الفاتورة عبر Stripe Checkout بوضع الدفع (زر «إكمال الدفع» في المركز، أو تفاصيل الفاتورة، أو العودة من الدفع).
- بعد الدفع تصبح القيم المجهزة فعالة. الفواتير السابقة لا تعاد حسابها ولا يرد رصيد.
احتساب رسوم التحديث (السلوك الحالي)
تحديثات الكمية/المدة تحتسب فرقا عبر calculate_subscription_update_charge. تبديل الخطة وحده (بلا تغيير في الأشهر أو الموظفين أو التخزين) يستخدم عرض السعر المخصص الكامل مرة واحدة لكل مدة.
التخزين المحتسب:
billable_gb = max(storage_gb − free_storage_gb, 0)
نسبة الفترة المتبقية (لتناسب الموارد) تعتمد على current_period_start / current_period_end (أو ما يعادلهما). إن غابت الحدود تستخدم نافذة 30 يوما × current_months.
زيادة الموارد (الموظفون / التخزين) — تحتسب بالتناسب لـ الفترة الحالية المتبقية فقط.
إضافة أشهر — السعر الشهري لكل شهر مضاف (بلا تناسب). المقاعد والتخزين تسعر مرة واحدة لكل مدة، فلا تحتسب مجددا لكل شهر مضاف.
إن نشر فريق المنصة خطة جديدة بعد اشتراكك، يسعر التعديل بأسعار الخطة الجديدة وينتقل اشتراكك إليها عند دفع فاتورة التحديث.
التخفيضات تجدول لـ نهاية الفترة بلا رصيد ولا استرداد، وتبقى الحدود المدفوعة الحالية سارية حتى ذلك التاريخ. لا يمكن خفض التخزين دون ما تستخدمه المؤسسة فعليا في الوسائط (الواجهة البرمجية ترفض الخفض غير الآمن). راجع سياسة الاسترداد.
كتالوج الخطط لا يبدأ اشتراكا جديدا ثانيا وأنت مشترك؛ يوجهك إلى التعديل.
هـ. ما ليس في واجهة المستأجر
- صفحة إلغاء الاشتراك
- نموذج تجديد منفصل
- خزنة بطاقات / Customer Portal
- جدول إعادة محاولة Past Due داخل التطبيق
- تفصيل بنود التقسيم على شاشة التعديل
ذات صلة: نظرة عامة | الخطط | الفواتير | الاستخدام | المدفوعات