Simpan Informasi Kartu untuk Transaksi yang akan Datang

Deskripsi

Xendit menyediakan fitur penyimpanan informasi kartu kredit pengguna baik pada saat pembayaran pertama ataupun tanpa adanya pembayaran sama sekali setelah Anda mendapatkan izin dari pengguna agar dapat menyimpan informasi kartu kredit mereka untuk transaksi ke depannya. Istilah umum dari jenis transaksi berikut biasa disebut “recurring payment” atau pembayaran berkala.

Jenis transaksi ini pada umumnya mencakup:

  • Cardholder-initiated transaction: pembayaran dilakukan dengan keterlibatan aktif oleh pemilik kartu (contoh: alur pembayaran e-commerce pada umumnya), di mana pengguna dapat menyimpan informasi kartu setelah melakukan transaksi pertama; kemudian pengguna melakukan pembayaran lainnya dengan informasi kartu yang telah disimpan pada transaksi berikutnya.
  • Merchant-initiated transaction: pembayaran dilakukan tanpa keterlibatan aktif oleh pemilik kartu (contoh: produk berlangganan/subscription), di mana pengguna akan menyimpan kartu sebagai alat pembayaran, kemudian pembayaran berulang / subscription dapat dilakukan oleh pemilik usaha pada jangka waktu tertentu.

Langkah dalam menyimpan kartu kredit

Langkah 1: Membuat Multiple-Use Token

Multiple-use token dapat dibuat menggunakan fungsi Xendit.card.createToken yang sama di Xendit.js. Namun, Anda harus menambahkan is_multiple_use = true di tokenData

Hasil dari fungsi ini adalah untuk membuat sebuah token yang dapat digunakan berulang kali, yang membutuhkan proses otentikasi sebelum digunakan untuk melakukan pembayaran.

Langkah 2: Autentikasi menggunakan Token

Untuk melakukan otentikasi token, anda dapat memanggil fungsi Xendit.card.createAuthentication di Xendit.js.

Fungsi tersebut dapat menerima argumen berikut :

  • authenticationData: berisi detail otentikasi mencakup token_id, amount, dan card_cvn
  • xenditResponseHandler: callback yang perlu dibuat untuk menerima respon dari Xendit.

Simpan authentication_id yang telah Anda terima setelah otentikasi berhasil untuk digunakan dalam pembayaran / transaksi pertama.

Langkah 3: Validasi kartu pre-authorization

Langkah ini tergolong opsional, jika anda ingin melakukan validasi apakah kartu dapat digunakan untuk melakukan transaksi atau tidak, Xendit menyediakan 2 metode yang dapat anda gunakan untuk melakukan validasi kartu.

Metode validasi berikut akan melakukan proses otorisasi untuk memastikan apakah kartu tersebut valid, tidak kadaluarsa, dan dapat digunakan untuk pembayaran online.

0-auth / Zero amount authorization

Proses ini umumnya tidak ditampilkan sebagai transaksi pada rekening pemilik kartu (bergantung pada issuer).

  • Mengirim zero-authorization request menggunakan token_id dari multiple-use token yang telah dibuat di Langkah 1
    • Memastikan untuk memasukan authentication_id yang telah diterima dari Langkah 2
    • Masukkan nilai tagihan menjadi - “0”

*Untuk dapat melakukan “0-auth”, akun Anda harus memiliki “card processor” yang memiliki kompatibilitas untuk melakukan “zero amount authorization”. Anda dapat menggunakan “development environment” untuk mencoba fitur “zero amount authorization” tersebut.

$1-auth / 1 dollar authorization

Proses ini akan ditampilkan sebagai transaksi pada rekening pemilik kartu.

  • Mengirim pre-authorization request dengan charge menggunakan token_id dari multiple-use token yang telah dibuat pada Langkah 1
    • Memastikan untuk memasukan authentication_id yang telah diterima dari Langkah 2
    • Masukkan nilai menjadi $1
      • *ID: “14000”
      • PHP: “50”
      • USD: “1”
    • Atur capture sebagai FALSE
  • Setelah $1-auth berhasil, Anda dapat mengirim reverse authorization request untuk memastikan uang yang tertahan di proses validasi dapat dikembalikan ke pemilik kartu.

*Nilai tukar hanya estimasi.

**Jika tidak ada permintaan “reverse authorization” dalam kurun waktu 7 hari sejak otorisasi dilakukan maka otorisasi transaksi tersebut akan otomatis dikembalikan ke pemilik kartu.

Panduan untuk charge kartu yang akan datang

Anda sekarang dapat melakukan charge dengan kartu yang telah disimpan menggunakan charge endpoint dengan token.

Pengguna menginisiasi transaksi

Untuk jenis transaksi ini, Anda disarankan untuk melakukan otentikasi sebelum charge meskipun tidak wajib.

  1. Mengambil token_id dari multiple-use token yang telah disimpan dari Panduan Menyimpan Kartu sebelumnya
  2. Melakukan otentikasi menggunakan token
  3. Mengirim charge request menggunakan token_id multiple-use token yang telah disimpan a. Memastikan untuk memasukan authentication_id yang telah diterima dari langkah sebelumnya b. Direkomendasikan untuk mengirim informasi CVV/CVN melalui card_cvn

Pemilik usaha menginisiasi transaksi

Untuk jenis transaksi ini, Anda tidak membutuhkan otentikasi walaupun direkomendasikan bahwa pembayaran pertama dalam rangkaian dari pembayaran Card on File (COF) memerlukan 3DS dan CVV (3-digit kode keamanan) berhasil diverifikasi.

  1. Mengambil token_id dari multiple-use token yang telah disimpan dari Panduan Menyimpan Kartu sebelumnya
  2. Untuk transaksi pertama, lakukan otentikasi menggunakan token tersebut
  3. Mengirim charge request menggunakan token_id multiple-use token yang telah disimpan a. Masukkan “is_recurring”: “true” di dalam charge request anda b. Untuk pembayaran berikutnya, Anda tidak perlu menggunakan authentication_id dan card_cvn

Last Updated on 2023-05-20