وثائق Rivya AI

دليل الدفع وCheckout في Rivya

افهم مسار Checkout للخطط وحزم الرصيد في Rivya، وعمليات إعادة التوجيه من Stripe، وجسر /payment، وwebhooks، وتحديثات الفوترة، وفحوص الشراء.

آخر مراجعة في 2026/04/28

استخدم دليل الدفع وCheckout هذا عندما تحتاج إلى فهم ما يحدث بعد شراء خطة أو حزمة رصيد في Rivya.

ما يسيء الناس فهمه غالبا في الدفع داخل Rivya هو هذا:

اكتمال الدفع في Stripe ليس الخطوة الأخيرة. يجب أن يلحق المنتج بالتغيير ويعكسه بشكل صحيح.

لهذا لا ينتهي مسار Checkout عند Stripe، ولا ينتهي في اللحظة التي يعود فيها المتصفح.

مسار الدفع له ثلاث مراحل حقيقية

حاليا، يسهل فهم Checkout إذا قسمته إلى ثلاث مراحل:

  1. تنشئ Rivya جلسة Checkout
  2. يكمل المستخدم Stripe Checkout
  3. تنتظر Rivya حتى تصبح حالة المنتج موثوقة مرة أخرى

هذه المرحلة الثالثة هي بالضبط سبب وجود /payment.

أين يمكن أن يبدأ Checkout

يبدأ Checkout حاليا من أماكن تطابق نية المستخدم بالفعل:

  • Pricing
  • /settings/billing
  • /settings/credits

والشكلان الرئيسيان للشراء هما:

  • Checkout لخطة اشتراك
  • Checkout لحزمة رصيد لمرة واحدة

هذه قرارات تجارية مختلفة، لكنها ما زالت تلتقي في مسار التأكيد نفسه.

Checkout للخطة وCheckout لحزمة الرصيد متشابهان، لكنهما ليسا الشيء نفسه

Checkout للخطة يأخذ شكل الاشتراك.

Checkout لحزمة الرصيد يأخذ شكل شحن محفظة لمرة واحدة.

هذا الفرق مهم لأن Rivya تحتاج بعد الدفع إلى معرفة ما الذي يجب تحديثه:

  • حالة الاشتراك
  • أو حالة المحفظة

لهذا يمكن للحظة نجاح Stripe نفسها أن تعيدك لاحقا إلى أسطح منتج مختلفة.

لماذا يوجد /payment أصلا

/payment ليس صفحة إيصال بالمعنى المعتاد.

إنه جسر معالجة.

وظيفته هي:

  • قراءة Stripe session_id
  • التحقق مما إذا كان سجل الدفع في جهة المنتج قد استقر
  • الاستمرار في الاستطلاع لفترة قصيرة إذا لزم الأمر
  • ثم فقط إعادة توجيهك إلى الجزء الصحيح من التطبيق

هذا يجعله أقرب إلى صفحة مزامنة حالة منه إلى صفحة محتوى.

متى يكون الدفع "منتهيا فعلا" من منظور المنتج؟

من وجهة نظر المستخدم، يبدو الدفع مكتملا عندما تقول Stripe إنه نجح.

من وجهة نظر المنتج، لا يكون الدفع مكتملا فعلا إلا عندما تكون حالة الحساب محدثة بوضوح في Rivya.

يعني ذلك عادة:

  • سجل الدفع معلم كمدفوع أو مكتمل
  • آثار الاشتراك أو المحفظة ظاهرة
  • يمكنك العودة بأمان إلى الفوترة أو الأرصدة من دون رؤية حالة قديمة

هذا هو السبب الحقيقي وراء انتظار المنتج على /payment بدلا من إرجاع المستخدم فورا إلى التطبيق.

لماذا تظل Webhooks مهمة رغم أن /payment يجري الاستطلاع

/payment لا يستبدل Stripe webhooks.

Webhooks هي ما يحدث حالة backend الدائمة.

