Blog · Terbit · Diperbarui

Refund QRIS dan Virtual Account: cara mengembalikan uang pembeli dan biaya yang hangus

Jawaban singkatnya: pembayaran QRIS dan Virtual Account lewat Kasera Pay tidak bisa di-refund dari dashboard maupun API. Penjual mengembalikan uang pembeli dengan transfer bank biasa dari rekening usahanya sendiri, dan biaya transaksi pembayaran itu tidak ikut kembali. Permintaan refund lewat API pada kedua metode ditolak 422 refund_not_supported.

PertanyaanJawaban untuk QRIS dan Virtual Account
Ada tombol atau endpoint refund?Tidak ada
Uangnya kembali lewat apa?Transfer dari rekening usaha penjual ke rekening pembeli
Nominal yang dikembalikanBruto, yaitu yang dibayar pembeli, atau sebagian sesuai kesepakatan
Biaya transaksiTidak kembali: QRIS 0,7% + Rp 250, VA Rp 5.000, di atas Rp 1.000.000 keduanya 1%
Saldo dan pencairan di KaseraTidak dipotong; status pembayarannya tetap Dibayar

Kenapa tidak ada tombol refund, padahal di EDC bank ada?

Sebagian bank memang menyediakan refund QRIS di mesin EDC miliknya sendiri. Menurut halaman edukasi BCA (dibaca 4 November 2026), refund itu hanya berlaku untuk transaksi QRIS di EDC BCA, paling lambat H+7, pembeli wajib membawa struk asli, dan MDR-nya ikut dikembalikan ke merchant. Fitur itu milik bank penerbit EDC-nya, bukan sifat QRIS secara umum.

Di Kasera Pay jalurnya tidak ada. Pembayaran QRIS disahkan pembeli di aplikasinya sendiri, dan syarat layanan Kasera Pay menyatakan pembayaran itu tidak dapat dibatalkan hanya atas instruksi penjual. Virtual Account sama: dokumentasinya menyebut VA tidak bisa dibalik. Sengketa barang dan jasa adalah urusan penjual dengan pembelinya, jadi mengembalikan uang adalah keputusan dagang yang dijalankan penjual sendiri.

Sebelum mengembalikan apa pun: pastikan uangnya memang masuk

Kesalahan paling mahal di alur ini adalah mengirim uang kembali untuk pembayaran yang tidak pernah berhasil. Hanya baris berstatus succeeded (Dibayar) yang membawa uang. Baris pending belum dibayar, dan baris expired atau canceled belum membawa uang saat dicek.

Status yang kedua itu bisa berubah. QR atau nomor Virtual Account dari permintaan yang dibatalkan tetap bisa dibayar, dan pembayaran yang diterima tepat sebelum batas waktu masih bisa mengubah permintaan yang kedaluwarsa. Keduanya masuk sebagai succeeded biasa. Jadi periksa status terbarunya tepat sebelum mentransfer, bukan dari tangkapan layar kemarin. Kalau pembeli bersikeras sudah membayar sementara statusnya belum berubah, ikuti urutan di artikel tentang pembayaran yang katanya sudah dibayar lebih dulu.

Enam langkah mengembalikan uang pembeli

  1. Kunci fakta pembayarannya. Catat referensi transaksi dan nominal bruto pada baris itu. Dua angka itu yang menghubungkan uang keluar nanti dengan pembayaran yang masuk.
  2. Kembalikan bruto, bukan bersih. Yang keluar dari kantong pembeli adalah nominal bruto. Mengembalikan angka bersih berarti pembeli menanggung biaya atas pesanan yang batal, dan itu hampir selalu menjadi keluhan berikutnya. Kalau penanggung biaya diatur ke pembeli, bruto yang dibayar lebih besar daripada harga barang, dan bruto itu pula yang dikembalikan.
  3. Minta nomor rekening lewat kanal yang sama dengan pesanan. Catatan pembayaran hanya menyimpan nama, email, dan nomor telepon pembayar bila diisi; nomor rekening pembeli tidak pernah ada di sana. Permintaan dari akun baru, nomor baru, atau percakapan lain adalah modus penipuan yang paling murah dicoba. Menjawab lewat kanal asal pesanan menutup peluang itu.
  4. Transfer dari rekening usaha, dengan berita yang bisa dicari. Isi berita transfer dengan referensi atau nomor pesanan, bukan kata “refund” saja. Tiga bulan lagi, baris mutasi itulah bukti yang tersisa.
  5. Kirim bukti transfer dan nama pengirimnya ke pembeli. Dana masuk atas nama rekening usaha penjual, bukan atas nama Kasera Pay, dan tanpa keterangan itu pembeli tidak mengenali kiriman yang ditunggunya. Waktu tibanya mengikuti bank pengirim dan bank penerima.
  6. Catat di luar sistem pembayaran. Baris pembayarannya tetap succeeded selamanya, karena uang itu memang pernah masuk, dan ekspor CSV tidak punya kolom pengembalian. Buku pengembalian dana berdiri sendiri, dengan referensi pembayaran sebagai kunci sambungannya ke rekonsiliasi harian.

Berapa yang hangus setiap kali uang dikembalikan?

Biaya transaksi sudah terpotong saat pembayaran berhasil dan tidak kembali, baik pada pengembalian penuh maupun sebagian. Ditambah biaya transfer keluar dari bank penjual, yang besarnya ditentukan bank itu sendiri.

PembayaranBiaya QRIS yang hangusBiaya Virtual Account yang hangus
Rp 25.000Rp 425Rp 5.000
Rp 150.000Rp 1.300Rp 5.000
Rp 1.000.000Rp 7.250Rp 5.000
Rp 2.000.000Rp 20.000Rp 20.000

Baris terakhir memakai tarif pembayaran di atas Rp 1.000.000: QRIS 1% dan Virtual Account 1% dari seluruh nominal. Rincian potongan ada di halaman refund dan sengketa.

Konsekuensinya untuk kebijakan toko: pada nominal kecil, pengembalian dana hampir seluruhnya biaya. Pesanan Rp 25.000 lewat Virtual Account yang dikembalikan penuh menghabiskan Rp 5.000 plus biaya transfer keluar, yang bisa melebihi margin pesanan itu. Toko yang sering menerima pembatalan kecil lebih untung memperbaiki penyebab pembatalannya. Siapa menanggung biaya dan ongkir pada tiap jenis pembatalan sebaiknya tertulis sebelum pembeli membayar; contoh teksnya ada di panduan menulis kebijakan pengembalian dana.

Kasus yang paling sering muncul

Satu pesanan dibayar dua kali

Bentuknya hampir selalu sama: satu tautan kedaluwarsa atau dianggap gagal, pembeli minta tautan baru, lalu keduanya dibayar. Keduanya pembayaran sah berstatus succeeded, keduanya kena biaya, dan Kasera Pay tidak menggabungkannya. Yang kedua dikembalikan dengan enam langkah di atas. Cara memastikan memang ada dua pembayaran dan menemukan kedua barisnya ada di artikel tentang satu pesanan yang dibayar dua kali.

Pesanan batal sebagian

Transfer nominal yang disepakati, lalu tulis nominal dan alasannya di catatan pesanan. Sisanya tetap penjualan, dan biaya transaksi atas seluruh pembayaran tetap berlaku.

Pembayaran di atas Rp 1.000.000 pada akun yang masih baru

Selama akun masih baru, dana pembayaran di atas Rp 1.000.000 ditahan dari pencairan sampai pembeli mengonfirmasi pesanan diterima, atau sehari setelah tanggal pengiriman lewat tanpa laporan. Kalau pesanan seperti itu batal, uang pembeli tetap kembali lewat transfer dari rekening penjual; tidak ada jalur yang memakai dana yang tertahan. Kalau pembeli sudah melaporkan masalah, balas di utas email laporannya dengan bukti transfer pengembalian. Aturan lengkapnya ada di panduan pembayaran di atas Rp 1.000.000.

Nominal yang dibayar tidak cocok, atau pembeli salah bayar ke penjual lain

Dua kasus ini bukan refund dari penjual. Pembayaran yang nominalnya tidak cocok tidak dikreditkan otomatis dan ditahan untuk dicek tim Kasera. Pembeli yang salah membayar ke penjual lain meminta uangnya ke penjual yang menerimanya; kalau tidak berhasil, pembeli mengirim email ke [email protected] dan Kasera meneruskannya ke penjual itu. Kasera tidak bisa menarik pembayaran QRIS atau Virtual Account kembali dalam kedua kasus.

Kalau pembeli mengancam komplain ke Kasera

Komplain pembeli memang bisa dikirim ke Kasera, tetapi Kasera hanya mencocokkan pembayarannya lalu meneruskannya ke penjual. Keputusan dan transfernya tetap di tangan penjual. Bila sebuah sengketa membuat pencairan tidak aman, Kasera dapat menahan jumlah yang disengketakan sampai selesai. Urutan menjawab komplain dan catatan yang menentukan hasilnya ada di panduan menangani sengketa dan komplain pembeli.

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