التوثيق

الفوترة والرصيد

رصيد المؤسسة، التجربة، اشتراك الباقات، الشحن، والدفتر (Phase 1).

في 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 - تجربة/حماية، وسائل دفع، طلبات الشحن، طلبات الاشتراك