3DS1- und 3DS2-Unterstützung hinzufügen

Sowohl 3DS1 als auch 3DS2 stehen für die End-to-End-Integration von Actions Center-Terminen zur Verfügung. Du kannst eine (oder beide) für deine Integration implementieren.

3DS1 oder 3DS2 erfüllen die Anforderung zur starken Kundenauthentifizierung für PSD2. Es gibt jedoch einige wichtige Unterschiede:

  • 3DS1: Du kannst 3DS1 für eine Transaktion auslösen, wenn du Anzeichen für eine betrügerische Belastung hast.
    • Für die Implementierung von 3DS1 sind Änderungen an deinem Buchungsserver erforderlich.
  • 3DS2: 3DS2 wird nur für Transaktionen verwendet, für die PSD2 gilt (die ausführende Bank und die Bank des Kunden befinden sich im EWR).
    • Für die Implementierung von 3DS2 sind Änderungen an deinem Händlerfeed erforderlich.

Implementierung von 3DS2

Für die Implementierung von 3DS2 musst du deinem Händlerfeed in der TokenizationConfig-Nachricht zusätzliche Felder hinzufügen. Wenn alle Zahlungen auf dasselbe Konto erfolgen, wird der Wert in jedem Händlereintrag wiederholt. Wenn die Zahlungen an verschiedene Konten erfolgen, müssen die Werte in jedem Händlereintrag für das Konto gelten, auf das der Betrag im Rahmen der Transaktion überwiesen wird.

Änderungen am Händlerfeed

  • merchant_of_record_name: Name des Merchant Of Record (Vertragspartner) (MOR). Dieser für Nutzer sichtbare Name wird in 3DS2-Wettkämpfen angezeigt.
  • payment_country_code: Land, in dem die Transaktion verarbeitet wird, im Format ISO 3166-1 alpha-2.
  • CardNetworkParameters-Nachricht: Diese Nachricht wird mit den Werten wiederholt, die für verschiedene Netzwerke spezifisch sind (nur für Visa und American Express erforderlich).
    • card_network: Das Netzwerk (Visa, American Express), für das diese Werte gelten.
    • acquirer_bin: Die Bankidentifikationsnummer der ausführenden Bank für die Verarbeitung der Karte.
    • acquirer_merchant_id: die Händler-ID, die die ausführende Bank dem Händler für die Transaktionsautorisierung zugewiesen hat (für Visa- und American Express-Transaktionen).

Wenn du diese Felder deinem Händlerfeed hinzufügst, erhältst du ein 3DS2-Kryptogramm innerhalb der unparsed_payment_method_token, das von deinem Buchungsserver empfangen wird, wenn PSD2 für die Transaktion gilt. Du solltest das unparsed_payment_method_token und das eingebettete Kryptogramm gemäß dessen Spezifikation an deinen Verarbeitungspartner übergeben.

Implementierung von 3DS1

Änderungen am Buchungsserver

Wir senden eine CreateBooking-Anfrage. Wenn du feststellst, dass 3DS1 für die Transaktion erforderlich ist, gib ein Booking Failure aus deiner CreateBooking-Methode zurück und gib PAYMENT_REQUIRES_3DS1 als Ursache an. In dieser Fehlerantwort müssen Sie auch die Nachricht ThreeDS1Parameters innerhalb der Nachricht PaymentFailureInformation angeben:

  • acs_url: Die URL, von der ein Formular geladen wird, das dem Nutzer zur Authentifizierung angezeigt wird.
  • pa_req: Eine PaymentAuthentication-Anfrage. Wird an das ACSUrl-Formular gesendet.
  • transaction_id: Eine vom ACS-Anbieter verwendete Kennung. Wird an das ACSUrl-Formular gesendet.
  • md_merchant_data = Daten, die vom Actions Center an den ACS-Anbieter weitergegeben werden, sofern angegeben.

Wir senden dann die ursprüngliche CreateBooking-Anfrage noch einmal mit der pa_response in der PaymentInformation-Nachricht. Das Feld pa_response enthält die Nutzlast, die von einem ACS-Anbieter an uns zurückgegeben wird. Sie sollte von dir verwendet werden, um die Transaktion bei deinem Abwickler zu autorisieren.

Das folgende Diagramm veranschaulicht den 3DS1-Ablauf:

Abbildung 1: 3DS1-Prozessdiagramm
Abbildung 1:3DS1-Prozessdiagramm