Przetwarzanie płatności w Firebase

Korzystając z kilku funkcji Firebase i Stripe, możesz przetwarzać płatności w swojej aplikacji internetowej bez tworzenia własnej infrastruktury serwera. W tym przewodniku znajdziesz instrukcje dostosowywania i wdrażania własnej wersji przykładowej aplikacji open source cloud-functions-stripe-sample.web.app.

Zanim zaczniesz, utwórz projekt w konsoli Firebase i skonfiguruj konto Stripe.

Omówienie wdrażania

  1. Skonfiguruj konto Stripe.
  2. Utwórz projekt w konsoli Firebase.
  3. Przejdź w projekcie na abonament Blaze rozliczany według wykorzystania.
  4. Skonfiguruj interfejs wiersza poleceń Firebase do korzystania z Twojego projektu w usłudze firebase use --add.
  5. Pobierz kod źródłowy przykładowej aplikacji Firestripe. Skonfiguruj go, podając odpowiednie informacje o projekcie, i dostosuj kod do swojej aplikacji.
  6. Po wdrożenie aplikacji w konsoli Firebase znajdziesz listę użytkowników i transakcji.

Konfigurowanie i wdrażanie przykładowej aplikacji

  1. Pobierz kod źródłowy.
  2. Włącz logowanie przez Google i e-mail w ustawieniach dostawcy uwierzytelniania.
  3. Włącz Cloud Firestore.
  4. Zainstaluj wiersz poleceń Firebase, jeśli jeszcze tego nie zrobiono, i zaloguj się za pomocą firebase login.
  5. Skonfiguruj ten szablon tak, aby używał Twojego projektu w kontekście firebase use --add.
  6. Zainstaluj zależności lokalnie, uruchamiając cd functions; npm install; cd -
  7. Dodaj klucz tajny interfejsu Stripe API do konfiguracji środowiska Cloud Functions:

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

  8. Ustaw klucz publikowania w usłudze Stripe w sekcji /public/javascript/app.js:

    const STRIPE_PUBLISHABLE_KEY=<YOUR STRIPE PUBLISHABLE KEY>;

  9. Wdróż projekt za pomocą firebase deploy. To polecenie:

    1. Wysyła wszystkie pliki z katalogu public do Hosting, aby Twoja witryna była dostępna.
    2. Wysyła kod z katalogu functions do Cloud Functions for Firebase.
    3. Ustawia reguły zabezpieczeń w bazie danych Cloud Firestore zgodnie z konfiguracją w firestore.rules. Podane reguły umożliwiają użytkownikowi tylko odczytywanie i zapisywanie własnych płatności i form płatności.

Testowanie przykładowej aplikacji

Otwórz adres URL swojej aplikacji do płatności na stronie your-firebase-project-id.web.app i sprawdź, czy działają te funkcje:

  • Możesz zalogować się za pomocą Google lub e-maila.
  • Możesz dodać nową kartę testową Stripe i wyświetlić ją w elemencie wyboru karty.
  • Możesz wybrać jedną z kart i na niej naliczyć opłatę.
  • Możesz się wylogować.

Dla porównania możesz skorzystać z funkcji cloud-functions-stripe-sample.web.app.

Aby zapewnić użytkownikom wygodę, możesz dostosować wygląd strony płatności lub dodać ją do istniejącej aplikacji.

Wyświetlanie przetworzonych płatności

Po skonfigurowaniu i wdrożeniu strony płatności możesz w konsoli Firebase sprawdzić listę użytkowników wraz z ich formami płatności i płatnościami.

  1. Otwórz stronę Cloud Firestore.
  2. Sprawdź listę użytkowników i jeśli dodali oni jakieś karty kredytowe lub dokonali transakcji, sprawdź listę tych kart i transakcji.

Akceptowanie płatności na żywo

Gdy wszystko będzie gotowe do wdrożenia, musisz wymienić klucze testowe na klucze produkcyjne. Więcej informacji o tych kluczach znajdziesz w dokumentacji Stripe.

  1. Zaktualizuj konfigurację obiektu tajnego Stripe:

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

  2. W sekcji /public/javascript/app.js ustaw klucz umożliwiający publikację na żywo.

  3. Aby zmiany zaczęły obowiązywać, ponownie wdrożyć zarówno Cloud Functions, jak i Hosting: firebase deploy.