Paiements par prélèvement SEPA avec Sources
Utilisez l'API Sources pour accepter les paiements par prélèvement SEPA, un moyen de paiement bancaire très répandu en Europe.
Avertissement
L’API Sources est obsolète, et nous prévoyons de ne plus prendre en charge les moyens de paiement locaux. Si votre intégration de prélèvement automatique SEPA utilise l’API Sources, vous devez migrer vers l’API Payment Methods.
Pour en savoir plus sur l’intégration du prélèvement automatique SEPA avec les API actuelles, consultez notre article sur les Paiements par prélèvement automatique SEPA.
Les utilisateurs de Stripe en Europe et aux États-Unis peuvent utiliser Sources, un chemin d’intégration unique pour créer des paiements à l’aide de n’importe quel moyen pris en charge, pour accepter des paiements par prélèvement automatique SEPA effectués par des clients de pays de l’espace unique de paiement en euros (SEPA).
Au cours du processus de paiement, votre intégration recueille l’IBAN du compte bancaire de votre client libellé en euros. Pour que vous effectuiez un prélèvement SEPA, le titulaire du compte bancaire doit accepter un mandat (autorisation de prélèvement) qui vous permet de débiter son compte. S’ensuit la création d’un objet Source
que votre intégration utilise pour effectuer une demande de paiement et effectuer le paiement.
Dans le cadre de l’API Sources, un prélèvement automatique SEPA est un moyen de paiement de type « pull », réutilisable et asynchrone. Autrement dit, vous prenez vous-même l’initiative de prélever le montant du compte du client. Le succès ou l’échec du paiement est confirmé dans un délai pouvant aller jusqu’à 14 jours ouvrables.
Mise en garde
Les prélèvements automatiques SEPA sont plafonnés à 10 000 EUR par transaction. Les nouveaux utilisateurs sont soumis à un plafond supplémentaire de 10 000 EUR par semaine, qui augmente rapidement au fur et à mesure que vous traitez des paiements par prélèvement automatique SEPA. Pour augmenter vos plafonds, veuillez contacter le service d’assistance.
Condition requise : collecter l'acceptation du mandat
Avant qu’une source puisse être créée, votre client doit accepter le mandat de prélèvement SEPA. Le consentement du client vous autorise à encaisser le paiement en débitant le montant indiqué de son compte bancaire par prélèvement SEPA.
Lorsque le client confirme le paiement en cours, il accepte également un mandat. Son consentement vous autorise à encaisser le paiement en débitant le montant spécifié de son compte bancaire par prélèvement SEPA. Vous devez afficher le texte d’autorisation standard suivant, en remplaçant Rocketship Inc. par le nom de votre entreprise. Placez-le à proximité du bouton de confirmation du paiement afin que le client puisse le lire et l’accepter.
Mise en garde
En fournissant votre IBAN et en confirmant ce paiement, vous autorisez (A) Rocketship Inc. et Stripe, notre prestataire de services de paiement, à envoyer des instructions à votre banque pour débiter votre compte, et (B) votre banque à débiter votre compte conformément à ces instructions. Vous bénéficiez d’un droit à remboursement par votre banque selon les conditions décrites dans la convention que vous avez passée avec elle. Toute demande de remboursement doit être présentée dans les 8 semaines suivant la date de débit de votre compte.
Les détails du mandat accepté sont générés dans le cadre de la création de l’objet Source
. Une URL permettant d’afficher le mandat est renvoyée dans la valeur sepa_
. Comme il s’agit du mandat que le client a implicitement signé en acceptant les conditions susmentionnées, il convient de le lui communiquer, soit sur la page de confirmation du paiement, soit par e-mail.
Créer un objet Source
Les informations de compte bancaire sont des données sensibles par nature. Pour sécuriser la collecte des coordonnées IBAN de votre client et la création d’une source, utilisez Stripe.js et l’Element IBAN. Cette méthode empêche que les informations de compte bancaire du client ne transitent par votre serveur, et limite la quantité de données sensibles à traiter de manière sécurisée.
Suivez le Guide de démarrage rapide du composant Element IBAN pour créer un formulaire de paiement, collecter les coordonnées IBAN de vos clients et créer une source. Après avoir créé un objet Source, vous pouvez passer à l’étape suivante pour débiter la source.
Création d’une source personnalisée côté client
Si vous choisissez de gérer vous-même les numéros de compte bancaire, vous pouvez créer votre propre formulaire et appeler stripe.
de la manière indiquée dans la documentation de Stripe.js. Dans ce cas, veillez à recueillir les informations suivantes auprès de votre clientèle :
Paramètre | Valeur |
---|---|
type | sepa_debit |
currency | eur (les comptes bancaires utilisés pour les prélèvements automatiques SEPA doivent toujours être établis en euros) |
sepa_ | Le numéro IBAN du compte bancaire à débiter, collecté par le composant IBAN Element. Pour les intégrations personnalisées, vous devez récupérer ce numéro vous-même et l’inclure lors de l’appel à stripe. . |
owner[name] | Le nom complet du titulaire du compte. |
owner[address] | Adresse du titulaire du compte. Uniquement obligatoire pour les IBAN avec les codes pays suivants : AD, PF, TF, GI, GB, GG, VA, IM, JE, MC, NC, BL, PM, SM, CH, WF. Sous-champs requis : country et line1 . Pour prendre connaissance de la liste complète des sous-champs de l’adresse, reportez-vous à la documentation de référence de l’API Sources. |
Création d’une source côté serveur
Utilisez Stripe.js pour créer une source de prélèvement SEPA. Cette étape est facultative, mais si vous choisissez d’y renoncer et transmettez les informations directement à Stripe lors de la création d’un objet Source
, vous devez prendre toutes les mesures qui conviennent pour protéger les données bancaires sensibles qui transitent par vos serveurs.
Note
L’adresse du titulaire n’est obligatoire que pour les IBAN avec les codes pays suivants : AD, PF, TF, GI, GB, GG, VA, IM, JE, MC, NC, BL, PM, SM, CH, WF.
En utilisant l’une ou l’autre méthode, Stripe renvoie un objet Source
contenant les informations pertinentes pour le moyen de paiement utilisé. Les informations propres au prélèvement SEPA sont fournies dans le sous-hachage sepa_
.
{ "id": "src_18HgGjHNCLa1Vra6Y9TIP6tU", "object": "source", "amount": null, "client_secret": "src_client_secret_XcBmS94nTg5o0xc9MSliSlDW", "created": 1464803577, "currency": "eur", "flow": "none", "livemode": false, "owner": {
Comme les paiements par prélèvement automatique SEPA constituent un moyen de paiement de type « pull », il n’y a pas de mouvement de fonds pendant la création d’une source. Ce n’est qu’au moment où une demande de paiement réussit que le compte bancaire du client est débité et que vous recevez les fonds.
Création d’une source dans les applications mobiles
Si vous développez une application iOS ou Android, vous pouvez implémenter des sources à l’aide de nos SDK mobiles. Pour en savoir plus, consultez notre documentation sur les sources pour iOS ou Android.
Codes d’erreur
La création d’une source pour les paiements par prélèvement automatique SEPA peut renvoyer l’une des erreurs suivantes :
Erreur | Description |
---|---|
payment_ | Le moyen de paiement n’est pas disponible actuellement. Il convient d’inviter votre client à choisir un autre moyen de paiement pour continuer. |
processing_ | Une erreur inattendue empêchant la création de la source s’est produite. Essayez à nouveau de procéder à la création de la source. |
invalid_ | L’IBAN fourni semble incorrect. Demandez au client de vérifier ses informations et de réessayer. |
invalid_ | Le nom du titulaire n’est pas valide. Il doit comporter au moins trois caractères. |
Débiter la source
Contrairement à la plupart des autres moyens de paiement, les paiements par prélèvement SEPA ne nécessitent aucune intervention du client une fois que la source a été créée. Dès que le client a fourni ses coordonnées IBAN et qu’il a accepté le mandat, aucune autre action n’est requise et la source obtenue affiche directement l’état chargeable
.
Avant de créer une demande pour effectuer le paiement, vous devez d’abord rattacher la source à un objet Customer en vue de sa réutilisation ultérieure.
Rattachement de la source à un objet Customer
Si vous souhaitez pouvoir réutiliser la source pour des paiements ultérieurs (par exemple, avec un produit Billing), vous devez la rattacher à un objet Customer.
Pour savoir comment rattacher une source à un objet Customer
nouveau ou existant ainsi que sur les interactions entre ces deux types d’objets, reportez-vous à notre guide Sources et clients.
Soumission d’une demande de paiement
Une fois le rattachement effectué, vous pouvez utiliser l’ID de l’objet Source
avec l’ID de l’objet Customer
pour effectuer une demande de paiement et finaliser le règlement.
L’objet Charge obtenu est créé avec l’état pending
. À ce stade, le paiement est en cours.
Par défaut, le libellé de relevé bancaire de votre compte s’affiche sur les relevés du client lorsque vous créez un paiement par prélèvement automatique SEPA. Si vous devez fournir une description personnalisée d’un paiement, incluez le paramètre statement_
lorsque vous effectuez une demande de paiement. Les libellés de relevé bancaire sont limités à 22 caractères et ne peuvent pas comporter les caractères spéciaux suivants : <
, >
, '
ou "
.
Confirmer la réussite du paiement
Les prélèvements automatiques SEPA sont des moyens de paiement asynchrones, ce qui signifie que les fonds ne sont pas immédiatement disponibles. Un paiement créé pour une source de prélèvement SEPA peut rester en attente jusqu’à 14 jours ouvrables après sa création. Toutefois, le délai moyen est d’environ cinq jours ouvrables. Une fois le paiement confirmé, son état est mis à jour et passe à succeeded
.
Les événements suivants sont envoyés lorsque le paiement change d’état :
Événement | Description |
---|---|
charge. | L’opération a abouti et le paiement a été mené à bien. |
charge. | L’opération a échoué et le paiement n’a pas pu être réalisé. |
Après avoir confirmé la réussite du paiement, informez-en votre client en lui validant sa commande. Pour plus d’informations sur la meilleure façon d’intégrer des moyens de paiement à l’aide de webhooks, reportez-vous à nos bonnes pratiques.
Un paiement est considéré comme ayant abouti lorsque nous recevons les fonds de la part de la banque du client. Toutefois, cela se produit souvent avant que la banque n’ait débité le compte bancaire du client. En cas de problème de prélèvement sur le compte bancaire du client après la réussite d’un paiement, les fonds sont récupérés dans le cadre d’un litige.
Tester les prélèvements automatiques SEPA
Vous pouvez mimer un paiement qui réussit ou échoue. Pour cela, créez d’abord une source de test avec l’un des numéros de compte IBAN suivants. Utilisez la source qui en résulte pour créer un paiement de test qui réussit ou échoue.
Gérer les échecs de paiement
Si un paiement n’est pas confirmé, son état passe automatiquement de pending
à failed
. En cas d’échec d’un paiement, informez votre client dès la réception de l’événement charge.
. Lorsque vous utilisez un prélèvement automatique SEPA, il est préférable de ne pas traiter les commandes avant la réception du webhook charge.
.
En cas d’échec d’un prélèvement SEPA, si nous avons des raisons de croire que les paiements suivants échoueront également, nous actualisons la source en lui attribuant l’état failed
.
Note
Les paiements par prélèvement SEPA peuvent échouer en cas de dépassement de vos limites de traitement par période glissante. Si le débit de la source échoue avec le code d’erreur charge_
, vous pouvez retenter le paiement ultérieurement. Veuillez nous contacter si vous souhaitez bénéficier de limites de traitement supérieures.
Envoyer des notifications aux clients pour les paiements récurrents
Le recueil de règles du prélèvement automatique SEPA stipule que vous devez informer vos clients chaque fois qu’un prélèvement doit être effectué sur leur compte. Vous pouvez envoyer ces notifications séparément ou avec d’autres documents (par exemple, une facture).
Ces notifications doivent être envoyées au moins 14 jours calendaires avant la création d’un paiement. Vous pouvez les envoyer à une date plus rapprochée de celle du paiement, à condition que votre mandat indique clairement quand le client peut s’attendre à être débité. Le mandat fourni par Stripe précise que l’envoi peut avoir lieu jusqu’à deux jours calendaires avant les futurs paiements, ce qui vous permet d’envoyer les notifications au moment de la création des paiements. Pour les paiements récurrents d’un même montant (par exemple, dans le cadre d’un abonnement à tarif fixe), vous pouvez indiquer plusieurs prélèvements à venir avec les dates correspondantes dans un même avis.
La notification adressée à votre client doit inclure les informations suivantes :
- Les 4 derniers chiffres du compte bancaire du débiteur
- La référence du mandat (
sepa_
sur l’objetdebit[mandate_ reference] Source
) - Le montant du prélèvement
- Votre identifiant de créancier SEPA
- Vos coordonnées
Utilisation de webhooks et d’e-mails automatisés
Les objets Source fournissent des outils pour vous aider à notifier votre clientèle en toute conformité. Lors de la création d’une source, il est possible de spécifier un paramètre mandate[notification_
. Les valeurs admises sont les suivantes :
Valeur | Description |
---|---|
email | Lorsque vous créez des paiements, nous envoyons automatiquement une notification par e-mail à vos clients. |
manual | Lorsque vous créez des paiements, Stripe émet un webhook source. avec toutes les informations nécessaires pour générer une notification conforme. À réception de ce webhook, vous devez envoyer une notification à votre client sur le canal de votre choix. |
none | Aucune des options précédentes, vous choisissez de générer des notifications de prélèvement entièrement en dehors de Stripe. |
Par défaut, le paramètre mandate[notification_
a la valeur aucune lors de la création de la source, mais il peut être mis à jour ultérieurement.
Obtention d’un identifiant de créancier pour les entreprises de l’UE uniquement
Note
Cette section concerne uniquement les entreprises de l’UE.
Pour les entreprises de l’UE, votre identifiant de créancier SEPA est associé à chaque instruction de paiement par prélèvement SEPA et identifie l’entreprise qui effectue le paiement. Bien que les entreprises puissent avoir plusieurs identifiants de créanciers, chaque identifiant de créancier est unique et permet à vos clients d’identifier facilement les prélèvements réalisés sur leur compte. Ceci peut contribuer à réduire le risque de contestation de paiements. Certains prestataires de services de paiement ne vous demandent pas de fournir votre propre identifiant de créancier SEPA. Stripe demande un identifiant de créancier SEPA pour améliorer la sécurité de vos clients.
Vous pouvez demander un identifiant de créancier SEPA auprès d’une institution financière de votre pays de résidence ou du pays où votre entreprise est domiciliée. Il s’agit habituellement de la banque qui détient votre compte. La procédure se déroule généralement en ligne et peut parfois prendre plusieurs jours. Dans certains cas, votre banque peut effectuer des actions supplémentaires avant de vous délivrer un identifiant de créancier. Lorsque vous contactez votre banque pour qu’elle vous fournisse votre identifiant de créancier, n’hésitez pas à clarifier l’objet de votre demande : vous ne leur demandez pas de traiter vos prélèvements automatiques SEPA.
Si vous avez des difficultés à obtenir votre identifiant de créancier, contactez-nous.
Paiements contestés
Le prélèvement SEPA prévoit une procédure de litige permettant aux titulaires de comptes bancaires de contester des paiements effectués. Il convient dans ce contexte de vous interroger sur les meilleurs choix pour votre entreprise et sur votre façon de gérer les paiements par prélèvement SEPA.
Pendant une période de huit semaines après que son compte a été débité, un titulaire de compte peut contester un paiement par l’intermédiaire de sa banque sans avoir à avancer de motif. Toute contestation intervenant pendant cette période est automatiquement honorée.
Après la période de huit semaines suivant la création du paiement, et jusqu’à 13 mois, un client ne peut contester un paiement auprès de sa banque que si le débit est considéré comme non autorisé. Dans ce cas, nous fournissons automatiquement à la banque le mandat que le client a approuvé. Cela ne garantit pas l’annulation de la contestation ; la banque peut toujours décider que le débit n’était pas autorisé et que le client a droit à un remboursement.
Un litige peut également survenir si la banque de votre client n’est pas en mesure de débiter son compte en raison d’un problème (par exemple, si le compte est bloqué ou n’est pas suffisamment approvisionné), alors qu’elle a déjà versé les fonds pour honorer le paiement. Dans ce cas, la banque réclame les fonds sous la forme d’un litige.
Dès lors qu’un litige est créé, un événement de webhook charge.
est envoyé et Stripe déduit le montant du litige et les frais connexes de votre solde Stripe. Les frais de litige varient en fonction de la devise de règlement par défaut de votre compte :
Devise de règlement | Frais de litige |
---|---|
CHF | 10,00 Fr |
DKK | 75,00 kr |
EUR | 7,50 € |
GBP | 7,00 £ |
NOK | 75,00 kr |
SEK | 75,00 kr |
USD | 10,00 $ |
Contrairement aux litiges portant sur des transactions par carte bancaire, les litiges portant sur un prélèvement automatique SEPA sont tous définitifs et n’offrent aucune voie de recours. Dès lors qu’un client a contesté un paiement, vous devez vous rapprocher de lui si vous souhaitez régler la situation. Si vous parvenez à un accord et que votre client accepte de vous restituer les fonds, il doit alors effectuer un nouveau paiement.
En général, chaque litige est accompagné du motif de son existence, mais cela peut varier d’un pays à l’autre. Par exemple, les paiements contestés en Allemagne ne fournissent pas d’informations supplémentaires pour des raisons de confidentialité.
Remboursements
Les demandes de remboursement des paiements par prélèvement automatique SEPA peuvent intervenir uniquement dans les 180 jours qui suivent la date du prélèvement initial. Passé ce délai, le remboursement n’est plus possible. De la même façon que pour les paiements par prélèvement automatique SEPA, les remboursements nécessitent eux aussi un délai supplémentaire pour être traités (généralement entre 3 et 4 jours ouvrables). Si vous débitez accidentellement votre client, veillez à le contacter immédiatement pour éviter une contestation du paiement.
Un remboursement ne peut être traité qu’une fois le processus de paiement achevé. Si vous créez un remboursement total ou partiel sur un paiement qui n’a pas encore été mené à bien, le remboursement ne sera engagé qu’une fois l’objet Charge
passé à l’état succeeded
. Si l’objet Charge
passe à l’état failed
, le remboursement complet ou partiel sera marqué comme annulé, étant donné que les fonds n’auront en définitive jamais quitté le compte bancaire du client.
Au lieu de marquer les remboursements explicitement comme tels lorsque les fonds sont redéposés sur le compte d’un client, les remboursements SEPA sont traités comme un crédit et comportent une référence visible au libellé du relevé de paiement initial.
En raison de l’allongement des délais de règlement et des modalités de traitement par les banques des transactions par prélèvement automatique SEPA, il existe un risque de confusion entre vous, votre client, la banque de votre client et Stripe. Par exemple, votre client peut contacter à la fois sa banque et vous-même pour contester un paiement. Si vous remboursez votre client de manière proactive alors que sa banque a également lancé une procédure de litige, il est possible que le client reçoive deux virements pour la même transaction.
Lorsque vous émettez un remboursement, il est important d’informer votre client que le montant peut prendre jusqu’à 5 jours ouvrés pour être crédité sur son compte bancaire.