Enregistrer les coordonnées bancaires lors du paiement
Découvrez comment accepter un paiement et enregistrer le moyen de paiement de votre client pour les futurs achats.
Utilisez Stripe Checkout afin d’effectuer une intégration rapide avec peu de code, qui permet à vos clients d’enregistrer leurs informations de paiement pour leurs futurs achats.
Configurer StripeCôté serveur
Tout d’abord, inscrivez-vous pour créer un Compte Stripe.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Créer un objet CustomerCôté serveur
Pour configurer une carte bancaire en vue de paiements futurs, vous devez l’associer à un client. Lorsque votre client ouvre un compte chez vous, créez un objet Customer, qui permet de réutiliser des moyens de paiement et d’assurer le suivi de plusieurs paiements.
Lorsque la création aboutit, l’objet Customer est renvoyé. Vous pouvez l’examiner pour identifier l’id
du client et stocker cette valeur dans votre base de données pour la récupérer ultérieurement.
Vous pouvez trouver ces clients sur la page Clients du Dashboard.
Créer une session CheckoutCôté clientCôté serveur
Ajoutez sur votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une session Checkout.
Vous pouvez également créer une session Checkout pour un client existant, ce qui vous permet d’insérer automatiquement les coordonnées des clients connus dans les champs Checkout et d’unifier leur historique d’achat.
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Une session Checkout est la représentation programmatique de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez la configurer à l’aide de différentes options, par exemple :
- Les postes à facturer
- Les devises à utiliser
Vous devez indiquer dans success_
l’URL de la page de votre site Web vers laquelle Checkout renvoie votre client une fois son paiement effectué. Vous pouvez également indiquer dans cancel_
l’URL de la page de votre site Web vers laquelle Checkout renvoie votre client s’il met fin au processus de paiement avant de finaliser l’achat.
Remarque
Par défaut, les sessions Checkout expirent 24 heures après leur création.
Après avoir créé une session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.
Moyens de paiement
Par défaut, Stripe active les cartes bancaires et autres moyens de paiement courants. Vous avez la possibilité d’activer ou de désactiver des moyens de paiement directement depuis le Dashboard Stripe. Dans Checkout, Stripe évalue la devise et les restrictions éventuelles, puis présente dynamiquement au client les moyens de paiement pris en charge.
Pour visualiser l’affichage des moyens de paiement pour les clients, saisissez un ID de transaction ou définissez le montant et la devise d’une commande dans le Dashboard.
Vous pouvez activer Apple Pay et Google Pay dans vos paramètres des moyens de paiement. Par défaut, Apple Pay est activé et Google Pay est désactivé. Cependant, dans certains cas, Stripe les filtre même lorsqu’ils sont activés. Nous filtrons Google Pay si vous activez les taxes automatiques sans collecter d’adresse de livraison.
Aucune modification de l’intégration n’est requise pour activer Apple Pay ou Google Pay dans les pages hébergées par Stripe de Checkout. Stripe gère ces paiements de la même manière que les autres paiements par carte bancaire.
Confirmer votre endpoint
Confirmez que votre point d’accès est accessible en démarrant votre serveur Web (par exemple, localhost:4242
) et en exécutant la commande suivante :
curl -X POST -is "http://localhost:4242/create-checkout-session" -d ""
Une réponse semblable à celle ci-dessous devrait s’afficher dans votre terminal :
HTTP/1.1 303 See Other Location: https://checkout.stripe.com/c/pay/cs_test_... ...
Tests
Vous devriez maintenant disposer d’un bouton de paiement fonctionnel qui redirige votre client vers Stripe Checkout.
- Cliquez sur le bouton de paiement.
- Vous êtes redirigé(e) vers le formulaire de paiement Stripe Checkout.
Si votre intégration ne fonctionne pas :
- Ouvrez l’onglet Réseau dans les outils de développement de votre navigateur.
- Cliquez sur le bouton de paiement et assurez-vous qu’une requête XHR est bien envoyée à votre endpoint côté serveur (
POST /create-checkout-session
). - Vérifiez que la requête renvoie bien un état 200.
- Utilisez
console.
dans l’écouteur du clic sur le bouton pour vous assurer qu’il renvoie les données appropriées.log(session)
Pour en savoir plus sur la configuration et le test de votre intégration Checkout hébergée, consultez la rubrique Accepter un paiement.
Enregistrer le moyen de paiementCôté serveur
Après avoir configuré votre intégration Checkout hébergée, choisissez une configuration afin d’enregistrer les moyens de paiement utilisés par vos clients.
Par défaut, les moyens de paiement utilisés pour effectuer un paiement ponctuel avec Checkout ne sont pas disponibles pour une utilisation ultérieure.
Enregistrer les moyens de paiement pour les débiter hors session
Vous pouvez configurer Checkout de façon à enregistrer les moyens de paiement utilisés pour effectuer des paiements ponctuels en transmettant l’argument payment_intent_data.setup_future_usage. Cela peut notamment vous permettre de capturer un moyen de paiement pour prélever des frais futurs, comme des frais d’annulation ou de non-présentation.
Si vous utilisez Checkout en mode subscription
, Stripe enregistre automatiquement le moyen de paiement pour le débiter lors des paiements suivants. Les cartes enregistrées pour les clients qui utilisent les modes setup_
ou subscription
n’apparaissent pas dans Checkout en cas de nouvel achat effectué par un client connu (plus d’informations à ce sujet ci-dessous). Nous vous recommandons d’utiliser un texte personnalisé pour renvoyer vers les conditions générales pertinentes concernant l’utilisation des informations de paiement enregistrées.
Mise en garde
Les lois internationales en matière de protection de la vie privée sont complexes et nuancées. Nous vous recommandons de contacter votre conseiller juridique et votre équipe chargée de la conformité avant de mettre en œuvre setup_future_usage, car cela pourrait impliquer votre cadre de conformité existant en matière de confidentialité. Reportez-vous aux directives du Comité européen de la protection des données pour en savoir plus sur l’enregistrement des données de paiement.
Enregistrer les moyens de paiement pour les préremplir dans Checkout
Par défaut, Checkout utilise Link pour offrir à vos clients la possibilité d’enregistrer et de réutiliser leurs informations de paiement en toute sécurité. Si vous préférez gérer vous-même les moyens de paiement, utilisez saved_payment_method_options.payment_method_save lors de la création d’une session Checkout. Vos clients pourront ainsi enregistrer leurs moyens de paiement pour leurs futurs achats dans Checkout.
Lorsque vous transmettez ce paramètre en mode payment ou subscription, une case à cocher facultative s’affiche, ce qui permet aux clients d’enregistrer explicitement leur moyen de paiement pour leurs futurs achats. Lorsque les clients cochent cette case, Checkout enregistre le moyen de paiement avec allow_redisplay: always, et utilise ce paramètre pour déterminer si les informations de paiement peuvent être préremplies lors des futurs achats. L’utilisation de saved_
ne nécessite pas de transmettre setup_
pour enregistrer le moyen de paiement.
Un objet Customer
est nécessaire pour utiliser saved_payment_method_options.payment_method_save. Pour enregistrer un nouveau client, définissez le paramètre customer_creation de la session Checkout sur always
. À défaut, la session n’enregistre ni le client, ni le moyen de paiement.
Si payment_
n’est pas transmis ou si le client refuse d’enregistrer le moyen de paiement, Checkout enregistre toujours les moyens de paiement créés en mode 'subscription
ou à l’aide de setup_
. La valeur allow_
de ces moyens de paiement est définie sur limited
, ce qui évite que les informations de paiement soient préremplies pour les futurs achats et vous permet de vous conformer aux règles des réseaux de cartes et aux réglementations en matière de protection des données. Découvrez comment modifier le comportement par défaut activé par ces modes et comment modifier ou remplacer le comportement allow_
.
Remarque
Vous pouvez utiliser Checkout pour enregistrer des cartes et d’autres moyens de paiement afin de les débiter hors session, mais Checkout ne remplit automatiquement que les données des cartes enregistrées. Découvrez comment remplir automatiquement les données des cartes enregistrées. Pour enregistrer un moyen de paiement sans paiement initial, utilisez Checkout en mode configuration.
Autoriser les clients à supprimer des moyens de paiement enregistrés
Pour permettre à vos clients de supprimer un moyen de paiement enregistré de sorte qu’il ne s’affiche plus pour les paiements ultérieurs, utilisez saved_payment_method_options.payment_method_remove lors de la création d’une session Checkout.
Le client ne peut pas supprimer un moyen de paiement associé à un abonnement actif s’il ne dispose pas d’un moyen de paiement par défaut enregistré pour les paiements de factures et d’abonnements.