Tentang Webhook
Webhook pada Xendit digunakan untuk menyampaikan informasi kepada aplikasi atau website bisnis Anda saat sebuah event terjadi.
Pada Xendit, webhook 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 webhook dalam bentuk status transaksi atau pembayaran.
Kriteria Set Up Webhook
Untuk dapat menerima 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 webhook atau webhook dapat lebih mudah dilakukan hanya dengan menambahkan URL ke aplikasi Anda.
Untuk dapat melakukan set up 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 webhook URL (1.1.1.1);
- Dapat mengirimkan response dengan status yang telah diterima
- Dapat mengenali endpoint webhook dari setiap produk yang ada pada Xendit
Prosedur Set Up Webhook URL
Di bawah ini merupakan langkah-langkah pengesetan webhook URL 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 webhook URL Anda.
- Pada aplikasi Beeceptor terkait, Anda dapat membuat URL atau Webhook Endpoint terlebih dahulu sebagai simulasi untuk melakukan set up webhook URL melalui Xendit
- Klik tombol biru bertuliskan 'Create Endpoint' untuk membuat simulasi webhook Endpoint
- Anda akan diarahkan ke webhook URL simulasi dari Beeceptor setelah webhook endpoint tersebut dibuat.
- Copy URL webhook bertuliskan 'https//test-webhook.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 kiri 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 'Webhook' pada bagian Developer
- Aktifkan tombol hijau bertuliskan 'Enable auto-retry for failed webhook'
- Dapatkan token verifikasi webhook yang nantinya akan Anda butuhkan untuk proses verifikasi.
- Klik tombol bertuliskan "Webhook Verification Token";
- Masukan password Dashboard Xendit Anda;
- Simpan token tersebut pada server di sisi Anda
- Token terkait akan digunakan untuk proses autentikasi
-
Set up webhook URL Anda
- Pilih metode pembayaran apa yang ingin Anda atur webhook URL-nya. Pada kali ini, kita ambil contoh Fixed VA sebagai simulasi set up webhook di sisi Anda.
-
Isi kolom webhook Fixed VA tersebut dengan webhook URL yang Anda dapatkan pada Beeceptor sebelumnya.
-
Klik save dan test.
- Anda akan mendapatkan response sukses dengan kode 200 sebagai response webhook dari sisi Xendit ke server Anda
via API
Untuk mengetahui secara lebih lengkap mengenai prosedur set up webhook Xendit melalui API, silahkan mempelajarinya melalui dokumentasi kami di bawah ini:
https://developers.xendit.co/api-reference/#set-webhook-urls
-
Di bawah ini merupakan endpoint yang dapat Anda gunakan untuk melakukan simulasi set up webhook 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 webhook 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 Xendit -
disbursement
: 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 webhook untuk sub-akun ada body request API Anda pada parameter "url";
- Klik "Send";
-
Apabila webhook URL terupdate dengan sukses, status dari response API tersebut akan mengembalikan response “SUCCESSFUL”.
Untuk mempelajari lebih lanjut mengenai webhook, silahkan mengacu pada dokumentasi kami di bawah ini: