Menambahkan Dukungan 3DS1 dan 3DS2

3DS1 dan 3DS2 tersedia untuk integrasi End-to-End Janji Temu di Pusat Tindakan Anda. Anda dapat menerapkan salah satu (atau keduanya) untuk integrasi Anda.

3DS1 atau 3DS2 akan memenuhi persyaratan Strong Customer Authentication PSD2, tetapi ada beberapa perbedaan utama:

  • 3DS1: Anda dapat memutuskan memicu 3DS1 untuk transaksi saat mendapatkan sinyal bahwa tagihan tersebut merupakan penipuan.
    • Penerapan 3DS1 memerlukan perubahan pada server pemesanan Anda.
  • 3DS2: 3DS2 hanya akan digunakan untuk transaksi yang menerapkan PSD2 (bank penerima dan bank pelanggan berada di EEA).
    • Penerapan 3DS2 memerlukan perubahan pada feed penjual Anda.

Menerapkan 3DS2

Penerapan 3DS2 mengharuskan Anda untuk menambahkan kolom tambahan ke feed penjual dalam pesan TokenizationConfig. Jika semua pembayaran masuk ke akun yang sama, Anda akan mengulangi nilai ini dalam setiap entri penjual. Jika pembayaran masuk ke akun yang berbeda, nilai di setiap entri penjual harus ditetapkan untuk akun yang memperoleh dana dalam transaksi.

Perubahan pada Feed Penjual

  • merchant_of_record_name: Nama Entitas Pemroses Kartu (MOR). Nama yang terlihat oleh pengguna ini akan ditampilkan dalam tantangan 3DS2.
  • payment_country_code: Negara tempat transaksi akan diproses, dalam bentuk ISO 3166-1 alpha-2.
  • Pesan CardNetworkParameters: Pesan ini diulang dengan nilai khusus untuk jaringan yang berbeda (Hanya diperlukan untuk Visa dan American Express)
    • card_network: Jaringan (Visa, American Express) tempat nilai ini diterapkan
    • acquirer_bin: Nomor Identifikasi Bank dari bank pengambil yang digunakan untuk memproses kartu.
    • acquirer_merchant_id: ID penjual yang ditetapkan oleh pengakuisisi ke penjual untuk digunakan dalam otorisasi transaksi (untuk transaksi Visa dan American Express).

Dengan menambahkan kolom ini ke feed penjual, Anda akan menerima kriptogram 3DS2 dalam unparsed_payment_method_token yang diterima oleh server pemesanan Anda setiap kali PSD2 berlaku untuk transaksi. Anda harus meneruskan unparsed_payment_method_token dan kriptogram tersematnya ke partner pemrosesan sesuai dengan spesifikasinya.

Menerapkan 3DS1

Perubahan pada Server Pemesanan

Kami akan membuat permintaan CreateBooking dan jika Anda menentukan bahwa 3DS1 diperlukan untuk transaksi, tampilkan Booking Failure dari metode CreateBooking Anda, dan tentukan PAYMENT_REQUIRES_3DS1 sebagai penyebabnya. Dalam respons kegagalan tersebut, Anda juga harus menentukan pesan ThreeDS1Parameters dalam pesan PaymentFailureInformation:

  • acs_url = URL tempat memuat formulir yang akan ditampilkan kepada Pengguna untuk autentikasi.
  • pa_req = Permintaan PaymentAuthentication. Untuk diposting ke formulir ACSUrl.
  • transaction_id = ID yang digunakan oleh penyedia ACS. Untuk diposting ke formulir ACSUrl.
  • md_merchant_data = Data yang akan dibagikan oleh Pusat Tindakan kepada penyedia ACS jika disediakan.

Kemudian, kami akan mengirim ulang permintaan CreateBooking asli dengan pa_response yang ada dalam pesan PaymentInformation. Kolom pa_response akan berisi payload yang ditampilkan kepada kami dari penyedia ACS, dan kolom ini harus digunakan oleh Anda untuk mengizinkan transaksi dengan pemroses Anda.

Berikut adalah diagram yang mendeskripsikan alur 3DS1:

Gambar 1: Diagram proses 3DS1
Gambar 1: Diagram proses 3DS1