新增 3DS1 和 3DS2 支援

3DS1 和 3DS2 均適用於 Actions Center 預約端對端整合。 您可以為整合導入任一種 (或兩者皆有)。

3DS1 或 3DS2 都能符合 PSD2 的「嚴格客戶驗證」規定,但兩者之間有一些主要差異:

  • 3DS1:發現有詐欺性扣款的信號時,您可以決定為交易觸發 3DS1。
    • 若要導入 3DS1,您必須變更預訂伺服器
  • 3DS2:3DS2 只會用於適用 PSD2 的交易 (收單銀行和客戶的銀行位於歐洲經濟區)。
    • 如要導入 3DS2,您必須變更商家動態饋給

導入 3DS2

如要導入 3DS2,您必須在 TokenizationConfig 訊息中的商家動態饋給中加入額外欄位。如果所有款項都會匯入同一個帳戶,請重複這兩個商家項目中的值。如果款項會匯進不同帳戶,則各個商家項目中的值必須是交易中收款帳戶的值。

修改商家動態饋給

  • merchant_of_record_name:商家記錄 (MOR) 的名稱。這個名稱會顯示在 3DS2 驗證要求中。
  • payment_country_code:處理交易的國家/地區,採 ISO 3166-1 alpha-2 格式
  • CardNetworkParameters 訊息:系統會重複顯示這則訊息,並提供不同網路的專屬值 (僅適用於 Visa 和美國運通卡)
    • card_network:這些值適用的網路 (Visa、American Express)
    • acquirer_bin:用於處理卡片的收單銀行銀行識別碼。
    • acquirer_merchant_id:收單銀行指派給商家的商家 ID,用於交易授權 (使用 Visa 與 American Express 交易)。

將這些欄位新增至商家動態饋給後,只要交易適用於 PSD2,您就會在預訂伺服器收到的 unparsed_payment_method_token 中收到 3DS2 密文。您應根據 unparsed_payment_method_token 的規格,將 unparsed_payment_method_token 和其嵌入的密文傳送給您的處理合作夥伴。

導入 3DS1

修改預訂伺服器

我們會發出 CreateBooking 要求。如果您判斷交易需要 3DS1,請透過 CreateBooking 方法傳回 Booking Failure,並指定 PAYMENT_REQUIRES_3DS1 做為原因。在該失敗回應中,您也必須在 PaymentFailureInformation 訊息中指定 ThreeDS1Parameters 訊息:

  • acs_url = 用於載入表單供使用者進行驗證的網址。
  • pa_req = PaymentAuthentication 要求,請貼進 ACSUrl 表單。
  • transaction_id = ACS 供應商使用的 ID。 請將它貼進 ACSUrl 表單。
  • md_merchant_data = 與 ACS 供應商共用的 Actions Center 資料 (如有提供)。

接著,我們會重新傳送原先的 CreateBooking 要求,並附上 PaymentInformation 訊息中的 pa_response。「pa_response」欄位會包含 ACS 供應商傳回給我們的酬載,您應使用此欄位來授權處理方進行交易。

下方圖表說明了使用 3DS1 驗證機制的付款流程:

圖 1:3DS1 流程圖
圖 1:3DS1 流程圖