Mengapa beberapa pembayaran berhasil tanpa autentikasi meski 3D Secure diperlukan?

Jika pembayaran memerlukan Autentikasi 3D Secure, tetapi kami tidak dapat memulainya, kami akan melakukan percobaan terakhir untuk menyelesaikan pembayaran tanpa autentikasi. Saat charge fallback ini dipilih, status PaymentIntent akan diperbarui menjadi salah satu dari berikut ini:

Biasanya, pembayaran yang memicu 3D Secure akan menghasilkan PaymentIntent dengan status requires_action. Berikut panduan alur pembayaran umum yang memerlukan 3D Secure:

  1. Pelanggan Anda memberikan informasi pembayaran, dan dilampirkan pada PaymentIntent.
  2. Stripe memeriksa apakah 3D Secure diperlukan. Ini dapat ditentukan dari aturan Radar, baik diminta secara manual untuk pembayaran, dan faktor lainnya atau tidak
  3. Stripe memutuskan bahwa 3D Secure
    1. tidak diperlukan, jadi charge kartu dapat dicoba. Pada tahap ini, bank dapat mengirim kembali "penolakan halus" yang menunjukkan bahwa autentikasi diperlukan agar charge berhasil
    2. diperlukan, jadi 3DS dapat mulai dipicu
  4. Stripe memulai 3D Secure
  5. Stripe berhasil meminta 3D Secure, dan sekarang menunggu pelanggan untuk melakukan autentikasi. Transisi Payment Intent ke status requires_action.

Jika langkah 4 atau 5 gagal, alur pembayaran di atas akan berubah menjadi seperti berikut:

  1. Pelanggan Anda memberikan informasi pembayaran, dan dilampirkan pada PaymentIntent.
  2. Stripe memeriksa apakah 3D Secure diperlukan (ditentukan dari aturan Radar, baik diminta secara manual untuk pembayaran, dan faktor lainnya atau tidak).
  3. Stripe memutuskan bahwa 3D Secure diperlukan, dan mencoba proses autentikasi.
  4. Kami mengalami masalah saat memulai proses 3D Secure. Hal ini terjadi karena berbagai alasan, seperti kartu tidak mendukung 3DS, kesalahan pemrosesan, server 3D Secure penerbit mati, dll.
  5. Meski gagal menyelesaikan 3DS, percobaan pembayaran terakhir tetap dilakukan tanpa autentikasi. Ini menyebabkan PaymentIntent bertransisi ke status succeeded, requires_capture, atau requires_payment_method tergantung hasil pembayaran.

Alasan kami melakukan percobaan ini, alih-alih langsung memblokir pembayaran atau mengembalikan kesalahan, adalah karena kami ingin mengoptimalkan konversi.

Jika charge fallback gagal, status PaymentIntent diperbarui menjadi requires_payment_method. Jika charge fallback berhasil, charge tidak dibayar oleh pengalihan pertanggungjawaban, kecuali jika charge fallback memiliki status attempt_acknowledged pada payment_method_details.card.three_d_secure.result.

Untuk mengetahui informasi selengkapnya tentang pembayaran tidak terautentikasi dan Pengalihan Pertanggungjawaban, lihat Menggunakan Radar for Fraud Teams untuk mencegah charge tanpa Pengalihan Pertanggungjawaban