في Phase 1 الفوترة على مستوى المؤسسة. كل التطبيقات تشترك في organization_balances. الدفتر: organization_credit_ledger؛ app_id للـ attribution فقط.
رصيد المؤسسة
عند تحقق App A، يُخصم من pool المؤسسة - وليس محفظة منفصلة لكل تطبيق.
وصول الحساب مقابل الباقة
وصول الحساب (trial_outcome) منفصل عن الاشتراك/الباقة. مفاتيح test وlive تستخدم بوابات حقيقية وتستهلك رصيداً. وصول الحساب يتحكم في الرصيد التجريبي المجاني ومراجعة الحساب - وليس في عمل مفاتيح test.
- تسجيل → تأكيد البريد → تقييم مخاطر → FULL_TRIAL أو SANDBOX_ONLY (بدون رصيد تجريبي مجاني)
- الرصيد التجريبي يُمنح بعد تأكيد البريد - وليس عند إنشاء التطبيق
- SANDBOX_ONLY: بدون credits مجانية؛ pk_live_ يعمل عند وجود رصيد
- اشترك بباقة أو اشحن رصيداً للاستمرار بغض النظر عن نتيجة التجربة
الشحن (تأكيد تلقائي)
- لوحة التحكم → الفوترة → تبويب شحن رصيد → أدخل رقم المحفظة الذي ستحوّل منه والمبلغ → أنشئ الطلب
- حوّل المبلغ من الرقم نفسه عبر الرابط أو QR المعروض (USSD) — يُضاف الرصيد تلقائياً فور إتمام التحويل، دون رفع أي إثبات
- التأكيد التلقائي يعمل عبر أجهزة مستمع الدفع الموثوقة (مثل InstaPay / فودافون كاش). لو تأخر التأكيد مؤقتاً، يتابع الفريق الطلب ويُستكمل تلقائياً عند عودة المستمع
- سعر الرصيد والحد الأدنى/الأعلى من إعدادات المنصة (billing.recharge) وليست معتمدة في الكود
- شرط شراء النقاط: اشتراك في باقة مدفوعة سارية — حساب التجربة راجِع الاشتراك أولاً، والباقة المنتهية يجب تجديدها أولاً (
paid_subscription_required/plan_expired)
اشتراك باقة (تأكيد تلقائي)
- لوحة التحكم → الفوترة → تبويب اشتراك باقة (أو الأسعار → اختيار باقة →
/dashboard/billing?plan=…) - اختر الباقة + وسيلة الدفع → أدخل رقم المحفظة الذي ستحوّل منه → أنشئ طلب الاشتراك
- حوّل من الرقم نفسه عبر الرابط أو QR المعروض (USSD) — يُفعَّل الاشتراك تلقائياً فور إتمام التحويل وعلى دون رفع إثبات
- التنفيذ عبر
app_subscriptions+ دفتر المؤسسة؛ ولو تعذر التأكيد التلقائي مؤقتاً يتابع الفريق التحويل ويُستكمل التفعيل تلقائياً
أنواع الدفتر
CREDIT, HOLD, RELEASE, CAPTURE. عرض الدفتر: GET /v1/organizations/:id/billing/ledger.
API التطبيق (legacy)
GET /v1/apps/:id/billing يعرض رصيد المؤسسة (shim للتوافق).
لوحة التحكم
- مطوّر:
/dashboard/billing- رصيد المؤسسة، اشتراك باقة، شحن رصيد - Admin:
/admin/billing- تجربة/حماية، وسائل دفع، طلبات الشحن، طلبات الاشتراك
