Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Outils de développement
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
    Présentation
    Options d'intégration des moyens de paiement
    Gérer les moyens de paiement par défaut dans le Dashboard
    Types de moyens de paiement
    Cartes bancaires
    Payer avec le solde Stripe
    Cryptomonnaies
    Prélèvements bancaires
    Virements avec redirection bancaire
    Virements bancaires
    Virements (Sources)
    Achetez maintenant, payez plus tard
    Paiements en temps réel
      Pay by Bank
      PayNow
      PayTo
        Accepter un paiement
        Enregistrer un mandat pour les paiements futurs
        Configurer des paiements futurs
      Pix
      PromptPay
      Swish
    Coupons
    Portefeuilles
    Activer des moyens de paiement locaux par pays
    Moyens de paiement personnalisés
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Web Elements
Elements intégrés à l'application
Scénarios de paiement
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Autres produits Stripe
Financial Connections
Cryptomonnaies
Climate
AccueilPaiementsAdd payment methodsReal-time paymentsPayTo

Paiements PayToSur invitation uniquement

Découvrez PayTo, un nouveau moyen de paiement en temps réel en Australie.

Copier la page

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 Stripe
Cô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 :

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Créer un PaymentIntent
Côté serveur

Un PaymentIntent est un objet qui représente votre intention d’encaisser le paiement d’un client et qui suit le processus de paiement. Pour créer un PaymentIntent qui accepte un moyen de paiement PayTo, spécifiez le montant à collecter, la devise aud, et sélectionnez payto dans la liste des payment_method_types. Si vous gérez une liste de types de moyens de paiement que vous transmettez lors de la création d’un PaymentIntent, ajoutez-y payto.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1000 \ -d currency=aud \ -d "payment_method_types[]"=payto

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.

Récupérez la clé secrète du client à partir d’un endpoint sur votre serveur, à l’aide de la fonction fetch du navigateur. Cette approche est recommandée si votre côté client est une application d’une seule page, en particulier si elle repose sur un framework front-end moderne tel que React. Créez l’endpoint de serveur qui gère la clé secrète du client :

main.rb
Ruby
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

Récupérez ensuite la clé secrète du client à l’aide JavaScript côté client :

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Collecter les informations de paiement et envoyer le paiement
Cô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.confirmPayToPayment 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.

script.js
// 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); } });

Par défaut, Stripe.js interroge le PaymentIntent pour récupérer ses mises à jour. La promesse renvoyée par confirmPayToPayment aboutit lorsque le PaymentIntent passe à l’état succeeded, ou lorsque le paiement échoue et le PaymentIntent renvoie l’état requires_payment_method Consultez la page dédiée au cycle de vie des objets PaymentIntent pour en savoir plus sur ces changements d’état.

Pour interroger l’état du paiement vous-même, désactivez l’interrogation automatique en paramétrant handleActions: false :

script.js
stripe.confirmPayToPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { payto: { account_number: '000123456', bsb_number: '000000' } } } { handleActions: false } // <---- Like this )

Dans ce cas, appelez l’API PaymentIntents pour récupérer vous-même l’état du PaymentIntent.

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.

PayIDDescription
{any_prefix}+succeed@{any_domain}L’état du PaymentIntent passe de requires_action à processing au bout de 20 secondes, puis à succeeded après 2 secondes supplémentaires.
{any_prefix}+decline@{any_domain}L’état du PaymentIntent passe de requires_action à requires_payment_method au bout de 20 secondes. Stripe renvoie le code d’erreur payment_method_provider_decline et le code de refus de paiement invalid_authorization.
{any_prefix}+expire@{any_domain}L’état du PaymentIntent passe de requires_action à requires_payment_method au bout d’une minute. Stripe renvoie le code d’erreur payment_method_provider_timeout et le code de refus de paiement generic_decline.
{any_prefix}+insufficient_funds@{any_domain}L’état du PaymentIntent passe de requires_action à processing au bout de 20 secondes, puis à requires_payment_method après 2 secondes supplémentaires. Stripe renvoie le code d’erreur payment_method_provider_decline et le code de refus de paiement insufficient_funds.
{any_prefix}+agreement_type_not_supported@{any_domain}L’état du PaymentIntent passe de requires_action à requires_payment_method au bout de 20 secondes. Stripe renvoie le code d’erreur payment_method_provider_decline. Le mandat passe alors à l’état inactive.

FacultatifGérer les événements post-paiement

Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc