Tips Handling Webhook dari Moota, Jangan Langsung Proses, Gunakan Async!

Pernah nggak sih, kita kebingungan sendiri saat cek mutasi pembayaran dari bank, payment gateway, atau virtual account secara manual setiap hari? Kalau iya, webhook Moota ini bisa jadi solusi tepat untuk mempercepat dan memudahkan semua update transaksi Anda. Dengan webhook Moota, setiap kali ada transaksi baru, sistem bisa otomatis menerima data tanpa perlu refresh atau menunggu laporan mutasi bank. Layanan ini membantu tim finance, toko online, hingga startup digital agar bisa langsung mengupdate status pembayaran di aplikasi tanpa harus melakukan input data manual. Namun, di balik kemudahan ini, ada juga beberapa best practice yang wajib dilakukan agar sistem tetap andal, aman, dan tidak ada error saat menerima banyak transaksi sekaligus.

Jadi, sebelum menjalankan webhook ke proses bisnis Anda, yuk, kita pahami dulu kenapa penggunaan async pada webhook Moota itu penting, dan bagaimana langkah-langkah mengimplementasinya tanpa ribet!

Kenapa Webhook Moota Harus Anda Gunakan?

Webhook Moota adalah solusi cerdas untuk mengotomasi update transaksi bisnis. Setiap ada transaksi baru di bank, virtual account, atau payment gateway, Moota langsung memberikan notifikasi ke sistem Anda secara real time.

Tapi, banyak yang belum tahu: proses webhook sebaiknya dijalankan secara asynchronous (async), bukan langsung di-handle ke proses bisnis utama. Ini penting agar sistem tetap stabil dan transaksi Anda benar-benar aman.

