Zum Inhalt springen

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 für Stripe und PayPal Webhooks
  • Setup-Checkliste - Dein Fortschritt auf einen Blick

Ein Service Account ist ein spezieller Zugang zu deinem Firebase-Projekt. Er ermöglicht der BLOCQ App, Zahlungsfunktionen in deinem Namen zu deployen und API-Schlüssel sicher zu speichern.

StatusBedeutungFarbe
BereitService Account konfiguriert und validiertGrün
Nicht validiertService Account vorhanden, aber nicht geprüftOrange
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-Schlüssel bleiben dabei immer auf dem Server.

Nach erfolgreichem Deployment sind folgende Functions verfügbar:

FunctionBeschreibung
createPaymentIntentErstellt eine Zahlungsanfrage bei Stripe
stripeWebhookEmpfängt Zahlungsbestatigungen von Stripe
createRefundErstattet Zahlungen
savePaymentSecretsSpeichert API-Schlüssel sicher
createPayPalOrderErstellt eine PayPal-Bestellung
capturePayPalOrderBestätigt eine PayPal-Zahlung
paypalWebhookEmpfängt 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 grüne Bestätigung
  5. Die Webhook-URLs werden nun angezeigt
StatusBedeutungAktion
Cloud Functions aktivAlles bereit, Zahlungen möglich-
Nicht deployedFunctions müssen deployed werdenTippe auf “Functions deployen”
Deployment läuftWird 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. Öffne das Stripe Dashboard
  3. Klicke auf Endpoint hinzuzufügen
  4. Füge die kopierte URL ein
  5. Wähle die Events aus:
    • payment_intent.succeeded
    • payment_intent.payment_failed
    • charge.refunded
  6. Klicke auf Endpoint hinzufügen
  7. Kopiere das Webhook Secret (whsec_…)
  8. Gib es im Stripe-Tab des Editors ein
  1. Kopiere die PayPal Webhook URL
  2. Öffne das PayPal Developer Dashboard
  3. Wähle deine App aus
  4. Gehe zu Webhooks und klicke auf Add Webhook
  5. Füge die kopierte URL ein
  6. Wähle 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 Schlüssel sind gespeichert

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


Lösung: Gehe zu den Firebase-Einstellungen und validiere deinen Service Account erneut. Prüfe, ob die JSON-Datei korrekt importiert wurde.

Mögliche Ursachen:

  • Service Account ist nicht korrekt konfiguriert
  • Keine Internetverbindung
  • Firebase-Projekt hat nicht genügend Berechtigungen

Lösung: Prüfe den Service Account und versuche es erneut.

Lösung: 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-Schlüssel im Stripe- oder PayPal-Tab
  3. Richte die Webhooks bei Stripe/PayPal ein (siehe oben)
  4. Teste eine Zahlung im Testmodus