Utiliser des liens d'installationVersion bêta publique
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 Pour prévenir les attaques CSRF, vous pouvez ajouter les étatset transmettre un token unique comme valeur. Nous inclurons l’étatque vous avez fourni lors de la redirection des utilisateurs vers votre site. Votre site peut confirmer que le paramètreétatn’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 ou dans un environnement de test, une valeur livemode=falseest ajoutée à l’URL de redirection.
Exemple de redirection en mode production :
Exemple de redirection vers le mode test et un environnement de 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 maintenant connecté à votre application. Sauvegardez le account_ dans votre base de données - il s’agit de l’identifiant du compte Stripe de l’utilisateur. Vous utiliserez cette valeur pour l’identifier en tant que compte connecté en la transmettant dans les requêtes dans l’en-tête Stripe-Account.
Vérifiez les installations d’application 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 :
L’ordre et le nom des champs de la charge utile ont une incidence sur la vérification de la signature… Le state précède le user_, qui précède le account_. L’objet résultant doit être { 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, laredirect_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 account_ 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.