Verwendung von OAuth mit Standard-Konten, die Ihre Plattform steuert
Verwenden Sie den OAuth-Verbindungsvorgang, um einem/einer Stripe-Nutzer/in zu erlauben, sich mit Ihrer Plattform zu verbinden.
Für neue Connect-Plattformen wird OAuth nicht empfohlen. Wir empfehlen stattdessen, Connect-Onboarding für Standard-Konten zu verwenden.
Ab Juni 2021 werden Plattformen, die OAuth mit read_
verwenden, keine Verbindung zu Standard-Konten mehr herstellen können, die von einer anderen Plattform gesteuert werden.
Für Erweiterungen wird es keine Änderungen hinsichtlich des Verhaltens von OAuth geben. Erfahren Sie hier mehr zu OAuth-Änderungen für über Plattformen gesteuerte Standard-Plattformen.
Der OAuth-Verbindungsvorgang![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Ein/e Nutzer/in verbindet sich mithilfe des OAuth-Verbindungsvorgangs mit Ihrer Plattform:
- Von einer Seite auf Ihrer Website aus klickt der/die Nutzer/in einen Link an, der ihn/sie an Stripe weiterleitet und dabei wird die
client_
Ihrer Plattform weitergegeben.id - Auf der Website von Stripe stellt der/die Nutzer/in die Informationen bereit, die erforderlich sind, um sich mit Ihrer Plattform zu verbinden.
- Der/die Nutzer/in wird zusammen mit einem Autorisierungscode auf Ihre Seite umgeleitet.
- Ihre Seite führt dann eine Anfrage an den OAuth-Token-Endpoint von Stripe aus, um die Verbindung abzuschließen und die Konto-ID des Nutzers/der Nutzerin abzurufen.
Notiz
Denken Sie daran, dass die Daten, die Sie als Plattform für ein Konto erstellen (z. B. Zahlungen, Kundinnen/Kunden, Rechnungen usw.) in den Stripe-Konten sichtbar sind. Wenn diese sich mit anderen Plattformen verbinden, können diese Plattformen ebenfalls auf diese Daten zugreifen.
Erstellen Sie den OAuth-Link![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Gehen Sie zu Ihren Plattformeinstellungen, um Ihre Integration zu starten und:
- Ermöglichen Sie das Onboarding von Konten mit OAuth in den OAuth-Einstellungen.
- Kopieren Sie Ihre
client_
, eine einmalige, von Stripe generierte Kennung für Ihre Plattform.id - Legen Sie Ihren
redirect_
fest, die URL, auf die Ihr/e Nutzer/in umgeleitet wird, nachdem er/sie sein/ihr Konto verbunden hat. Sie müssen alle Weiterleitungs-URLs in Ihren Plattformeinstellungen angeben. Wenn Sie den Parameteruri redirect_
nicht in Ihre Anfrage aufnehmen, verwendet Stripe standardmäßig die erste Adresse, die Sie in Ihren Plattformeinstellungen konfiguriert haben.uri
Stripe stellt außerdem eine Entwickler-client_
bereit, um beim Testen zu helfen.
Mit diesen beiden Informationen können Sie nun den OAuth-Link erstellen. Wir empfehlen, die Schaltfläche Mit Stripe verbinden anzuzeigen, die Nutzer/innen an den authorize_
-Endpoint sendet:
https://connect.stripe.com/oauth/authorize?response_type=code&client_id=ca_FkyHCg7X8mlvCUdMDao4mMxagUfhIwXb&scope=read_write
Der Stripe-Endpoint sollte mindestens diese drei Parameter empfangen:
response_
, mit einem Wert von codetype - Ihre
client_
id scope
mit einem Wert von read_write
Der Parameter scope
bestimmt, was Ihre Plattform im Auftrag des verbundenen Kontos tun kann, wobei standardmäßig read_only eingestellt ist.
Um CSRF-Angriffe zu verhindern, fügen Sie den Parameter state
hinzu und übergeben Sie ein einmaliges Token als Wert. Wir nehmen diesen state
-Wert auf und senden den/die Nutzer/in zurück auf Ihre Seite. Ihre Seite sollte dann bestätigen, dass der state
-Parameter nicht geändert wurde.
So können Sie Ihrem/Ihrer Nutzer/in die Beispiel-URL zusammen mit unserer Verbinden mit Stripe-Schaltfläche präsentieren, um den Verbindungsaufbau zu starten:
Verbinden mitOnboarding mithilfe von OAuth-Parametern anpassen![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Sie können das Verhalten des Onboarding-Vorgangs ändern, indem Sie zusätzliche URL-Parameter in Ihrem OAuth-Link einfügen. Eine vollständige Liste verfügbarer Parameter finden Sie in der OAuth-Referenz.
Nutzer/in erstellt sein/ihr Konto![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Nachdem der/die Nutzer/in den Link auf Ihrer Seite anklickt, wird er/sie zur Website von Stripe geleitet. Dort wird er/sie aufgefordert, die Verbindung zu Ihrer Plattform zu genehmigen oder abzulehnen.
Die Erstellung eines Stripe-Kontos ist in unseren Autorisierungsprozess integriert. Sie müssen sich keine Gedanken darüber machen, ob Ihre Nutzer/innen bereits Konten haben oder nicht.
![](https://b.stripecdn.com/docs-statics-srv/assets/oauth-select-account.536d5cf58d244be2ff9723b78c4817e8.png)
Der/die Nutzer/in ist angemeldet und kann ein Konto auswählen, das direkt mit Ihrer Plattform verbunden wird.
![](https://b.stripecdn.com/docs-statics-srv/assets/oauth-register.fa953a975b7eb6112dddf8faaff24f67.png)
Der/die Nutzer/in muss ein Konto erstellen.
Nutzer/in wird auf Ihre Seite zurückgeleitet![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Nachdem ein/e Nutzer/in sein/ihr neu erstelltes Konto mit Ihrer Plattform verbunden hat, wird er/sie mit der als redirect_
gekennzeichnete URL Ihrer Plattform auf Ihre Seite weitergeleitet.
Bei erfolgreicher Verbindung werden folgende Werte in der URL übergeben:
- Der zugestandene
scope
- Der Wert
state
, falls angegeben - Ein Autorisierungs-Code. Der Autorisierungs-Code gilt nur kurze Zeit und kann in der im nächsten Schritt beschriebenen POST-Anfrage nur einmalig verwendet werden.
Wenn der/die Nutzer/in die Autorisierung verweigert hat, wird er/sie trotzdem auf Ihre Website zurückgeleitet, aber die URL enthält statt des Autorisierungscodes einen Fehler.
Die Plattform schließt die Verbindung des Kontos ab![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Fügen Sie den angegebenen Autorisierungs-code
in einer POST-Anfrage an den Token-Endpoint von Stripe ein, um die Verbindung abzuschließen und die Konto-ID des Nutzers/der Nutzerin abzurufen:
Beachten Sie, dass Sie diese Anfrage mit Ihrem geheimen Live- oder Test-API-Schlüssel stellen, je nachdem, ob Sie einen Live- oder Test-Zugriffs-Token zurückerhalten möchten.
Stripe gibt eine Antwort zurück, die die Konto-ID (stripe_
) für den/die Nutzer/in enthält.
{ "token_type": "bearer", "scope": "read_write", "livemode": false, "stripe_user_id":
, }"{{CONNECTED_ACCOUNT_ID}}"
Falls ein Problem auftritt, wird stattdessen eine Fehlermeldung zurückgegeben:
{ "error": "invalid_grant", "error_description": "Authorization code does not exist: {AUTHORIZATION_CODE}" }
Fertig! Der/die Nutzer/in ist jetzt mit Ihrer Plattform verbunden. Speichern Sie die stripe_
in Ihrer Datenbank. Dies ist die Stripe-Konto-ID für das neue Konto. Verwenden Sie diesen Wert für die Authentifizierung als das verbundene Konto, indem Sie ihn an die Anfragen im Stripe-Account
-Header übergeben.
Sie sollten erwägen, in Ihrem Anmeldeformular eine spezielle OAuth-Client-Bibliothek zu verwenden, um diese Schritte zu vereinfachen. Eine OAuth-Bibliothek für Ihre Sprache oder Ihr Framework finden Sie in der Liste der Client-Bibliotheken auf der OAuth-Website.
Mit dem refresh_
können Sie Test-Zugriffs-Token für eine client_
in Produktion erstellen oder Ihren Zugriffs-Token zu rollieren. Auch diesen Wert sollten Sie beibehalten, da Sie ihn erst nach dieser ersten POST-Anfrage abrufen können.
Notiz
Speichern Sie die erhaltene Konto-ID. Plattformen benötigen diese Informationen, um Anfragen im Auftrag des Nutzers/der Nutzerin durchzuführen.
Widerruf und Entzug des Zugriffs![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Das Ereignis account.
tritt auf, wenn ein/e Nutzer/in Ihre Plattform von seinem/ihrem Konto trennt. Durch Beobachten dieses Ereignisses über Webhooks können Sie alle erforderlichen Cleanups Ihrer Server durchführen.
Um die Verbindung eines Kontos mit Zugriff auf das Stripe-Dashboard von Ihrer Plattform zu trennen, übergeben Sie Ihre client_
und die ID des verbundenen Kontos per POST an connect.
:
Sie können die API im Auftrag Ihres Nutzers/Ihrer Nutzerin verwenden, um Zahlungen anzunehmen, eine wiederkehrende Abrechnung einzurichten, Kontodaten abzurufen usw.