3DS1 ve 3DS2 desteği ekleme

Actions Center Reservations End-to-End 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ğrulama şartını karşılar ancak aralarında bazı temel farklar vardır:

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

3DS2'yi uygulama

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

Satıcı feed'inde yapılan değişiklikler

  • merchant_of_record_name: Tescilli Satıcının (MOR) adı. Kullanıcılara gösterilen bu ad, 3DS2 mücadelelerinde gösterilir.
  • payment_country_code: İşlemin işlendiği ülke (ISO 3166-1 alpha-2 biçiminde).
  • CardNetworkParameters mesajı: Bu mesaj, farklı ağlara özgü değerlerle tekrarlanır (Yalnızca Visa ve American Express için gereklidir)
    • card_network: Bu değerlerin geçerli olduğu ağ (Visa, American Express)
    • acquirer_bin: Kartın işlenmesi için kullanılan kartı veren bankanın banka kimlik numarası.
    • acquirer_merchant_id: Alıcının, işlem yetkilendirmesinde (Visa ve American Express işlemleri için) kullanılması amacıyla satıcıya atadığı satıcı tanımlayıcısı.

Bu alanları satıcı feed'inize ekleyerek, PSD2 işlemi için geçerli olduğunda rezervasyon sunucunuz tarafından alınan unparsed_payment_method_token içinde bir 3DS2 kriptogramı alırsınız. unparsed_payment_method_token ve yerleşik kriptogramını, kendi spesifikasyonlarına göre işleme iş ortağınıza iletmeniz gerekir.

3DS1'i uygulama

Rezervasyon sunucusunda yapılan değişiklikler

Bir CreateBooking isteğinde bulunacağız. İşlem için 3DS1'e ihtiyaç olduğunu belirlerseniz CreateBooking yönteminizden bir Booking Failure döndürün ve nedeni olarak PAYMENT_REQUIRES_3DS1'i belirtin. Bu hata yanıtında, PaymentFailureInformation mesajı içinde ThreeDS1Parameters mesajını da belirtmeniz gerekir:

  • acs_url = Kimlik doğrulama için kullanıcıya gösterilecek formun yükleneceği URL.
  • pa_req = PaymentAuthentication Request. ACSUrl formuna gönderilir.
  • transaction_id = ACS sağlayıcısı tarafından kullanılan bir tanımlayıcı. ACSUrl formuna gönderilir.
  • md_merchant_data = Actions Center'ın, sağlanırsa ACS sağlayıcısıyla paylaşacağı veriler.

Ardından, PaymentInformation mesajındaki pa_response ile birlikte orijinal CreateBooking isteğinin yeniden gönderilmesini sağlayacağız. pa_response alanı, bir ACS sağlayıcısından bize döndürülen yükü içerir ve işlemi işleyicinizle yetkilendirmek için kullanmanız gerekir.

3DS1 akışını açıklayan bir şema aşağıda verilmiştir:

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