Blog · Terbit · Diperbarui

Bukti transfer palsu: cara cek dalam dua menit, tujuh modus yang dipakai, dan cara menutup celahnya

Tangkapan layar bukti transfer tidak membuktikan uang sudah masuk. Yang dibuktikan hanya bahwa ada gambar di perangkat pengirim. Selisih antara dua hal itu adalah seluruh masalahnya, dan setiap bentuk penipuan di bawah ini bekerja persis di celah tersebut.

Cara cek bukti transfer dalam dua menit

  1. Buka aplikasi bank sendiri, mobile banking atau internet banking, bukan gambar kiriman pembeli. Cari baris dana masuk dengan nominal yang sama persis. Seperti ditulis peringatan BCA tentang bukti transfer palsu: bila tidak ada dana masuk sejumlah yang tertera di bukti, bukti itu palsu.
  2. Cocokkan nominal digit per digit, lalu tanggal dan jamnya. Rp 85.000 dan Rp 850.000 mudah tertukar saat dibaca sekilas.
  3. Baca nomor rekening tujuan di struk. Harus nomor rekening sendiri, bukan sekadar nama yang mirip.
  4. Cari kata “terjadwal” atau tanggal eksekusi di masa depan. Struk transfer terjadwal itu asli, tetapi uangnya belum berpindah.
  5. Belum ada di mutasi berarti belum dibayar. Barang ditahan sampai dananya tercatat, berapa pun desakan pembeli.

Menilai tampilan struk, misalnya huruf yang tidak seragam atau tata letak yang bergeser, tidak bisa diandalkan. Alat sunting gambar, termasuk yang memakai AI, membuat struk palsu semakin meyakinkan, dan empat dari tujuh modus di bawah memakai struk yang memang asli.

Jalan keluar jangka panjangnya bukan belajar membedakan struk asli dari struk palsu, melainkan mengganti pertanyaannya, dari “apakah bukti ini asli” menjadi “apa status pembayaran untuk pesanan ini”. Pertanyaan kedua punya jawaban yang tidak dipegang pembeli.

Tujuh modus yang benar-benar dipakai

  1. Gambar hasil sunting. Struk aplikasi bank punya tata letak tetap, jadi mengganti nominal, nama penerima, dan jam hanya soal menimpa teks pada gambar. Ada pula pembuat struk otomatis yang menghasilkan gambar utuh tanpa perlu menyunting apa pun. Bentuk ini yang paling banyak dibicarakan, dan justru yang paling mudah ditutup.
  2. Struk transfer terjadwal. Struknya asli: aplikasi bank benar-benar mengeluarkan konfirmasi untuk transfer yang dijadwalkan. Uang belum berpindah, dan jadwalnya bisa dibatalkan sebelum tanggal eksekusi. Penanda satu-satunya adalah kata terjadwal atau tanggal eksekusi yang jatuh di masa depan, dan keduanya dicetak kecil.
  3. Transfer ke rekening lain. Struk asli, nominal benar, jam benar, hanya nomor rekening tujuannya bukan milik penjual. Bagian itulah yang paling jarang dibaca ulang, karena mata langsung lompat ke angka nominal.
  4. Satu digit yang hilang. Struk asli senilai Rp 85.000 dikirimkan untuk tagihan Rp 850.000. Urutan angkanya mirip, dan pemeriksaan sekilas di sela melayani pembeli lain hampir selalu lolos.
  5. Struk lama yang dipakai ulang. Transaksi sungguhan dari pekan lalu, dikirim lagi untuk pesanan baru dengan nominal yang kebetulan sama. Tanpa membaca tanggal, dua gambar itu identik.
  6. Notifikasi yang menyerupai notifikasi bank. Bukan struk, melainkan tangkapan layar SMS atau pesan masuk yang meniru format pemberitahuan bank, lengkap dengan nama pengirim yang menyerupai nama bank. Tidak ada satu pun bagian dari gambar itu yang berasal dari bank.
  7. Kelebihan transfer. Bukti menunjukkan nominal lebih besar dari tagihan, lalu pembeli meminta selisihnya dikembalikan. BCA mencatat modus ini di peringatan yang sama. Yang dikembalikan penjual adalah uang sungguhan, sedangkan “kelebihan” itu tidak pernah masuk. Selisih apa pun hanya dikembalikan setelah dananya tercatat di mutasi rekening sendiri.

Kenapa cek mutasi manual belum menutup celahnya

Membuka mutasi rekening adalah refleks yang benar, dan sudah menghentikan modus pertama, kedua, keenam, dan ketujuh. Tiga kelemahannya muncul justru saat penjualan sedang ramai:

