Menguji endpoint webhook: checklist sebelum go live
Webhook yang berhasil sekali saja belum cukup. Pakai checklist ini untuk memastikan server Anda menerima, memverifikasi, dan memproses setiap webhook PAYWISE, termasuk pengiriman ulang dan kegagalan.
Terbit 10 Oktober 2026 2 menit baca
Endpoint webhook adalah tempat pesanan yang belum dibayar berubah menjadi lunas. Jika gagal, pelanggan sudah membayar tapi tidak terjadi apa-apa. Sebelum pindah ke live, jalankan checklist ini di sandbox, tempat Anda bisa memilih hasil setiap pembayaran.

1. Bisa dijangkau
- URL-nya publik dan diawali
https://, dengan sertifikat yang valid. - Tekan Kirim webhook uji di halaman Website & Webhook. Tes ini mengirim event
webhook.testyang sudah ditandatangani; tidak ada transaksi asli yang dibuat. - Buka Riwayat pengiriman dan pastikan responsnya HTTP 2xx.
- Jika firewall Anda hanya menerima alamat tertentu, izinkan IP pengirim webhook yang tercantum di halaman yang sama.
2. Mengecek signature
- Hitung HMAC-SHA256 dari body mentah dengan signing secret Anda, lalu bandingkan dengan header
X-PAYWISE-Signature. - Ubah satu karakter secret dengan sengaja lalu kirim tes: server Anda harus menolaknya.
- Gunakan alat signature di dokumentasi untuk membandingkan hasil Anda dengan hasil yang benar.
3. Membalas dengan cepat
Balas 2xx terlebih dahulu, baru kirim email atau update stok. Balasan yang lambat atau gagal dianggap pengiriman gagal dan akan dikirim ulang nanti.
4. Menangani setiap event
Buat pembayaran sandbox dan akhiri dengan setiap hasil:
| Event | Yang harus dilakukan toko Anda |
|---|---|
payment.paid |
Tandai pesanan lunas dan proses pesanannya |
payment.expired |
Biarkan pesanan belum dibayar dan izinkan pelanggan mencoba lagi |
payment.failed |
Biarkan pesanan belum dibayar dan tawarkan cara bayar lain |
Setiap webhook berisi event dan data.reference. Abaikan event yang tidak Anda pakai, tapi tetap balas 2xx.
5. Memproses setiap event sekali saja
Pengiriman ulang bisa mengirim event yang sama lagi. Simpan referensi pembayaran dan event yang sudah diproses, lalu lewati jika berulang. Tekan Kirim ulang sekarang pada event yang sudah terkirim untuk mengujinya: pesanan tidak boleh diproses dua kali.
6. Tahan saat server Anda mati
Matikan endpoint Anda beberapa menit, akhiri pembayaran sandbox sebagai paid, lalu nyalakan lagi. PAYWISE mengirim ulang setelah sekitar 1 menit, 5 menit, 30 menit, dan 2 jam, jadi pesanan tetap akan menjadi lunas.
7. Event penarikan (jika memakai API)
Jika sistem Anda meminta penarikan lewat API, tangani juga event withdrawal.*, supaya catatan Anda tahu kapan penarikan selesai atau gagal.
Sudah semua?
Pindah ke Live, buat live key, dan lakukan satu pembayaran asli kecil sendiri. Jika ada yang tidak berjalan, cek 10 kesalahan integrasi yang sering terjadi atau hubungi kami di Telegram @paywise_asia.

