OAuth 2.0
Utilisez la norme OAuth 2.0 pour authentifier les requêtes à l'API Stripe au nom de vos utilisateurs.
Un utilisateur qui s’authentifie avec OAuth suit ces étapes.
- Sur votre site, l’utilisateur clique sur un lien qui le redirige vers Stripe.
- Sur Stripe, l’utilisateur sélectionne le compte approprié et accepte les autorisations pour l’installation de votre application.
- Une fois l’application installée, l’authentification est terminée et l’utilisateur est redirigé vers un URI défini.
Développer votre application
Créez votre application Stripe en exécutant
stripe apps create<app-name>
dans l’interface de ligne de commande.Modifiez les champs suivants dans le manifeste de l’application :
- Définissez
stripe_
surapi_ access_ type oauth
. - Définissez
distribution_
surtype public
. - Définissez votre
allowed_
. Il s’agit des URL vers lesquelles les utilisateurs sont redirigés après l’installation de votre application à l’aide d’OAuth. La première dans la liste est utilisée comme URL de redirection par défaut.redirect_ uris
Le manifeste de votre application doit ressembler à ce qui suit :
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 ] }
- Définissez
Ajoutez toutes les autorisations requises par votre application.
(Facultatif) Ajoutez des extensions d’interface utilisateur à votre application. Nous vous recommandons d’ajouter une vue des paramètres pour permettre à vos utilisateurs de configurer les paramètres ou de créer un lien vers la documentation de votre application.
Chargez votre application sur Stripe.
Command Linestripe apps upload
Tester votre application
- Accédez à la page des détails de votre application.
- Ouvrez l’onglet Test externe et cliquez sur Démarrer pour configurer un test externe.
- Accédez aux liens d’autorisation situés dans la section Tester OAuth. Vous pouvez utiliser ce lien pour effectuer des tests avec différents comptes.
Créer votre lien d'installation OAuth
Depuis votre page Web, redirigez vers votre lien d’installation OAuth avec les paramètres suivants : https://marketplace.
.
Stripe génère des liens distincts pour les modes production et test. Vous trouverez ces liens dans l’onglet Test externe.
Conseil en matière de sécurité
Afin d’éviter toute attaque CSRF, ajoutez le paramètre recommandé state
et transmettez un token unique comme valeur. Nous incluons le paramètre state
que vous avez fourni lorsque nous redirigeons l’utilisateur vers votre site. Votre site peut confirmer que le paramètre state
n’a pas été modifié. Pour en savoir plus, consultez les paramètres des URL.
Publier votre application
Soumettez votre application pour vérification lorsqu’elle sera prête à être publiée sur Stripe App Marketplace
Lorsque vous soumettez une application OAuth pour vérification, vous devez fournir l’URL d’installation de la place de place de marché. Cette URL doit renvoyer vers une page permettant de lancer le processus d’inscription et d’installation à l’aide d’instructions claires en utilisant les liens d’installation OAuth de l’étape précédente.
Assurez-vous que l’URL d’installation fournie à App Review utilise les liens OAuth publics disponibles dans l’onglet « Paramètres ».
Note
Les liens d’installation OAuth publics ne fonctionnent pas tant que l’application n’est pas publiée. Cependant, notre équipe de vérification des applications peut installer et tester votre application via ces liens.
Installer votre application et l'autoriser
- Dans votre navigateur, ouvrez votre lien d’installation OAuth. Vous pouvez ajuster les paramètres de requête pour remplacer l’URL de redirection par une URL prise en charge par l’application.
- Affichez et acceptez les autorisations pour installer l’application. Une fois l’installation terminée, l’utilisateur est redirigé vers la première URL de rappel que vous avez définie dans le manifeste de l’application, sauf si vous avez spécifié un paramètre d’URL.
Échanger le code d'autorisation contre un token d'accès
Votre URL de rappel reçoit un paramètre OAuth code d’autorisation que votre back-end doit échanger contre un token d’accès à l’API et un token d’actualisation. Ce code d’autorisation à usage unique est valable durant 5 minutes, au cours desquelles votre back-end doit échanger le code contre le token d’accès. Voici la commande que le code de votre backend doit déployer à l’aide d’une bibliothèque client OAuth.
curl -X POST https://api.stripe.com/v1/oauth/token \ -u sk_live_***: \ -d code=ac_*** \ -d grant_type=authorization_code
Note
Vous devrez utiliser la clé API du développeur de l’application pour le mode pertinent. Pour l’activer, transmettez le mode pertinent dans state
.
Voici un exemple de réponse pour la commande curl
ci-dessus.
{ "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" }
Actualiser votre token d'accès
Les tokens d’accès expirent au bout d’une heure et les tokens d’actualisation au bout d’un an. Les tokens d’actualisation sont également renouvelés à chaque échange, de sorte que le délai d’expiration des nouveaux tokens d’actualisation est toujours d’un an à compter de la date de leur génération ou de leur annulation. Si vous échangez un token d’actualisation contre un token d’accès dans un délai d’un an, vous ne devez jamais atteindre la date d’expiration du token d’actualisation.
Voici la commande curl
équivalente permettant d’échanger le token d’accès contre un token d’actualisation à l’aide de votre clé secrète :
curl -X POST https://api.stripe.com/v1/oauth/token \ -u sk_live_***: \ -d refresh\_token={{ REFRESH_TOKEN }} \ -d grant_type=refresh_token
Voici un exemple de réponse.
{ "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" }
Vous recevrez un nouveau token d’actualisation et le token précédent expirera. Vous devez enregistrer le nouveau token d’actualisation de manière sécurisée dans votre back-end et l’utiliser pour obtenir un nouveau token d’accès chaque fois que vous souhaitez accéder à l’API Stripe au nom de l’utilisateur Stripe.
Erreur fréquente
Lorsque vous actualisez le token d’accès, il se peut qu’une erreur s’affiche, indiquant que vous ne disposez pas des autorisations requises. Dans ce cas, confirmez que vous utilisez la clé secrète de votre compte pour autoriser l’appel à l’API et que vous n’utilisez pas accidentellement un token d’actualisation, un token d’accès ou une clé restreinte.
Vous pouvez vérifier le token d’accès en effectuant une requête à l’API Stripe. Par exemple :
curl https://api.stripe.com/v1/customers \ -u "{{ ACCESS_TOKEN }}"