Utiliser des liens d'installationBêta
Autorisez les utilisateurs à installer votre application hors du Stripe App Marketplace.
Les liens d’installation permettent aux utilisateurs d’installer des applications publiques en dehors du Stripe App Marketplace. Avec un flux intégré, vous pouvez transmettre l’état de votre application, terminer l’installation de l’application Stripe et effectuer une redirection vers votre application ou votre site.
La page du lien d’installation
Présentation
En suivant les étapes suivantes, un utilisateur peut installer une application à l’aide d’un lien d’installation :
- Sur votre site, l’utilisateur clique sur un lien qui le redirige vers Stripe, en transmettant l’
app_
.id - Sur Stripe, l’utilisateur sélectionne le compte approprié et accepte les autorisations pour l’installation de votre application.
- Après l’installation, l’utilisateur est redirigé vers votre site, avec le compte Stripe de l’utilisateur indiqué.
- Votre application peut désormais effectuer des requêtes de comptes authentifiés.
Créer un lien d'installation
Définissez votre allowed_
dans votre manifeste d’application. Ce sont les URL vers lesquelles les utilisateurs sont redirigés après avoir installé votre application. Vous devez spécifier toutes les URL de redirection dans les paramètres de votre application.
Après avoir défini allowed_
, chargez une nouvelle version de votre application.
{ "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" ] }
Tester votre lien d'installation
Pour vérifier que le lien d’installation fonctionne avant de l’envoyer pour examen, vous pouvez utiliser le test externe en appliquant la procédure suivante :
- Créez un test externe pour votre application en utilisant la version avec le
allowed_
définie dans le manifeste de l’application. Si un test existe déjà, vous pouvez mettre à jour la version de test vers celle souhaitée.redirect_ uris - L’onglet Test externe présente un lien d’installation de test et affiche les redirections autorisées dans un tableau.
- Lorsque vous êtes prêt à publier, assurez-vous de charger une nouvelle version dont les URL et les valeurs de test ont été remplacés par les valeurs que vous comptez utiliser en mode production.
Utilisation d'un lien d'installation
Lorsque vous avez terminé les tests, vous pouvez le rendre disponible pour tous les utilisateurs en suivant les étapes ci-après :
- Publiez une nouvelle version de votre application qui définit
allowed_
.redirect_ uris - Cliquez sur l’onglet Paramètres. Vous pouvez copier le lien d’installation affiché. Il prend la forme suivante :
https://marketplace.
.stripe. com/apps/install/link/{id}?redirect_ uri=https://example. com - Recommended Afin d’éviter toute attaque CSRF, vous pouvez ajouter et transmettre le paramètre recommandé
state
avec pour valeur un token unique. Nous inclurons la valeurstate
fournie lors de la redirection de l’utilisateur vers votre site. Ce dernier peut confirmer que le paramètrestate
n’a pas été modifié. - Une fois qu’un utilisateur a cliqué sur le lien d’installation, Stripe ouvre la page suivante sur laquelle il peut sélectionner un compte, consulter les informations relatives à l’application et procéder à l’installation.
Sélection du compte pour le lien d’installation
Redirection vers votre site
Une fois que l’utilisateur a installé votre application, il est redirigé vers l’URL définie dans le paramètre redirect_
, qui correspond à une redirection définie dans allowed_
dans le manifeste de votre application.
Installation réussie
Pour que les installations fonctionnent, l’URL doit inclure :
- La valeur
user_
. L’ID de l’utilisateur Stripe qui a lancé l’installation.id - La valeur
account_
. L’ID du compte Stripe qui a installé votre application.id - La valeur
state
, le cas échéant - La valeur
install_
. Il s’agit d’un hachage des valeurs ci-dessus qui est généré à l’aide de la clé secrète de signature de votre application.signature - Si l’application est installée en mode test, la valeur
livemode=false
est ajoutée à l’URL de redirection.
Exemple de redirection en mode production :
Exemple de redirection en mode test :
Échec de l’installation
Si l’utilisateur annule l’installation, il sera quand même redirigé vers votre site, mais cette fois l’URL comprendra une erreur :
L’utilisateur est désormais connecté à votre application. Conservez le paramètre stripe_
dans votre base de données. Il s’agit de l’ID du compte Stripe de l’utilisateur. Vous utiliserez cette valeur pour l’authentification en tant que compte connecté en l’intégrant dans les requêtes dans l’en-tête Stripe-Account
.
Vérifiez les installations d’applications avec install_signature Recommended
Il est important de vérifier que l’utilisateur de votre application est autorisé à installer l’application pour le compte indiqué dans l’URL de redirection. C’est pour cette raison qu’une install_
est incluse. Cette signature est générée à partir de la clé secrète de signature de votre application et des paramètres user_
et account_
ayant effectué l’installation. La signature inclut également le paramètre state
transmis, le cas échéant. La signature ne peut pas être répliquée sans accès à la clé secrète de signature, qui est uniquement disponible en interne pour Stripe et pour le back-end de votre application. Les personnes malveillantes ne peuvent donc pas reproduire le hachage s’ils tentent d’usurper l’URL de redirection. Vérifier la signature de l’application permet de garantir que le compte est associé à l’utilisateur de votre application.
Pour vérifier la signature, suivez ces étapes :
- Si vous ne l’avez pas encore fait, créez la clé secrète de signature de votre application.
- Configurez un back-end d’application pour vérifier la valeur
install_
.signature
Exemple de back-end vérifiant l’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_
.
Après vérification, vous pouvez effectuer des appels à l’API au nom du compte installé.
Effectuer des requêtes authentifiées
Pour les appels à l’API côté serveur, vous pouvez effectuer des requêtes en tant que comptes connectés à l’aide de l’en-tête spécial Stripe-Account
et de l’identifiant de compte Stripe (qui commence par le préfixe acct_
) de l’utilisateur de votre plateforme. Voici un exemple qui montre comment créer un PaymentIntent avec la clé API secrète de votre plateforme et l’identifiant du compte de votre utilisateur.
L’approche d’en-tête Stripe-Account
est implicite dans toute requête API qui inclut l’ID du compte Stripe dans l’URL. Voici un exemple qui montre comment récupérer un compte avec l’identifiant du compte de votre utilisateur dans l’URL.
Découvrez plus d’exemples de requêtes authentifiées ici.
Personnaliser les liens avec des paramètres d’URL
Vous pouvez modifier le comportement de l’installation d’applications en incluant des paramètres d’URL supplémentaires dans le lien d’installation.
Paramètres d’URL pris en charge
Paramètre | Description | |
---|---|---|
redirect_ | L’URL vers laquelle les utilisateurs sont redirigés après avoir installé votre application. Si elle est fournie, elle doit correspondre exactement à l’une des valeurs redirect_ séparées par une virgule de votre manifeste d’application. Pour vous protéger contre certaines attaques d’intercepteurs, la redirect_ du mode production doit utiliser une connexion HTTPS sécurisée. | |
state | Recommandé | Une valeur d’une chaîne arbitraire qui vous sera renvoyée. Elle est recommandée pour la protection contre les attaques CSRF. |
Prévenir les attaques CSRF à l’aide du paramètre d’état
Vous pouvez utiliser le paramètre state
pour prévenir les attaques de type CSRF (Cross-Site Request Forgery). Celui-ci accepte n’importe quelle valeur de chaîne et la renvoie telle quelle lors de la redirection de l’outil d’installation vers votre application ou votre plateforme. Pour utiliser ce paramètre, transmettez une valeur unique difficile à deviner au lancement d’une installation à partir d’un lien d’installation. Enregistrez cette valeur afin de l’utiliser à des fins de vérification par la suite.
Une fois que l’utilisateur a effectué l’installation et a été redirigé vers votre application, vérifiez que la valeur du paramètre d’état fourni correspond à la valeur présente dans le lien d’installation initial. Ce processus de vérification permet de confirmer avec un niveau de confiance élevé que l’ID de stripe_
renvoyé appartient bien à l’utilisateur qui a lancé l’installation. Vous pouvez ainsi vous prémunir contre d’éventuelles falsifications.
Révocation de l’accès
Un événement account.
se produit lorsqu’un utilisateur déconnecte votre application de son compte. Vous pouvez effectuer le nettoyage nécessaire sur vos serveurs en surveillant cet événement via des webhooks.