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 驗證機制的付款流程: