เพิ่มการรองรับ 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 message: ข้อความนี้จะซ้ำกันโดยมีค่าเฉพาะสำหรับเครือข่ายต่างๆ (จำเป็นสำหรับ 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 = คำขอ PaymentAuthentication เพื่อโพสต์ลงในแบบฟอร์ม ACSUrl
  • transaction_id = ตัวระบุที่ผู้ให้บริการ ACS ใช้ เพื่อโพสต์ไปยังแบบฟอร์ม ACSUrl
  • md_merchant_data = ข้อมูลสำหรับ Actions Center เพื่อแชร์กับผู้ให้บริการ ACS หากมี

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

แผนภาพต่อไปนี้อธิบายขั้นตอน 3DS1

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