Concevoir une intégration
Découvrez les choix à faire avant d'intégrer le composant Payment Element.
Avant de concevoir votre intégration Payment Element, choisissez un chemin d’intégration adapté aux exigences de votre entreprise.
Le diagramme ci-dessous vous donne un aperçu des services d’intégration disponibles lors de l’intégration du composant Payment Element.
Les sections ci-dessous illustrent les deux choix architecturaux nécessaires à l’intégration du Payment Element.
Choisir le moment de la création de l'objet PaymentIntent ou SetupIntent![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Le composant Payment Element collecte les informations de paiement de votre client et les insère dans un objet PaymentIntent ou SetupIntent, selon qu’il s’agit de collecter un paiement ou de configurer un moyen de paiement pour un usage ultérieur. Lorsqu’un client arrive sur votre page de paiement, vous pouvez :
Créer uniquement le Payment Element : différez la création et la confirmation du PaymentIntent ou du SetupIntent jusqu’à ce que le client valide le formulaire de paiement en appuyant sur le bouton Payer. Choisissez cette option si :
Votre tunnel de paiement comporte plusieurs pages, c’est-à-dire que la page de collecte des informations de paiement précède la page de validation du paiement ou le récapitulatif de la commande. Découvrez comment créer une confirmation à deux facteurs.
Vous avez une page de paiement dynamique dans laquelle le montant peut évoluer en fonction des sélections du client, comme la modification des éléments ou de la quantité d’articles achetés, ou l’ajout de codes de réduction. En reportant la création de l’Intent jusqu’à ce que le client clique sur le bouton Payer, vous éliminez la nécessité de synchroniser votre Intent avec les modifications apportées par le client. Cette action est requise, car les modifications du montant affectent la disponibilité de certains moyens de paiement. Découvrez comment collecter les informations de paiement avant de créer un PaymentIntent si vous confirmez l’Intent sur votre client et comment finaliser les paiements sur le serveur si vous confirmez l’Intent sur votre serveur.
Créer à la fois le PaymentIntent/SetupIntent et le Payment Element : créez le PaymentIntent ou le SetupIntent avant de charger la page de paiement, puis créez le Payment Element, en associant les deux en fournissant le
client_
de l’Intent comme paramètre lors de la création de l’objet Elements. Choisissez cette option si :secret - Vous disposez d’une page de paiement statique et souhaitez configurer rapidement votre intégration. Découvrez comment accepter un paiement.
Choisir où confirmer le PaymentIntent ou le SetupIntent![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Les informations de paiement collectées par le composant Payment Element sont transférées au PaymentIntent ou au SetupIntent au moment de la confirmation. Lorsque le client appuie sur le bouton Payer, vous pouvez :
Confirmer le PaymentIntent/SetupIntent sur votre client : le code de votre client appelle un SDK Stripe, qui appelle l’API pour confirmer l’Intent. Le SDK Stripe gère aussi automatiquement les éventuelles actions suivantes, telles que l’authentification 3D Secure, et localise les messages d’erreur. Choisissez cette option si :
- Vous souhaitez configurer rapidement votre intégration et n’avez pas besoin d’effectuer une étape de contrôle supplémentaire pour confirmer l’Intent sur votre serveur.
Confirmer le PaymentIntent/SetupIntent sur votre serveur : le code sur votre serveur appelle directement l’API pour confirmer l’Intent. Si des actions suivantes sont requises, vous devez les gérer soit manuellement, soit en utilisant un SDK de Stripe, par exemple stripe.handleNextAction. Choisissez cette option si :
- Vous devez exécuter la logique métier sur votre serveur avant la confirmation, par exemple en limitant les moyens de paiement ou en réajustant les commissions de plateforme. Après l’exécution de votre logique métier, confirmez immédiatement l’Intent sur votre serveur pour garantir que le client ne puisse pas apporter de modifications susceptibles d’invalider votre logique métier.