Skip to content

Setup & Cloud Functions

Der Setup-Tab ist der erste und wichtigste Schritt bei der Einrichtung der Zahlungsabwicklung. Hier verbindest du deine App mit Firebase und deployest die notwendigen Cloud Functions.

Der Setup-Tab zeigt dir:

  • Service Account Status - Ist dein Firebase-Projekt verbunden?
  • Cloud Functions Status - Sind die Zahlungsfunktionen deployed?
  • Webhook-URLs - Die URLs fuer Stripe und PayPal Webhooks
  • Setup-Checkliste - Dein Fortschritt auf einen Blick

Ein Service Account ist ein spezieller Zugang zu deinem Firebase-Projekt. Er ermoeglicht der BLOCQ App, Zahlungsfunktionen in deinem Namen zu deployen und API-Schluessel sicher zu speichern.

StatusBedeutungFarbe
BereitService Account konfiguriert und validiertGruen
Nicht validiertService Account vorhanden, aber nicht geprueftOrange
FehltKein Service Account eingerichtetRot

Falls noch kein Service Account vorhanden ist:

  1. Tippe auf Service Account einrichten
  2. Du wirst zu den Firebase-Einstellungen weitergeleitet
  3. Folge den Anweisungen, um einen Service Account zu erstellen
  4. Lade die JSON-Datei herunter und importiere sie
  5. Der Status sollte nun Bereit anzeigen

Cloud Functions sind kleine Programme, die auf Firebase-Servern laufen. Sie verarbeiten Zahlungen sicher im Hintergrund - deine geheimen API-Schluessel bleiben dabei immer auf dem Server.

Nach erfolgreichem Deployment sind folgende Functions verfuegbar:

FunctionBeschreibung
createPaymentIntentErstellt eine Zahlungsanfrage bei Stripe
stripeWebhookEmpfaengt Zahlungsbestatigungen von Stripe
createRefundErstattet Zahlungen
savePaymentSecretsSpeichert API-Schluessel sicher
createPayPalOrderErstellt eine PayPal-Bestellung
capturePayPalOrderBestaetigt eine PayPal-Zahlung
paypalWebhookEmpfaengt Bestatigungen von PayPal
  1. Stelle sicher, dass der Service Account bereit ist
  2. Tippe auf Functions deployen
  3. Warte, bis der Deployment-Prozess abgeschlossen ist (ca. 1-2 Minuten)
  4. Bei Erfolg erscheint eine gruene Bestaetigung
  5. Die Webhook-URLs werden nun angezeigt
StatusBedeutungAktion
Cloud Functions aktivAlles bereit, Zahlungen moeglich-
Nicht deployedFunctions muessen deployed werdenTippe auf “Functions deployen”
Deployment laeuftWird gerade installiertWarten

Webhooks sind Benachrichtigungen, die Stripe und PayPal an deine App senden, wenn eine Zahlung erfolgreich war (oder fehlgeschlagen ist). Ohne Webhooks weiss deine App nicht, ob eine Zahlung durchgegangen ist.

Nach dem Deployment werden dir zwei URLs angezeigt:

WebhookURL-Format
Stripehttps://europe-west1-{projektId}.cloudfunctions.net/stripeWebhook
PayPalhttps://europe-west1-{projektId}.cloudfunctions.net/paypalWebhook
  1. Kopiere die Stripe Webhook URL (Kopiersymbol)
  2. Oeffne das Stripe Dashboard
  3. Klicke auf Endpoint hinzuefuegen
  4. Fuege die kopierte URL ein
  5. Waehle die Events aus:
    • payment_intent.succeeded
    • payment_intent.payment_failed
    • charge.refunded
  6. Klicke auf Endpoint hinzufuegen
  7. Kopiere das Webhook Secret (whsec_…)
  8. Gib es im Stripe-Tab des Editors ein
  1. Kopiere die PayPal Webhook URL
  2. Oeffne das PayPal Developer Dashboard
  3. Waehle deine App aus
  4. Gehe zu Webhooks und klicke auf Add Webhook
  5. Fuege die kopierte URL ein
  6. Waehle die Events aus:
    • PAYMENT.CAPTURE.COMPLETED
    • PAYMENT.CAPTURE.DENIED
    • PAYMENT.CAPTURE.REFUNDED
  7. Klicke auf Save

Am Ende des Setup-Tabs findest du eine Checkliste, die deinen Fortschritt zeigt:

PunktBeschreibung
Service Account konfiguriertService Account ist eingerichtet und validiert
Cloud Functions deployedAlle Payment Functions sind installiert
Zahlungsanbieter aktiviertMindestens Stripe oder PayPal ist aktiv
API Keys konfiguriertDie geheimen Schluessel sind gespeichert

Wenn alle Punkte abgehakt sind, erscheint die Meldung Zahlungen sind bereit!


Loesung: Gehe zu den Firebase-Einstellungen und validiere deinen Service Account erneut. Pruefe, ob die JSON-Datei korrekt importiert wurde.

Moegliche Ursachen:

  • Service Account ist nicht korrekt konfiguriert
  • Keine Internetverbindung
  • Firebase-Projekt hat nicht genuegend Berechtigungen

Loesung: Pruefe den Service Account und versuche es erneut.

Loesung: Die URLs erscheinen erst nach erfolgreichem Deployment der Cloud Functions. Deploye zuerst die Functions.


Nach erfolgreichem Setup:

  1. Gehe zum Anbieter-Tab und aktiviere Stripe und/oder PayPal
  2. Konfiguriere die API-Schluessel im Stripe- oder PayPal-Tab
  3. Richte die Webhooks bei Stripe/PayPal ein (siehe oben)
  4. Teste eine Zahlung im Testmodus