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
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds

Paiements récurrents en IndeVersion bêta publique

Comment mettre à jour une intégration afin de prendre en charge les mandats électroniques RBI.

Copier la page

La Reserve Bank of India (RBI) a émis une directive (modifiée ultérieurement en décembre 2020 et en mars 2021) qui prévoit des mesures de sécurité supplémentaires pour les paiements récurrents effectués avec des cartes émises en Inde, parmi lesquelles :

  • Les banques doivent suivre un processus unique pour enregistrer les titulaires de cartes et créer un mandat électronique, à l’aide d’une authentification par facteur supplémentaire telle que 3D Secure (3DS).
  • Les banques doivent alerter les titulaires de carte au moins 24 heures avant les paiements en leur permettant de refuser les transactions.
  • Les transactions récurrentes de plus de 15 000 INR (ou équivalent dans une autre devise) nécessitent systématiquement l’authentification par facteur supplémentaire.

Si vous êtes un utilisateur Stripe basé en Inde ou un utilisateur Stripe international (non IN), votre activité est concernée si certains de vos clients utilisent des cartes indiennes pour :

  • Paiements hors session
  • Objets Subscription ou Invoice dont le paramètre collection_method est défini sur charge_automatically

Fonctionnement des paiements avec un mandat électronique

Stripe s’est associé à une plateforme partenaire pour prendre en charge l’enregistrement des mandats électroniques et l’envoi de notifications préalables de prélèvement aux clients.

Remarque

À l’heure actuelle, les mandats électroniques ne sont pas disponibles pour les utilisateurs Stripe au Mexique et au Japon.

En fonction de la manière dont vous avez intégré Stripe, Stripe est susceptible de vous demander des informations supplémentaires pour établir un mandat. Le client doit compléter l’authentification par facteur supplémentaire (3DS) pour enregistrer le mandat.

Les paiements ultérieurs hors session ou les prélèvements automatiques pour un abonnement subissent un changement important. Les clients doivent recevoir une notification préalable de prélèvement indiquant le montant exact au moins 24 heures avant le prélèvement réel. Cette notification contient des informations relatives au paiement et une option pour annuler le mandat. Si le montant du paiement est supérieur à 15 000 INR ou au montant maximal, la notification préalable de prélèvement contient un lien permettant de procéder à l’authentification par facteur supplémentaire (3DS) pour autoriser le paiement.

Étant donné l’intégration de Stripe avec une plateforme partenaire, nous attendons 26 heures à partir de la réception d’une demande de paiement avant de débiter le client (nous ajoutons un délai pour d’éventuels problèmes en aval, d’où la nécessité d’une notification préalable de 26 heures). Cela signifie que Stripe retarde de 26 heures l’encaissement des paiements.

Si vous n’avez pas de mandat dans le cadre d’un paiement hors session, le paiement sera refusé.

Intégration

Les réglementations de la RBI concernent les abonnements qui utilisent collection_method=charge_automatically pour débiter des cartes émises en Inde.

Remarque

Stripe ne prend pas en charge les mandats électroniques pour les paiements récurrents en Inde avec PaymentIntents ou SetupIntents. Pour gérer les mandats de paiement récurrents, utilisez Subscriptions, comme décrit ci-dessous.

Création d’abonnements

Lorsque vous créez un nouvel abonnement via l’API,

  • Si vous avez défini un moyen de paiement par défaut, l’abonnement utilise le dernier SetupIntent du moyen de paiement et tente de trouver le mandat correspondant.
  • Si aucun mandat n’est en place, Stripe tente automatiquement d’en créer un même si vous ne fournissez pas les paramètres appropriés dans mandate_options. Le client doit ensuite authentifier le paiement.

Pour apprendre à créer un nouvel abonnement, consultez la page Créer une intégration pour les abonnements.

Recouvrement de revenus d’abonnements

Stripe fournit un certain nombre de fonctionnalités de recouvrement automatique pour vous aider à encaisser les paiements qui n’ont peut-être pas abouti. Si vous souhaitez gérer vous-même ces échecs de paiement, reportez-vous à la page Développer votre propre gestion des échecs pour les paiements récurrents pour obtenir des conseils. Quelques recommandations sont également faites ci-dessous.