توجد صفحة /payment حتى تستطيع التجربة الانتظار إلى أن تنعكس تلك الحالة بما يكفي للثقة قبل إعادة التوجيه.

هذا هو الفرق بين:

  • "Stripe عالج شيئا"
  • و"Rivya تعكس ذلك التغيير بوضوح الآن"

أين تذهب بعد الدفع

مسار العودة مرتبط عمدا بما تغير.

إذا كان الشراء مرتبطا بالاشتراك، فعادة تعاد نحو الفوترة.

إذا كان الشراء حزمة رصيد، فعادة تعاد نحو الأرصدة.

هذا ليس توجيها تجميليا. إنه يطابق السؤال الذي يطرحه المستخدمون عادة بعد الدفع مباشرة:

  • هل تم تحديث خطتي؟
  • أم تم تحديث محفظتي؟

ما معنى انتهاء المهلة أو الفشل فعليا

إذا انتهت مهلة /payment أو فشل، فهذا لا يعني تلقائيا أن الدفع نفسه اختفى.

غالبا يعني واحدا من هذه الأمور:

  • سجل الدفع في جهة المنتج لم يستقر بعد
  • إعادة التوجيه تنتظر حالة ما زالت تلحق
  • صفحة الحساب ستبدو قديمة إذا أعيد توجيه المستخدم مبكرا جدا

لهذا تكون حالة انتهاء المهلة أفضل من حالة نجاح مزيفة. إنها تخبر المستخدم أن تأكيد المنتج هو الجزء الذي ما زال غير مكتمل.

أفضل طريقة للتحقق من أن الدفع وصل فعلا

بعد Checkout، أنظف مسار تحقق هو:

  1. اترك /payment يكمل مساره
  2. افحص /settings/billing إذا كان الشراء خطة
  3. افحص /settings/credits إذا كان الشراء حزمة
  4. افحص Notifications Center إذا بدا الحساب غير متزامن

هذا أفضل عادة من تحديث صفحات عشوائية والتخمين.

الدفع يصبح أيضا ذاكرة للحساب

الدفع ليس إجراء Checkout فقط. يصبح أيضا جزءا من سجل الحساب عبر أحداث دائمة مثل:

  • بدء الاشتراك
  • تجديد الاشتراك
  • فشل الدفع
  • إضافة حزمة رصيد

لهذا تهم الإشعارات هنا أيضا. إغلاق تبويب Stripe ليس نهاية قصة الحساب.

نموذج ذهني أفضل

أبسط طريقة للتفكير في Checkout داخل Rivya هي:

  • Stripe يتعامل مع حركة المال
  • /payment يتعامل مع العودة إلى المنتج

إذا أبقيت هذين الدورين منفصلين، يصبح المسار كله أسهل في الفهم.

اقرأ بعد ذلك

قائمة فحص حالة Checkout

عندما يبدو شراء ما غير مكتمل أو مربكا، تحقق مما يلي:

  • أكد من أين بدأ Checkout: التسعير العام، أو إعدادات الفوترة، أو إعدادات الأرصدة.
  • تحقق هل أكملت Stripe الدفع وأعادت المستخدم إلى /payment.
  • انتظر Rivya حتى تحدث حالة الاشتراك والحزمة والفاتورة والمحفظة قبل بدء مهمة مدفوعة أخرى.
  • استخدم صفحات الفوترة للاشتراكات وصفحات الأرصدة للحزم أو تاريخ المحفظة.
  • لا تعتبر إعادة توجيه المتصفح دليلا على أن webhook وحالة الحساب استقرا بالفعل.

أعد الفحص قبل إعادة محاولة الدفع

أعد الفحص قبل إعادة المحاولة إذا رأى المستخدم خطة قديمة، أو أرصدة مفقودة، أو نوافذ Checkout مكررة، أو دفعة فاشلة، أو إيصال Stripe ناجحا لم يظهر في Rivya بعد.

جدول المحتويات