Bank Simulator (uji di emulator)
Bank Simulator adalah "bank" palsu untuk menguji RAGH Reader di emulator
Android, tanpa app bank dan tanpa transfer sungguhan. Notifikasinya dibuat
sendiri dengan perintah adb.
Siapa yang butuh halaman ini? Terutama developer yang menguji app Reader dan server Reader di lingkungan pengembangan. Bila Anda hanya ingin menguji integrasi API dan webhook, lebih mudah memakai simulasi lewat API dengan kunci uji.
Kapan Bank Simulator tersedia
- Bank Simulator hanya muncul di server yang menyalakan mode simulator
(
READER_SIMULATOR=true). Server pengembangan biasanya menyalakannya. Server produksipayment-reader.ragh.co.idtidak menampilkan bank ini. - Kode bank:
SIMULATOR. Package sumber notifikasi:com.android.shell, yaitu package yang dipakaiadb shell cmd notification post. - Simulator mendukung uang masuk dan payout.
Persiapan
- Jalankan server Reader lokal, misalnya di
http://localhost:8000. - Jalankan emulator Android (Android 8.0 atau lebih baru).
- Pasang build debug RAGH Reader di emulator.
- Di layar login, isi Alamat server (khusus debug) dengan
http://10.0.2.2:8000. Alamat10.0.2.2adalah komputer Anda dilihat dari emulator. - Login dengan email, password, dan login key akun uji.
- Beri akses notifikasi (lihat Pasang RAGH Reader).
- Tambah rekening, pilih Bank Simulator (uji emulator). Isi nomor dan
nama bebas, misalnya
1234567890danTOKO UJI.
Di emulator, kunci perangkat selalu berlevel software (bukan chip keamanan). Dashboard menandainya "kunci software". Ini normal untuk uji.
Kirim notifikasi palsu
Bentuk perintahnya:
adb shell 'cmd notification post -S bigtext -t "<judul>" <tag> "<isi>"'
- Bungkus seluruh perintah setelah
adb shelldengan kutip tunggal. Tanpa kutip tunggal, shell di HP memecah ulang argumennya: judul "Dana Masuk" menjadi "Dana", tag menjadi "Masuk", dan isi notifikasi menjadi "t1". - Kutip tunggal di atas berlaku untuk bash, zsh, Git Bash, dan WSL. Di
Command Prompt atau PowerShell Windows, jalankan
adb shelldulu, lalu ketik perintahcmd notification post …langsung di shell HP (tanpa kutip tunggal di luar). <tag>adalah label notifikasi. Pakai tag berbeda untuk setiap transaksi (t1,t2,t3, …). Tag yang sama menimpa notifikasi lama.- Isi harus memuat nominal dengan awalan
RpatauIDR. Tanpa nominal, notifikasi dibuang di HP.
Transfer uji rekening
Ganti 10.123 dengan nominal yang ditampilkan app:
adb shell 'cmd notification post -S bigtext -t "Dana Masuk" t1 "Transfer masuk Rp 10.123 dari BUDI"'
Setelah itu, isi nama penerima di layar transfer uji dengan nama yang Anda daftarkan.
Dana masuk untuk tagihan
Buat tagihan lewat API, lalu kirim notifikasi dengan total_amount-nya:
adb shell 'cmd notification post -S bigtext -t "Dana Masuk" t2 "Transfer masuk Rp 200.123 dari BUDI SANTOSO"'
Dengan potongan nomor rekening dan jam transaksi. Potongan nomor adalah
digit terakhir nomor yang Anda daftarkan (contoh ini untuk rekening
1234567890):
adb shell 'cmd notification post -S bigtext -t "Dana Masuk" t3 "Dana masuk Rp 200.123 dari BUDI SANTOSO ke rek 7890 pada 28/09/26 14:05"'
Bila potongan nomor rekening tidak cocok dengan rekening terdaftar, mutasi dianggap milik rekening lain dan diabaikan.
Dua notifikasi untuk satu transaksi
Beberapa bank mengirim dua notifikasi untuk satu transfer. Simulator meniru pasangan ini: kirim keduanya dalam 120 detik, dengan nominal sama.
adb shell 'cmd notification post -S bigtext -t "Dana Masuk" t4 "Transfer masuk Rp 75.321 dari ANI"'
adb shell 'cmd notification post -S bigtext -t "Mutasi" t5 "Mutasi kredit Rp 75.321"'
Notifikasi kedua dicatat sebagai duplicate_notification dan tidak dihitung
sebagai transfer kedua.
Uang keluar (payout)
Aktifkan payout rekening Simulator dulu dari app, lalu:
adb shell 'cmd notification post -S bigtext -t "Transfer" t6 "Transfer keluar Rp 150.123 ke BUDI SANTOSO"'
Dengan biaya transfer. Reader membaca nominal pokok, bukan pokok + biaya:
adb shell 'cmd notification post -S bigtext -t "Transfer" t7 "Transfer keluar Rp 150.123 ke BUDI SANTOSO biaya Rp 2.500"'
Dikembalikan bank (reversal), untuk payout yang sudah terkirim:
adb shell 'cmd notification post -S bigtext -t "Info" t8 "Pengembalian dana Rp 150.123"'
Notifikasi yang harus diabaikan
Setiap baris di bawah dikirim dengan pola perintah yang sama, misalnya:
adb shell 'cmd notification post -S bigtext -t "Info" t9 "Kode verifikasi 123456 untuk transaksi Rp 50.000. Jangan berikan ke siapa pun"'
| Tag | Isi notifikasi | Hasil yang diharapkan |
|---|---|---|
t9 |
Kode verifikasi 123456 untuk transaksi Rp 50.000. Jangan berikan ke siapa pun |
Dibuang di HP (pola OTP). Tidak pernah dikirim ke server |
t10 |
Promo cashback Rp 20.000 hari ini |
Terkirim, lalu diabaikan server (ignored) |
t11 |
Pembayaran QRIS Rp 35.000 berhasil |
Uang keluar berjenis pembelian, diabaikan |
t12 |
3 transaksi baru |
Tidak memuat nominal, jadi dibuang di HP |
t13 |
3 transaksi baru senilai Rp 90.000 |
Rangkuman: masuk daftar perlu tindakan "cek mutasi" |
Hati-hati dengan kalimat bernominal yang tidak dikenal. Notifikasi yang
memuat nominal tetapi tidak cocok dengan pola mana pun dicatat parse_failed.
Rekening lalu menjadi tidak terpantau (format berubah) dan tagihannya
ditahan, sama seperti saat bank sungguhan mengganti kalimat notifikasinya.
Penahanan ini baru dilepas setelah aturan pembacaan diperbaiki. Pakai hanya
kalimat di halaman ini.
Memeriksa hasil
- Layar Riwayat di app menampilkan 50 mutasi terakhir beserta status pencocokannya.
- Dashboard menampilkan mutasi, tagihan, dan webhook yang terkirim.
- Arti setiap status pencocokan ada di Konsep.