Cara pengisian form webhook:

  • Nama Webhook: Isi sesuai nama integrasi/webhook (misal: “Webhook Bank Jago” atau “Webhook BRI VA”).
  • Akun: Pilih rekening bank atau payment gateway yang ingin diintegrasikan. Misal, Bank Jago, Virtual Account BSI, QRIS, atau sandbox untuk testing.
  • Mutation: Pilih jenis mutasi/transaksi yang akan dikirimkan webhook ke sistem Anda.
  • Kode Unik: Bisa digunakan jika Anda menerapkan kode unik pembayaran (biasanya pada toko online).
  • URL: Masukkan endpoint web milik Anda yang siap menerima webhook (misal: https://domainanda.com/webhook/moota).
  • Secret Token: Ini kunci penting untuk signature. Hanya Anda dan Moota yang tahu.

Kenapa Jangan Langsung Proses Webhook dan Harus Pakai Async di Webhook Moota?

Nah, pertanyaannya: kenapa datanya nggak langsung diproses saja pas webhook diterima? Ada beberapa alasan kuat mengapa async jadi pilihan terbaik:

1. Mempercepat Respons ke Moota

Webhook dari Moota harus direspons secepat mungkin, idealnya kurang dari 5 detik. Jika proses bisnis (misal: update order, generate invoice, kirim email) dilakukan langsung dalam endpoint webhook, sistem Anda bisa mengalami timeout. Akibatnya, Moota akan menganggap request gagal dan bisa mengirim ulang data yang sama (duplikat).

2. Menghindari Error Berantai (Cascade Failure)

Kalau proses bisnis yang langsung, ada resiko:

  • Satu error bikin proses masuk ke order/order berikutnya gagal semua.
  • Kalau ada error parsing, validasi, atau masalah server walau cuma 1 order, semua request ikut macet.

Dengan async, data diterima lalu diproses di background oleh worker terpisah sehingga error bisa diisolasi tanpa ganggu data lain.

3. Skalabilitas, Siap di-SCALE Kapanpun!

Async bikin sistem Anda lebih scalable. Kalau transaksi harian mulai ratusan sampai ribuan, worker bisa dengan mudah dibuat paralel atau diatur antrian, tanpa membuat endpoint webhook jadi bottleneck.

4. Keandalan Data & Anti-Duplikat

Dengan menyimpan data webhook ke database/queue lebih dulu, Anda bisa melakukan pengecekan:

  • Mendeteksi dan menghapus data duplikat.
  • Menunda proses untuk sementara jika diperlukan (maintenance, validasi manual, dsb).
  • Memastikan data lebih mudah di-audit.

Langkah Mudah Setup Webhook Moota Asynchronous

1. Whitelist IP untuk Keamanan Maksimal

Perhatikan baik-baik, hanya izinkan request dari Moota dengan whitelist IP:
103.236.201.178
Langkah ini bisa Anda lakukan pada pengaturan firewall/VPS/server agar webhook hanya diterima dari alamat IP resmi Moota.
Di dashboard webhook, peringatannya sangat jelas:

Pastikan whitelist IP 103.236.201.178 untuk transaksi aman dengan Moota, dan tidak menerima dari yang lain, Terima kasih!

2. Tambah Webhook di Dashboard Moota

Cukup mudah, masuk ke integrasi > webhook pada dashboard Moota, lalu klik “Tambah Webhook”.
Pilih akun bank, VA, atau payment gateway yang ingin Anda hubungkan.
Masukkan URL endpoint webhook, serta secret token untuk keamanan signature.

Di bagian ini, Anda bisa menentukan akun, tipe transaksi, kode unik, hingga memasukkan secret token khusus untuk validasi signature webhook.

3. Cara Kerja Webhook Moota & Data yang Diterima

Setiap kali terjadi transaksi baru, Moota akan mengirimkan data ke endpoint webhook yang Anda daftarkan dengan metode POST.
Contoh payload JSON yang dikirim:

json

[{"account_number": "12312412312","date": "2019-11-10 14:33:01","description":"TRSF E-BANKING ...", "amount": 50000,...}]

Header request juga mengandung signature dan data identitas dari Moota yang wajib diverifikasi.

4. Validasi Signature: Kunci Keamanan Webhook Anda

Pada setiap request webhook, Moota mengirim header “Signature” yang dapat divalidasi menggunakan secret token milik Anda.

Cara validasinya:

php

$signature = hash_hmac('sha256', $payload_json, $secret); // Cocokan hasil signature ini dengan value 'Signature' di header

Jangan pernah lewatkan tahap ini – signature memastikan data benar-benar dari Moota, bukan pihak lain.

5. Proses Async: Simpan Dulu, Proses Kemudian

Best practice-nya adalah:

  1. Begitu terima webhook dari Moota, simpan data ke database atau queue job (misal Redis, RabbitMQ, atau queue bawaan framework).
  2. Langsung balas HTTP 200 OK ke Moota supaya sistem tidak timeout.
  3. Proses pengolahan status order, notifikasi, dsb., dilakukan lewat worker/background job yang mengambil data dari queue secara terpisah.

Contoh sederhana di PHP Laravel:

php

public function handle(Request $request) { // Simpan payload WebhookQueue::create([ 'payload' => json_encode($request->all()), 'signature' => $request->header('Signature') ]); // Langsung balas OK ke Moota return response()->json(['status' => 'received'], 200); } // Worker: proses data dari queue public function processQueue() { foreach(WebhookQueue::pending() as $webhook) { // Validasi, update order, dsb } }

6. Testing & Sandbox

Moota menyediakan fitur Sandbox yang memungkinkan Anda mencoba webhook tanpa mengganggu sistem produksi. Coba dari menu “Virtual Account Sandbox” pada dashboard.

Best Practice & Tips Menggunakan Webhook Moota

  • Log Setiap Request: Catat setiap request webhook sebagai audit trail jika sewaktu-waktu perlu tracking.
  • Selalu Validasi Signature: Jangan pernah disable fitur ini, pastikan setiap data valid.
  • Gunakan Retry Policy: Untuk memudahkan jika terjadi kegagalan sementara.
  • Simpan Data Minimal 14 Hari: Agar mudah melakukan pengecekan atau perbaikan transaksi.
  • Limitasi Akses API: Terapkan hanya akses dari IP resmi Moota.

Penutup

Dengan menerapkan teknik asynchronous pada webhook Moota, kita bisa memastikan semua transaksi berjalan tanpa hambatan, sistem anti-jebol saat traffik naik, dan yang terpenting: bisnis Anda jauh lebih aman dari error dan duplikasi data.

Jika ingin tutorial step-by-step sekaligus penjelasan teknis yang lebih rinci, Anda bisa cek langsung halaman panduan lengkap di website Moota.
Atau, butuh inspirasi best practice lain? Jangan ragu baca juga artikel tips otomatisasi transaksi di Moota.co.

Yuk, optimalkan integrasi bisnis Anda bersama Moota! Kita pastikan bisnis semakin otomatis, anti-ribet, dan siap scale ke level berikutnya.

Artikel ini membahas: webhook Moota, cara penggunaan webhook Moota, best practice async webhook, tips mengamankan webhook Moota.

July 23, 2025
Baca Sekarang

Kami sediakan update terbaru, tutorial, dan tips terbaik untuk Anda
Keuangan
Lihat Semua
Tutorial
Lihat Semua
Jangan Lewatkan Update Tips Terbaru dari Kami!
Dengan berlangganan artikel kami, Anda akan mendapatkan notifikasi langsung setiap kali kami memposting konten baru.
Moota merupakan aplikasi untuk pengecekkan mutasi dan saldo rekening Anda, dimana mutasi rekening Anda kami dapatkan dari akun iBanking Anda.
Office
Jl. Sunda, No 85, Kel. Kb. Pisang, Kec. Sumur Bandung, Kota Bandung, Jawa Barat 40112
Workshop
Jl Terusan Cikutra Baru No. 3B Kel. Neglasari Kec. Cibeunying Kaler Bandung
Download Moota di
2025 © All rights reserved
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram