Funktionsweise von Stripe-Apps
Erfahren Sie, wie Sie Apps auf Stripe erstellen.
Mit Stripe Apps können Sie angepasste Benutzererlebnisse direkt in das Stripe-Dashboard integrieren und die Stripe API organisieren. Sie können eine App entwickeln, um:
- Stripe-Daten wie Kundeninformationen, Bestellungen und Abrechnungen erstellen und bearbeiten
- Stripe-Daten mit anderen Systemen zu synchronisieren
- Anpassungen zur Nutzeroberfläche von Stripe hinzufügen
Weitere Beispiele für die Möglichkeiten von Stripe Apps finden Sie in den Beispiel-Apps.
Die grundlegenden Komponenten von Stripe-Apps:
Mit Stripe Apps können Sie nutzerspezifische Anwendungen für Ihr eigenes Konto erstellen und Ihre Anwendungen anderen Stripe-Nutzer/innen über den Stripe App Marketplace zur Verfügung stellen.
In diesem Dokument lernen Sie die drei Typen von Stripe-Apps kennen, die Sie entwickeln können. Außerdem erfahren Sie, wie Sie Berechtigungen verwenden, um Zugriff auf die Informationen zu erhalten, die Ihre App benötigt.
Full-Stack-Anwendungen
Die meisten Stripe-Apps bestehen aus zwei Komponenten:
- Eine Frontend-Komponente im Stripe-Dashboard, die die Nutzeroberflächen-Erweiterungen verwendet
- Eine Backend-Komponente, die für das Speichern des Status und das Ausführen von Hintergrundoperationen verantwortlich ist
Die Komponenten von Full-Stack-Anwendungen
Die Authentifizierung zwischen der Nutzeroberfläche einer App und den entsprechenden Backend-Diensten erfolgt entweder über OAuth oder einen gemeinsamen Geheimschlüssel.
Notiz
Lesen Sie beim Entwickeln einer Full-Stack-Stripe-Anwendung zuerst wie Nutzeroberflächen-Erweiterungen funktionieren und fügen Sie dann nach Bedarf serverseitige Logik hinzu.
Backend-Only-Anwendungen
Sie können eine Stripe-App ohne Nutzeroberfläche erstellen. Eine App kann zum Beispiel Bestelldaten von Stripe sammeln und diese Daten zur Ausführung an einen anderen Dienst weiterleiten.
Die Komponenten einer reinen Backend-Anwendung:
Weitere Informationen zu Einsatzmöglichkeiten des Backends Ihrer Stripe-Apps finden Sie unter Serverlogik.
Frontend-Only-Anwendungen
Sie können eine App entwickeln, die das Stripe-Dashboard erweitert und keine zusätzliche Backend-Funktionalität umfasst. Eine Stripe-App kann ausschließlich aus einer Nutzeroberfläche bestehen. Mit Nutzeroberflächen-Erweiterungen erstellen Sie eine angepasste Nutzeroberfläche und steuern, wo und wie diese im Stripe-Dashboard angezeigt wird.
Die Komponenten Frontend-Only-Anwendungen
Frontend-Only-Anwendungen mit Nutzeroberflächen-Erweiterungen sind eine gute Wahl, wenn:
- Ihre Anwendung muss nicht mit einem Back-End-Dienst kommunizieren.
- Ihre Anwendung muss nur im Auftrag eines/einer im Stripe-Dashboard angemeldeten Nutzers/Nutzerin mit der Stripe API kommunizieren.
- Ihre Anwendung verwendet einen OAuth-Anbieter, um Nutzer/innen zu authentifizieren und mit anderen Diensten zu interagieren.
Weitere Informationen finden Sie unter Funktionsweise von Nutzeroberflächen-Erweiterungen.
Berechtigungen für die Anwendung
Alle Stripe-Apps, unabhängig vom Typ, erfordern eine ausdrückliche Genehmigung für den Zugriff auf Daten. Diese Berechtigungen lassen sich in zwei Kategorien unterteilen:
- Stripe-Berechtigungen, die festlegen, welche Stripe-Objekte die Anwendung lesen und schreiben kann
- Drittanbieter-Berechtigungen, die festlegen, welche anderen Dienste Zugriff auf die Stripe-Daten eines/einer Nutzer/in haben
Das App-Manifest speichert die Berechtigungen von Stripe und Drittanbietern, die einer App erteilt wurden.
Stripe-Berechtigungen
Bevor eine App auf Stripe zugreifen kann, müssen Sie der App die Berechtigung für diese Daten erteilen. Eine vollständige Liste aller Berechtigungen anzeigen.
Berechtigungen werden auf verschiedene Arten angewendet:
- Apps können nur Webhook-Ereignisse auf einem Stripe-Objekt überwachen, wenn sie berechtigt sind, das Objekt zu lesen.
- Apps können nur API-Aufrufe ausführen, wenn die Anwendung die Zugriffsberechtigung der API erhalten hat.
- Wenn eine App eine Stripe API von einer Nutzeroberflächenerweiterung aus aufruft, müssen sowohl die App als auch der/die angemeldete Nutzer/in berechtigt, auf die API zuzugreifen.
Nutzeroberflächenerweiterungen rufen die Stripe API im Nutzerauftrag auf. Die App kann nicht auf Daten zugreifen oder Aktionen ausführen, die nutzerseitig nicht ebenfalls ausgeführt werden können. Bei Berechtigungen, die die App nicht angefordert hat, kann die App diese Daten dennoch weder lesen noch schreiben. Verfügt die App jedoch über mehr Berechtigungen als die Nutzer/innen, kann sie die Aktion trotzdem ausführen, sofern sie tatsächlich dazu berechtigt ist. In diesem Fall ist der Backend-Dienst dafür verantwortlich, die Nutzerberechtigungen zu überprüfen.
Drittanbieter
Stripe Apps muss außerdem explizit die URL für alle nicht von Stripe erbrachten Dienste auflisten, die potenziell Stripe-Daten empfangen könnten.
In Nutzeroberflächenerweiterungen werden erreichbare URLs durch Anwendung einer Content Security Policy (CSP) erzwungen. Diese Richtlinie führt dazu, dass jeder fetch
-Aufruf fehlschlägt, es sei denn, er ist ausdrücklich im App-Manifest aufgeführt.
Berechtigungen gewähren
Alle Berechtigungen für eine App werden im App-Manifest gespeichert. Um Berechtigungen für ein bestimmtes Stripe-Objekt bzw. einen bestimmten Backend-Dienst zu erteilen, verwenden Sie beim Hochladen der App den Befehl stripe app grant
. Weitere Informationen finden Sie in der Liste aller Berechtigungen.