OAuth 2.0
Verwenden Sie den Branchenstandard OAuth 2.0, um Anfragen an die Stripe API im Namen Ihrer Nutzer/innen zu authentifizieren.
Ein/e Nutzer/in, der/die sich mit OAuth authentifiziert, befolgt diese Schritte:
- Auf Ihrer Website klickt der/die Nutzer/in auf einen Link und wird zu Stripe weitergeleitet.
- Auf Stripe wählt der Nutzer/die Nutzerin das entsprechende Konto aus und akzeptiert die Berechtigungen für die Installation der App.
- Nachdem die App installiert wurde, ist die Authentifizierung abgeschlossen und der/die Nutzer/in wird an eine definierte URI weitergeleitet.
Entwickeln Sie Ihre App
Erstellen Sie Ihre Stripe-App, indem Sie
stripe apps create <app-name>
in der CLI ausführen.Bearbeiten Sie die folgenden Felder im App-Manifest:
- Setzen Sie
stripe_
aufapi_ access_ type oauth
. - Setzen Sie
distribution_
auftype public
. - Legen Sie Ihre
allowed_
fest. Dies sind die URLs, an die Nutzer/innen mithilfe von OAuth nach der Installation Ihrer App weitergeleitet werden. Die erste in der Liste wird als Standardumleitung verwendet.redirect_ uris
Ihr App-Manifest sollte wie folgt aussehen:
stripe-app.json{ "id": "com.example.my-app", "version": "0.0.1", "name": "Your Stripe App", "icon": "./[YOUR_APP]_icon_32.png", "permissions": [ // Your app permissions here ], "stripe_api_access_type": "oauth", "distribution_type": "public", "allowed_redirect_uris": [ // Your redirect URIs here ] }
- Setzen Sie
Fügen Sie alle Berechtigungen hinzu, die für Ihre App erforderlich sind.
(Optional) Fügen Sie Erweiterungen der Nutzeroberfläche zu Ihrer App hinzu. Wir empfehlen, eine Einstellungsansicht hinzuzufügen, damit Ihre Nutzer/innen Einstellungen konfigurieren oder einen Link zur Dokumentation Ihrer App erstellen können.
Laden Sie Ihre App bei Stripe hoch.
Command Linestripe apps upload
Ihre App testen
- Navigieren Sie zur Detailseite Ihrer App.
- Öffnen Sie die Registerkarte Externer Test und klicken Sie auf Jetzt starten, um einen externen Test einzurichten.
- Greifen Sie auf die Autorisierungslinks im Abschnitt OAuth testen zu. Sie können diesen Link verwenden, um mit anderen Konten zu testen.
Erstellen Sie Ihren OAuth-Installationslink
Verweisen Sie von Ihrer Webseite mit den folgenden Parametern auf Ihren OAuth-Installationslink: https://marketplace.
.
Stripe generiert separate Links für den Live- und den Test-Modus. Sie finden die Links auf der Registerkarte Externer Test.
Sicherheitshinweis
Um CSRF-Angriffe zu verhindern, fügen Sie den empfohlenen Parameter state
hinzu und übergeben Sie ein eindeutiges Token als Wert. Wir nehmen den angegebenen state
-Wert auf und leiten Nutzer/innen auf Ihre Website. Ihre Website kann bestätigen, dass der state
-Parameter nicht geändert wurde. Siehe URL-Parameter, um mehr zu erfahren.
Ihre App veröffentlichen
App zur Prüfung vorlegen, wenn Sie bereit sind, sie auf dem Stripe App Marketplace zu veröffentlichen
Wenn Sie eine OAuth-App zur Überprüfung einreichen, müssen Sie die Marktplatz-Installations-URL angeben. Diese URL muss mit einer Seite verlinkt sein, die den Onboarding- und Installationsprozess mit klaren Anweisungen über OAuth-Installationslinks aus dem vorherigen Schritt einleiten kann.
Stellen Sie sicher, dass die für die App-Überprüfung bereitgestellte Installations-URL die öffentlichen OAuth-Links verwendet, die auf der Registerkarte „Einstellungen“ verfügbar sind.
Notiz
Die öffentlichen OAuth-Installationslinks funktionieren erst, wenn die App veröffentlicht wird. Unser App-Überprüfungsteam kann Ihre App jedoch über diesen Link installieren und testen.
App installieren und autorisieren
- Öffnen Sie in Ihrem Browser den OAuth-Installationslink. Sie können die Abfrageparameter anpassen, um die Umleitungs-URL in eine von der App unterstützte zu ändern.
- Sehen Sie sich die Berechtigungen zum Installieren der App an und akzeptieren Sie sie. Wenn die Installation abgeschlossen ist, wird der/die Nutzer/in an die erste Callback-URL weitergeleitet, die Sie im App-Manifest definiert haben, es sei denn, Sie haben einen URL-Parameter angegeben.
Den Autorisierungscode gegen einen Zugriffs-Token eintauschen
Ihre Callback-URL erhält einen OAuth-Autorisierungscode-Parameter, den Ihr Backend gegen ein API-Zugriffs-Token und das Aktualisierungstoken austauschen muss. Dieser Autorisierungscode kann nur einmal verwendet werden und ist nur 5 Minuten lang gültig, in denen Ihr Backend den Code gegen den Zugriffs-Token austauschen muss. Nachfolgend finden Sie den Befehl, den Ihr Backend-Code mithilfe einer OAuth-Client-Bibliothek implementieren muss.
curl -X POST https://api.stripe.com/v1/oauth/token \ -u sk_live_***: \ -d code=ac_*** \ -d grant_type=authorization_code
Notiz
Sie müssen den API-Schlüssel für App-Entwickler/innen für den entsprechenden Modus verwenden. Um dies zu aktivieren, übergeben Sie den entsprechenden Modus innerhalb des state
.
Nachfolgend finden Sie eine Beispielantwort für den obigen curl
-Befehl.
{ "access_token": "{{ ACCESS_TOKEN }}”, "livemode": true, "refresh\_token": "{{ REFRESH_TOKEN }}”, "scope": "stripe_apps", "stripe_publishable_key": "pk_live_***”, "stripe\_user\_id": "acct\_***”, "token_type": "bearer" }
Aktualisieren Sie Ihren Zugriffstoken
Zugriffs-Token laufen innerhalb 1 Stunde ab und Aktualisierungs-Token laufen nach 1 Jahr ab. Aktualisierungs-Token werden ebenfalls bei jedem Austausch aktualisiert. Die Ablaufzeit für neue Aktualisierungs-Token beträgt also immer ein Jahr ab dem Datum, an dem sie generiert wurden. Wenn Sie ein Aktualisierungs-Token innerhalb eines Jahres gegen ein Zugriffs-Token eintauschen, sollte das Ablaufdatum nie überschritten werden.
Hier ist der entsprechende curl
-Befehl, um das Zugriffs-Token mit Ihrem Geheimschlüssel gegen ein Aktualisierungs-Token auszutauschen:
curl -X POST https://api.stripe.com/v1/oauth/token \ -u sk_live_***: \ -d refresh\_token={{ REFRESH_TOKEN }} \ -d grant_type=refresh_token
Hier ist ein Beispiel für eine Antwort.
{ "access_token": "{{ ACCESS_TOKEN }}”, "livemode": true, "refresh\_token": "{{ REFRESH_TOKEN }}”, "scope": "stripe_apps", "stripe_publishable_key": "pk_live_***”, "stripe\_user\_id": "acct\_***”, "token_type": "bearer" }
Sie erhalten ein neues Aktualisierungs-Token und das vorherige Aktualisierungs-Token läuft ab. Sie müssen das Aktualisierungs-Token sicher in Ihrem Backend speichern und das Aktualisierungs-Token verwenden, um jederzeit ein neues Zugriffstoken zu beziehen, wenn Sie im Namen der Stripe-Nutzer/innen auf die Stripe API zugreifen.
Häufiger Fehler
Wenn Sie das Zugriffstoken aktualisieren, erhalten Sie möglicherweise die Fehlermeldung, dass Sie nicht über die erforderlichen Berechtigungen verfügen. Wenn Ihnen dieser Fehler angezeigt wird, prüfen Sie, dass Sie zur Autorisierung des API-Aufrufs den Geheimschlüssel für Ihr Konto verwenden und nicht versehentlich ein Aktualisierungstoken, ein Zugriffstoken oder einen eingeschränkten Schlüssel.
Sie können das Zugriffstoken verifizieren, indem Sie eine Anfrage an die Stripe API stellen. Zum Beispiel:
curl https://api.stripe.com/v1/customers \ -u "{{ ACCESS_TOKEN }}"