Enregistrer les coordonnées bancaires lors d'un paiement iDEAL
Découvrez comment enregistrer les coordonnées bancaires IBAN de votre client lors d'un paiement iDEAL.
Mise en garde
Nous vous recommandons de suivre les instructions de notre guide Enregistrer les coordonnées bancaires lors du paiement. Si vous avez déjà intégré Elements, reportez-vous à notre Guide de migration du Payment Element.
iDEAL est un moyen de paiement néerlandais à usage unique qui nécessite l’authentification du paiement par le client. Pour effectuer un paiement avec iDEAL, les clients sont redirigés vers une vue Web afin d’autoriser le paiement, puis reviennent vers votre application, où vous recevez une notification immédiate de la réussite ou de l’échec du paiement.
Vous pouvez également utiliser iDEAL pour enregistrer les coordonnées bancaires IBAN de votre client dans un objet PaymentMethod de type prélèvement automatique SEPA. Vous pouvez ensuite utiliser ce PaymentMethod prélèvement automatique SEPA pour accepter des paiements ou configurer un abonnement. Cela permet de simplifier le processus de paiement pour votre client, qui n’aura plus à ressaisir son IBAN. Vous recevez également son nom vérifié et son IBAN validé.
Mise en garde
Pour utiliser iDEAL afin de configurer des paiements par prélèvement SEPA, vous devez activer les prélèvements automatiques SEPA dans le Dashboard. Vous devez également respecter les Conditions d’utilisation d’iDEAL et les Conditions d’utilisation du prélèvement SEPA.
Accepter un paiement iDEAL consiste à créer un objet PaymentIntent pour suivre un paiement, recueillir les informations de moyen de paiement et la confirmation du mandat, puis envoyer le paiement à Stripe pour traitement. Stripe utilise le PaymentIntent pour suivre et gérer les états successifs du paiement jusqu’à sa réussite. Pour créer un PaymentIntent en vue de paiements futurs, utilisez l’ID du PaymentMethod prélèvement automatique SEPA recueilli lors de votre PaymentIntent iDEAL initial.
Configurer StripeCôté serveur
Tout d’abord, vous avez besoin d’un compte Stripe. Inscrivez-vous dès maintenant.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Créer un objet CustomerCôté serveur
Créez un objet Customer lorsqu’un client crée un compte auprès de votre entreprise et associez-le à votre représentation interne de son compte. Vous pourrez ainsi récupérer et utiliser ultérieurement les informations enregistrées sur son moyen de paiement.
Créer un PaymentIntentCôté serveur
Créez un PaymentIntent
sur votre serveur et précisez le montant à encaisser et la devise dans les paramètres amount
et eur
, l’identifiant du client, et le paramètre off_
(hors session) comme argument pour la configuration de l’utilisation future. Il n’y a pas de montant minimal de paiement et iDEAL ne prend pas en charge d’autres devises. Si vous avez déjà une intégration API Payment Intents, ajoutez ideal
à la liste des types de moyens de paiement.
Récupérer la clé secrète du client
Le PaymentIntent contient une clé secrète à utiliser côté client pour finaliser le processus de paiement en toute sécurité. Vous pouvez adopter différentes approches pour transmettre cette clé secrète côté client.
Collecter les informations du moyen de paiementCôté client
Collectez les informations de paiement du client avec le Payment Element. Le Payment Element est un composant d’interface utilisateur préconfiguré qui simplifie la collecte des informations pour de nombreux moyens de paiement.
Le 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.
Envoyer le paiement à StripeCôté client
Utilisez stripe.confirmPayment pour effectuer le paiement à l’aide des informations du composant Payment Element. Ajoutez un paramètre return_url à cette fonction pour indiquer la page vers laquelle Stripe doit rediriger l’utilisateur à l’issue du paiement. Votre utilisateur peut être redirigé en premier lieu 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_
. L’utilisateur sera immédiatement redirigé vers la page return_
après un paiement réussi par carte.
Remarque
L’exécution de la méthode stripe.
peut prendre plusieurs secondes. Pendant ce temps, bloquez le renvoi de votre formulaire et affichez un indicateur d’attente. Si vous recevez une erreur, montrez-la au client, réactivez le formulaire et masquez l’indicateur d’attente. Si le client doit effectuer des actions supplémentaires pour mener à bien le paiement, comme une authentification, Stripe.js le guide tout au long de ce processus.
Si le paiement aboutit, la carte est enregistrée pour l’objet Customer. Le champ customer du PaymentMethod indique alors cette information. À ce stade, associez l’ID de l’objet Customer à votre représentation interne du client, le cas échéant. Vous pouvez désormais utiliser l’objet PaymentMethod sauvegardé pour encaisser les nouveaux paiements de votre client sans avoir à lui redemander ses informations de paiement.
Veillez à ce que le paramètre return_
corresponde à une page de votre site web qui indique l’état du paiement. Lorsque Stripe redirige le client vers la page return_
, nous fournissons les paramètres de requête d’URL suivants :
Paramètre | Description |
---|---|
payment_ | L’identifiant unique du PaymentIntent . |
payment_ | La clé secrète du client de l’objet PaymentIntent . |
Mise en garde
Si vous disposez d’outils qui assurent le suivi de la session navigateur du client, vous devrez peut-être ajouter le domaine stripe.
à la liste d’exclusion des sites référents. Les redirections font que certains outils créent de nouvelles sessions, ce qui empêche le suivi de la session dans son ensemble.
Utilisez l’un des paramètres de requête pour récupérer le PaymentIntent. Consultez l’état du PaymentIntent pour déterminer les informations à présenter à vos clients. Vous pouvez également ajouter vos propres paramètres de requête lorsque vous ajoutez l’URL return_
; ils seront conservés tout au long du processus de redirection.
Débiter le PaymentMethod Prélèvement automatique SEPA plus tard
Lorsque vous devez à nouveau débiter votre client, créez un nouveau PaymentIntent. Pour obtenir l’ID du moyen de paiement Prélèvement automatique SEPA, récupérez le PaymentIntent précédent et développez le champ latest_
où vous trouverez l’ID generated_
dans payment_
.
L’ID du moyen de paiement de type prélèvement SEPA est l’identifiant generated_
figurant sous payment_method_details dans la réponse.
{ "latest_charge": { "payment_method_details": { "ideal": { "bank": "ing", "bic": "INGBNL2A", "iban_last4": "****", "generated_sepa_debit": "pm_1GrddXGf98efjktuBIi3ag7aJQ", "verified_name": "JENNY ROSEN" }, "type": "ideal" }, }, "payment_method_options": { "ideal": {}
Créez un PaymentIntent en utilisant les identifiants du prélèvement SEPA et du client.
Tester votre intégration
Use your test API keys to confirm the PaymentIntent. After confirming, you’re redirected to a test page with options to authorize or fail the payment.
- Cliquez sur Autorisation du paiement test pour tester le cas où la configuration réussit. Le PaymentIntent passe de
requires_
àaction succeeded
. - Cliquez sur Échec du paiement test pour tester le cas où le client ne parvient pas à s’authentifier. Le PaymentIntent passe de
requires_
àaction requires_
.payment_ method