Remarque

Les paiements effectués avec des cartes émises en Inde font l’objet d’une seule tentative. Ceci est indépendant de vos paramètres de relance de paiement. Si le paiement par carte émise en Inde échoue, l’état de votre abonnement et celui de votre facture seront tout de même mis à jour en fonction de ce que vous avez configuré dans vos paramètres d’abonnement et d’e-mail pour « En cas d’échec de toutes les tentatives de paiement ».

E-mails 3D Secure

Si aucun mandat n’est associé au moyen de paiement par défaut lors du renouvellement ou de la mise à jour d’un abonnement, Stripe tente d’en créer un. Pour enregistrer le mandat, le client doit compléter l’authentification par facteur supplémentaire (3DS). Activez l’option « Envoyer un lien hébergé par Stripe quand une confirmation du paiement par le client est nécessaire » dans les paramètres d’abonnement et d’e-mail pour inviter vos clients à rouvrir une session et compléter l’authentification, le cas échéant.

Remarque

Stripe ne tente pas de créer un nouveau mandat si le mandat actuel de l’abonnement est à l’état inactive.

Gérer les échecs de paiement

Nous vous recommandons d’activer l’envoi de notifications à vos clients si le paiement de leur abonnement échoue et que leur abonnement est suspendu. Stripe peut envoyer des e-mails aux clients pour leur demander de mettre à jour les moyens de paiement par carte ayant échoué, si vous activez cette option dans les paramètres d’abonnement et d’e-mail.

Création du mandat

Si vous utilisez Stripe pour créer automatiquement le mandat, les informations relatives au mandat sont renvoyées dans le PaymentIntent sous-jacent de la facture et dans l’objet Charge correspondant, ou dans le SetupIntent si vous créez l’abonnement avec une période d’essai.

Stripe ne renvoie pas d’ID de mandat si au moins l’une des conditions suivantes est remplie :

  • La carte n’a pas été émise en Inde.
  • La devise du mandat n’est pas prise en charge par l’émetteur ou par le pays du compte Stripe.
  • La carte émise en Inde n’est ni une carte Visa ni une carte Mastercard. Stripe ne prend en charge les mandats que pour ces deux marques de cartes.

Stripe prend en charge les mandats en INR pour toutes les entreprises. Les devises suivantes ne sont prises en charge que pour les entreprises internationales (non IN) :

  • USD
  • EUR
  • GBP
  • SGD
  • CAD
  • CHF
  • SEK
  • AED
  • JPY
  • NOK
  • MYR
  • HKD

L’Inde comptant une centaine de banques émettrices, l’adaptation complète aux nouvelles exigences devrait prendre un certain temps. Il se peut que des émetteurs ne prennent pas encore en charge les mandats électroniques pour des devises spécifiques. Dans ce cas, Stripe ne renvoie pas d’ID de mandat.

État du mandat et résolution des problèmes

Si Stripe ne parvient pas à créer un mandat, vous pouvez inviter votre client à utiliser une autre carte ou lui proposer une solution alternative, par exemple en attribuant la valeur send_invoice au paramètre collection_method de l’objet Subscription.

De plus, un mandat précédemment actif peut devenir inactif, par exemple si le client l’annule. Dans ce cas, le mandat passe à l’état inactive et Stripe envoie un événement mandate.updated.

Pour en savoir plus sur la réception de webhooks, consultez la section Procédure à suivre pour recevoir des webhooks.

Mises à jour d’abonnements

La notification préalable de prélèvement envoyée par la banque au titulaire de la carte indique, au minimum, les renseignements suivants : nom de l’entreprise, montant de la transaction, date ou heure du débit, numéro de référence du mandat et motif du débit. Veillez à ce que les informations de votre mandat correspondent au montant réellement facturé au client, afin d’éviter toute confusion ou tout refus.

