เพิ่มการรองรับ 3DS1 และ 3DS2

ทั้ง 3DS1 และ 3DS2 มีให้บริการสำหรับการผสานรวม Actions Center แบบเอนด์ทูเอนด์ คุณสามารถใช้วิธีใดวิธีหนึ่ง (หรือทั้ง 2 อย่าง) ในการผสานรวมก็ได้

3DS1 หรือ 3DS2 จะเป็นไปตามข้อกำหนดการตรวจสอบสิทธิ์ลูกค้าแบบเข้มงวดของ PSD2 แต่มีข้อแตกต่างสำคัญดังนี้

  • 3DS1: คุณสามารถเลือกที่จะทริกเกอร์ 3DS1 สำหรับธุรกรรมเมื่อมีสัญญาณว่าการเรียกเก็บเงินเป็นการฉ้อโกง
    • ในการนำ 3DS1 มาใช้ คุณจะต้องเปลี่ยนแปลงเซิร์ฟเวอร์การจอง
  • 3DS2: 3DS2 จะใช้เฉพาะกับธุรกรรมที่มี PSD2 มีผลบังคับใช้ (ธนาคารผู้รับชำระเงินและธนาคารของลูกค้าอยู่ใน EEA)
    • คุณต้องเปลี่ยนแปลงฟีดผู้ขายจึงจะใช้ 3DS2 ได้

การติดตั้งใช้งาน 3DS2

ในการใช้งาน 3DS2 คุณจะต้องตั้งค่าช่องเพิ่มเติมลงในฟีดผู้ขายภายในข้อความ TokenizationConfig หาก การชำระเงินทั้งหมดไปยังบัญชีเดียวกัน คุณจะต้องกรอกค่าซ้ำใน ข้อมูลของผู้ขายแต่ละรายการ หากการชำระเงินไปยังบัญชีอื่น มูลค่าในแต่ละรายการของผู้ขายต้องเป็นค่าที่นำไปใช้ในบัญชีที่ได้รับเงิน ภายในธุรกรรม

การเปลี่ยนแปลงในฟีดผู้ขาย

  • merchant_of_record_name: ชื่อนิติบุคคลที่ประมวลผลการชำระเงิน (MOR) ชื่อที่ผู้ใช้มองเห็นนี้จะแสดงในภารกิจ 3DS2
  • payment_country_code: ประเทศที่จะประมวลผลธุรกรรมในรูปแบบ ISO 3166-1 alpha-2
  • ข้อความ CardNetworkParameters: ข้อความนี้ซ้ำกับค่าที่ระบุสำหรับเครือข่ายที่แตกต่างกัน (ใช้สำหรับ Visa และ American Express เท่านั้น)
    • card_network: เครือข่าย (Visa, American Express) ที่ค่าเหล่านี้ใช้
    • acquirer_bin: หมายเลขประจำตัวธนาคาร ของธนาคารที่รับเงินซึ่งใช้ในการประมวลผลบัตร
    • acquirer_merchant_id: ตัวระบุผู้ขายที่ผู้ซื้อกำหนดให้กับผู้ขายเพื่อใช้ในการอนุมัติธุรกรรม (สำหรับธุรกรรมของ Visa และ American Express)

การเพิ่มช่องเหล่านี้ลงในฟีดผู้ขาย คุณจะได้รับคริปโตแกรม 3DS2 ภายใน unparsed_payment_method_token ที่เซิร์ฟเวอร์การจองได้รับเมื่อใดก็ตามที่ PSD2 มีผลกับธุรกรรม คุณควรส่ง unparsed_payment_method_token และคริปโตแกรมแบบฝังของใบรับรองไปยังพาร์ทเนอร์การประมวลผลตามข้อกำหนดของพาร์ทเนอร์ดังกล่าว

การติดตั้งใช้งาน 3DS1

การเปลี่ยนแปลงในเซิร์ฟเวอร์การจอง

เราจะส่งคำขอ CreateBooking และหากคุณพิจารณาว่าจำเป็นต้องใช้ 3DS1 สำหรับธุรกรรม ให้แสดงผล Booking Failure จากเมธอด CreateBooking และระบุ PAYMENT_REQUIRES_3DS1 เป็นสาเหตุ ในการตอบกลับที่ล้มเหลว คุณต้องระบุข้อความ ThreeDS1Parameters ภายในข้อความ PaymentFailureInformation ด้วย

  • acs_url = URL ที่จะโหลดแบบฟอร์มเพื่อแสดงให้กับผู้ใช้เพื่อการตรวจสอบสิทธิ์
  • pa_req = คำขอการตรวจสอบสิทธิ์การชำระเงิน เพื่อโพสต์ไปยังฟอร์ม ACSUrl
  • transaction_id = ตัวระบุที่ผู้ให้บริการ ACS ใช้ เพื่อโพสต์ไปยังแบบฟอร์ม ACSUrl
  • md_merchant_data = ข้อมูลสำหรับ Actions Center ที่จะแชร์กับผู้ให้บริการ ACS หากมี

จากนั้นเราจะส่งคําขอ CreateBooking เดิมอีกครั้งพร้อมกับ pa_response ที่อยู่ในข้อความ PaymentInformation ช่อง pa_response จะมีเพย์โหลดที่ผู้ให้บริการ ACS ส่งกลับมาให้เรา ซึ่งคุณควรใช้เพื่อให้สิทธิ์การทำธุรกรรมกับผู้ประมวลผลข้อมูลของคุณ

ต่อไปนี้เป็นแผนภาพที่อธิบายโฟลว์ 3DS1

รูปที่ 1: แผนภาพกระบวนการ 3DS1
รูปที่ 1: แผนภาพกระบวนการ 3DS1