Trik kode unik tiga digit, yaitu meminta pembeli menambahkan angka kecil pada nominal transfer, menutup tabrakan nominal dengan biaya nol. Yang tidak ditutupnya: jeda mutasi tetap ada, pembeli sering lupa menambahkan kodenya, dan cara ini tidak berlaku pada pembayaran QRIS yang nominalnya sudah melekat pada kode.

Yang menutupnya: satu status per pesanan

Penutup celahnya adalah membuat satu permintaan pembayaran untuk setiap pesanan, lalu memperlakukan statusnya sebagai satu-satunya penentu. Status bernilai pending sejak dibuat, berubah menjadi succeeded ketika pembayaran terkonfirmasi, dan menjadi expired, canceled, atau failed bila tidak. Pembayaran yang tetap masuk setelah expired atau canceled tetap mengubah statusnya menjadi succeeded, jadi yang dibaca selalu status terakhirnya. Tidak ada nilai yang bisa dipengaruhi oleh gambar yang dikirim pembeli.

Dua sifat teknisnya menghapus kelemahan tadi. QRIS dinamis membawa nominal di dalam kodenya, sehingga dua pembayaran bernilai sama tetap terhubung ke pesanan yang berbeda dan tabrakan nominal hilang. Nomor Virtual Account yang dipakai untuk satu tagihan bekerja dengan cara yang sama. Sebaliknya, satu kode QRIS statis yang dipakai bersama mengembalikan seluruh pekerjaan pencocokan ke mutasi rekening.

Sifat kedua adalah arah pemberitahuannya. Konfirmasi datang sendiri lewat webhook payment.paid begitu pembayaran terkonfirmasi, jadi tidak ada lagi jeda antara uang masuk dan penjual mengetahuinya. Cara memastikannya tanpa membuka mutasi sama sekali dibahas di cara tahu pembayaran QRIS sudah masuk. Kalau status per transaksi sudah ada tetapi pembeli tetap bersikeras sudah membayar, urutan pemeriksaannya dibahas pada artikel pembayaran yang menurut pembeli sudah dilakukan.

Tiga celah yang tersisa di sisi kode

Integrasi yang sudah memakai status pun masih bisa membuka pintu yang sama. Tiga kesalahan ini yang paling sering terjadi:

Satu pemeriksaan tambahan yang murah: cocokkan amount pada payload dengan nilai tagihan di basis data sendiri sebelum bertindak, dan tolak bila berbeda. Itu menutup modus keempat, satu digit yang hilang, di lapisan yang tidak pernah lelah.

Untuk penjual tanpa website

Semua di atas bisa dijalankan tanpa satu baris kode. Buat tautan pembayaran per pesanan dari dashboard, kirim tautannya lewat chat, lalu tunggu status pesanan itu berubah di dashboard. Aturannya cukup satu kalimat, dan seluruh isi artikel ini bermuara ke sana: barang dikirim setelah status berubah, bukan setelah gambar diterima.

Aturan itu juga menghilangkan percakapan yang paling melelahkan dalam jualan online, yaitu menawar keabsahan sebuah tangkapan layar. Tidak ada lagi yang perlu diperdebatkan, karena yang dibaca penjual bukan kiriman pembeli. Hitungan kapan perpindahan itu sepadan, untuk penjual yang hari ini memakai formulir pesanan dan transfer manual, ada di perbandingan Google Form dan transfer manual dengan tautan pembayaran.

Apa yang sebenarnya dibuktikan tiap bukti

Yang diterima penjualYang benar-benar dibuktikan
Tangkapan layar strukAda sebuah gambar di perangkat pengirim
Struk transfer terjadwalAda perintah transfer, belum tentu ada eksekusi
Tangkapan layar notifikasiAda pesan masuk, tanpa jaminan asal
Baris mutasi rekeningAda uang masuk, tanpa penanda pesanan mana
Status succeeded pada permintaan pembayaranUang untuk tagihan itu sudah terkonfirmasi masuk

Kalau sudah terlanjur terjadi

Dari sisi pembeli

Pembeli menghadapi keraguan yang sebangun dari arah berlawanan, dan pertanyaannya hampir selalu sama di chat: aman tidak membayar lewat tautan. Tanda yang bisa diperiksa pembeli sendiri di halaman pembayaran, beserta jawaban yang bisa langsung dikirim, ada di bahasan keamanan membayar lewat tautan.

Untuk penjual perorangan yang belum punya badan usaha, syarat verifikasi, biaya, dan batas default yang berlaku sebelum semua ini bisa dijalankan ada di panduan payment gateway tanpa PT.

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