Installationslinks verwendenBeta
Gestatten Sie Nutzern/Nutzerinnen, Ihre App außerhalb des Stripe App Marketplace zu installieren.
Über Installationslinks können Nutzer/innen öffentliche Apps außerhalb des Stripe App Marketplace installieren. Mit einem integrierten Ablauf können Sie den Status von Ihrer Anwendung aus übergeben, die Installation der Stripe-App abschließen und die Weiterleitung zu Ihrer Anwendung oder Website durchführen.
Die Installationslink-Seite
Übersicht
Mit den folgenden Schritten können Nutzer/innen eine App über einen Installationslink installieren:
- Auf Ihrer Website klickt der/die Nutzer/in auf einen Link und wird zu Stripe weitergeleitet und die
app_
wird übergeben.id - Auf Stripe wählt der Nutzer/die Nutzerin das entsprechende Konto aus und akzeptiert die Berechtigungen für die Installation der App.
- Nach der Installation werden Nutzer/innen zusammen mit dem Stripe-Konto für den/die jeweilige Nutzer/in zu Ihrer Website weitergeleitet.
- Ihre App kann jetzt authentifizierte Kontoanfragen durchführen.
Installationslink erstellen
Legen Sie Ihre allowed_
in Ihrem App-Manifest fest. Dies sind die URLs, an die Nutzer/innen nach der Installation Ihrer App weitergeleitet werden. Sie müssen alle Weiterleitungs-URLs in Ihren App-Einstellungen angeben.
Nachdem Sie allowed_
eingestellt haben, laden Sie eine neue Version Ihrer App hoch.
{ "id": "com.invoicing.[YOUR_APP]", "version": "1.2.3", "name": "[YOUR APP] Shipment Invoicing", "icon": "./[YOUR_APP]_icon_32.png", "permissions": [], "app_backend": {}, "ui_extension": {}, "allowed_redirect_uris": [ "https://example.com/callback/stripe" ] }
Installationslink testen
Sie können externe Tests mit den folgenden Schritten durchführen, um den Installationslink zu testen, bevor Sie ihn zur Überprüfung übermitteln:
- Erstellen Sie einen externen Test für Ihre App unter Verwendung der im App-Manifest definierten Version mit
allowed_
. Sie können die Testversion auf die gewünschte Version aktualisieren, wenn bereits ein Test existiert.redirect_ uris - Die Registerkarte Externer Test enthält einen Test-Installationslink, und die zulässigen Weiterleitungen werden in einer Tabelle angezeigt.
- Wenn Sie zur Veröffentlichung bereit sind, müssen Sie unbedingt eine neue Version hochladen, in der alle Test-URIs und -Werte durch die Werte ersetzt sind, die Sie in der Produktion verwenden möchten.
Installationslink verwenden
Wenn Sie die Tests abgeschlossen haben, können Sie sie mit den folgenden Schritten für alle Nutzer/innen verfügbar machen:
- Veröffentlichen Sie eine neue Version Ihrer App, die
allowed_
definiert.redirect_ uris - Klicken Sie auf die Registerkarte Einstellungen. Hier wird der Installationslink angezeigt. Diesen können sie kopieren. Der Link sieht wie folgt aus:
https://marketplace.
.stripe. com/apps/install/link/{id}?redirect_ uri=https://example. com - Recommended Um CSRF-Angriffe zu verhindern, können Sie den empfohlenen Parameter
state
hinzufügen und ein eindeutiges Token als Wert übergeben. Wir fügen den von Ihnen angegebenenstate
hinzu, wenn Nutzer/innen auf Ihre Website weitergeleitet werden. Ihre Website kann bestätigen, dass der Parameterstate
nicht geändert wurde. - Nach dem Klick auf den Installationslink öffnet Stripe die folgende Seite. Auf dieser wählen die Nutzer/innen ein Konto aus, überprüfen die App-Details und können mit der Installation fortfahren.
Auswahl des Installationslinks für das Konto
Weiterleitung an Ihre Website
Nachdem die Nutzer/innen Ihre App installiert haben, werden sie an den URL-Parameter redirect_
weitergeleitet, der einer in allowed_
definierten Weiterleitung in Ihrem App-Manifest entspricht.
Erfolgreiche Installation
Bei erfolgreichen Installationen enthält die URL Folgendes:
- Der Wert
user_
. Die ID des Stripe Nutzers/der Stripe-Nutzerin, der/die die Installation initiiert hat.id - Der Wert
account_
. Die ID des Stripe-Konto , das Ihre App installiert hat.id - Der Wert
state
, falls angegeben - Der Wert
install_
. Dies ist ein Hash der obigen Werte, der mit dem Signaturgeheimnis Ihrer App generiert wurde.signature - Wenn die App im Test-Modus installiert wird, wird der Wert
livemode=false
an die Weiterleitungs-URL angehängt.
Ein Beispiel für eine Weiterleitung im Live-Modus:
Ein Beispiel für eine Weiterleitung im Test-Modus:
Installationsfehler
Wenn ein Nutzer/eine Nutzerin die Installation abbricht, wird er/sie trotzdem zu Ihrer Website weitergeleitet, aber die URL enthält stattdessen einen Fehler:
Der/die Nutzer/in ist jetzt mit Ihrer App verbunden. Speichern Sie die stripe_
in Ihrer Datenbank. Dies ist die nuzterseitige Stripe-Konto-ID. Verwenden Sie diesen Wert, um sich als verbundenes Konto zu authentifizieren, indem Sie ihn in Anfragen im Stripe-Account
-Header übergeben.
Überprüfen Sie die App-Installationen mit install_signature Recommended
Es ist wichtig zu überprüfen, ob der/die Nutzer/in Ihrer App autorisiert wurde, die App für das in der Umleitungs-URL angegebene Konto zu installieren. Aus diesem Grund ist eine install_
enthalten. Diese Signatur wird aus dem Signaturgeheimnis Ihrer App und der user_
und account_
generiert, mit denen die Installation abgeschlossen wurde. Die Signatur enthält auch den übergebenen state
, falls angegeben. Die Signatur kann nicht ohne Zugriff auf das Signaturgeheimnis repliziert werden, das nur intern für Stripe und das Backend Ihrer App verfügbar ist. Aus diesem Grund können böswillige Akteure den Hash nicht replizieren, wenn sie versuchen würden, die Umleitungs-URL zu fälschen. Durch Verifizieren der App-Signatur können Sie sicher sein, dass das Konto mit Ihrem/Ihrer App-Nutzer/in verbunden ist.
Um die Signatur zu verifizieren, befolgen Sie diese Schritte:
- Erstellen Sie das Signaturgeheimnis Ihrer App, falls noch nicht geschehen.
- Richten Sie ein App-Backend ein, um die
install_
zu verifizieren.signature
Beispiel für ein Backend zur Bestätigung der Installation:
The order and naming of the payload fields matter when performing signature verification. The state
precedes the user_
, which precedes the account_
. The resulting object should be { state, user_
.
Nach der Verifizierung können Sie für das installierte Konto API-Aufrufe durchführen.
Authentifizierte Anfragen durchführen
Für serverseitige API-Aufrufe können Sie Anfragen als verbundene Konten stellen, indem Sie den speziellen Header Stripe-Account
mit der Stripe-Kontokennung (sie beginnt mit dem Präfix acct_
) Ihres Plattformnutzers/Ihrer Plattformnutzrin verwenden. Das folgende Beispiel zeigt, wie Sie mit dem geheimen API-Schlüssel Ihrer Plattform und der Konto-ID Ihres Nutzers/Ihrer Nutzerin einen PaymentIntent erstellen.
Das Stripe-Account
-Header-Verfahren wird in jeder API-Anfrage impliziert, die die Stripe-Konto-ID in der URL enthält. Das folgende Beispiel zeigt, wie Sie mit der Konto-ID Ihres/Ihrer Nutzers/in in der URL ein Konto abrufen.
Hier finden Sie weitere Beispiele dafür, wie Sie eine authentifizierte Anfrage durchführen.
Links mit URL-Parametern anpassen
Sie können das Verhalten der App-Installation ändern, indem Sie weitere URL-Parameter in den Installationslink aufnehmen.
Unterstützte URL-Parameter
Parameter | Beschreibung | |
---|---|---|
redirect_ | Die URL, an die Nutzer/innen nach der Installation Ihrer App weitergeleitet werden. Falls angegeben, muss sie genau mit einem der durch Kommas getrennten redirect_ -Werte in Ihrem App-Manifest übereinstimmen. Um sich vor bestimmten Man-in-the-Middle-Angriffen zu schützen, muss der redirect_ im Live-Modus eine sichere HTTPS-Verbindung verwenden. | |
state | Empfohlen | Ein willkürlicher Zeichenfolgenwert, den wir an Sie zurückgeben. Dieser wird für den CSRF-Schutz empfohlen. |
CSRF-Angriffe mit dem Status-Parameter verhindern
Um CSRF-Angriffe (Cross-Site Request Forgery) zu verhindern, können Sie den Parameter state
verwenden. Dieser Parameter akzeptiert jede Zeichenfolge und gibt diese unverändert zurück, wenn das Installationsprogramm zurück zu Ihrer Anwendung oder Plattform geleitet wird. Um diesen Parameter zu verwenden, übergeben Sie einen eindeutigen und nicht zu erratenden Wert, wenn Sie eine Installation über einen Installationslink initiieren. Speichern Sie den Wert ab, um ihn später zur Verifizierung zu verwenden.
Nachdem die Nutzerin/der Nutzer die Installation abgeschlossen und zu Ihrer Anwendung zurückgeleitet wurde, überprüfen Sie, ob der Wert des angegebenen Statusparameters mit dem Wert im ursprünglichen Installationslink übereinstimmt. Mit diesem Verifizierungsschritt lässt sich gut bestätigen, dass die zurückgegebene stripe_
der Nutzerin/dem Nutzer gehört, die/der die Installation initiiert hat, und potenzieller Betrug kann vermieden werden.
Widerrufen des Zugriffs
Ein Ereignis account.
tritt ein, wenn ein Nutzer/eine Nutzerin die Verbindung Ihrer Anwendung zu seinem/ihrem Konto trennt. Sie können alle notwendigen Bereinigungen auf Ihren Servern durchführen, indem Sie mit Webhooks nach diesem Ereignis suchen.