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.
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.
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.
Le virement bancaire est un moyen de paiement à usage unique pour Checkout via lequel les clients paient par virement bancaire en utilisant les instructions de paiement présentées. Lorsqu’il choisit de payer, l’utilisateur est redirigé vers une page hébergée qui affiche les instructions de virement bancaire et l’état du paiement par virement.
Le virement bancaire est également un moyen de paiement à notification différée, ce qui signifie que les fonds ne sont pas immédiatement disponibles après le paiement.
Mise en garde
Bank transfers aren’t available on Checkout Sessions that didn’t include an existing Customer object as part of the of the session creation request.
Déterminer la compatibilité
Une session Checkout doit remplir toutes les conditions suivantes pour prendre en charge les paiements Bank Transfer :
Les tarifs de tous les postes de facture doivent être exprimés dans la même devise. Pour définir des postes dans différentes devises, créez des sessions Checkout distinctes pour chacune d’entre elles.
Vous ne pouvez utiliser que les postes ponctuels (les sessions Checkout avec virement bancaire ne prennent pas en charge les plans d’abonnement récurrents).
Accepter un paiement
Note
Avant d’utiliser ce guide, commencez par créer une intégration permettant d’accepter un paiement avec Checkout.
Utilisez ce guide pour activer Bank Transfer.
Créer ou récupérer un Customer
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.
Activer le moyen de paiement Bank Transfer
Lors de la création d’une nouvelle session Checkout, vous devez :
- Définir
customer
- Ajouter
customer_
à la liste desbalance payment_
method_ types - Veiller à ce que tous vos
line_
utilisent la même deviseitems
Rediriger vers la page d’instruction concernant les virements bancaires hébergée par Stripe
Note
Contrairement aux paiements par carte bancaire, le paiement n’est pas toujours redirigé vers le lien success_url pour les paiements par virement bancaire.
Une fois le formulaire Checkout envoyé,
- Si le solde du client permet de payer le montant requis, le paiement est effectué immédiatement et le client est redirigé vers le lien success_url.
- Si le solde du client n’est pas suffisant pour payer le montant requis, il est redirigé vers la hosted_instructions_url. Cette page contient des instructions pour aider votre client à effectuer le virement.
Stripe vous permet de personnaliser les interfaces utilisateur sur la page Adaptation à votre marque. Vous pouvez appliquer les paramètres de marque suivants à la page d’instructions hébergée :
- Icône : image représentant votre marque et votre dénomination sociale publique
- Couleur de marque : utilisée comme couleur d’arrière-plan
Traiter vos commandes
Because bank transfer is a delayed notification payment method, you need to use a method such as webhooks to monitor the payment status and handle order fulfillment. Learn more about setting up webhooks and fulfilling orders.
Les événements suivants sont envoyés lorsque l’état du paiement change :
Nom de l’événement | Description | Étapes suivantes |
---|---|---|
checkout.session.completed | Le client a bien envoyé le formulaire Checkout. Il est redirigé vers hosted_ . | Attendez que le client ait effectué le virement bancaire. |
checkout.session.async_payment_succeeded | Le client a effectué le virement bancaire. Le PaymentIntent bascule sur succeeded . | Traitez la commande de biens ou de services du client. |
Tester votre intégration
Vous pouvez tester votre intégration en simulant un virement bancaire entrant à l’aide de l’API, du Dashboard ou d’une version bêta de l’interface de ligne de commande Stripe.