Collecter les informations de paiement avant de créer un Intent
Développez une intégration dans laquelle vous pouvez afficher l'Element Payment avant de créer un objet PaymentIntent ou SetupIntent.
Les abonnements sont un modèle tarifaire selon lequel les utilisateurs effectuent des paiements récurrents pour accéder à un produit. Dans ce guide d’intégration, découvrez comment créer un tunnel de paiement personnalisé vous permettant d’afficher le Payment Element, de créer un abonnement et de confirmer le paiement depuis le navigateur du client.
Configurer StripeCôté serveur
Tout d’abord, créez un compte Stripe ou connectez-vous.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Activer des moyens de paiement
Mise en garde
Ce chemin d’intégration ne prend pas en charge BLIK ou les prélèvements automatiques qui utilisent le Système automatisé de compensation et de règlement (SACR).
Affichez vos paramètres des moyens de paiement et activez les moyens de paiement que vous souhaitez prendre en charge. Vous devez activer au moins un moyen de paiement pour créer un PaymentIntent.
Par défaut, Stripe active les cartes bancaires et les autres moyens de paiement courants qui peuvent vous permettre d’atteindre davantage de clients. Nous vous recommandons toutefois d’activer d’autres moyens de paiement pertinents pour votre entreprise et vos clients. Consultez la page Prise en charge des moyens de paiement pour en savoir plus sur la prise en charge des produits et des moyens de paiement, et notre page des tarifs pour prendre connaissance des frais que nous appliquons.
Pour Subscriptions, configurez vos paramètres de facturation et vos moyens de paiement pris en charge. Afin d’éviter les erreurs, vos paramètres de facturation doivent correspondre à ceux du Payment Element.
Recueillir les informations de paiementCôté client
Vous êtes prêt à recueillir les informations de paiement de votre client à l’aide du composant Element Payment, un composant préconfiguré de l’interface utilisateur qui simplifie cette collecte pour de nombreux moyens de paiement.
Le composant Payment Element contient un iframe qui envoie les informations de paiement à Stripe de manière sécurisée via une connexion HTTPS. Évitez de placer le Payment Element dans un autre iframe, car certains moyens de paiement nécessitent une redirection vers une autre page pour la confirmation du paiement.
Pour que votre intégration fonctionne, l’adresse de la page de paiement doit commencer par https://
et non par http://
. Vous pouvez tester votre intégration sans utiliser le protocole HTTPS, mais n’oubliez pas de l’activer lorsque vous souhaitez commencer à accepter des paiements réels.
Le composant Element Payment affiche un formulaire dynamique qui permet à votre client de choisir un moyen de paiement. Le formulaire collecte automatiquement toutes les informations de paiement nécessaires pour le moyen de paiement sélectionné par le client.
Vous pouvez personnaliser le Payment Element pour l’adapter au design de votre site en transmettant l’objet Appearance dans les options
lors de la création du fournisseur Elements
.
Collecter les adresses
Par défaut, le composant Payment Element ne collecte que les informations nécessaires relatives à l’adresse de facturation. Si vous souhaitez obtenir l’adresse de facturation (par exemple, pour calculer la taxe sur les biens et services numériques) ou l’adresse de livraison complètes d’un client, utilisez le composant Address Element.
Créer le modèle tarifaireCLI Stripe ou Dashboard
Créez vos produits et leurs tarifs dans le Dashboard ou via l’interface de ligne de commande Stripe.
Cet exemple utilise un service à tarif fixe avec deux options de niveau de service différentes : Basic et Premium. Pour chaque option de niveau de service, vous devez créer un produit et un tarif récurrent. (Si vous souhaitez ajouter un paiement ponctuel, par exemple des frais d’installation, créez un troisième produit avec un tarif unique. Par souci de simplicité, cet exemple n’inclut pas de paiement ponctuels.)
Dans cet exemple, chaque produit est facturé mensuellement. Le tarif du produit de base est de 5 USD. Celui du produit premium est de 15 USD.
Créer l'objet CustomerClient et serveur
Stripe a besoin d’un client pour chaque abonnement. Dans le front-end de votre application, collectez les informations client nécessaires et transmettez-les au back-end.
Si vous avez besoin de recueillir des informations d’adresse, l’Address Element vous permet de recueillir une adresse de livraison ou de facturation pour vos clients. Pour en savoir plus, consultez la page Address Element.
<form id="signup-form"> <label> Email <input id="email" type="text" placeholder="Email address" value="test@example.com" required /> </label> <button type="submit"> Register </button> </form>
const emailInput = document.querySelector('#email'); fetch('/create-customer', { method: 'post', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ email: emailInput.value, }), }).then(r => r.json());
Sur le serveur, créez l’objet Customer Stripe.
Créer l'abonnementCôté serveur
Lorsque le client envoie votre formulaire de paiement, utilisez un abonnement pour faciliter le processus de confirmation et de paiement. Pour créer un abonnement, vous devez créer des objets Customer et Price.
Remarque
Si vous utilisez un tarif multidevise, utilisez le paramètre currency pour indiquer à l’abonnement quelle devise utiliser. (Si vous omettez le paramètre currency
, l’abonnement utilise la devise par défaut associée au tarif.)
Un abonnement comprend une clé secrète du client. Renvoyez cette valeur côté client. Stripe.js l’utilisera pour finaliser le processus de paiement en toute sécurité. Dans le cas des abonnements ne générant pas immédiatement de premier paiement (par exemple, les abonnements comprenant une période d’essai gratuite), utilisez la clé secrète du client de pending_
.
Confirmer l'abonnementCôté client
Utilisez stripe.confirmPayment ou stripe.confirmSetup pour confirmer l’abonnement à l’aide des informations du composant Payment Element. Indiquez la page vers laquelle Stripe doit rediriger le client après la confirmation en fournissant une return_
à la fonction de confirmation. Selon le moyen de paiement choisi, le client peut d’abord être redirigé vers un site intermédiaire, comme une page d’autorisation bancaire, avant d’être redirigé vers la page spécifiée par le paramètre return_
. Vous pouvez également définir redirect
sur if_
pour ne rediriger que les clients qui paient via des moyens de paiement exigeant une redirection.
Gérer l'abonnement
Pour finaliser l’intégration, vous pouvez :
- écouter les webhooks
- fournir l’accès à votre service
- permettre aux clients d’annuler leur abonnement
Pour en savoir plus, consultez Créer une intégration pour les abonnements.