Back to blog
Backend

Webhook: Gimana Duitku 'Nelpon Balik' Server Kita Otomatis Saat Bayar Sukses?

Pembeli sudah bayar QRIS lewat aplikasi bank-nya, di luar website kita sama sekali. Tapi anehnya, detik itu juga status pesanan di database berubah dari PENDING jadi PAID.

super admin·01 September 2026·2 min read
Webhook: Gimana Duitku 'Nelpon Balik' Server Kita Otomatis Saat Bayar Sukses?
Article Content

Bayangin Pembeli Bayar QRIS di Aplikasi Bank, Bukan di Website Kita...

Bayangin ada pembeli yang checkout template premium di TampilKit, lalu memilih metode QRIS. Ia membuka aplikasi mobile banking-nya sendiri, memindai kode QR, dan menekan "Bayar". Proses pembayaran ini terjadi seluruhnya di aplikasi bank miliknya, sama sekali tidak menyentuh website TampilKit.

Anehnya, tepat beberapa detik setelah ia membayar — tanpa ia perlu kembali membuka tab website atau menekan tombol apapun — status pesanannya di database TampilKit sudah berubah otomatis dari PENDING menjadi PAID, dan email struk pun langsung terkirim. Bagaimana caranya server TampilKit bisa "tahu" pembayaran sudah berhasil, padahal tidak ada satu klik pun yang terjadi di website-nya?

Masalahnya: Server Kita Tidak Bisa 'Menunggu' Selamanya

Server backend tidak mungkin terus-menerus bertanya ke Duitku setiap detik "udah dibayar belum? udah dibayar belum?" (teknik ini disebut polling) — selain boros sumber daya, cara ini juga lambat dan tidak efisien untuk ribuan transaksi sekaligus.

Nah, Di Sinilah 'Webhook' Masuk!

Webhook membalik arah komunikasinya: alih-alih server kita yang terus bertanya, Duitku sendiri yang akan "menelepon balik" server kita lewat sebuah URL khusus begitu status pembayaran berubah.

  1. Saat membuat transaksi, server TampilKit mendaftarkan sebuah URL rahasia ke Duitku, misalnya https://api.tampilkit.com/api/payment/duitku/callback.
  2. Begitu bank pembeli mengonfirmasi dana sudah masuk, sistem Duitku otomatis mengirim sebuah request HTTP POST ke URL tersebut, berisi detail transaksi dan sebuah tanda tangan digital (signature) hasil enkripsi HMAC memakai API Key rahasia.
  3. Server TampilKit yang menerima request ini wajib menghitung ulang tanda tangan tersebut dengan rumus dan kunci yang sama, lalu membandingkannya. Jika cocok, artinya notifikasi ini benar-benar asli dari Duitku (bukan orang iseng yang menembak URL callback secara acak untuk mengelabui sistem menjadi "lunas palsu").
  4. Setelah tanda tangan terverifikasi sah, barulah server mengubah status pesanan menjadi PAID di dalam database.

Intinya: Webhook adalah cara sistem-sistem modern saling "mengabari" secara real-time tanpa perlu terus bertanya. Tapi karena URL webhook bisa ditembak siapa saja di internet, verifikasi tanda tangan digital adalah langkah yang wajib hukumnya, atau siapa pun bisa berpura-pura mengaku sudah membayar.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates