Blog · Terbit · Diperbarui

Cara Tahu Pembayaran QRIS Sudah Masuk, Tanpa Cek Mutasi Manual

Pembayaran QRIS baru pasti masuk kalau transaksinya muncul di sisi penjual: di aplikasi atau dashboard merchant penyedia QRIS, dengan nominal dan waktu yang cocok. Layar “berhasil” di ponsel pembeli, tangkapan layar yang dikirim lewat chat, atau kata “sudah bayar” belum membuktikan apa pun. Serahkan barang setelah transaksinya terlihat di sisi penjual, bukan sebelumnya.

Tulisan ini menjelaskan bukti mana yang bisa dipercaya, langkah mengecek QRIS statis yang ditempel di meja kasir, dan cara membuat konfirmasinya datang sendiri per tagihan sehingga tidak ada lagi yang perlu dicocokkan dengan mutasi.

Bukti mana yang bisa dipercaya?

Yang dilihat penjualBisa dipercaya?Kenapa
Tangkapan layar bukti bayar dari pembeliTidakGambar mudah disunting atau dipakai ulang dari transaksi lama.
Layar “berhasil” di ponsel pembeliTidak cukupYang tampil adalah aplikasi pembeli. Kalau stiker QR di meja sudah ditimpa, uangnya bisa saja masuk ke rekening lain.
Mutasi rekening bankYa, tetapi terlambatTergantung penyedia, dana QRIS bisa baru masuk rekening setelah settlement, dan mutasi tidak menyebut tagihan mana yang dibayar.
Notifikasi dan riwayat di aplikasi merchant penyedia QRISYaDicatat di sisi penjual saat transaksi terjadi, lengkap dengan nominal dan jam.
Status per tagihan dari QRIS dinamisYa, dan otomatisSetiap tagihan punya kode QR dan status sendiri, jadi tidak ada yang perlu dicocokkan.

Modus pemalsuan bukti bayar lebih beragam daripada gambar hasil sunting, dan dirinci di bukti transfer palsu. Modus stiker QR yang ditimpa dibahas di QRIS palsu dan stiker yang ditimpa.

Cara cek pembayaran di QRIS statis

QRIS statis adalah satu kode yang dicetak sekali dan dipakai semua pembeli, dan pembeli mengetik sendiri nominalnya. Untuk kode seperti ini, urutan pengecekan di kasir:

  1. Pasang notifikasi transaksi di aplikasi merchant dari bank atau penyedia yang menerbitkan QRIS itu, di ponsel yang dipegang orang yang berdiri di kasir, bukan hanya di ponsel pemilik.
  2. Saat pembeli bilang sudah bayar, buka riwayat transaksi di aplikasi merchant tersebut, bukan layar pembeli.
  3. Cocokkan tiga hal: nominal persis sama, jamnya baru saja, dan transaksinya belum pernah dipakai untuk pesanan lain. Kalau tersedia, catat nomor referensinya.
  4. Kalau transaksinya belum muncul, minta pembeli menunggu sebentar. Kalau saldo pembeli sudah terpotong tetapi transaksi tidak pernah muncul di sisi penjual, pembeli perlu menghubungi aplikasi yang dipakainya membayar, bukan penjual yang menanggung.
  5. Periksa stiker QR di meja secara rutin, dan pastikan nama merchant yang tampil saat dipindai adalah nama usaha sendiri.

Kelemahan QRIS statis tetap ada: dua pembeli yang membayar nominal sama dalam waktu berdekatan terlihat sama di riwayat, dan pembeli bisa salah ketik nominal. Kalau pembeli mengeluh kodenya tidak terbaca, penyebabnya dibahas di QRIS gagal dipindai pembeli.

Kenapa cek mutasi tidak bisa jadi sistem

Mutasi rekening mencatat uang masuk, bukan tagihan mana yang dibayar. Dua pembayaran dengan nominal sama terlihat identik, pembayaran yang masuk malam hari baru dicek esok pagi, dan pencocokannya bergantung pada satu orang yang memegang rekening. Cara itu masih bisa jalan selama transaksinya sedikit. Begitu pembayaran mulai ramai, atau begitu yang menagih bukan orang yang memegang rekening, setiap transaksi baru menambah beban kerja, bukan sekadar menambah pemasukan.

Prinsipnya: satu permintaan pembayaran per tagihan

Supaya status bisa dipastikan mesin, arahnya dibalik: bukan satu kode yang menampung semua pembayaran, melainkan satu permintaan pembayaran untuk setiap tagihan, dengan QRIS dinamis yang nominalnya sudah terkunci. Setiap permintaan punya nominal, identitas, dan statusnya sendiri, jadi pertanyaan “yang ini sudah dibayar atau belum” selalu punya jawaban pasti.

Di Kasera Pay, bentuknya dua, mengikuti pembagian open payment dan closed payment yang umum di payment gateway:

Tiga status menjawab hampir semua pertanyaan harian: pending saat menunggu, succeeded (di dashboard: Dibayar) saat pembayaran terkonfirmasi, dan expired saat lewat batas waktu tanpa dibayar. Daftar lengkap nilainya ada di referensi ambil permintaan. Status yang tampil di dashboard dan yang dikembalikan API selalu sama, jadi kasir, bendahara, dan sistem membaca satu sumber.

Tanpa integrasi: cukup dashboard dan notifikasi

Untuk yang tidak menulis kode, alurnya berhenti di sini: buat tautan checkout dari dashboard, kirim ke pembayar, lalu pantau statusnya di daftar Transaksi. Untuk pembayaran live, pemilik bisa menerima email, notifikasi browser, dan push di aplikasi Kasera Pay saat pembayaran masuk. Begitu statusnya Dibayar, pembayaran itu sudah terkonfirmasi, tanpa membuka mutasi dan tanpa meminta bukti transfer. Kapan notifikasi dashboard cukup dan kapan perlu webhook dibahas di notifikasi dashboard atau webhook.

Dengan integrasi: webhook, bukan polling mutasi

Untuk developer, konfirmasi datang sebagai event payment.paid yang dikirim ke URL webhook saat pembayaran terkonfirmasi, dan payment.expired serta payment.failed untuk tagihan yang tidak jadi dibayar. Detail yang penting untuk sistem yang mengandalkan status pembayaran:

Detail payload dan contoh verifikasi signature ada di dokumentasi webhook.

Langkah berikutnya

Untuk QRIS statis yang sudah terpasang, mulai dari notifikasi di ponsel kasir dan kebiasaan mengecek riwayat di aplikasi merchant. Untuk berhenti mencocokkan sama sekali, pindahkan tagihan ke QRIS dinamis per transaksi; caranya tanpa website ada di panduan menerima QRIS tanpa website. Akun Kasera Pay bisa dibuat gratis, dengan biaya QRIS 0,7% + Rp 250 per pembayaran yang berhasil sampai Rp 1.000.000.

Mulai sekarang

Terima pembayaran pertama minggu ini.

Daftar gratis, buat payment link atau pakai API, dan lihat statusnya berubah otomatis. Tanpa biaya bulanan, biaya transaksi hanya untuk pembayaran yang berhasil.

Dapatkan di Google PlayDownload di App Store