Dodawanie obsługi 3DS1 i 3DS2

Usługi 3DS1 i 3DS2 są dostępne w ramach kompleksowej integracji spotkań w Centrum działań. Na potrzeby swojej integracji możesz wdrożyć jeden z tych formatów (lub oba).

Zarówno 3DS1, jak i 3DS2 spełnią wymóg silnego uwierzytelniania klienta dyrektywą PSD2, ale istnieją pewne kluczowe różnice:

  • 3DS1: możesz aktywować 3DS1 dla transakcji, gdy otrzymasz sygnały, że obciążenie jest fałszywe.
    • Wdrożenie 3DS1 wymaga wprowadzenia zmian na serwerze rezerwacji.
  • 3DS2: usługa 3DS2 będzie używana tylko w przypadku transakcji objętych dyrektywą PSD2 (bank autoryzacyjno-rozliczeniowy i bank klienta znajdują się w Europejskim Obszarze Gospodarczym).
    • Wdrożenie 3DS2 wymaga wprowadzenia zmian w pliku danych sprzedawcy.

Implementacja 3DS2

Implementacja 3DS2 wymaga dodania dodatkowych pól do pliku danych sprzedawcy w komunikacie TokenizationConfig. Jeśli wszystkie płatności trafiają na to samo konto, powtarzasz wartość we wszystkich wpisach sprzedawcy. Jeśli płatności trafiają na różne konta, wartości w każdym wpisie sprzedawcy muszą dotyczyć konta pozyskującego środki w ramach transakcji.

Zmiany w pliku danych Merchant Center

  • merchant_of_record_name: imię i nazwisko zarejestrowanego sprzedawcy. Ta nazwa widoczna dla użytkownika będzie widoczna w testach zabezpieczających logowanie w 3DS2.
  • payment_country_code: kraj, w którym zostanie przetworzona transakcja, w formacie ISO 3166-1 alfa-2.
  • Komunikat CardNetworkParameters: ten komunikat jest powtarzany z wartościami odpowiednimi dla różnych sieci (wymagane tylko w przypadku kart Visa i American Express)
    • card_network: sieć (Visa, American Express), do której mają zastosowanie te wartości.
    • acquirer_bin: numer identyfikacyjny banku autoryzacyjnego użytego do przetworzenia karty.
    • acquirer_merchant_id: identyfikator sprzedawcy przypisany przez centrum autoryzacyjne do sprzedawcy na potrzeby autoryzacji transakcji (w przypadku transakcji Visa i American Express).

Jeśli dodasz te pola do pliku danych sprzedawcy, otrzymasz kryptogram 3DS2 w unparsed_payment_method_token otrzymanym przez serwer rezerwacji za każdym razem, gdy dla transakcji obowiązuje zasada PSD2. Użytkownik unparsed_payment_method_token i jego umieszczony kryptogram należy przekazać do partnera obsługującego przetwarzanie zgodnie z jego specyfikacją.

Implementacja 3DS1

Zmiany na serwerze rezerwacji

Wykonamy żądanie CreateBooking. Jeśli stwierdzisz, że 3DS1 jest potrzebny do transakcji, zwrócimy Booking Failure z metody CreateBooking i jako przyczynę podasz PAYMENT_REQUIRES_3DS1. W tej odpowiedzi o błędzie musisz też określić komunikat ThreeDS1Parameters w komunikacie PaymentFailureInformation:

  • acs_url = adres URL, z którego ma zostać wczytany formularz, który zostanie przedstawiony użytkownikowi w celu uwierzytelnienia.
  • pa_req = żądanie uwierzytelniania płatności. Do opublikowania w formularzu ACSUrl.
  • transaction_id = identyfikator używany przez dostawcę usługi ACS. Do opublikowania w formularzu ACSUrl.
  • md_merchant_data: dane, które Centrum działań mają być udostępnione dostawcy usługi ACS, jeśli zostaną udostępnione.

Następnie wyślemy ponownie pierwotne żądanie CreateBooking z adresem pa_response zawartym w wiadomości PaymentInformation. Pole pa_response będzie zawierać ładunek zwrócony do nas od dostawcy ACS. Powinno ono zostać użyte przez Ciebie do autoryzacji transakcji z firmą obsługującą płatności.

Oto schemat opisujący przepływ 3DS1:

Rysunek 1. Schemat procesu 3DS1
Rysunek 1. Schemat procesu 3DS1