التوثيق

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

رصيد المؤسسة، التجربة، اشتراك الباقات، الشحن، والدفتر (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_ يعمل عند وجود رصيد
  • اشترك بباقة أو اشحن رصيداً للاستمرار بغض النظر عن نتيجة التجربة

الشحن

  • لوحة التحكم → الفوترة → تبويب شحن رصيد → إنشاء طلب → إرسال إثبات + رقم العملية
  • Admin يوافق → CREDIT في ledger مربوط بـ recharge_request
  • سعر الرصيد من إعدادات المنصة (billing.recharge)

اشتراك باقة

  • لوحة التحكم → الفوترة → تبويب اشتراك باقة (أو الأسعار → اختيار باقة → /dashboard/billing?plan=…)
  • اختر الباقة + وسيلة الدفع → إنشاء طلب → الدفع يدوياً → رفع الإثبات + رقم العملية
  • بعد موافقة Admin: تُضاف الرصيد لـ pool المؤسسة، يُفعَّل الاشتراك، وتُحدَّث الخطة
  • نفس مسار المراجعة اليدوي للشحن؛ التنفيذ عبر 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 — تجربة/حماية، وسائل دفع، طلبات الشحن، طلبات الاشتراك