Tentang Callback
Callback atau Webhook pada Xendit digunakan untuk menyampaikan informasi kepada aplikasi atau website bisnis Anda saat sebuah event terjadi.
Pada Xendit, Callback akan bekerja ketika pembayaran berhasil diproses oleh Xendit atau pembayaran mengalami kegagalan atau berhasil. Segala aktivitas yang terjadi pada Xendit akan diinformasikan ke website/aplikasi di sisi Anda melalui callback dalam bentuk status transaksi atau pembayaran.
Kriteria Set Up Callback
Untuk dapat membuat Callback atau Webhook, Anda hanya diharuskan untuk membuat mini aplikasi atau website yang dapat menerima request HTTP.
Apabila Anda sudah memiliki website atau aplikasi untuk bisnis Anda sendiri, membuat callback atau webhook dapat lebih mudah dilakukan hanya dengan menambahkan URL ke aplikasi Anda.
Untuk dapat melakukan set up callback atau webhook, aplikasi atau website pada bisnis Anda harus memenuhi kriteria-kriteria di bawah ini terlebih dahulu:
- LIVE (Public) URL Website;
- Memiliki HTTPS;
- Tidak memiliki localhost (localhost://invoice-paid);
- Tidak memiliki Port (invoice.com:4444/paid.);
- Tidak memiliki IP pada callback URL (1.1.1.1);
- Dapat mengirimkan response dengan status yang telah diterima
- Dapat mengenali endpoint callback dari setiap produk yang ada pada Xendit
Prosedur Set Up Callback
Di bawah ini merupakan langkah-langkah pembuatan callback atau webhook di sisi Xendit baik melalui dashboard maupun API, yaitu sebagai berikut:
via Dashboard
- Apabila Anda belum memiliki website atau aplikasi, Anda dapat menggunakan aplikasi Beeceptor sebagai simulasi website yang digunakan sebagai callback URL Anda.
- Pada aplikasi Beeceptor terkait, Anda dapat membuat URL atau Callback Endpoint terlebih dahulu sebagai simulasi untuk melakukan set up callback url melalui Xendit
- Klik tombol biru bertuliskan 'Create Endpoint' untuk membuat simulasi Callback Endpoint
- Anda akan diarahkan ke Callback URL simulasi dari Beeceptor setelah Callback Endpoint tersebut dibuat.
- Copy URL Callback bertuliskan 'https//test-callback.free.beeceptor.com' yang nantinya akan diintegrasikan dengan Xendit
- Copy URL Callback bertuliskan 'https//test-callback.free.beeceptor.com' yang nantinya akan diintegrasikan dengan Xendit
- Sign in atau sign up pada Akun Xendit Anda
- Pastikan Akun Xendit Anda berada pada mode environment yang tepat ("Live Mode" atau "Test Mode") pada bagian atas halaman dashboard Xendit Anda
- Pilih mode 'Live' apabila Anda ingin melakukan transaksi secara real
- Pilih mode 'Test' apabila Anda ingin melakukan simulasi transaksi secara fiktif
- Apabila Anda sudah terlogin ke Akun Xendit Anda, pergi menuju menu 'Settings/Pengaturan'
- Klik menu 'Callback' pada bagian Developer
- Aktifkan tombol hijau bertuliskan 'Enable auto-retry for failed callback'
- Dapatkan token verifikasi callback yang nantinya akan Anda butuhkan untuk proses verifikasi.
- Klik tombol bertuliskan "Callback Verification Token";
- Masukan password Dashboard Xendit Anda;
- Simpana token tersebut pada server di sisi Anda
- Token terkait akan digunakan untuk proses autentikasi
- Set up callback URL Anda
- Pilih metode pembayaran apa yang ingin Anda atur Callback URL-nya. Pada kali ini, kita ambil contoh Fixed VA sebagai simulasi set up callback di sisi Anda.
- Isi kolom Callback Fixed VA tersebut dengan Callback URL yang Anda dapatkan pada Beeceptor sebelumnya.
- Klik save dan test.
- Anda akan mendapatkan response sukses dengan kode 200 sebagai response Callback dari sisi Xendit ke server Anda
via API
Untuk mengetahui secara lebih lengkap mengenai prosedur set up callback Xendit melalui API, silahkan mempelajarinya melalui dokumentasi kami di bawah ini:
https://developers.xendit.co/api-reference/#set-callback-urls
- Di bawah ini merupakan endpoint yang dapat Anda gunakan untuk melakukan simulasi set up callback di sisi Xendit:
POST https://api.xendit.co/callback_urls/:type
- Pastikan Akun Xendit Anda berada pada mode environment yang tepat ("Live Mode" atau "Test Mode") pada bagian atas halaman dashboard Xendit Anda
- Buat Secret API Key pada mode 'Live' apabila Anda ingin melakukan transaksi secara real
- Buat Secret API Key pada mode 'Test' apabila Anda ingin melakukan simulasi transaksi secara fiktif
- Masukan salah satu tipe callback pada parameter endpoint bertuliskan ":type" dengan list sebagai berikut:
- Money-in
invoice
: Notifikasi ketika invice sudah dibayarkan atau kadaluwarsa;payment_method_v2
: Notifikasi ketika payment method V2 teraktivasi atau kadaluwarsa;payment_method
: Notifikasi ketika payment method akan atau sudah kadaluwarsa;direct_debit
: Notifikasi untuk transaksi Direct Debit yang sukses;ewallet
: Notifikasi untuk menerima charge transaksi eWallet atau aktivitas eWallet lainnya yang terjadi melalui channel pembayaran eWallet;fva_status
: Notifikasi ketika VA telah terbuat dan statusnya terupdate;fva_paid
: Notifikasi ketika VA telah terbayarkan dengan sukses;ro_fpc_paid
: Notifikasi ketika transaksi Retail Outlet (Alfamart/Indomaret) telah terbayarkan dengan sukses;regional_ro_paid
: Notifikasi ketika pembayaran Over-the-Counter, seperti 7 Eleven, Cebuana, ECPay di Philippines telah terbayarkan dengan sukses.
-
Money-Out
batch_disbursement
: Notifikasi ketika transaksi Batch Disbursement telah diproses secara sukses oleh Xenditdisbursement
: Notifikasi ketika transaksi Disbursement telah diproses secara sukses oleh Xendit, baik dengan statusCOMPLETED
atauFAILED
;ph_disbursement
: Notifikasi ketika transaksi disbursement di Philippines telah diproses secara sukses oleh Xendit, baik dengan statusCOMPLETED
atauFAILED
;
- Money-in
- Input URL Callback untuk sub-akun ada body request API Anda pada parameter "url";
- Klik "Send";
- Apabila Callback URL terupdate dengan sukses, status dari response API tersebut akan mengembalikan response “SUCCESSFUL”.
Untuk mempelajari lebih lanjut mengenai Callback atau Webhook, silahkan mengacu pada dokumentasi kami di bawah ini: