Enregistrer les coordonnées bancaires lors d'un paiement Sofort
Découvrez comment enregistrer les coordonnées bancaires IBAN de votre client lors d'un paiement Sofort.
Avertissement
New businesses can’t accept SOFORT payments and our financial partners are in the process of discontinuing SOFORT. For more information, read our support page.
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.
Sofort est un moyen de paiement à usage unique et à notification différée avec lequel le client doit authentifier son paiement. Le client paie avec Sofort en étant redirigé depuis votre site Web vers le portail de sa banque afin d’authentifier le paiement. Le client reçoit généralement la notification d’échec ou de réussite sous 2 à 14 jours.
Vous pouvez également utiliser Sofort 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 Sofort afin de configurer des paiements par prélèvement automatique SEPA, vous devez activer les prélèvements automatiques SEPA dans le Dashboard. Vous devez également respecter les Conditions d’utilisation du service Sofort et les Conditions d’utilisation du prélèvement automatique SEPA.
Accepter un paiement Sofort consiste à créer un objet PaymentIntent pour suivre un paiement, recueillir les informations sur le 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 de type prélèvement automatique SEPA collecté à partir de votre PaymentIntent Sofort initial.
Configurer StripeCôté serveur
Pour commencer, vous devez créer un compte Stripe. Inscrivez-vous 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 à collecter et la devise dans les paramètres amount
et eur
, l’identifiant du client, et le paramètre off_session (hors session) comme argument pour la configuration de l’utilisation future. Si vous avez déjà une intégration Payment Intents, ajoutez sofort
à la liste des types de moyens de paiement.
Le PaymentIntent contient l’ID du moyen de paiement et une clé secrète du client, qui est utilisée côté client pour finaliser le processus de paiement de manière sécurisée au lieu de transmettre la totalité de l’objet PaymentIntent.
Collecter les informations du moyen de paiement et obtenir un accusé de réception du mandatCôté client
Créez un formulaire de paiement côté client pour collecter les informations de facturation du client.
Soumettre le paiement à StripeCôté client
Au lieu de transmettre au client l’objet PaymentIntent dans son intégralité, utilisez la clé secrète du client de l’étape 3. Cette clé est différente de vos clés API qui servent à authentifier les requêtes à l’API Stripe.
La clé secrète du client doit être utilisée avec prudence, car elle peut servir à mener à bien le paiement. Ne l’enregistrez pas, ne l’intégrez pas dans des URL et ne la dévoilez à personne d’autre que votre client.
Lorsque votre client effectue un paiement, Stripe le redirige vers l’URL return_
et inclut les paramètres de requête d’URL suivants. La page de redirection peut utiliser ces paramètres pour récupérer l’état du PaymentIntent et ainsi afficher l’état du paiement pour le client.
Lorsque vous spécifiez une URL return_
, vous pouvez également ajouter vos propres paramètres de requête à utiliser sur la page de redirection.
Paramètre | Description |
---|---|
payment_ | Identifiant unique du PaymentIntent . |
payment_ | La clé secrète du client de l’objet PaymentIntent . |
Lorsque le client est redirigé vers votre site, vous pouvez utiliser le payment_
pour interroger le PaymentIntent et communiquer l’état de la transaction à votre client.
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 automatique SEPA est l’ID generated_
figurant sous payment_method_details dans la réponse.
{ "latest_charge": { "payment_method_details": { "sofort": { "bank_code": "VAPE", "bank_name": "VAN DE PUT & CO", "bics": "VAPEBE22", "iban_last4": "7061", "generated_sepa_debit": "pm_1GrddXGf98efjktuBIi3ag7aJQ", "preferred_language": "en", "verified_name": "Jenny Rosen" }, "type": "sofort" }, }, "payment_method_options": { "sofort": {}
Créez un PaymentIntent en utilisant les identifiants du prélèvement SEPA et du client.
Gérer les événements post-paiement
Sofort étant un moyen de paiement à notification différée, l’état du PaymentIntent demeure à l’état de traitement, payment_intent.processing, jusqu’à 14 jours après sa création (également dénommée la « date limite »). En mode test, l’état du PaymentIntent restera à l’état de traitement pendant trois minutes afin de simuler ce processus.
- Stripe recommande d’exécuter les achats pendant l’état de traitement. En moyenne, vous pouvez vous attendre à ce que 0,2 % des tentatives de paiement Sofort échouent après avoir atteint l’état de traitement. Cette recommandation s’applique uniquement aux paiements Sofort en raison de son faible taux d’échec et ne s’applique pas aux autres moyens de paiement avec notification différée.
- Vous préférez peut-être n’exécuter les commandes qu’après avoir reçu l’événement payment_intent.succeeded. Stripe envoie cet événement après que la tentative de paiement a été confirmée et que les fonds sont garantis.
- Si un client n’effectue pas le paiement, Stripe envoie l’événement payment_intent.failed et le PaymentIntent repasse à l’état
requires_
.payment_ method
Utilisez le Dashboard, un webhook personnalisé ou une solution partenaire pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison.
Manuellement
Utilisez le Dashboard Stripe pour consulter tous vos paiements Stripe, envoyer des reçus par e-mail, gérer les virements et réessayer d’effectuer les paiements ayant échoué.
Code personnalisé
Créez un gestionnaire de webhooks pour écouter des événements et créer des tunnels de paiement asynchrones personnalisés. Testez et déboguez votre intégration de webhooks en local, grâce à l’interface de ligne de commande Stripe.
Applications préconfigurées
Intégrez une application partenaire pour gérer les événements métier courants, comme l’automatisation, le marketing ou les ventes.