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
Ressources pour les développeurs
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
      Accepter un paiement
      Solde du client
      Remboursements
    Virements (Sources)
    Achetez maintenant, payez plus tard
    Paiements en temps réel
    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
Elements pour le web
Elements intégrés à l'application
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
AccueilPaiementsAdd payment methodsBank transfers

Accepter un virement bancaire

Utilisez l'API Payment Intents pour accepter les paiements par virements bancaires.

La première fois que vous acceptez un paiement par virement bancaire de la part d’un client, Stripe génère un compte bancaire virtuel pour lui, que vous pouvez ensuite partager directement avec lui. Tous les futurs paiements par virement bancaire de ce client seront envoyés vers ce compte bancaire. Dans certains pays, Stripe vous fournit également un numéro de référence de virement unique que votre client doit associer à chaque virement afin de faciliter la comparaison entre le virement et les paiements en attente. Notez que certains pays limitent le nombre de numéros de comptes bancaires virtuels que vous pouvez créer gratuitement.

Le diagramme de séquence suivant propose un aperçu des étapes courantes à suivre lors de l’acceptation d’un paiement par virement bancaire :

Gérer les paiements insuffisants et les trop-perçus

Avec les paiements par virement bancaire, il peut arriver que le montant des fonds envoyés par le client soit inférieur ou supérieur à celui attendu. Si la somme est insuffisante, Stripe règle partiellement le PaymentIntent ouvert. Les factures ne font pas l’objet d’un règlement partiel et restent ouvertes jusqu’à ce que les fonds entrants couvrent l’intégralité de leur montant.

Si le client envoie un montant supérieur au montant attendu, Stripe tente de rapprocher les fonds entrants avec un paiement en cours et conservera le montant excédentaire restant dans le solde de trésorerie du client. Vous trouverez plus de détails sur la manière dont Stripe gère le rapprochement dans la section consacrée aux opérations de rapprochement de notre documentation.

Lorsqu’un client verse un montant insuffisant :

Lorsqu’un client verse un montant trop élevé :

Gérer plusieurs paiements ou factures ouvert(e)s

Vous pouvez avoir plusieurs paiements ou factures ouvert(e)s payables par virement bancaire. Par défaut, Stripe tentera de rapprocher automatiquement le virement bancaire en utilisant certaines informations telles que le code de référence du virement ou le montant viré.

Vous pouvez désactiver le rapprochement automatique et rapprocher manuellement des paiements et des factures. Vous pouvez contourner le rapprochement automatique, selon le client, en définissant le mode de rapprochement sur manuel.

Configurer Stripe
Côté serveur

Pour commencer, il vous faut un compte Stripe. Inscrivez-vous.

Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :

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 ou récupérer un client
Côté serveur

Vous devez associer un objet Customer à chaque paiement par virement bancaire à des fins de rapprochement. Si vous possédez déjà un objet Customer, vous pouvez ignorer cette étape. Sinon, créez un nouvel objet Customer.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Créer et confirmer un PaymentIntent
Côté serveur

Un PaymentIntent est un objet qui représente votre intention d’encaisser un paiement client et qui suit le cycle de vie du processus de paiement étape par étape. Créez et confirmez un PaymentIntent sur le serveur et précisez le montant à encaisser ainsi que la devise. Vous devez également remplir les paramètres client de la demande de création du Paymentintent. Les virements bancaires ne sont pas disponibles sur les PayentIntents sans client.

Avant de créer un Payment Intent, veillez à activer les virements bancaires dans les paramètres des moyens de paiement de votre Dashboard.

Remarque

Avec les moyens de paiement dynamiques, Stripe gère l’affichage des moyens de paiement admissibles en fonction de facteurs tels que le montant de la transaction, la devise et le tunnel de paiement.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d customer=
{{CUSTOMER_ID}}
\ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ --data-urlencode return_url="https://example.com/return_url" \ -d "payment_method_data[type]"=customer_balance \ -d confirm=true

Dans la dernière version de l’API, la spécification du paramètre automatic_payment_methods est facultative, car Stripe active sa fonctionnalité par défaut.

