Accepter un paiement iDEAL
Découvrez comment accepter les paiements effectués à l'aide de iDEAL, un moyen de paiement très répandu aux Pays-Bas.
Mise en garde
Nous vous recommandons de suivre le guide Accepter un paiement, sauf si vous devez exécuter la confirmation manuelle côté serveur, ou si votre intégration requiert la présentation de moyens de paiement de manière distincte. Si vous avez déjà intégré Elements, consultez le Guide de migration du Payment Element.
Le processus d’acceptation d’un paiement iDEAL dans votre application consiste à afficher une vue Web qui renvoie votre client vers le portail en ligne de sa banque pour autoriser le paiement. Votre client retourne ensuite dans votre application et vous recevez immédiatement une notification indiquant si le paiement a abouti ou échoué.
Remarque
Pour accepter les paiements iDEAL, vous devez respecter nos Conditions d’utilisation du service iDEAL.
Configurer StripeCôté serveurCôté client
Tout d’abord, il vous faut un compte Stripe. Inscrivez-vous.
Côté serveur
Pour cette intégration, votre serveur doit être doté d’endpoints qui communiquent avec l’API Stripe. Utilisez les bibliothèques officielles pour accéder à l’API Stripe depuis votre serveur :
Côté client
Le SDK iOS de Stripe est disponible en open source et fait l’objet d’une documentation complète. Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures.
Remarque
Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour recevoir une notification lors de la publication d’une nouvelle version, surveillez les versions à partir du référentiel.
Configurez le SDK avec votre clé publiable Stripe au démarrage de votre application. Cela lui permet d’envoyer des requêtes à l’API Stripe.
Remarque
Utilisez vos clés de test lors de vos activités de test et de développement et vos clés du mode production pour la publication de votre application.
Créer un PaymentIntentCôté serveurCôté client
Un PaymentIntent est un objet qui représente votre intention d’encaisser le paiement d’un client et qui suit le cycle de vie du processus de paiement étape par étape.
Côté serveur
Créez tout d’abord un PaymentIntent
sur votre serveur, puis indiquez le montant à percevoir et la devise eur
(iDEAL ne prend pas en charge les autres devises). iDEAL n’a pas de montant minimal de paiement ; la valeur amount
du paiement peut descendre jusqu’à 1. Si votre intégration inclut déjà l’API Payment Intents, ajoutez ideal
à la liste des types de moyens de paiement pour votre PaymentIntent
.
Au lieu de transmettre à l’application la totalité de l’objet PaymentIntent, il vous suffit de renvoyer sa clé secrète du client. Il s’agit d’une clé unique qui vous permet de confirmer le paiement et d’actualiser les informations de paiement côté client, le tout sans autoriser la manipulation d’informations sensibles comme le montant du paiement.
Côté client
Côté client, demandez un PaymentIntent auprès de votre serveur et sauvegardez la clé secrète du client.
Collecter les informations du moyen de paiementCôté client
Dans votre application, recueillez le nom complet de votre client. Créez un objet STPPaymentIntentParams avec cette information.
Soumettre le paiement à StripeCôté client
Récupérez la clé secrète du client dans le PaymentIntent que vous avez créé à l’étape 3, puis appelez STPPaymentHandler confirmPayment. Une vue Web s’affichera ainsi pour permettre au client de mener à bien son paiement sur le site Web ou l’application de sa banque, ce qui appellera le bloc de finalisation avec le résultat du paiement.
Tester votre intégration
Utilisez vos clés API de test pour confirmer le PaymentIntent. Après avoir confirmé, vous êtes redirigé vers une page de test avec des options pour valider ou non le paiement.
- 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
Référence bancaire
Nom de la banque | Valeur |
---|---|
ABN AMRO | abn_ |
ASN Bank | asn_ |
Bunq | bunq |
ING | ing |
Knab | knab |
N26 | n26 |
Nationale-Nederlanden | nn |
Rabobank | rabobank |
Revolut | revolut |
RegioBank | regiobank |
SNS Bank (De Volksbank) | sns_ |
Triodos Bank | triodos_ |
Van Lanschot | van_ |
Yoursafe | yoursafe |