# n8n Workflow Pembayaran QRIS: Integrasi WA + Midtrans untuk Bisnis Online

- URL: https://komunitech.com/blog/tutorial/n8n-workflow-pembayaran-qris-integrasi-wa-midtrans-untuk-bisnis-online/
- Diterbitkan: 2026-07-07
- Diperbarui: 2026-10-02
- Penulis: Priyo Harjiyono
- Penerbit: KomuniTech (https://komunitech.com)

---

Panduan bikin workflow n8n untuk pembayaran QRIS — dari trigger WA order sampai konfirmasi pembayaran otomatis. Pelanggan pesan lewat WA → bot kirim link pembayaran QRIS → webhook Midtrans konfirmasi pembayaran → update status di Google Sheets → kirim notifikasi ke pelanggan. Total setup: 1–2 jam. Cocok buat UMKM yang pengen full auto dari order sampai bayar.

Bayangin: pelanggan WA "mau beli 2 kaos hitam 150rb" → 5 detik kemudian dapat balasan link QRIS → bayar scan → spreadsheet otomatis update status "LUNAS" → pelanggan dapat notifikasi "pembayaran diterima, pesanan diproses." Semua tanpa admin sentuh.

Ini bukan futuristik — bisa kamu buat dalam 1–2 jam dengan n8n, Midtrans, dan WhatsApp Gateway.

Yang kamu butuhin:

- n8n (self-hosted atau cloud)

- Akun Midtrans (gratis daftar, fee per transaksi ~1.5–2.5%)

- WhatsApp Gateway (pakai Meta Cloud API atau Twilio)

- Google Sheets buat tracking order

Biaya operasional: Rp200–500rb/bulan (server + API). Bandingin sama admin yang handle pembayaran manual Rp3–5jt/bulan.

## Cara Kerja Sistem

(Lihat diagram alur workflow di bawah)

## Step-by-Step

### Step 1: Siapkan Infrastructure

- n8n self-hosted di VPS (min 1GB RAM, Rp100–200rb/bulan)

- Install PM2 biar auto-restart kalau crash

- Domain/subdomain buat webhook callback (misal: webhook.bisnis-kamu.com)

### Step 2: Setup Midtrans

1. Daftar di Midtrans (pilih "Irisan" buat umkm atau "Snap" buat kustom)

2. Dapatkan **Server Key** dan **Client Key** dari dashboard

3. Set webhook URL di setting Midtrans → Payment Notification → arahin ke n8n webhook

### Step 3: Buat Workflow n8n — Order Masuk

1. **Trigger Webhook** — endpoint /order-masuk (POST)

2. **Parse order** — pake Code node atau AI parsing (format: nama, produk, jumlah, alamat)

3. **Validasi input** — cek nama, produk, jumlah, alamat gak kosong

4. **Buat invoice Midtrans** — pake HTTP Request node:

- Method: POST

- URL: https://app.sandbox.midtrans.com/snap/v1/transactions

- Auth: Basic auth (Server Key:)

- Body: {"transaction_details":{"order_id":"ORDER-{timestamp}","gross_amount":{total}},"customer_details":{"first_name":"{nama}","phone":"{nowa}"},"item_details":[{"name":"{produk}","quantity":{jumlah},"price":{harga}}]}

### Step 4: Kirim Link QRIS ke WA

Dari response Midtrans, ambil redirect_url — itu link pembayaran QRIS-nya.

Tambahkan "WhatsApp" node (atau HTTP Request ke Meta Cloud API):

Halo {nama}, pesananmu udah masuk!

Detail Pesanan:
- Produk: {produk} x {jumlah}
- Total: Rp{total}

*Klik link berikut buat bayar:*
{redirect_url}

Scan QRIS atau klik link di atas. Pembayaran otomatis terverifikasi.

### Step 5: Webhook Konfirmasi Pembayaran

Ini kunci sistemnya — Midtrans bakal kirim notifikasi POST ke URL yang udah di-set:

1. **Webhook node** — endpoint /midtrans-notif

2. **Verify signature** — Midtrans signature = SHA512(order_id+status_code+gross_amount+ServerKey)

3. **Cocokin** — kalau transaction_status = "settlement" atau "capture":

- Update row di Google Sheets → status "LUNAS"

- Kirim WA ke pelanggan: "Pembayaran diterima! Pesananmu segera diproses."

4. **Kalau gagal** (deny, expire):

- Update status "GAGAL"

- Kirim WA: "Pembayaran belum diterima. Klik link berikut buat bayar ulang: {link}"

### Step 6: Google Sheets Tracking

Buat spreadsheet dengan kolom:

- Timestamp | Nama | No. WA | Produk | Jumlah | Total | Status | Order ID | Invoice Link

Setiap order baru → append row dengan status "MENUNGGU"

Setiap notif pembayaran → update status "LUNAS" atau "GAGAL"

Kalau kamu belum familiar dengan integrasi dasar, [tutorial integrasi WA + Google Sheets](https://komunitech.com/blog/whatsapp/integrasi-whatsapp-google-sheets-untuk-order-management-panduan-lengkap-pakai-n8n/) ini bisa jadi pondasi sebelum nambah payment.

## Cara Test Workflow

1. **Mode Sandbox** — Midtrans punya environment test. Kartu uji: 4811 1111 1111 1114, CVV 123, expired date bulan depan mana aja.

2. **Manual trigger** — kirim format order dari WA dummy ke webhook

3. **Verifikasi** — cek Google Sheets muncul row baru, WA kebales link, setelah bayar pake kartu uji status berubah jadi LUNAS

Kalau semua lancar di sandbox, tinggal ganti endpoint Midtrans dari app.sandbox.midtrans.com → app.midtrans.com

## Estimasi Biaya

| Komponen
| Biaya/bulan

| VPS (self-hosted n8n)
| Rp100–200rb

| WhatsApp API
| Rp0–200rb

| Midtrans fee
| 1.5–2.5%/transaksi

| Total (tidak termasuk pajak)
| Rp300–700rb

Bandingkan dengan biaya admin Rp3–5jt/bulan + human error cost.

## Fitur Lanjutan (Kalau Udah Jalan)

- **Reminder otomatis** — kalau status masih "MENUNGGU" >30 menit, kirim WA pengingat

- **Diskon & promo** — tambah validasi kode promo di workflow

- **Receipt otomatis** — setelah LUNAS, kirim detail pesanan + estimasi pengiriman

- **Dashboard realtime** — Google Sheets + Data Studio buat laporan penjualan harian

Ini tinggal nambah trigger Schedule + beberapa IF node. Modular.

Setelah pembayaran tercatat, langkah berikutnya biasanya persetujuan pesanan dan invoice. Alur tanpa coding-nya ada di [cara otomasi approval invoice dan order e-commerce](https://komunitech.com/blog/implementasi/cara-otomasi-approval-invoice-order-e-commerce-tanpa-coding-2026/).

## Troubleshooting Umum

| Masalah
| Penyebab
| Solusi

| Midtrans callback gak masuk
| Webhook URL salah / firewall
| Cek setting Midtrans dashboard, pastikan n8n bisa diakses publik

| Signature verification fail
| Server Key beda / param salah
| Hash pakai SHA512 lowercase

| QRIS gak muncul
| Mode sandbox vs production
| Pastikan pake endpoint yang sesuai

| WA gak kebales
| Rate limit / token expired
| Rotate token, cek WhatsApp API dashboard

### Disclaimer

Informasi ini bersifat edukatif. Biaya dan fee Midtrans bisa berubah. Selalu uji coba di sandbox sebelum production. Integrasi pembayaran menyangkut data sensitif — pastikan server aman (HTTPS, environment variables, firewall).

### Referensi

- [Midtrans Documentation — Payment API Reference](https://docs.midtrans.com/)

- [n8n Documentation](https://docs.n8n.io/)

- [Meta WhatsApp Cloud API Documentation](https://developers.facebook.com/docs/whatsapp/cloud-api)

- [n8n x Midtrans Integration Example](https://n8n.io/integrations/midtrans/)