Si le solde du client suffit déjà à couvrir le montant du paiement, le PaymentIntent aboutit immédiatement et reçoit l’état succeeded. Les clients peuvent accumuler un solde lorsqu’ils versent par erreur un montant trop élevé lors d’une transaction, ce qui se produit fréquemment lors des paiements par virement bancaire. Vous devez rapprocher les soldes des clients dans un délai précis en fonction de votre pays.

Donner les instructions au client afin qu'il effectue le virement bancaire
Côté client

Si le solde du client n’est pas suffisant pour payer le montant requis, le PaymentIntent affiche l’état requires_action. La réponse comporte un champ next_action dont la valeur type est définie sur display_bank_transfer_instructions. Le hachage next_action[display_bank_transfer_instructions] contient les informations que vous devez montrer à votre client pour qu’il effectue le virement bancaire. Pour garantir le règlement des fonds, demandez à vos clients d’utiliser les informations exactes fournies, en particulier le nom et le numéro de compte, le cas échéant.

Remarque

En mode production, Stripe fournit à chaque client un jeu unique de coordonnées de virement bancaire. En revanche, en environnement de test, Stripe fournit des coordonnées de virement bancaire non valides à tous les clients, lesquelles peuvent par ailleurs ne pas être uniques.

ChampDescription
typeLe type de virement bancaire à utiliser. Il doit être défini sur us_bank_transfer aux États-Unis.
referenceCode de référence unique qui identifie le virement bancaire. Demandez à votre client d’inclure ce code dans le champ de la référence de son virement bancaire.
amount_remainingMontant restant à virer pour finaliser le paiement. Demandez à votre client de vous virer ce montant. Celui-ci peut être différent du montant du PaymentIntent si des fonds préexistants dans le solde du client ont été appliqués au PaymentIntent ou si votre client a insuffisamment payé.
currencyDevise du montant restant.
financial_addressesListe des adresses financières pour les comptes bancaires situés aux États-Unis. Les types incluent aba et swift. Pour plus d’informations, voir ci-dessous.
hosted_instructions_urlLien vers une page hébergée qui guide votre client dans l’exécution de son virement.

Hachage aba

Exemple de hash aba :

{ "aba": { "account_number": "111222333444", "bank_name": "Wells Fargo Bank, NA", "routing_number": "444555666" }, "supported_networks": [ "ach", "domestic_wire_us" ], "type": "aba" }
ChampValeursDescriptif
typeabaType d’adresse financière.
supported_networks
  • ach
  • domestic_wire_us
Liste des réseaux pris en charge par cette adresse.
aba.account_number111222333444Le numéro de compte ABA.
aba.routing_number444555666Le numéro de routage ABA.
aba.bank_nameWells Fargo Bank, NALe nom de la banque.

Hachage swift

Exemple de hash swift :

{ "swift": { "account_number": "111222333444", "bank_name": "Wells Fargo Bank, NA", "swift_code": "AAAA-BB-CC-123" }, "supported_networks": [ "swift" ], "type": "swift" }
ChampValeursDescriptif
typeswiftType d’adresse financière.
supported_networks
  • swift
Liste des réseaux pris en charge par cette adresse.
swift.account_number111222333444Le numéro de compte SWIFT.
swift.swift_codeAAAA-BB-CC-123Le code SWIFT.
swift.bank_nameWells Fargo Bank, NALe nom de la banque.

Délai de règlement

Une fois que vous avez demandé à votre client d’initier un virement auprès de sa banque à l’aide des informations que vous avez fournies, le virement peut nécessiter jusqu’à cinq jours. Le délai de règlement dépend des voies bancaires par lesquelles le virement passe pour arriver sur Stripe :

  • Les virements ACH arrivent sous 3 jours ouvrés.
  • Les virements nationaux (Fedwire) arrivent le jour même (s’ils sont envoyés avant l’heure limite fixée par la banque).
  • Les virements bancaires internationaux (SWIFT) arrivent sous 5 jours ouvrés.

Confirmer la réussite du PaymentIntent

Le PaymentIntent reste à l’état requires_action jusqu’à ce que les fonds arrivent sur le compte bancaire. Dès réception du paiement, l’état du PaymentIntent associé passe de l’état requires_action à succeeded.

