Guide d'intégration pour Stripe Apps intégréesVersion bêta privée
Utilisez les composants intégrés de Stripe Apps pour permettre à vos clients de gérer les données de paiement dans des applications tierces.
Les clients préfèrent que leurs données de paiement soient facilement accessibles dans les outils qu’ils utilisent déjà pour leurs workflows métier. Les composants intégrés pour les applications permettent à vos clients d’utiliser des applications tierces dans Stripe.
Avec les composants intégrés pour les applications, vous pouvez ajouter des intégrations créées pour Stripe à votre plateforme, et ainsi permettre à vos clients d’utiliser leurs applications tierces préférées sans quitter Stripe. Utilisez des composants d’interface utilisateur préconçus qui synchronisent les données directement avec des applications telles que QuickBooks et Xero.
Intégration avec les composants intégrés Connect
Configurez Connect.js pour permettre l’ajout d’une fonctionnalité de tableau de bord pour comptes connectés à votre site Web.
Les applications intégrées Stripe Apps utilisent des composants en version bêta privée qui nécessitent l’utilisation de versions bêta des SDK Stripe. En savoir plus sur les composants en version bêta privée.
Sélectionner l'application à intégrer
Stripe prend en charge les intégrations d’applications suivantes.
Intégration des applications | ID de l’application |
---|---|
QuickBooks Sync par Acodei | com.example.acodeistripeapp |
Xero sync par Xero | com.xero.stripeapp |
Mailchimp | mailchimp |
Configurer l'installation de l'application
Affichez le composant d’installation intégré pour l’application voulue. L’installation de l’application autorise l’application tierce à accéder aux données Stripe de vos utilisateurs, créant ainsi une connexion entre votre plateforme, Stripe et l’application tierce. Le composant a deux états possibles : uninstalled
et installed
. Écoutez les déclencheurs d’événements d’installation pour créer votre flux d’expérience utilisateur personnalisé ou modifier votre propre backend.
Lors de la création d’une session de compte, activez l’installation et l’affichage de l’application en spécifiant app_
et app_
dans le paramètre components
. Vous devez activer l’application que vous souhaitez afficher en spécifiant le paramètre features
sous allowed_
.
Après avoir créé la session du compte et initialisé ConnectJS, vous pouvez afficher le composant d’installation de l’application dans le frontend :
Ce composant intégré prend en charge les paramètres suivants :
Vous pouvez configurer un comportement personnalisé en fonction de l’état actuel ou mis à jour d’une installation.
Configurer les paramètres de l'application
Affichez le composant intégré App viewport pour l’application que vous avez sélectionnée afin d’activer les fonctionnalités de base de l’application, y compris la connexion au compte du logiciel de l’application avec OAuth, l’inscription des utilisateurs, les paramètres et la configuration du service et des états de synchronisation des transactions. Transmettez user_
(entreprise représentée sur votre plateforme) en tant qu’attribut HTML facultatif que les applications tierces peuvent utiliser pour créer une URL dynamique qui redirige vers le tableau de bord de votre utilisateur après OAuth.
Ce composant intégré prend en charge les paramètres suivants :
Personnalisation pour les paiements indirects de type « on behalf of » (OBO)
Transmettez les données de transaction obligatoires et facultatives à l’application voulue en mettant à jour le paiement indirect sur le compte connecté à l’aide du schéma de données normalisé ci-dessous. Vous devez transmettre un objet Customer au paiement indirect. Trois scénarios vous obligent à mettre à jour vos frais de paiement indirect :
- Paiement ponctuel effectué
- Paiement récurrent effectué
- Paiement remboursé
L’extrait de code suivant permet d’accéder au paiement indirect ciblé et montre comment mettre à jour par schéma.
- Identifiez le paiement indirect à partir de la transaction
const paymentOnPlatform = await StripeClient.paymentIntents.retrieve( "pi_3N6JL7LirQdaQn8E1Lpn7Dui", ); const latestCharge = await StripeClient.charges.retrieve( paymentOnPlatform.latest_charge as string, ); const transfer = await StripeClient.transfers.retrieve( latestCharge.transfer as string, ); const payment = await StripeClient.charges.retrieve( transfer.destination_payment as string, undefined, { stripeAccount: transfer.destination as string, }, );
- Créez un client, puis modifiez le paiement avec l’ID client et les métadonnées correspondantes. Le client doit appartenir au compte connecté et non à la plateforme pour que les données soient transmises et que les applications se synchronisent.
const customer = await StripeClient.customers.create( { email: `jenny.rosen@example.com`, name: "Jenny Rosen", address.city: "Brothers" Address.state: "Oregon" address.country: "USA" address.line1: "27 Fredrick Ave" address.postal_code: "97712" metadata: { platform_customer_ID: "K-123456" }, }, { stripeAccount: accountId, }, ); const payment = await StripeClient.charges.update( id, { customer: customer.id, metadata: { product_name: "Creative writing course for PMs", platform_product_ID: "P-123456" platform_order_ID: "O-123456" }, }, { stripeAccount: accountId, }, );
Paiements directs
Les intégrations intégrées accèdent à toutes les données de paiement, de client et de produit stockées dans Stripe. Vous pouvez transmettre à l’application des données facultatives spécifiques à la plateforme en utilisant le schéma de métadonnées ci-dessous.
Nom du champ ou de la clé | Format (les règles standard en matière de CSV s’appliquent) | Description |
---|---|---|
customer. | chaîne | ID du client, tel qu’il est enregistré dans le système de la plateforme |
payment. | chaîne, CSV produits multiples | Les ID de produits liés à cette transaction (s’ils sont différents de l’ID de produit Stripe), tels qu’ils sont enregistrés dans le système de la plateforme. |
payment. | chaîne, CSV produits multiples | Les noms de produits ou servies liés à cette transaction (s’ils sont différents du nom de produit Stripe), tels qu’ils sont enregistrés dans le système de la plateforme. |
payment. | chaîne, CSV produits multiples | La valeur de chaque produit (tarif ou coût) correspondant au tableau des ID et des noms (si elle est différente de la valeur du produit Stripe) |
payment. | chaîne | L’ID de commande lié à cette transaction (paiement), tel qu’il est enregistré dans le système de la plateforme. |
payment. | chaîne | ID de paiement ou de transaction, tel qu’enregistré sur la plateforme et tel que le voit l’utilisateur (s’il est différent de l’ID de paiement Stripe) |