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 mencakuptoken_id
,amount
, dancard_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”
- Memastikan untuk memasukan
*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
- Memastikan untuk memasukan
- 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.
- Mengambil
token_id
dari multiple-use token yang telah disimpan dari Panduan Menyimpan Kartu sebelumnya - Melakukan otentikasi menggunakan token
- Mengirim charge request menggunakan
token_id
multiple-use token yang telah disimpan a. Memastikan untuk memasukanauthentication_id
yang telah diterima dari langkah sebelumnya b. Direkomendasikan untuk mengirim informasi CVV/CVN melaluicard_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.
- Mengambil
token_id
dari multiple-use token yang telah disimpan dari Panduan Menyimpan Kartu sebelumnya - Untuk transaksi pertama, lakukan otentikasi menggunakan token tersebut
- 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 menggunakanauthentication_id
dancard_cvn
Last Updated on 2023-05-20