Bahasa Indonesia
API ReferenceLogin

Panduan Integrasi

Last updated 01/12/2022

Pembayaran Sekali Waktu

Pembayaran sekali waktu atau One time payments merujuk pada alur checkout dimana user diwajibkan untuk melakukan otorisasi pembayaran (melalui OTP atau PIN) setiap kali user ingin melakukan pembayaran. Alur pembayaran ini sangat umum dilakukan dimana end user dapat melakukan penyelesaian pembayaran dengan cepat tanpa terlebih dahulu melakukan pendaftaran atau meyimpan informasi personal. Terdapat dua tipe pembayaran sekali waktu yang disediakan oleh provider eWallet - melalui pengalihan dan tanpa pengalihan. Silakan merujuk pada halaman charge object, charge endpoint dan notifikasi pembayaran pada API reference untuk membuat metode checkout ONE_TIME_PAYMENT.

  • Alur dengan pengalihan - DANA, LINKAJA, SHOPEEPAY, GCASH, PAYMAYA, GRABPAY
  • Alur tanpa pengalihan - OVO

Tokenisasi Pembayaran

Tokenisasi pembayaran merujuk pada proses checkout yang dirancang untuk memaksimalkan tingkat kesuksesan pembayaran dengan mengurangi jumlah otentikasi wajib per transaksi. User yang baru pertama kali bertransaksi atau yang memiliki token kedaluwarsa akan diarahkan untuk melakukan otorisasi penghubungan akun dengan PIN atau OTP. Ketika otorisasi selesai, merchant akan menerima token pembayaran untuk end user. Merchant dapat menggunakan token tersebut untuk membuat pembayaran melalui auto debit atau pengalihan dengan PIN (tanpa SMS OTP) untuk menyelesaikan pembayaran.

Pembayaran selanjutnya yang dilakukan oleh user yang sama akan langsung masuk ke pembayaran dikarenakan :

  • token pembayaran dapat digunakan ulang;
  • mengurangi proses otentikasi dengan hanya menggunakan PIN atau tidak ada otentikasi sama sekali.

Silakan untuk merujuk ke dokumentasi account linking untuk melakukan request account linking.

Alur Account linking

Alur account linking - OVO, Shopeepay, Paymaya, Grabpay

Terdapat 3 langkah yang diwajibkan untuk melakukan process account linking menggunakan alur tokenisasi - dimulai dengan pembuatan customer object dan diakhiri dengan pembuatan objek payment metode (digunakan pada saat melakukan pembayaran).

Step 1 - Pembuatan customer object melalui endpoint /customers dibutuhkan sebagai langkah pertama sebelum memulai account linking. Customer_id yang dibuat akan digunakan pada pemanggilan API selanjutnya untuk mengidentifikasi end user yang melakukan account linking. Terdapat kemungkinan aanya parameter tambahan untuk customer object, bergantung pada ketentuan setiap kanal pembayaran (contoh. OVO mewajibkan nama dan nomor handphone). Pada ksus tersebut, sangat direkomendasikan kepada merchant untuk membuat UI untuk end user melakukan input informasi tersebut.

Step 2 - Account linking pada tokenisasi eWallet merujuk pada end user yang melakukan otorisasi kepada merchant untuk melakukan transaksi melalui token (linking) dari (akun) eWallet end user. Endpoint /linked_account_tokens/auth memulai proses otorisasi dan menghasilkan token linked account. End user perlu diarahkan ke halaman provider eWallet untuk melakukan otorisasi account linking. Ketika account linking complete, notifikasi account linking akan dikirimkan ke callback url yang telah diatur pada request. Linked account id (prefix “la-”) pada notifikasi harus disimpan dikarenakan id ini akan digunakan pada langkah selanjutnya untuk membuat payment method object.

Step 3 - Payment method object digunakan untuk mewakili linked account (dihasilkan dari notifikasi account linking - prefix “la-”) untuk membuat pembayaran. Untuk membuat payment method object, customer id dan linked account id harus dimasukkan dalam request pad endpoint /payment_methods. Dengan payment_method_id (prefix “pm-”) dikembalikan pada response, Anda dapat melakukan input payment_method_id pada endpoint charge eWallet untuk melakukan inisiasi tokenisasi pembayaran.

Alur Pembayaran

Terdapat 2 tipe tokenisasi pembayaran yang disediakan oleh Xendit berdasarkan ketersediaan fitur dari provider eWaller :

  • Metode pengalihan/redirection dengan PIN - OVO, SHOPEEPAY
  • Auto debit - PAYMAYA, GRABPAY

Silakan merujuk pada bagian charge object, charge endpoint dan notifikasi pembayaran pada API reference untuk membuat metode checkout TOKENIZED_PAYMENT.

Menangani Token Tidak Sah / Kedaluwarsa

Terdapat kasus dimana token yang disimpan kemungkinan tidak sah ketika end user mengubah mandat login atau akses akun dicabut dari aplikasi eWallet. Merchant diharuskan untuk melakukan otorisasi ulang ketika hal ini terjadi. Terdapat dua cara bagaimana merchant mengetahui token tidak sah :

  • Pada saat pembayaran terjadi, terdapat respon gagal : INVALID_PAYMENT_METHOD_ERROR
  • Melalui callback - Xendit akan mengirimkan callback kedaluwarsa ke callback url yang digunakan pada saat account linking untuk memberitahukan jika akun tersebut akan kedaluwarsa atau telah kedaluwarsa