עיבוד תשלומים באמצעות Firebase

באמצעות כמה תכונות שונות של Firebase ו-Stripe, אתם יכולים לעבד תשלומים באפליקציית האינטרנט שלכם בלי לבנות תשתית שרת משלכם. במדריך הזה מוסבר איך להתאים אישית ולפרוס גרסה משלכם של אפליקציית הדוגמה cloud-functions-stripe-sample.web.app בקוד פתוח.

לפני שמתחילים, צריך ליצור פרויקט במסוף Firebase ולהגדיר חשבון Stripe.

סקירה כללית על ההטמעה

  1. מגדירים חשבון Stripe.
  2. יוצרים פרויקט במסוף Firebase.
  3. משדרגים את הפרויקט לתוכנית התמחור Blaze עם תשלום לפי שימוש.
  4. מגדירים את Firebase CLI כך שישתמש בפרויקט עם 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. מוסיפים את מפתח ה-API הסודי של 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.