Overview
Webhook Notification adalah pemberitahuan otomatis dari AlnairPay ke sistem Anda setiap kali pelanggan berhasil membayar Virtual Account. Dengan webhook, sistem Anda tidak perlu mengecek status VA secara berkala: AlnairPay yang mengirimkan informasi pembayaran begitu dana dikonfirmasi oleh bank.
Untuk menerima webhook, Anda perlu menyediakan satu endpoint HTTP di sistem Anda. AlnairPay akan mengirim request POST berisi data pembayaran ke endpoint tersebut, dan endpoint Anda wajib membalas dengan HTTP 200 sebagai tanda notifikasi sudah diterima.
Alur Notifikasi
- Pelanggan membayar Virtual Account melalui bank.
- Bank mengonfirmasi pembayaran ke AlnairPay, lalu status VA berubah menjadi
PAID. - AlnairPay mengirim request
POSTke URL webhook Anda, berisi data pembayaran dan token verifikasi. - Sistem Anda memverifikasi token, memproses pembayaran (misalnya menandai invoice lunas), lalu membalas HTTP 200.
- Jika endpoint Anda tidak membalas HTTP 200, AlnairPay mengirim ulang notifikasi yang sama secara otomatis (lihat Retry).
Event yang Dikirim
| Event | Kapan dikirim | Halaman |
|---|---|---|
Pembayaran VA berhasil (status: PAID) | Setelah bank mengonfirmasi pembayaran Virtual Account | Payment Notification |
Notifikasi hanya dikirim untuk pembayaran yang berhasil. VA yang kedaluwarsa atau belum dibayar tidak menghasilkan webhook; gunakan endpoint cek status VA untuk kebutuhan tersebut.
Mengatur Webhook di Dashboard
Pengaturan webhook dilakukan melalui Dashboard Client AlnairPay pada menu Settings → Webhook.
| Pengaturan | Keterangan |
|---|---|
| URL Webhook | Alamat endpoint di sistem Anda yang akan menerima notifikasi, misalnya https://api.toko-anda.com/webhook/alnairpay. Satu URL dipakai untuk semua notifikasi pembayaran. |
| Token Verifikasi | Token rahasia yang dikirim AlnairPay pada header X-webhook-Token di setiap webhook. Gunakan token ini untuk memastikan request benar-benar berasal dari AlnairPay. Token dapat dilihat melalui tombol Lihat Token Verifikasi. |
| Uji Webhook | Mengirim notifikasi percobaan ke URL yang tersimpan dan menampilkan HTTP status serta response body dari endpoint Anda. Lihat Implementasi & Pengujian. |
Gunakan URL HTTPS agar data pembayaran dan token verifikasi terenkripsi selama pengiriman.