Paiements PayToSur invitation uniquement
Découvrez PayTo, un nouveau moyen de paiement en temps réel en Australie.
PayTo est un moyen de paiement en temps réel australien permettant d’accepter des paiements ponctuels et récurrents. Lors d’un paiement PayTo, les clients s’authentifient et approuvent les contrats à l’aide de leur application bancaire mobile.
Vous recevez une notification différée indiquant si le paiement a abouti ou échoué. Stripe vous notifie généralement de l’état final du paiement dans les 30 secondes suivant l’autorisation de l’accord.
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 PaymentIntentCôté serveur
A PaymentIntent is an object that represents your intent to collect a payment from a customer and tracks the payment process. To create a PaymentIntent
that accepts a PayTo payment method, specify the amount to collect, aud
as the currency, and payto
in the payment_method_types list. If you maintain a list of payment method types that you pass when creating a PaymentIntent
, add payto
to it.
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 de paiement et envoyer le paiementCôté client
Lorsque vous confirmez le paiement, transmettez la clé secrète du client.
Mise en garde
La clé secrète du client doit être utilisée avec prudence, car elle permet d’accéder au PaymentIntent. Ne l’enregistrez pas, ne l’intégrez pas dans des URL et ne la dévoilez à personne d’autre que votre client.
Utilisez stripe.
pour initier l’autorisation de paiement auprès de votre client.
Le client reçoit une notification concernant la demande de paiement, et l’autorise ou la refuse dans son application bancaire.
// Inititates the payment request notification to the customer stripe.confirmPayToPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { billing_details: { // Name is required for all PayTo payments name: 'Jenny Rosen', // Email is required only for PayID payments, for refund processing email: 'jenny@example.com' }, payto: { // Either provide a PayID (typically an email or phone number) pay_id: 'jenny@example.com' // ...or provide bank account details account_number: '000123456', bsb_number: '000000' } } } ).then(function(result) { if (result.error) { // Inform the customer that there was an error. console.log(result.error.message); } });
By default, Stripe.js polls for updates to the PaymentIntent. The promise returned by confirmPayToPayment
resolves when the PaymentIntent reaches the succeeded
state, or when the payment fails and the PaymentIntent returns to the requires_
state. See the PaymentIntent lifecycle for details on how these transitions happen.
Pour interroger l’état du paiement vous-même, désactivez l’interrogation automatique en paramétrant handleActions: false
:
stripe.confirmPayToPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { payto: { account_number: '000123456', bsb_number: '000000' } } } { handleActions: false } // <---- Like this )
In this case, call the PaymentIntents API to fetch status of the PaymentIntent yourself.
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.