Mise en place de paiements PayTo futursSur invitation uniquement
Comment configurer des paiements PayTo futurs.
PayTo permet aux clients australiens d’authentifier les accords de paiements PayTo ponctuels et récurrents dans leur application bancaire. Pour payer avec PayTo, les clients reçoivent une notification d’accord en attente, donnent leur autorisation après lecture des termes de l’accord, puis retournent à votre application.
La configuration d’un contrat PayTo pour les paiements futurs vous permet d’obtenir l’autorisation du client pour encaisser les futurs paiements. Les clients peuvent consulter, gérer, suspendre et annuler leurs contrats PayTo dans leurs applications bancaires.
Mise en garde
Stripe ne prend pas en charge la modification ou la suspension des accords PayTo par les clients. Si un client tente de suspendre ou de modifier un accord, nous annulons cet accord et vous envoyons un webhook mandate.
. Après réception du webhook, vous pouvez contacter votre client pour savoir pourquoi il a modifié son accord, ainsi que pour en configurer un nouveau.
Mise en garde
Stripe propose automatiquement à vos clients des options de moyens de paiement selon leur devise, les restrictions sur les moyens de paiement et d’autres paramètres. Nous vous recommandons de configurer vos moyens de paiement à partir du Dashboard Stripe en suivant les instructions indiquées dans Accepter un paiement.
If you want to continue manually configuring the payment methods you present to your customers with Checkout, use this guide. Otherwise, update your integration to configure payment methods in the Dashboard.
Configurer StripeCôté serveur
Pour commencer, vous devez créer un compte Stripe. S’inscrire.
Pour accéder à l’API Stripe depuis votre application, utilisez nos bibliothèques officielles :
Créer un objet CustomerCôté serveur
Créez un objet Customer dès qu’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 SetupIntentCôté serveur
Un SetupIntent est un objet qui représente votre intention d’encaisser un futur paiement auprès d’un client, et qui suit le processus d’autorisation. Pour créer un SetupIntent qui accepte le moyen de paiement PayTo, indiquez les conditions de l’accord et payto
dans la liste payment_method_types. Si vous gérez une liste de moyens de paiement que vous transmettez lors de la création d’un SetupIntent, ajoutez-y payto
.
Précisez les conditions de l’accord que vous souhaitez que votre client accepte en utilisant les options de moyen de paiement.
Stripe prend en charge différents types d’accords, avec des contrôles du montant, de la durée, de la cadence et de l’objet de l’accord. Indiquez les conditions de l’accord qui correspondent précisément à vos besoins. Étant donné que vos clients voient ces conditions au moment de l’autorisation, les détailler peut améliorer votre taux de conversion.
Bêta
L’objet de l’accord (purpose
) par défaut est la vente au détail (retail
). Remplacez ce champ par l’une des valeurs valides si retail
ne correspond pas à l’objet de l’accord.
Récupérer la clé secrète du client
Le SetupIntent 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 de paiement et envoyer la demande d'autorisationCô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.
Utilisez stripe.confirmSetup pour finaliser la configuration à l’aide des informations du composant Payment Element. Cela envoie une demande d’autorisation au client.
Note
L’exécution de la méthode stripe.
peut prendre plusieurs secondes, le temps que le client autorise le paiement. 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.
Débiter ultérieurement le moyen de paiement PayTo
Lorsque vous devez débiter votre client, créez un nouveau PaymentIntent. Trouvez l’ID du mandat, l’ID du client et l’ID du moyen de paiement en récupérant le SetupIntent précédent.
Consultez les ID voulus dans la réponse ci-dessous.
{ // ... "customer": "cus_PW6rQWRGAaBD7z", // <---- Here is the customer "mandate": "mandate_1Ok6ZrA8DuEjWaGw2nrO9xeS", // <---- Here is the mandate "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": "pm_1Ok4l9A8DuEjWaGwhB4SGrWh", // <---- Here is the payment method "payment_method_configuration_details": null, "payment_method_options": { "payto": { "mandate_options": { "amount": 150000, "amount_type": "maximum", "start_date": "2026-12-25", "end_date": "2036-12-25", "payment_schedule": "annual", "payments_per_period": 13, "purpose": "mortgage", } } }, "payment_method_types": [ "payto" ], "single_use_mandate": null, "status": "succeeded", "usage": "off_session" // ... }
Créez un PaymentIntent en indiquant l’ID du moyen de paiement, l’ID du mandat et l’ID du client.
Tester votre intégration
Testez votre intégration PayTo avec vos clés API de test en utilisant les différents PayID de test et les coordonnées bancaires ci-dessous. Chaque combinaison donne lieu à un scénario différent auquel votre intégration pourrait être confrontée en mode production.