Mit 3D Secure authentifizieren
Integrieren Sie 3D Secure (3DS) in Ihren Bezahlvorgang.
Vorsicht
Große Kartenmarken unterstützen 3D Secure 1 nicht mehr. Wenn Ihre Implementierung 3D Secure 1 nutzt, aktualisieren Sie sie, um die Payment Intents API und die Setup Intents API zu verwenden. Verwendung dieser APIs:
- Unterstützt 3D Secure 2 (3DS2.
- Nutzt Dynamic 3D Secure.
- Entspricht den europäischen Vorschriften für die starke Kundenauthentifizierung.
Sie können die 3D Secure (3DS)-Authentifizierung auf mehreren Plattformen in Ihren Bezahlvorgang integrieren, einschließlich Web, iOS, Android und React Native. Diese Integration führt 3D Secure 2 (3DS2) aus, wenn sie von der Bank der Kundin/des Kunden unterstützt wird. Andernfalls wird 3D Secure 1 angewendet. Sie können die 3DS-Authentifizierung auch auf Stripe durchführen, während Sie die Transaktion bei einem anderen Zahlungsdienstleister (PSP) akquirieren, indem Sie das Produkt Standalone 3DS verwenden.
3DS-Ablauf steuern
Stripe löst 3DS automatisch aus, wenn dies durch Vorschriften wie die starke Kundenauthentifizierung in Europa oder durch Branchenrichtlinien wie die Sicherheitsrichtlinien für Kreditkarten in Japan vorgeschrieben ist, wenn dies von einem Aussteller mit einem Soft Decline-Code angefordert wird oder wenn bestimmte Optimierungen von Stripe gelten.
Sie können auch Radar oder die API verwenden, um zu entscheiden, wann Nutzer/innen zur 3DS-Authentifizierung aufgefordert werden sollen. Auf diese Weise können Sie den Authentifizierungsvorgang für jede Nutzerin/jeden Nutzer basierend auf den von Ihnen gewählten Parametern anpassen. Allerdings unterstützen nicht alle Transaktionen 3DS, beispielsweise Wallets oder Off-Session-Zahlungen.
When a payment triggers 3DS, the card issuer might require the customer to authenticate to complete the payment, as long as 3DS authentication is supported for that card. While Stripe initiates the authentication request, the requirement comes from the issuer. Depending on the front end you’re using, this might require you to display the 3DS flow.
Bei einem typischen Payment Intent API-Ablauf, der 3DS auslöst:
- Die Nutzerin/der Nutzer gibt die Zahlungsinformationen ein, wodurch ein PaymentIntent oder ein SetupIntent bestätigt wird, oder fügt einer Kundin/einem Kunden eine PaymentMethod hinzu.
- Stripe prüft anhand von behördlichen Vorschriften, Radar-Regeln, manuellen API-Anfragen, vorübergehenden Ablehnungen (Soft Declines) des Ausstellers und anderen Kriterien, ob die Transaktion 3DS unterstützt und verlangt.
- Wenn 3DS:
- Nicht erforderlich: Aufgrund einer Befreiung versucht Stripe beispielsweise, die Zahlung durchzuführen. Der PaymentIntent wechselt in den Status
processing
. Wenn der Aussteller dies mit einem Soft Decline verlangt, versuchen wir es automatisch erneut und fahren bei Bedarf fort. - Nicht unterstützt: Der PaymentIntent geht in den Status
requires_
über. Je nachdem, aus welchem Grund 3DS ausgelöst wurde, kann es zulässig sein, mit dem Autorisierungsschritt der Zahlung fortzufahren. In diesem Fall geht der PaymentIntent in den Statuspayment_ method processing
über. - Required: Stripe starts the 3DS authentication flow by contacting the card issuer’s 3DS Access Control Server (ACS) and starting the 3DS flow.
- Nicht erforderlich: Aufgrund einer Befreiung versucht Stripe beispielsweise, die Zahlung durchzuführen. Der PaymentIntent wechselt in den Status
- Wenn 3DS-Ablaufinformationen vom Aussteller empfangen werden, reicht Stripe die Anfrage an den Aussteller ein, um den/die Karteninhaber/in zu authentifizieren. Der PaymentIntent geht in den Status
requires_
über:action - Nachfolgend erfahren Sie, wie die erforderliche 3DS-Aktion angezeigt wird. Aussteller können verschiedene Arten von 3DS-Ablaufaktionen anfordern, die möglicherweise nicht immer zur Anzeige eines abfragebasierten 3DS-Ablaufs führen (z. B. ein reibungsloser Ablauf).
- Wenn der Aussteller 3DS überhaupt nicht unterstützt oder ein Ausfall auftritt, kann Stripe versuchen, die Zahlung ohne Authentifizierung abzuschließen, sofern dies zulässig ist.
- Die Daten für 3DS-Authentifizierungsanfragen werden in der Regel von Kundinnen/Kunden zum Zeitpunkt der Transaktion bereitgestellt. Um Komplikationen und die Möglichkeit einer fehlgeschlagenen Authentifizierung zu verringern, können wir diese Anfragen mit Daten vervollständigen, die wir aus anderen Quellen ableiten, zum Beispiel Daten, die während des Zahlungsvorgangs von Ihrem Kunden/Ihrer Kundin erfasst wurden, Aufzeichnungen zu früheren Transaktionen, die Ihr Kunde/Ihre Kundin mit Ihnen getätigt hat, oder relevante Informationen, die über die Karte des Kunden/der Kundin oder die Aussteller/innen verfügbar sind.
- Wenn Stripe bereits Zugriff auf alle erforderlichen 3DS-Datenelemente hat, versucht unser optimierter 3DS-Server möglicherweise, die Authentifizierungsanfrage für Sie abzuschließen, während er den PaymentIntent bestätigt. Dies kann dazu führen, dass der PaymentIntent direkt in den Status
processing
wechselt, wenn der 3DS-Ablauf erfolgreich ist, oder in den Statusrequires_
, wenn zusätzliche Schritte oder Datenelemente erforderlich sind, um den 3DS-Ablauf abzuschließen.action
- Je nach Ergebnis der 3DS-Authentifizierung:
- Authentifiziert: Stripe versucht, die Zahlung durchzuführen, und der PaymentIntent geht in den Status
processing
über. - Fehlgeschlagen: Der PaymentIntent geht in den Status
requires_
über. Dies gibt an, dass Sie es mit einer anderen Zahlungsmethode versuchen müssen oder 3DS durch erneute Bestätigung erneut versucht werden kann.payment_ method - Andere Szenarien: Je nach dem Grund, aus dem 3DS für die Zahlung ausgelöst wurde, kann es in Grenzfällen zulässig sein, die Autorisierung für die Zahlung fortzusetzen. Beispielsweise führt das Ergebnis
attempt_
zu einer Zahlung und der PaymentIntent wechselt in den Statusacknowledged processing
.- Eine Ausnahme bildet die Erstellung von indischen E-Mandaten für wiederkehrende Zahlungen. Alle anderen Ergebnisse außer einem
authenticated
Ergebnis werden als Fehlschlag behandelt.
- Eine Ausnahme bildet die Erstellung von indischen E-Mandaten für wiederkehrende Zahlungen. Alle anderen Ergebnisse außer einem
- Authentifiziert: Stripe versucht, die Zahlung durchzuführen, und der PaymentIntent geht in den Status
- Der PaymentIntent wechselt je nach Zahlungsergebnis zu einem der folgenden Status:
succeeded
,requires_
odercapture requires_
.payment_ method
Um nachzuverfolgen, ob bei einer Kartenzahlung das 3DS-Verfahren unterstützt und versucht wurde, lesen Sie die Eigenschaft three_d_secure der Karteninformationen in den payment_
der Zahlung. Stripe füllt die Eigenschaft three_
aus, wenn die Kundin/der Kunde versucht, die Karte zu authentifizieren. three_
gibt das Ergebnis der Authentifizierung an.
Radar-Regeln im Dashboard verwenden
Stripe bietet Betrugskontrollen, um 3DS dynamisch anzufordern, wenn ein PaymentIntent oder ein SetupIntent erstellt oder bestätigt wird. Sie können diese Regeln in Ihrem Dashboard konfigurieren.
Wenn Sie über Radar for Fraud Teams verfügen, können Sie nutzerdefinierte 3DS-Regeln hinzufügen.
3DS manuell über die API anfordern
Bei der Standardmethode zum Auslösen von 3DS handelt es sich um die Verwendung von Radar zur dynamischen Anforderung von 3D Secure basierend auf der Risikostufe und weiteren Anforderungen. Das manuelle Auslösen von 3DS ist nur für erfahrene Nutzer/innen vorgesehen, die Stripe mit ihrer eigenen Betrugs-Engine vernetzen.
Um 3DS manuell auszulösen, setzen Sie payment_
entsprechend dem, was Sie optimieren möchten, wenn Sie entweder eine PaymentIntent erstellen oder bestätigen oder SetupIntent oder beim Erstellen einer Checkout-Sitzung. Dieser Vorgang ist derselbe für einmalige Zahlungen oder beim Einrichten einer Zahlungsmethode für zukünftige Zahlungen. Wenn Sie diesen Parameter angeben, versucht Stripe, 3DS durchzuführen, und überschreibt alle Dynamic 3D Secure Radar-Regeln in der PaymentIntent-, SetupIntent- oder Checkout-Sitzung.
Wann Sie diesen Parameter angeben, richtet sich danach, wann Ihre Betrugs-Engine ein Risiko erkennt. Wenn Ihre Betrugs-Engine beispielsweise nur Kartendaten prüft, wissen Sie, ob Sie 3DS anfordern müssen, bevor Sie den PaymentIntent oder SetupIntent erstellen. Überprüft Ihre Betrugs-Engine sowohl Karten- als auch Transaktionsdaten, geben Sie den Parameter während der Bestätigung an, sobald Ihnen mehr Informationen vorliegen. Übergeben Sie dann den resultierenden PaymentIntent oder SetupIntent an Ihren Client, um den Vorgang abzuschließen.
Untersuchen Sie die Verwendung des Parameters request_
für alle unterschiedlichen Fälle in der API-Dokumentation:
- PaymentIntent erstellen
- PaymentIntent bestätigen
- SetupIntent erstellen
- SetupIntent bestätigen
- Checkout-Sitzung erstellen
Legen Sie request_
auf any
fest, um 3DS manuell mit einer Präferenz für einen frictionless
Ablauf anzufordern, um die Wahrscheinlichkeit zu erhöhen, dass die Authentifizierung ohne zusätzliche Kundeneingaben abgeschlossen wird.
Legen Sie request_
auf challenge
fest, um 3DS mit einer Präferenz für einen challenge
-Ablauf anzufordern, bei dem die Kundin/der Kunde auf eine Aufforderung zur aktiven Authentifizierung reagieren muss.
Stripe kann Ihre Präferenz nicht garantieren, da der Aussteller den endgültigen Authentifizierungsablauf bestimmt. Sie können herausfinden, welches der letztendliche Authentifizierungsablauf war, indem Sie den authentication_
für die Eigenschaft three_
der Zahlung oder des SetupAttempt überprüfen. Um mehr über 3DS-Abläufe zu erfahren, lesen Sie unseren Leitfaden.
Vorsicht
Stripe fordert Ihren Kunden/Ihre Kundin nur dann zur Authentifizierung auf, wenn die 3DS-Authentifizierung für eine Karte verfügbar ist. Wenn sie für die betreffende Karte nicht verfügbar ist oder wenn während des Authentifizierungsvorgangs ein Fehler auftritt, wird die Zahlung normal durchgeführt.
Die obligatorischen Authentifizierungsregeln von Stripe werden automatisch ausgeführt, unabhängig davon, ob Sie 3DS manuell anfordern oder nicht. Alle 3DS-Anfragen von Ihnen kommen zu den für die starke Kundenauthentifizierung erforderlichen Anfragen hinzu.
3DS-Ablauf anzeigen
3DS-Ablauf testen
Verwenden Sie eine Stripe-Testkarte mit einer beliebigen CVC/Prüfnummer und Postleitzahl und einem beliebigen zukünftigen Ablaufdatum, um abfragebasierte 3DS-Authentifizierungsabläufe auszulösen, während Sie sich in einer Sandbox befinden.
Wenn Sie eine Integration mit Ihren Test-API-Schlüsseln erstellen, wird beim Authentifizierungsvorgang eine Pseudo-Authentifizierungsseite angezeigt. Auf dieser Seite können Sie die Zahlung autorisieren oder stornieren. Bei der Autorisierung der Zahlung wird eine erfolgreiche Authentifizierung simuliert und Sie werden an die angegebene Rückgabe-URL weitergeleitet. Durch Klicken auf die Schaltfläche Fehlgeschlagen wird ein erfolgloser Authentifizierungsversuch simuliert.
Bei allen anderen Visa- und Mastercard-Testkarten ist keine Authentifizierung durch die Kartenaussteller der Kundinnen/Kunden erforderlich.
Sie können nutzerdefinierte Radar-Regeln in einer Testumgebung erstellen, um die Authentifizierung für Testkarten auszulösen. Erfahren Sie mehr über das Testen Ihrer Radar-Regeln.
Angefochtene Zahlungen und Haftungsverlagerung
The liability shift rule typically applies to payments successfully authenticated using 3DS. In some cases, liability shift applies with equivalent cryptograms, such as Apple Pay or Google Pay. If a cardholder disputes a 3DS payment as fraudulent, the liability typically shifts from you to the card issuer.
Wenn eine Karte 3DS nicht unterstützt oder während des Authentifizierungsvorgangs ein Fehler auftritt, wird die Zahlung normal ausgeführt. In diesem Fall geht die Haftung in der Regel nicht auf den Aussteller über, da keine erfolgreiche 3DS-Authentifizierung stattgefunden hat.
In der Praxis bedeutet dies, dass Sie üblicherweise keine als betrügerisch gekennzeichneten Zahlungsanfechtungen erhalten werden, wenn die Zahlung unter die Haftungsverlagerungsregel fällt. Sie erhalten jedoch möglicherweise dennoch eine frühzeitige Betrugswarnung. Es ist immer noch möglich, dass Sie einen geringen Prozentsatz von Zahlungsanfechtungen aufgrund von Betrug erhalten. Im Folgenden listen wir einige Fälle auf, in denen die Haftungsverlagerungsregel möglicherweise nicht gilt.
Möglicherweise erhalten Sie eine Anfrage zu einer angefochtenen Zahlung zu einer erfolgreich mit 3DS authenfizierten Zahlung. Diese Art von Zahlungsanfechtung führt nicht zu einer Rückbuchung, da es sich nur um eine Anfrage nach Informationen handelt.
Anfragen zu Abbuchungen, die mit 3D Secure authentifiziert werden, müssen Sie unbedingt beantworten. Wenn Sie nicht reagieren, kann die Karteninhaberbank eine Rückbuchung, auch „Rückbuchung ohne Antwort“ genannt, einleiten, was die Haftungsverlagerung zunichtemachen könnte. Um Rückbuchungen von 3DS-Abbuchungen ohne Antwort zu verhindern, sollten Sie unbedingt ausreichend Informationen zu der Zahlung übermitteln. Sie sollten angeben, was bestellt wurde, wie und an wen es geliefert wurde (ob es sich um physische oder elektronische Waren oder Dienstleistungen handelt).
Notiz
Falls eine Kundin/ein Kunde eine Zahlung aus einem anderen Grund anficht (z. B. Produkt nicht erhalten), wird das Standardverfahren zur Abwicklung angefochtener Zahlungen eingesetzt. Treffen Sie daher gut überlegte Entscheidungen hinsichtlich Ihrer Unternehmensführung und achten Sie insbesondere darauf, wie mit Zahlungsanfechtungen umgegangen wird und wie Sie diese ganz vermeiden können.
Eine Haftungsverlagerung kann auch dann stattfinden, wenn das Kartennetzwerk 3DS verlangt, dies jedoch für die Karte oder den Aussteller nicht zur Verfügung steht. Dies kann vorkommen, wenn der 3DS-Anbieter des Ausstellers nicht verfügbar ist oder wenn der Aussteller 3DS nicht unterstützt, obwohl das Kartennetzwerk eine Unterstützung verlangt. Während des Zahlungsvorgangs wird der/die Karteninhaber/in nicht aufgefordert, die 3DS-Authentifizierung abzuschließen, da die Karte nicht registriert ist. Obwohl der/die Karteninhaber/in die 3DS-Authentifizierung nicht durchgeführt hat, kann die Haftung dennoch auf den Aussteller übergehen.
Stripe gibt den angeforderten Electronic Commerce Indicator (ECI) im electronic_
des Ergebnisses der 3DS-Authentifizierung zurück. Dieser Indikator kann dabei helfen, zu ermitteln, ob eine Zahlung der Haftungsverlagerungsregel entsprechen sollte. Da 3DS im Anschluss an die Antwort auf die anfängliche Zahlungsabsicht durchgeführt wird, erhalten Sie diese in der Regel von einem charge.
-Ereignis, das an einen Ihrer konfigurierten Webhook-Endpoints oder andere Ereignisziele gesendet wird. Ein angeforderter ECI könnte in der Antwort des Ausstellers herabgestuft werden, was wir nicht bekannt geben.
Vorsicht
Manchmal kommt es bei Zahlungen, die mit 3DS erfolgreich authentifiziert wurden, nicht zu einer Haftungsverlagerung. Dies ist selten und kann beispielsweise vorkommen, wenn Ihr Konto einen übermäßigen Anteil an Betrug aufweist und Sie an einem Betrugsüberwachungsprogramm teilnehmen. Bestimmte Netzwerke haben zudem einige Branchen von der Haftungsverlagerung ausgenommen. Zum Beispiel unterstützt Visa keine Haftungsverlagerung für Unternehmen, die Überweisungen oder Zahlungsanweisungen tätigen, für Nicht-Finanzinstitute, die Fremd- oder Nicht-Fiat-Währungen anbieten oder für den Kauf oder das Aufladen von Wertkarten.
It’s also possible for liability shift to get downgraded post-authorization, or the card network’s dispute rejection system might fail to catch liability shift for a transaction. In these cases, if you counter the dispute, Stripe automatically adds the requested ECI and the 3DS authentication outcome of the payment to your evidence details, but we recommend you also include additional details to increase your chance of winning the dispute.
Nutzerdefinierte Radar-Regeln für 3DS und Haftungsverlagerung
Wenn Sie Radar for Fraud Teams nutzen, können Sie Ihre Regeln anpassen. So steuern Sie, wann 3DS angefordert werden soll und wie jede spezifische Authentifizierung und Haftungsverlagerung behandelt werden soll. Die Regeln der starken Kundenauthentifizierung (SCA) von Stripe werden automatisch und unabhängig von nutzerdefinierten Radar-Regeln ausgeführt und blockieren nicht authentifizierte Zahlungen, sofern sie nicht ausgenommen sind.