3DS1 ve 3DS2 Desteği Ekleme

Actions Center Randevuları Uçtan Uca entegrasyonunuz için hem 3DS1 hem de 3DS2 kullanılabilir. Entegrasyonunuz için bunlardan birini (veya ikisini birden) uygulayabilirsiniz.

3DS1 veya 3DS2, PSD2'nin Güçlü Müşteri Kimlik Doğrulaması şartını karşılar ancak bazı önemli farklılıklar vardır:

  • 3DS1: Ödemenin sahte olduğuna dair sinyalleriniz olduğunda bir işlem için 3DS1'i tetiklemeye karar verebilirsiniz.
    • 3DS1'i uygulamak için rezervasyon sunucunuzda değişiklikler gerekir.
  • 3DS2: 3DS2 yalnızca PSD2'nin geçerli olduğu işlemler (satın alan banka ve müşterinin bankası AEA'da bulunduğu) için kullanılır.
    • 3DS2'yi uygulamak için satıcı feed'inizde değişiklik yapmanız gerekir.

3DS2'yi Uygulama

3DS2'yi uygulamak için TokenizationConfig mesajında satıcı feed'inize ek alanlar eklemeniz gerekir. Tüm ödemeler aynı hesaba yapılıyorsa değeri her satıcı girişinde tekrarlarsınız. Ödemeler farklı hesaplara gidiyorsa her satıcı girişindeki değerlerin, işlem sırasında parayı alan hesaba ait olması gerekir.

Satıcı feed'indeki değişiklikler

  • merchant_of_record_name: Tescilli Satıcının (MOR) adı. Kullanıcı tarafından görülebilen bu ad, 3DS2 sorgulamalarında gösterilir.
  • payment_country_code: ISO 3166-1 alfa-2 biçiminde, işlemin işleneceği ülke.
  • CardNetworkParameters mesajı: Bu mesaj, farklı ağlara özgü değerlerle tekrarlanır (Yalnızca Visa ve American Express için gerekir)
    • card_network: Bu değerlerin geçerli olduğu ağ (Visa, American Express)
    • acquirer_bin: Kartın işlenmesi için kullanılan alıcı bankanın Banka Kimlik Numarası.
    • acquirer_merchant_id: İşlem yetkilendirmesinde (Visa ve American Express işlemleri için) kullanılmak üzere edinici tarafından satıcıya atanan satıcı tanımlayıcısı.

Bu alanları satıcı feed'inize eklediğinizde, işleme PSD2 her uygulandığında rezervasyon sunucunuzun aldığı unparsed_payment_method_token içinde bir 3DS2 kriptogram alırsınız. unparsed_payment_method_token ve yerleştirilmiş kriptogramı, işleme iş ortağınıza spesifikasyonlarına uygun olarak iletmeniz gerekir.

3DS1'i Uygulama

Rezervasyon sunucusundaki değişiklikler

Bir CreateBooking isteği göndeririz. İşlem için 3DS1'in gerekli olduğunu belirlerseniz CreateBooking yönteminizden Booking Failure döndürün ve neden olarak PAYMENT_REQUIRES_3DS1 değerini belirtin. Bu hata yanıtında, PaymentFailureInformation mesajı içinde yer alan ThreeDS1Parameters mesajını da belirtmeniz gerekir:

  • acs_url = Kimlik doğrulama için Kullanıcıya sunulacak formun yükleneceği URL.
  • pa_req = Ödeme Kimlik Doğrulaması İsteği. ACSUrl formunda yayınlanacaktır.
  • transaction_id = ACS sağlayıcısı tarafından kullanılan tanımlayıcı. ACSUrl formunda yayınlanacaktır.
  • md_merchant_data = Sağlanmışsa Actions Center için ACS sağlayıcısıyla paylaşılacak veriler.

Ardından, PaymentInformation mesajında yer alan pa_response ile orijinal CreateBooking isteğini tekrar göndeririz. pa_response alanı, bir ACS sağlayıcısından bize iade edilen yükü içerir ve bu veri, işleyicinize işlem yetkisi vermek için sizin tarafınızdan kullanılmalıdır.

Burada, 3DS1 akışını açıklayan bir şema gösterilmektedir:

Şekil 1: 3DS1 süreç diyagramı
Şekil 1: 3DS1 süreç şeması