# Wiederkehrende Zahlungen in Indien Erfahren Sie, wie Sie eine Integration aktualisieren, um E-Mandate der RBI zu unterstützen. Die indische Zentralbank (Reserve Bank of India, RBI) hat eine [Directive](https://www.rbi.org.in/Scripts/NotificationUser.aspx?Id=11668) erlassen (die später im [Dezember 2020](https://www.rbi.org.in/Scripts/NotificationUser.aspx?Id=12002) und [März 2021](https://www.rbi.org.in/Scripts/NotificationUser.aspx?Id=12051&Mode=0) geändert wurde), die zusätzliche Sicherheitsmaßnahmen für wiederkehrende Zahlungen mit von in Indien ausgestellten Karten vorsieht. Diese Maßnahmen umfassen: - Banken müssen Karteninhaber/innen registrieren und ein *E-Mandat* (An e-mandate is a form of authorization provided by cardholders to issuing banks that grants permission for recurring payments on their card. Any recurring payment arrangements (for example, monthly subscriptions to OTT services) need an associated e-mandate to be successful. The e-mandate needs to be registered and then validated through AFA, such as 3DS) über einen Einmalvorgang mit zusätzlicher Faktorauthentifizierung (AFA) wie *3D Secure (3DS)* (3D Secure (3DS) provides an additional layer of authentication for credit card transactions that protects businesses from liability for fraudulent card payments) erstellen. - Banken müssen Karteninhaber/innen mindestens 24 Stunden vor Abbuchungen benachrichtigen und ihnen die Möglichkeit geben, Transaktionen abzulehnen. - Wiederkehrende Transaktionen über 15.000 INR (oder den Gegenwert in anderen Währungen) müssen jedes Mal die AFA durchlaufen. Wenn Sie ein/e indische/r Stripe-Nutzer/in /in oder ein/e internationale/r (nicht-IN) Stripe-Nutzer/in/in sind, ist Ihr Unternehmen betroffen, wenn Sie Kund/innen haben, die indische Karten für folgende Zwecke verwenden: - *Off-Session* (A payment is described as off-session if it occurs without the direct involvement of the customer, using previously-collected payment information)-Zahlungen - Abonnements oder Rechnungen, bei denen `collection_method` auf `charge_automatically` festgelegt ist ## Funktionsweise von Zahlungen mit einem E-Mandat Stripe hat mit einer Partnerplattform zusammengearbeitet, um die Registrierung von E-Mandaten und die Ausgabe von Abbuchungsankündigungen an Kund/innen zu unterstützen. > Stripe-Nutzerinnen/Nutzern in Mexiko bieten wir derzeit keine Nutzung von E-Mandaten an. Je nachdem, wie Sie mit Stripe vernetzt sind, müssen Sie möglicherweise zusätzliche Informationen an Stripe übermitteln, um ein Mandat einzurichten. Der/die Kund/in muss die AFA (3DS) durchlaufen, um das Mandat zu registrieren. Nachfolgende Off-Session-Zahlungen oder automatische Abbuchungen für ein Abonnement unterliegen einer wesentlichen Änderung. Kund/innen müssen mindestens 24 Stunden vor der tatsächlichen Zahlung eine Abbuchungsankündigung erhalten, in der der genaue Abbuchungsbetrag genannt wird. Die Abbuchungsankündigung enthält Informationen über die Zahlung und eine Option zum Stornieren des Mandats. Wenn der Zahlungsbetrag über 15.000 INR oder dem Höchstbetrag des Mandats liegt, enthält die Abbuchungsankündigung einen Link zur Durchführung einer AFA (3DS), um die Zahlung zu autorisieren. Da Stripe mit einer Partnerplattform vernetzt ist, warten wir 26 Stunden, bevor wir das Kundenkonto nach Erhalt einer Zahlungsanfrage belasten (wir fügen einen Puffer für möglichen nachgelagerte Probleme hinzu, was die 26 Stunden für die Vorab-Benachrichtigung erforderlich macht). Dies bedeutet, dass Stripe den Zahlungsvorgang um 26 Stunden verzögert. Ohne ein Mandat für eine Off-Session-Zahlung wird die Zahlung abgewiesen. ## Integration Die RBI-Bestimmungen wirken sich auf Abonnements aus, die `collection_method=charge_automatically` verwenden, um in Indien ausgestellte Karten zu belasten. > Stripe unterstützt keine elektronischen Mandate für wiederkehrende Zahlungen in Indien mit `PaymentIntents` oder `SetupIntents`. Verwenden Sie Abonnements, um Mandate für wiederkehrende Zahlungen zu verwalten, wie unten beschrieben. ### Abonnementerstellung #### Nutzerdefinierter Code Beim Erstellen eines neuen Abonnements mit der API, - Wenn Sie eine Standard-Zahlungsmethode festgelegt haben, nutzt das Abonnement den neuesten SetupIntent für die Zahlungsmethode und versucht, ein entsprechendes Mandat zu finden. - Wenn kein Mandat vorhanden ist, versucht Stripe automatisch, eines zu erstellen, auch wenn Sie die relevanten Parameter nicht in [mandate_options](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-payment_settings-payment_method_options-card-mandate_options) übergeben. Der Kunde/die Kundin muss die Zahlung dann authentifizieren. #### Von Stripe gehostete Seite Wenn Sie Stripe [Checkout](https://docs.stripe.com/payments/checkout.md) mit `mode=subscription` oder [Payment Links](https://docs.stripe.com/payment-links.md) verwenden, um es Kundinnen/Kunden zu ermöglichen, sich für ein Abonnement zu registrieren, erstellt Stripe automatisch ein Mandat mithilfe der relevanten Parameter aus dem Abonnement. Sie können Mandatparameter nicht anpassen. Informationen zum Erstellen eines neuen Abonnements finden Sie unter [Abonnement-Integration erstellen](https://docs.stripe.com/billing/subscriptions/build-subscriptions.md). ### Umsatzrückgewinnung für Abonnement Stripe bietet eine Reihe von automatisierten Wiederherstellungsfunktionen, die dabei helfen Payments einzuziehen, die möglicherweise fehlgeschlagen sind. Wenn Sie diese fehlgeschlagenen Zahlungen selbst abwickeln möchten, finden Sie unter [Erstellen Sie eine eigene Abwicklung für wiederkehrende fehlgeschlagene Zahlungen](https://docs.stripe.com/india-recurring-payments.md#failed-payments)(#handle-recurring-charge-failures) eine Anleitung. Ansonsten sind nachfolgend einige Empfehlungen aufgeführt. > Zahlungen von in Indien ausgestellten Karten werden nur einmal versucht. Dieses Verhalten ist unabhängig von Ihren Einstellungen für Zahlungswiederholungen. Wenn die Zahlung mit einer in Indien ausgestellten Karte fehlschlägt, wird Ihr Abonnement- und Rechnungsstatus weiterhin basierend auf den Einstellungen aktualisiert, die Sie in Ihren [Abonnement- und E-Mail-Einstellungen](https://dashboard.stripe.com/settings/billing/automatic) konfiguriert haben für den Fall „Wenn alle Wiederholungsversuche einer Zahlung fehlschlagen“. #### E-Mail-Benachrichtigungen zu 3D Secure Wenn bei Abonnementverlängerungen oder -aktualisierungen kein Mandat für die Standardzahlungsmethode vorhanden ist, versucht Stripe, ein neues zu erstellen. Um das Mandat zu registrieren, muss der/die Kund/in eine AFA (3DS) durchführen. Aktivieren Sie in den [Einstellungen für Abonnements und E-Mails](https://dashboard.stripe.com/settings/billing/automatic) die Einstellung, um `Send a Stripe-hosted link for customers to confirm their payments when required`, damit Kund/innen bei Bedarf wieder zur Sitzung zurück gelangen können, um die Authentifizierung abzuschließen. > Stripe versucht nicht, ein neues Mandat zu erstellen, wenn das aktuelle vom Abonnement verwendete Mandat `inactive` ist. #### Fehlgeschlagene Zahlungen verwalten Wir empfehlen, Benachrichtigungen für Ihre Kund/innen zu aktivieren, wenn ihre Abonnementzahlungen fehlschlagen und deren Abonnement unterbrochen wird. Stripe kann E-Mails an Kund/innen senden, um fehlgeschlagene Kartenzahlungsmethoden zu aktualisieren, wenn Sie dies in den [Abonnements und E-Mail-Einstellungen](https://dashboard.stripe.com/settings/billing/automatic) aktivieren. ### Mandatserstellung Wenn Sie die automatische Erstellung des Mandats durch Stripe nutzen, werden die Mandatsdetails im zugrunde liegenden PaymentIntent der Rechnung und der entsprechenden Zahlung zurückgegeben, oder im SetupIntent, wenn Sie das Abonnement mit einer Testversion erstellen. Stripe gibt keine Mandats-ID zurück, wenn eine der folgenden Situationen zutrifft: - Eine Karte ist keine in Indien ausgestellte Karte. - Die Währung für das Mandat wird weder vom Aussteller noch vom Land des Stripe-Kontos unterstützt. - Die in Indien ausgestellte Karte ist weder Visa noch Mastercard. Stripe unterstützt nur Mandate für diese beiden Karten. Stripe unterstützt INR-Mandate für alle Unternehmen. Die folgenden Währungen werden nur für internationale (Nicht-IN)-Unternehmen unterstützt: - AUD - USD - EUR - GBP - SGD - CAD - CHF - SEK - AED - JPY - NOK - MYR - HKD Es gibt über 100 ausstellende Banken in Indien, und die vollständige Anpassung an die neuen Anforderungen wird voraussichtlich einige Zeit in Anspruch nehmen. Ein Aussteller unterstützt möglicherweise für eine bestimmte Währung noch keine E-Mandate. In diesem Fall gibt Stripe keine Mandats-ID zurück. Wenn Ihre Kundin/Ihr Kunde ein Abonnement mit [Adaptive Pricing](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md) initiiert und Mandate die ausgewählte Währung unterstützen, erstellt Stripe automatisch ein elektronisches Mandat in dieser Währung. ### Mandatsstatus und Fehlerbehebung Wenn Stripe kein Mandat erstellen kann, können Sie die Verwendung einer anderen Karte vorschlagen oder alternative Optionen anbieten, z. B. stattdessen das Festlegen von [collection_method](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-collection_method) als `send_invoice` für das Abonnement. Außerdem kann ein zuvor aktives Mandat inaktiv werden, zum Beispiel wenn der Kunde/die Kundin es storniert. In diesem Fall wird das Mandat `inactive` und Stripe sendet ein `mandate.updated`-Ereignis. Weitere Informationen zum Empfangen von Webhooks finden Sie unter [Schritte zum Empfang von Webhooks](https://docs.stripe.com/webhooks.md#webhooks-summary). ### Aktualisierungen von Abonnements Die Abbuchungsankündigung, die die Bank dem/der Karteninhaber/in sendet, enthält mindestens den Namen des Unternehmens, den Transaktionsbetrag, das Datum oder die Uhrzeit der Abbuchung, die Referenznummer des Mandats und den Grund für die Abbuchung. Stellen Sie sicher, dass Ihre Mandatsdetails mit dem übereinstimmen, wofür Sie den/die Kund/in tatsächlich belasten, um Missverständnisse oder Ablehnungen zu vermeiden. Wenn Sie von Stripe abhängig sind, um automatisch Mandate für Ihr Abonnement zu erstellen, und ein Abonnement aktualisieren möchten, empfehlen wir, dass Sie den/die Kund/in zurück in die Sitzung holen, um das ursprüngliche Abonnement zu kündigen. Auf diese Weise wird in den folgenden Szenarien ein neues Abonnement und ein neues Mandat erstellt, das die Details des Abonnements genau wiedergibt: - Änderungen am Abrechnungsintervall eines Abonnements - Upgrades auf ein Abonnement, bei denen der/die Kund/in die Zahlung nicht bei jeder Verlängerung autorisieren möchte. Zum Verständnis: Stripe erstellt das Mandat standardmäßig mit `amount_type=maximum`. Einem/einer Kund/in kann mit `amount_type=maximum` immer noch mehr als der Höchstbetrag berechnet werden. Der/die Kund/in muss jedoch Zahlungen für Beträge genehmigen, die über `mandate_options[amount]` oder 15.000 INR (je nachdem, welcher Betrag niedriger ist) liegen. Beispiele: - Bei `amount_type=maximum`, `amount=100000` muss sich die Kundin bzw. der Kunde für Beträge über 1.000 INR authentifizieren. - Bei `amount=2000000` muss sich der/die Kund/in für Beträge über 15.000 INR authentifizieren. ### Abbuchungsankündigung Wenn der Off-Session-PaymentIntent [bestätigt](https://docs.stripe.com/api/payment_intents/confirm.md) ist, sendet die ausstellende Bank die Abbuchungsankündigung an den Kunden/die Kundin. Der PaymentIntent geht für die gesamte Dauer der Abbuchungsankündigung (26 Stunden) in den Status `processing` über und kann nicht abgebrochen werden. ```json { "object": "payment_intent", ... "processing": { "card": { "customer_notification": { "approval_requested": true, "completes_at": 1677307005 } }, "type": "card" }, ... "status": "processing", ... } ``` Wenn [processing.card.customer_notification.approval_requested](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-processing-card-customer_notification-approval_requested) `true` ist, muss der Kunde/die Kundin die Zahlung mithilfe der Abbuchungsankündigung authentifizieren, die ihn/ihr von der ausstellenden Bank zugeschickt wurde. Das Attribut [processing.card.customer_notification.completes_at](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-processing-card-customer_notification-completes_at) gibt den Zeitpunkt an, zu dem Stripe versucht, die Karte zu belasten. Wenn der Kunde/die Kundin die erfolgreiche Zahlung bestätigen muss, muss er/sie die Zahlung bis zum angegebenen Zeitpunkt authentifizieren. ### Fehler- und Ablehnungscodes Wir geben [Fehlercodes](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-last_payment_error-decline_code) für die folgenden Szenarien zurück: | Fehlercode | Beschreibung | | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `payment_intent_mandate_invalid` | Dieser Code wird zurückgegeben, wenn eine wiederkehrende Zahlung mit einem inaktiven Mandat durchgeführt wird. Überprüfen Sie den Mandatsstatus, bevor Sie versuchen, die Zahlung einzuziehen – so lässt sich der Fehler leicht vermeiden. | | `india_recurring_payment_mandate_canceled` | Dieser Code wird zurückgegeben, wenn eine wiederkehrende Zahlung mit einem stornierten Mandat durchgeführt wird. Dies kann passieren, wenn wir erst zu diesem Zeitpunkt erfahren, dass ein Mandat storniert wurde. | | `processing_error` | Die Ermittlung eines (in der Regel vorübergehenden) Verarbeitungsfehlers gibt diesen Code zurück. | Bestimmte [Ablehnungscodes](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-last_payment_error-decline_code) haben hinsichtlich elektronischer Mandate möglicherweise spezifischere Erklärungen als [die allgemeinen Szenarien](https://docs.stripe.com/declines/codes.md): | Ablehnungscode | Beschreibung | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `transaction_not_approved` | Dieser Code wird zurückgegeben, wenn Sie versuchen, eine nachfolgende Zahlung durchzuführen, und die Kundin/der Kunde die Berechtigungen für die automatische Abbuchung pausiert oder die Zahlung nicht authentifiziert hat, wenn dies erforderlich ist. | ## Testen Mit diesen [Testkartennummern](https://docs.stripe.com/testing.md#testing-interactively) können Sie verschiedene Szenarien simulieren. In einer *Sandbox* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes) dauert es etwa 15 Minuten, bis ein Off-Session-PaymentIntent den Status `processing` verlässt. Der On-Session-PaymentIntent für eine anfängliche Zahlung wechselt nie in den Status `processing`. #### Kartennummern | Die Nummer | Szenario | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 4000003560000123 | Simuliert die erfolgreiche Einrichtung von Mandaten und Verlängerungen. | | 4000003560000297 | Simuliert eine/n Karteninhaber/in , der/die eine Abbuchungsankündigung für eine Off-Session-Zahlung erhält und die Zahlung für ein Mandat eines beliebigen Betrags entweder storniert oder unterbricht. | | 4000003560000248 | Simuliert das Versäumnis der ausstellenden Bank, dem/der Karteninhaber/in eine Abbuchungsankündigung während einer Off-Session-Zahlung für ein Mandat in beliebiger Höhe zu senden. | | 4000003560000263 | Simuliert eine/n Karteninhaber/in, der/die ein Mandat in beliebiger Höhe storniert. | #### PaymentMethods | PaymentMethod | Szenario | | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `pm_card_indiaRecurringMandateSetupAndRenewalsSuccess` | Simuliert die erfolgreiche Einrichtung von Mandaten und Verlängerungen. | | `pm_card_indiaRecurringPaymentFailureAfterPreDebitNotification` | Simuliert eine/n Karteninhaber/in , der/die eine Abbuchungsankündigung für eine Off-Session-Zahlung erhält und die Zahlung für ein Mandat eines beliebigen Betrags entweder storniert oder unterbricht. | | `pm_card_indiaRecurringPaymentFailureUndeliveredDebitNotification` | Simuliert das Versäumnis der ausstellenden Bank, dem/der Karteninhaber/in eine Abbuchungsankündigung während einer Off-Session-Zahlung für ein Mandat in beliebiger Höhe zu senden. | | `pm_card_indiaRecurringPaymentFailureCanceledMandate` | Simuliert eine/n Karteninhaber/in, der/die ein Mandat in beliebiger Höhe storniert. | ## Beschränkungen Beachten Sie die folgenden Einschränkungen: - Stripe versucht, automatisch Mandate nur für Abonnements zu erstellen, die nach dem 1. Oktober 2021 erstellt wurden. Wenn Sie vor diesem Datum ein Abonnement erstellt haben, stornieren Sie es und erstellen Sie ein neues Abonnement, um sicherzustellen, dass ein Mandat erstellt wird. - Sie können kein Mandat mit der [Charges API](https://docs.stripe.com/api/charges.md) und der [Sources API](https://docs.stripe.com/api/sources.md) erstellen. - Für Abos mit einer andern Währung als INR werden Mandate nur registriert, wenn der Kundin bzw. dem Kunden zum Zeitpunkt des Aboabschlusses eine indische Zahlungsmethode zugeordnet ist. Wenn Sie ein Abo in einer anderen Währung als INR ohne Zahlungsmethode erstellen und später eine indische Karte hinzufügen, wird kein Mandat erstellt. Um die ordnungsgemäße Erstellung eines Mandats sicherzustellen, fügen Sie vor der Erstellung des Abos eine indische Kreditkarte hinzu. - Sie können ein bestehendes Mandat nicht an ein Abonnement übergeben. - Sie können ein Mandat nicht stornieren oder aktualisieren.