Vous devez configurer votre endpoint de webhook pour commencer à recevoir l’événement `payment_intent.partially_funded``.

Vous pouvez ajouter un webhook depuis le Dashboard.

Vous pouvez aussi utiliser l’API Webhook Endpoints pour recevoir l’événement payment_intent.partially_funded.

Au cours du flux de financement du paiement, Stripe envoie les événements suivants lorsque le PaymentIntent est mis à jour.

ÉvénementDescriptionÉtapes suivantes
payment_intent.requires_actionEnvoyé pendant la confirmation lorsque le solde du client ne dispose pas de fonds suffisants pour rapprocher le PaymentIntent, le PaymentIntent passe à l’état requires_action.Demandez à votre client d’effectuer le virement bancaire avec le amount_remaining.
payment_intent.partially_fundedLe client a fait un virement bancaire qui a été appliqué au PaymentIntent, mais cela n’a pas suffi à finaliser le paiement. Cela peut arriver si le client a transféré un montant trop faible (pour cause de paiement insuffisant par erreur ou de frais facturés par sa banque) ou si un solde client restant a été appliqué à ce PaymentIntent. Les PaymentIntents partiellement financés ne sont pas visibles dans le solde de votre compte tant que le paiement n’a pas été effectué.Demandez à votre client de réaliser un autre virement bancaire correspondant au nouveau amount_remaining pour finaliser le paiement. Si vous souhaitez effectuer le paiement avec les fonds partiellement appliqués, vous pouvez mettre à jour le champ amount et confirmer à nouveau le PaymentIntent.
payment_intent.succeededLe paiement du client a abouti.Traitez la commande de biens ou de services de votre client.

Mise en garde

Lorsque vous modifiez le montant d’un PaymentIntent partiellement financé, les fonds sont reversés sur le solde du client. Si d’autres PaymentIntents sont ouverts, Stripe les finance automatiquement. Si le client est configuré pour le rapprochement manuel, vous devez utiliser les fonds à nouveau.

Nous vous recommandons d’utiliser des webhooks afin de confirmer que le paiement a abouti et pour signaler au client que le paiement a été effectué.

Exemple de code

Ruby
require 'json' # Using Sinatra post '/webhook' do payload = request.body.read event = nil begin event = Stripe::Event.construct_from( JSON.parse(payload, symbolize_names: true)

Consulter les paiements en attente sur le Dashboard

Vous pouvez consulter les PaymentIntents associés à des virements bancaires en attente dans le Dashboard en appliquant le filtre En attente de financement au champ État.

Tester votre intégration

Vous pouvez tester votre intégration en simulant un virement bancaire entrant soit à l’aide du Dashboard, soit à l’aide d’une requête HTTP.

Avec le Dashboard

Pour simuler un virement bancaire à l’aide du Dashboard dans un environnement de test, accédez à la page du client dans le Dashboard. Dans la section Moyens de paiement, cliquez sur Ajouter et sélectionnez Ajouter des fonds au solde disponible (test uniquement).

Avec l'API Stripe

Vous pouvez également simuler un virement bancaire en effectuant un appel à l’API.

Command Line
cURL
curl https://api.stripe.com/v1/test_helpers/customers/ic_xxxxxxxxx/fund_cash_balance \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1000 \ -d currency=usd \ -d reference=REF-4242

Gestion des problèmes de disponibilité temporaires

Les codes d’erreur suivants indiquent que des problèmes temporaires affectent la disponibilité du moyen de paiement :

CodeDescriptionGestion
payment_method_rate_limit_exceededUn trop grand nombre de requêtes successives ont été effectuées pour ce moyen de paiement, dont les limites sont plus strictes que les limites de débit à l’échelle de l’API.Lorsque de nombreux clients tentent d’utiliser le même moyen de paiement (par exemple, pendant la période des soldes), ces erreurs peuvent perdurer pendant plusieurs requêtes API. Dans ce cas, demandez à vos utilisateurs de choisir un autre moyen de paiement.

Mise en garde

Si vous prévoyez une utilisation intensive, que ce soit de manière générale ou pour un événement à venir, veillez à nous prévenir aussitôt que possible.

FacultatifCollecter des options de moyen de paiement auprès de votre client

FacultatifEnvoyer des instructions sur les paiements par e-mail

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