Si vous utilisez Stripe pour créer automatiquement des mandats pour vos abonnements et que vous souhaitez mettre à jour un abonnement, nous vous recommandons d’inviter votre client à rouvrir une session pour annuler l’abonnement d’origine. Cela permet de créer un nouvel abonnement dans les scénarios suivants et de créer un mandat qui reflète fidèlement les informations de l’abonnement :

  • Modification de la période de facturation d’un abonnement
  • Mise à jour d’un abonnement pour lequel le client souhaite éviter d’avoir à autoriser le paiement à chaque renouvellement. Pour information, le mandat créé par Stripe est défini sur amount_type=maximum par défaut. Pour facturer au client une somme supérieure au montant maximal, il est nécessaire de spécifier amount_type=maximum. Le client sera cependant invité à autoriser le paiement pour les montants supérieurs à la valeur mandate_options[amount] ou à 15 000 INR (selon le montant le moins élevé des deux).

Exemples :

  • Si amount_type=maximum et amount=100000 sont présents, le client devra s’authentifier pour les montants supérieurs à 1 000 INR.
  • Si amount=2000000 est présent, le client devra s’authentifier pour les montants supérieurs à 15 000 INR.

Notification préalable de prélèvement

Une fois que le PaymentIntent hors session est confirmé, la banque émettrice envoie au client la notification préalable de prélèvement. Le PaymentIntent passe à l’état processing pendant toute la durée de la notification préalable de prélèvement (c’est-à-dire 26 heures) et il ne peut pas être annulé.

{ "object": "payment_intent", ... "processing": { "card": { "customer_notification": { "approval_requested": true, "completes_at": 1677307005 } }, "type": "card" }, ... "status": "processing", ... }

Si processing.card.customer_notification.approval_requested est défini sur true, le client doit authentifier le paiement à l’aide de la notification préalable de prélèvement envoyée par la banque émettrice.

L’attribut processing.card.customer_notification.completes_at spécifie l’heure à laquelle Stripe tente de débiter la carte. Si le traitement du paiement nécessite l’approbation du client, celui-ci doit authentifier le paiement avant l’heure spécifiée.

Codes d’erreur et de refus

Nous renvoyons des codes d’erreur dans les situations suivantes :

Code d’erreurDescription
payment_intent_mandate_invalidToute tentative de paiement récurrent à l’aide d’un mandat inactif renvoie ce code. Pour éviter cela, vous pouvez vérifier l’état du mandat avant d’effectuer une tentative de prélèvement.
india_recurring_payment_mandate_canceledToute tentative de paiement récurrent à l’aide d’un mandat annulé renvoie ce code. Cela peut se produire lorsque nous ignorions qu’un mandat avait été annulé.
processing_errorLa détection d’une erreur de traitement (généralement temporaire) renvoie ce code.

En ce qui concerne les mandats électroniques, certains codes de refus peuvent avoir une signification plus précise que dans les cas d’usage courants :

Code de refus de paiementDescription
transaction_not_approvedToute tentative de paiement ultérieure, alors que le client a suspendu les autorisations de prélèvement automatique ou qu’il n’authentifie pas le paiement lorsqu’il y est invité, renvoie ce code.

Tests

Vous pouvez utiliser ces numéros de carte de test pour simuler différents scénarios.

Dans un environnement de test, un PaymentIntent hors session met environ 15 minutes à quitter l’état processing. Pendant une session, le PaymentIntent d’un paiement initial n’est jamais à l’état processing.

NuméroScénario
Simule la configuration et le renouvellement d’un mandat.
Simule la réception d’une notification préalable de prélèvement par un titulaire de carte choisissant d’annuler ou de suspendre la transaction, indépendamment du montant du mandat.
Simule l’échec de l’envoi d’une notification préalable de prélèvement pour un paiement hors session par la banque émettrice au titulaire de la carte, indépendamment du montant du mandat.
Simule l’annulation d’un mandat par un titulaire de carte, indépendamment du montant du mandat.

Limitations

Notez les restrictions suivantes :

  • Stripe tente de créer automatiquement des mandats pour les abonnements créés après le 1er octobre 2021 uniquement. Pour les abonnements dont la création est antérieure à cette date, annulez et créez un nouvel abonnement pour vous assurer qu’un mandat est créé.
  • Vous ne pouvez pas créer de mandat en utilisant les API Charges et Sources.
  • Il n’est pas possible de transmettre un mandat existant à un abonnement.
  • Vous ne pouvez pas annuler ou mettre à jour un mandat.
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