Fonctionnement de Stripe Apps
Comment créer des applications sur Stripe.
Stripe Apps vous permet d’intégrer des expériences utilisateur personnalisées directement au Dashboard Stripe et de gérer l’API Stripe. Vous pouvez créer une application pour :
- Créer et modifier des données Stripe, telles que des informations client, des commandes et des factures
- Synchronisation des données Stripe avec d’autres systèmes
- Ajouter des personnalisations à l’interface utilisateur de Stripe
Retrouvez d’autres exemples de création avec Stripe Apps sur cette page.
Les composants de base de Stripe Apps :
Avec Stripe Apps, vous pouvez créer des applications personnalisées pour votre propre compte ou mettre ces dernières à la disposition d’autres utilisateurs de Stripe sur le Stripe App Marketplace.
Ce guide vous présente les trois principaux types d’applications Stripe que vous pouvez créer et vous explique comment utiliser les autorisations pour accéder aux informations dont votre application a besoin.
Applications full stack
La plupart des applications Stripe sont constituées de deux éléments :
- Un composant front-end dans le Dashboard Stripe, qui utilise une extension d’interface utilisateur
- Un composant back-end responsable de l’enregistrement de l’état et de l’exécution des opérations en arrière-plan
Les composants d’une application full-stack
L’authentification entre l’interface utilisateur d’une application et ses services back-end correspondants fonctionne en utilisant soit OAuth, soit une clé secrète partagée.
Note
Pour créer une application Stripe full stack, commencez pas vous familiariser avec le fonctionnement des extensions d’interface utilisateur, puis avec la logique côté serveur.
Applications uniquement back-end
Vous pouvez créer une application Stripe sans interface utilisateur. Par exemple, une application peut collecter les données relatives aux commandes sur Stripe et les envoyer à un autre service pour à des fins de traitement.
Les composants d’une application uniquement back-end :
Pour plus d’informations sur le back-end de votre application Stripe, consultez la page consacrée à la logique côté serveur.
Applications uniquement front-end
Vous pouvez créer une application destinée à enrichir le Dashboard Stripe sans aucune fonctionnalité back-end supplémentaire. Une application Stripe peut se composer d’une simple interface utilisateur. Avec les extensions d’interface utilisateur, vous créez une interface personnalisée et contrôlez les moments où elle s’affiche dans le Dashboard Stripe.
Les composants d’une application uniquement front-end
Les applications uniquement front-end utilisant des extensions d’interface utilisateur sont un bon choix si :
- Votre application n’a pas besoin de communiquer avec un service back-end.
- Votre application n’a besoin de communiquer avec l’API Stripe qu’au nom d’un utilisateur connecté au Dashboard Stripe.
- Votre application utilise un fournisseur OAuth pour authentifier les utilisateurs et interagir avec d’autres services.
Pour plus d’informations, reportez-vous à la page consacrée au fonctionnement des extensions d’interface utilisateur.
Autorisations pour les applications
Toutes les applications Stripe, quel que soit leur type, nécessitent des autorisations explicites pour pouvoir accéder aux données. Ces autorisations se divisent en deux catégories :
- Autorisations Stripe, qui déterminent les objets Stripe que l’application peut lire et écrire
- Les autorisations tierces, qui déterminent quels autres services ont accès aux données Stripe d’un utilisateur
Le manifeste de l’application stocke les autorisations tierces et accordées par Stripe à une application.
Autorisations Stripe
Pour qu’une application puisse accéder à des données Stripe, vous devez au préalable l’y autoriser. Consultez la liste complète des autorisations.
Les autorisations peuvent s’appliquer de plusieurs manières :
- Les applications ne peuvent écouter les événements de webhook qui surviennent sur un objet Stripe que si elles sont autorisées à lire cet objet.
- Les applications ne peuvent appeler l’API Stripe que si elles en ont reçu l’autorisation par cette même API.
- Lorsqu’une application appelle une API Stripe à partir d’une extension d’interface utilisateur, l’application et l’utilisateur connecté doivent tous deux être autorisés à accéder à l’API.
Les extensions d’interface utilisateur appellent l’API Stripe au nom de l’utilisateur connecté. L’application ne peut pas accéder à des données ou exécuter des actions auxquelles l’utilisateur connecté ne peut pas accéder ou n’a pas l’autorisation d’exécuter non plus. Si l’utilisateur connecté dispose d’autorisations que l’application n’a pas demandées, celle-ci restera dans l’incapacité de lire et d’écrire les données concernées. En revanche, si l’application possède des autorisations dont l’utilisateur connecté ne dispose pas, elle pourra néanmoins exécuter l’action qui lui est autorisée. Dans ce cas, le service back-end est chargé de vérifier les autorisations de l’utilisateur.
Services tiers
Stripe Apps doit également spécifier explicitement l’URL de tout service non Stripe potentiellement amené à recevoir des données Stripe.
Dans les extensions d’interface utilisateur, les URL accessibles sont contrôlées par l’application d’une politique de sécurité du contenu (CSP). Cette politique fait échouer tout appel fetch
qui n’est pas explicitement listé dans le manifeste de l’application.
Octroi d’autorisations
Le manifeste de l’application stocke toutes les autorisations définies pour une application. Pour accorder des autorisations à un objet Stripe ou à un service back-end spécifique, utilisez la commande stripe app grant
au chargement de l’application. Pour en savoir plus, consultez la liste de toutes les autorisations.