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.
Übersicht
Abschnitt betitelt „Übersicht“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
Service Account
Abschnitt betitelt „Service Account“Was ist ein Service Account?
Abschnitt betitelt „Was ist ein Service Account?“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.
Status-Anzeige
Abschnitt betitelt „Status-Anzeige“| Status | Bedeutung | Farbe |
|---|---|---|
| Bereit | Service Account konfiguriert und validiert | Grün |
| Nicht validiert | Service Account vorhanden, aber nicht geprüft | Orange |
| Fehlt | Kein Service Account eingerichtet | Rot |
Service Account einrichten
Abschnitt betitelt „Service Account einrichten“Falls noch kein Service Account vorhanden ist:
- Tippe auf Service Account einrichten
- Du wirst zu den Firebase-Einstellungen weitergeleitet
- Folge den Anweisungen, um einen Service Account zu erstellen
- Lade die JSON-Datei herunter und importiere sie
- Der Status sollte nun Bereit anzeigen
Cloud Functions
Abschnitt betitelt „Cloud Functions“Was sind Cloud Functions?
Abschnitt betitelt „Was sind Cloud Functions?“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.
Deployed Functions
Abschnitt betitelt „Deployed Functions“Nach erfolgreichem Deployment sind folgende Functions verfügbar:
| Function | Beschreibung |
|---|---|
createPaymentIntent | Erstellt eine Zahlungsanfrage bei Stripe |
stripeWebhook | Empfängt Zahlungsbestatigungen von Stripe |
createRefund | Erstattet Zahlungen |
savePaymentSecrets | Speichert API-Schlüssel sicher |
createPayPalOrder | Erstellt eine PayPal-Bestellung |
capturePayPalOrder | Bestätigt eine PayPal-Zahlung |
paypalWebhook | Empfängt Bestatigungen von PayPal |
Cloud Functions deployen
Abschnitt betitelt „Cloud Functions deployen“- Stelle sicher, dass der Service Account bereit ist
- Tippe auf Functions deployen
- Warte, bis der Deployment-Prozess abgeschlossen ist (ca. 1-2 Minuten)
- Bei Erfolg erscheint eine grüne Bestätigung
- Die Webhook-URLs werden nun angezeigt
Status-Anzeige
Abschnitt betitelt „Status-Anzeige“| Status | Bedeutung | Aktion |
|---|---|---|
| Cloud Functions aktiv | Alles bereit, Zahlungen möglich | - |
| Nicht deployed | Functions müssen deployed werden | Tippe auf “Functions deployen” |
| Deployment läuft | Wird gerade installiert | Warten |
Webhook-URLs
Abschnitt betitelt „Webhook-URLs“Was sind Webhooks?
Abschnitt betitelt „Was sind Webhooks?“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.
URLs nach Deployment
Abschnitt betitelt „URLs nach Deployment“Nach dem Deployment werden dir zwei URLs angezeigt:
| Webhook | URL-Format |
|---|---|
| Stripe | https://europe-west1-{projektId}.cloudfunctions.net/stripeWebhook |
| PayPal | https://europe-west1-{projektId}.cloudfunctions.net/paypalWebhook |
Webhook bei Stripe einrichten
Abschnitt betitelt „Webhook bei Stripe einrichten“- Kopiere die Stripe Webhook URL (Kopiersymbol)
- Öffne das Stripe Dashboard
- Klicke auf Endpoint hinzuzufügen
- Füge die kopierte URL ein
- Wähle die Events aus:
payment_intent.succeededpayment_intent.payment_failedcharge.refunded
- Klicke auf Endpoint hinzufügen
- Kopiere das Webhook Secret (whsec_…)
- Gib es im Stripe-Tab des Editors ein
Webhook bei PayPal einrichten
Abschnitt betitelt „Webhook bei PayPal einrichten“- Kopiere die PayPal Webhook URL
- Öffne das PayPal Developer Dashboard
- Wähle deine App aus
- Gehe zu Webhooks und klicke auf Add Webhook
- Füge die kopierte URL ein
- Wähle die Events aus:
PAYMENT.CAPTURE.COMPLETEDPAYMENT.CAPTURE.DENIEDPAYMENT.CAPTURE.REFUNDED
- Klicke auf Save
Setup-Checkliste
Abschnitt betitelt „Setup-Checkliste“Am Ende des Setup-Tabs findest du eine Checkliste, die deinen Fortschritt zeigt:
| Punkt | Beschreibung |
|---|---|
| Service Account konfiguriert | Service Account ist eingerichtet und validiert |
| Cloud Functions deployed | Alle Payment Functions sind installiert |
| Zahlungsanbieter aktiviert | Mindestens Stripe oder PayPal ist aktiv |
| API Keys konfiguriert | Die geheimen Schlüssel sind gespeichert |
Wenn alle Punkte abgehakt sind, erscheint die Meldung Zahlungen sind bereit!
Häufige Probleme
Abschnitt betitelt „Häufige Probleme“”Service Account nicht validiert”
Abschnitt betitelt „”Service Account nicht validiert”“Lösung: Gehe zu den Firebase-Einstellungen und validiere deinen Service Account erneut. Prüfe, ob die JSON-Datei korrekt importiert wurde.
”Deployment fehlgeschlagen”
Abschnitt betitelt „”Deployment fehlgeschlagen”“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.
”Webhook-URLs werden nicht angezeigt”
Abschnitt betitelt „”Webhook-URLs werden nicht angezeigt”“Lösung: Die URLs erscheinen erst nach erfolgreichem Deployment der Cloud Functions. Deploye zuerst die Functions.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“Nach erfolgreichem Setup:
- Gehe zum Anbieter-Tab und aktiviere Stripe und/oder PayPal
- Konfiguriere die API-Schlüssel im Stripe- oder PayPal-Tab
- Richte die Webhooks bei Stripe/PayPal ein (siehe oben)
- Teste eine Zahlung im Testmodus