Di Payments API, Anda harus menghosting halaman checkout Anda sendiri, mengumpulkan informasi pembayar, dan mengirimkan informasi ke Xendit melalui endpoint API kami. Berdasarkan channel pembayaran atau alur pembayaran yang digunakan, Anda mungkin perlu mengambil tindakan tambahan agar pelanggan dapat menyelesaikan pembayarannya.
Untuk memulai integrasi dengan API Pembayaran kami, Anda dapat mulai dengan memahami alur integrasi, alur pembayaran, dan objek data yang terlibat. Anda dapat menguji panggilan API aktual menggunakan Payments Postman Collection kami untuk lebih memahami Anda.
Jenis permintaan yang tersedia
Endpoint | Jenis request | Deskripsi |
---|---|---|
|
| Digunakan oleh merchant yang ingin menagih satu pembayaran. Anda akan menerima satu objek pembayaran untuk satu objek permintaan pembayaran yang dibuat. Ini digunakan di channel pembayaran seperti e-wallet di mana jumlah pembayaran yang ditentukan diminta untuk pembayaran. |
|
| Digunakan oleh merchant yang ingin mengumpulkan beberapa pembayaran. Anda akan menerima beberapa objek pembayaran untuk satu objek permintaan pembayaran yang dibuat. Ini digunakan dalam channel pembayaran seperti QR di mana Anda dapat memiliki QR statis yang secara aktif menunggu pembayaran. |
|
| Digunakan oleh merchant yang ingin mengumpulkan satu pembayaran sambil menyimpan informasi pembayaran pengguna akhir. Anda akan menerima satu objek pembayaran untuk satu objek permintaan pembayaran yang dibuat. Selain itu, token pembayaran akan dikirim di webhook. Ini digunakan dalam channel pembayaran seperti kartu di mana jumlah pembayaran yang ditentukan diminta untuk pembayaran. |
|
| Digunakan oleh merchant yang ingin menyimpan informasi pembayaran pengguna akhir. Anda akan membuat dan menerima satu objek token pembayaran. Ini digunakan dalam skenario di mana merchant mengizinkan pengguna akhir untuk menyimpan informasi pembayaran ke profil mereka. |
|
| Digunakan oleh merchant yang ingin mengumpulkan satu pembayaran menggunakan token pembayaran yang disimpan sebelumnya. Anda akan menerima satu objek pembayaran untuk satu objek permintaan pembayaran yang dibuat. Ini digunakan dalam skenario di mana pengguna akhir mengembalikan transaksi berikutnya menggunakan informasi pembayaran yang disimpan. |
High level data objects
Nama objek data | Deskripsi |
---|---|
Permintaan pembayaran | Mewakili niat merchant untuk mengumpulkan pembayaran. Objek ini dihasilkan saat merchant membuat permintaan pembayaran melalui endpoint kami |
Pembayaran | Mewakili upaya pembayaran pengguna akhir yang terdeteksi. Objek ini dihasilkan ketika Xendit menerima pemberitahuan pembayaran dari channel aluran pembayaran. Ini biasanya dikirimkan ke titik akhir webhook Anda. |
Token pembayaran | Mewakili informasi pembayaran pengguna akhir. Objek ini dihasilkan saat merchant membuat token pembayaran melalui endpoint kami |
Alur integrasi
Payments API memiliki 2 endpoint inti untuk membantu Anda mengatur alur pembayaran. /payment_requests
membantu Anda mengumpulkan pembayaran sekaligus /payment_tokens
membantu Anda menyimpan informasi pembayaran pengguna akhir sebagai token yang aman untuk digunakan selanjutnya.
Perilaku standar di /payment_tokens
seluruh /payment_requests
dan API -
Pilih channel pembayaran yang diinginkan untuk mendapatkan properti channel yang diperlukan
Mulai transaksi dengan endpoint kami
Terima respons API dengan ID unik yang dapat digunakan untuk melacak status transaksi
Berdasarkan tindakan pengguna akhir diperlukan untuk menyelesaikan pembayaran, Anda akan mendapatkan berbagai rangkaian respons yang perlu ditangani sistem Anda
Jika tindakan pengguna akhir diperlukan
Jika tindakan pengguna akhir tidak diperlukan
Respons sinkron terhadap panggilan API dengan langkah berikutnya yang diperlukan
Webhook yang memberi tahu Anda tentang hasil pembayaran setelah pengguna akhir menyelesaikan tindakan pembayaran yang diperlukan
Respons sinkron terhadap panggilan API dengan hasil pembayaran
Webhook yang memberi tahu Anda tentang hasil pembayaran
Terima pemberitahuan event pembayaran melalui webhook. Notifikasi event ini akan memberi Anda informasi terbaru tentang apakah penyedia metode pembayaran menanggapi permintaan pembayaran Anda
Anda juga akan dapat melakukan operasi tambahan pada objek data (lihat API Reference untuk informasi lebih lanjut)
Jenis tindakan
Channel pembayaran yang berbeda memerlukan jenis autentikasi pengguna akhir khusus mereka sendiri untuk menyelesaikan transaksi pembayaran. API Pembayaran kami menstandarisasinya ke dalam 3 kategori untuk ditangani oleh sistem Anda.
1. Redirect customers
Ada channel pembayaran yang mengharuskan pengguna akhir untuk mengautentikasi transaksi di halaman yang dihosting atau aplikasi seluler mereka. Dalam kasus seperti itu, API pembayaran kami akan merespons dengan indikator REDIRECT_CUSTOMER
dalam actions
parameter. Ini sering terjadi dalam alur pembayaran dompet elektronik atau untuk transaksi 3DS dalam kartu.
Pastikan kompatibilitas perangkat ditangani untuk url yang disediakan oleh channel pembayaran yang diinginkan. Secara khusus, url pengalihan link dalam sering menyebabkan kesalahan.
2. Present to customers
Ada channel pembayaran yang mengharuskan pengguna akhir untuk mengambil tindakan berdasarkan informasi pembayaran tertentu yang disajikan. Dalam kasus seperti itu, API pembayaran kami akan merespons dengan indikator PRESENT_TO_CUSTOMER
dalam actions
parameter. Ini sering terjadi dalam alur pembayaran kode QR atau transfer bank.
3. Tidak perlu tindakan
Ada channel pembayaran yang mengharuskan pengguna akhir untuk mengambil tindakan berdasarkan informasi pembayaran tertentu yang disajikan. Dalam kasus seperti itu, API pembayaran kami akan merespons secara sinkron dengan status pembayaran akhir dan webhook dengan status pembayaran. Hal ini terjadi dalam alur pembayaran seperti Subscriptions di mana pembayaran adalah Merchant-Initiated Transactions (MIT).