Thêm tính năng hỗ trợ 3DS1 và 3DS2

Cả thiết bị 3DS1 và 3DS2 đều có thể tích hợp với tính năng Cuộc hẹn trên Actions Center của bạn từ đầu đến cuối. Bạn có thể triển khai một trong hai (hoặc cả hai) cách này để tích hợp.

3DS1 hoặc 3DS2 sẽ đáp ứng yêu cầu Xác thực khách hàng mạnh mẽ của PSD2, nhưng có một số điểm khác biệt chính:

  • 3DS1: Bạn có thể quyết định kích hoạt 3DS1 cho một giao dịch khi thấy có tín hiệu cho thấy khoản phí đó là gian lận.
    • Để triển khai 3DS1, bạn cần phải thay đổi máy chủ đặt phòng.
  • 3DS2: 3DS2 sẽ chỉ được sử dụng cho các giao dịch có áp dụng PSD2 (ngân hàng thu mua và ngân hàng của khách hàng nằm trong Khu vực kinh tế Châu Âu (EEA)).
    • Để triển khai 3DS2, bạn cần thay đổi nguồn cấp dữ liệu người bán của mình.

Triển khai 3DS2

Để triển khai 3DS2, bạn phải thêm các trường bổ sung vào nguồn cấp dữ liệu người bán trong thông báo TokenizationConfig. Nếu tất cả các khoản thanh toán chuyển đến cùng một tài khoản, bạn sẽ lặp lại giá trị trong mỗi mục của người bán. Nếu các khoản thanh toán được chuyển đến các tài khoản khác nhau, thì giá trị trong mỗi mục nhập của người bán cần phải là giá trị của tài khoản nhận tiền trong giao dịch.

Các thay đổi đối với Nguồn cấp dữ liệu Merchant Center

  • merchant_of_record_name: Tên của đơn vị chịu trách nhiệm xử lý thanh toán (MOR). Tên mà người dùng nhìn thấy này sẽ xuất hiện trong các thử thách 3DS2.
  • payment_country_code: Quốc gia nơi giao dịch sẽ được xử lý, ở dạng ISO 3166-1 alpha-2.
  • Thông báo CardNetworkParameters: Thông báo này được lặp lại với các giá trị dành riêng cho các mạng khác nhau (Chỉ cần cho thẻ Visa và American Express)
    • card_network: Mạng (Visa, American Express) mà những giá trị này áp dụng
    • acquirer_bin: Mã số nhận dạng ngân hàng của ngân hàng thanh toán hợp đồng được dùng để xử lý thẻ.
    • acquirer_merchant_id: Mã nhận dạng người bán do người mua chỉ định cho người bán để sử dụng trong việc uỷ quyền giao dịch (đối với các giao dịch Visa và American Express).

Bằng cách thêm các trường này vào nguồn cấp dữ liệu của người bán, bạn sẽ nhận được mật mã 3DS2 trong unparsed_payment_method_token mà máy chủ đặt trước nhận được bất cứ khi nào PSD2 áp dụng cho giao dịch. Bạn nên truyền unparsed_payment_method_token và mật mã được nhúng của mã đó cho đối tác xử lý theo quy cách của họ.

Triển khai 3DS1

Các thay đổi đối với Máy chủ đặt phòng

Chúng tôi sẽ đưa ra yêu cầu CreateBooking và nếu bạn xác định 3DS1 là cần thiết cho giao dịch, hãy trả về một Booking Failure qua phương thức CreateBooking và chỉ định PAYMENT_REQUIRES_3DS1 là nguyên nhân. Trong phản hồi lỗi đó, bạn cũng cần chỉ định thông báo ThreeDS1Parameters trong thông báo PaymentFailureInformation:

  • acs_url = URL cần tải biểu mẫu để hiển thị cho Người dùng để xác thực.
  • pa_req = Yêu cầu xác thực thanh toán. Để được đăng lên biểu mẫu ACSUrl.
  • transaction_id = Giá trị nhận dạng do nhà cung cấp ACS sử dụng. Để được đăng lên biểu mẫu ACSUrl.
  • md_merchant_data = Dữ liệu để Trung tâm hành động chia sẻ với nhà cung cấp ACS nếu được cung cấp.

Sau đó, chúng tôi sẽ gửi lại yêu cầu CreateBooking ban đầu bằng pa_response trong thông báo PaymentInformation. Trường pa_response sẽ chứa tải trọng mà một nhà cung cấp ACS trả về cho chúng tôi và bạn nên sử dụng trường này để uỷ quyền giao dịch với công ty xử lý của mình.

Dưới đây là sơ đồ mô tả quy trình 3DS1:

Hình 1: Sơ đồ quy trình 3DS1
Hình 1: Sơ đồ quy trình 3DS1