معالجة الدفعات باستخدام Firebase

باستخدام بعض ميزات Firebase وStripe المختلفة، يمكنك معالجة الدفعات في تطبيق الويب بدون إنشاء البنية الأساسية للخادم. يرشدك هذا الدليل إلى كيفية تخصيص ونشر نسختك الخاصة من تطبيق المثال cloud-functions-stripe-sample.web.app المفتوح المصدر.

قبل البدء، أنشئ مشروعًا في وحدة تحكّم Firebase وأنشئ حسابًا على Stripe.

نظرة عامة حول خطوات التنفيذ

  1. إعداد حساب على Stripe
  2. أنشِئ مشروعًا في وحدة تحكّم Firebase.
  3. يمكنك ترقية مشروعك إلى خطة أسعار Blaze بنظام الدفع حسب الاستخدام.
  4. اضبط إعدادات واجهة سطر الأوامر Firebase لاستخدام مشروعك مع firebase use --add.
  5. احصل على الرمز المصدر لتطبيق Firestripe النموذجي. اضبطه باستخدام المعلومات الصحيحة لمشروعك، وخصِّص الرمز ليناسب تطبيقك.
  6. بعد نشر تطبيقك، ابحث عن قائمة بالمستخدمين والمعاملات في وحدة تحكّم Firebase.

إعداد التطبيق النموذجي ونشره

  1. احصل على رمز المصدر.
  2. فعِّل خيار تسجيل الدخول باستخدام Google والبريد الإلكتروني في إعدادات موفِّر المصادقة.
  3. فعِّل Cloud Firestore.
  4. ثبِّت Firebase CLI إذا لم يسبق لك إجراء ذلك، وسجِّل الدخول باستخدام firebase login.
  5. اضبط هذا النموذج لاستخدام مشروعك مع firebase use --add.
  6. ثبِّت التبعيات محليًا عن طريق تنفيذ cd functions; npm install; cd -
  7. أضِف المفتاح السري لواجهة برمجة التطبيقات Stripe إلى إعدادات بيئة Cloud Functions:

    firebase functions:config:set stripe.secret=<YOUR STRIPE SECRET KEY>

  8. اضبط مفتاح Stripe القابل للنشر في /public/javascript/app.js:

    const STRIPE_PUBLISHABLE_KEY=<YOUR STRIPE PUBLISHABLE KEY>;

  9. انشر مشروعك باستخدام firebase deploy. يؤدي هذا الأمر إلى:

    1. يرسل جميع الملفات في الدليل public إلى Hosting ليكون موقعك الإلكتروني متاحًا.
    2. إرسال الرمز في الدليل functions إلى Cloud Functions for Firebase
    3. تضبط هذه السمة قواعد الأمان في قاعدة بيانات Cloud Firestore كما تم ضبطها في firestore.rules. لا تسمح القواعد المقدَّمة للمستخدم إلا بقراءة وطرق الدفع الخاصة به.

اختبار نموذج التطبيق

انتقِل إلى عنوان URL لتطبيق الدفع على your-firebase-project-id.web.app وتأكَّد من أنّ الميزات التالية تعمل:

  • يمكنك تسجيل الدخول باستخدام حساب Google أو البريد الإلكتروني.
  • يمكنك إضافة بطاقة اختبار Stripe جديدة وعرضها في عنصر اختيار البطاقة.
  • يمكنك اختيار إحدى بطاقاتك وإجراء عملية الشحن.
  • يمكنك تسجيل الخروج.

للمقارنة، راجِع cloud-functions-stripe-sample.web.app.

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

الاطّلاع على الدفعات التي تمت معالجتها

بعد إعداد صفحة الدفع ونشرها، يمكنك الانتقال إلى وحدة تحكّم Firebase والاطّلاع على قائمة بالمستخدمين وطرق الدفع والدفعات التي أجروها.

  1. انتقِل إلى Cloud Firestore.
  2. ابحث عن قائمة بالمستخدمين، وإذا أضافوا أي بطاقات ائتمان أو أجروا أي معاملات، ستظهر قائمة بها ضمن كل مستخدم.

قبول الدفعات المباشرة

عندما تصبح جاهزًا لبدء البث، عليك استبدال مفاتيح الاختبار بمفاتيح البث المباشر. يمكنك الاطّلاع على مستندات Stripe لمعرفة المزيد حول هذه المفاتيح.

  1. عدِّل إعدادات المفتاح السرّي في Stripe باتّباع الخطوات التالية:

    firebase functions:config:set stripe.secret=<YOUR STRIPE LIVE SECRET KEY>

  2. اضبط مفتاح النشر المباشر في /public/javascript/app.js.

  3. أعِد نشر كل من Cloud Functions وHosting لتصبح التغييرات سارية: firebase deploy.