Webhook pembayaran crypto: cara memproses id dan status
Panduan webhook pembayaran crypto: terima status final lewat POST dengan id dan status, periksa header x-api-key, dan perbarui pesanan dengan aman.
Webhook pembayaran crypto memberi tahu backend Anda status final sebuah pembayaran. Di Qvard, ini berupa POST dengan id pesanan Anda dan status, sehingga logika pesanan diperbarui tanpa polling API.
Apa yang dikirim webhook
Qvard memanggil URL webhook Anda dengan permintaan POST. Isi body berisi id yang Anda kirim saat membuat pembayaran dan status, misalnya paid. Permintaan membawa token x-api-key Anda di header.
Periksa header x-api-key
Sebelum mempercayai pesan, bandingkan header x-api-key dengan token dari akun Anda. Tolak permintaan tanpa header ini, agar tidak ada yang bisa menandai pesanan lunas hanya dengan memanggil endpoint Anda.
x-api-key: sk_live_…
{ "id": "order_1024", "status": "paid" }Perbarui pesanan berdasarkan id
Cari pesanan dengan id dari body dan ubah statusnya sesuai nilai status. Tandai pesanan lunas hanya jika status paid, dan abaikan status yang tidak ditangani sistem Anda.
Buat handler aman untuk diulang
Webhook yang sama bisa datang lebih dari sekali. Simpan id dan status yang sudah diproses, dan jangan lakukan apa pun jika event itu sudah ditangani. Balas dengan kode sukses setelah perubahan tersimpan.
Balas cepat, antrekan pekerjaan lambat
Konfirmasi webhook segera setelah pesanan tersimpan. Kirim email, invoice, dan panggilan gudang dari background job, agar langkah lambat tidak pernah menyebabkan timeout.
Uji dengan invoice demo
Buat invoice demo, bayar di halaman hosted, dan pantau endpoint Anda menerima webhook sebelum masuk ke produksi.
FAQ
Apa bedanya respons API dengan webhook?
Respons API memastikan pembayaran dibuat dan mengembalikan redirectUrl. Hanya webhook yang melaporkan status final pembayaran.
Bagaimana jika endpoint saya mati?
Pengiriman diulang, jadi handler Anda harus aman untuk diulang. Periksa log secara rutin dan rekonsiliasi pesanan yang masih pending.
Bisakah saya mempercayai webhook tanpa x-api-key?
Tidak. Selalu periksa header x-api-key sebelum mengubah pesanan.
Status apa saja yang perlu saya tangani?
Tangani paid untuk pembayaran yang berhasil dan anggap status lain sebagai informasi. Dokumentasi API mencantumkan seluruh nilai yang tersedia.
