Blog · Terbit
Menerima pembayaran usaha photobox dan photobooth: QR per sesi di layar booth, sesi yang baru dimulai setelah webhook masuk, dan DP sewa photobooth acara lewat Virtual Account
Photobox swalayan dan photobooth sewaan terlihat seperti usaha yang sama, tetapi menagihnya berbeda sama sekali. Photobox di mal atau kafe menjual sesi Rp 25.000 sampai Rp 50.000 tanpa kasir, jadi layar booth menampilkan satu QRIS dinamis per sesi dengan nominal terkunci, dan sesi baru dimulai saat catatan Kasera Pay berkata succeeded, bukan saat pembeli menunjukkan layar ponselnya. Photobooth sewaan untuk pernikahan atau acara kantor menagih jutaan rupiah dalam dua kali bayar, DP dan pelunasan, dan untuk nominal sebesar itu Virtual Account dengan biaya tetap Rp 5.000 lebih murah daripada QRIS.
Dua usaha, dua cara menagih
| Photobox swalayan | Photobooth sewaan acara | |
|---|---|---|
| Nominal (ilustrasi) | Rp 25.000 sampai Rp 100.000 per sesi | Rp 2.000.000 sampai Rp 8.000.000 per acara |
| Kapan dibayar | Sebelum sesi, di depan layar | DP saat booking, pelunasan sebelum hari acara |
| Metode yang paling hemat | QRIS, Rp 500 flat sampai Rp 100.000 | Virtual Account, Rp 5.000 tetap |
| Yang menekan tombol | Software booth lewat API, atau penjaga | Pemilik usaha dari dashboard |
Biaya per sesi: satu tagihan, termasuk cetak tambahan
QRIS sampai Rp 100.000 kena Rp 500 per pembayaran berhasil, berapa pun nominalnya. Di atasnya tarifnya 0,7% + Rp 250. Hitungan dengan harga paket yang umum:
| Sesi (ilustrasi) | Biaya QRIS | Porsi dari harga |
|---|---|---|
| Rp 25.000, satu strip | Rp 500 | 2% |
| Rp 35.000, dua strip | Rp 500 | 1,4% |
| Rp 50.000, plus file digital | Rp 500 | 1% |
| Rp 100.000, paket grup | Rp 500 | 0,5% |
| Rp 120.000, paket grup plus bingkai | Rp 840 + Rp 250 = Rp 1.090 | 0,9% |
Akibat praktisnya: cetak tambahan dipilih di layar sebelum QR dibuat, lalu masuk ke tagihan yang sama. Tambahan Rp 10.000 yang ditagih terpisah setelah sesi kena Rp 500 sendiri, atau 5% dari nilainya. Batas Rp 100.000 juga membuat tangga kecil: paket Rp 100.000 kena Rp 500, paket Rp 101.000 kena Rp 957. Kalau ada paket di dekat batas itu, harga Rp 100.000 lebih masuk akal daripada Rp 105.000. Rinciannya ada di halaman biaya.
Alur di booth yang tidak punya kasir
- Pembeli memilih paket dan cetak tambahan di layar sentuh. Software booth meminta server usaha membuat tagihan ke
POST /v1/transactionsdenganamounttotal,payment_methods: ["qris"],descriptionberisi nomor booth dan paket, dan nomor sesi sebagaiexternal_id. Kirim nomor sesi yang sama sebagai headerIdempotency-Key: kalau Wi-Fi mal putus di tengah permintaan dan booth mengulanginya, yang kembali adalah tagihan yang sama, bukan QR kedua. - Pendekkan masa berlakunya dengan
expires_in_minutes. Default-nya 60 menit, terlalu panjang untuk orang yang berdiri di depan layar. Lima menit cukup untuk membuka aplikasi dan membayar, dan layar bisa menampilkan hitung mundur keexpires_at. - Ubah
payment.qr_stringmenjadi gambar QR di layar booth, seperti dijelaskan di dokumentasi QRIS Direct API. - Mulai sesi hanya setelah server menerima event
payment.paidyang tanda tangannya valid, atau setelah statusnya terbacasucceeded. Tanda berhasil di ponsel pembeli bukan bukti.
Webhook diterima server, bukan booth
Webhook dikirim ke alamat HTTPS publik. Booth yang tersambung ke Wi-Fi mal atau kafe berada di balik jaringan orang lain dan tidak punya alamat seperti itu, jadi yang menerima webhook adalah server kecil milik usaha: VPS murah atau layanan serverless sudah cukup. Booth lalu bertanya ke server itu setiap satu atau dua detik selama QR tampil.
Jangan biarkan setiap booth bertanya langsung ke Kasera Pay. Batasnya 300 request per menit per API key, dan lima booth yang masing-masing menanyakan status setiap detik sudah menghabiskan 300 request per menit sebelum satu tagihan pun dibuat. Server yang menerima webhook menjawab booth dari catatannya sendiri, dan hanya menanyakan ke Kasera Pay kalau webhook yang ditunggu belum datang. Pertimbangan keduanya dibahas di perbandingan webhook dan menanyakan status berkala.
QR yang kedaluwarsa atau dibatalkan, lalu tetap dibayar
Kasus ini pasti terjadi di booth yang ramai. Pembeli memindai QR di detik terakhir, atau menekan Batal di layar setelah aplikasinya sudah memproses pembayaran. Tagihan yang sudah expired atau dibatalkan masih bisa menjadi succeeded kalau uangnya masuk, dan event payment.paid tetap dikirim. Booth yang sudah kembali ke layar awal harus menangani ini, bukan mengabaikannya.
Cara paling sederhana: saat server menerima payment.paid untuk sesi yang sudah ditutup, booth menampilkan kode sesi di layar dan penjaga atau pembeli bisa memulainya dari menu “Sudah bayar”. Kalau pembeli sudah pergi, kodenya tercatat di server, dan uangnya dikembalikan dengan transfer dari rekening sendiri kalau pembeli menghubungi.
Booth berpenjaga tanpa software
Photobooth di acara hampir selalu dijaga orang, dan untuk itu integrasi tidak wajib. Buat halaman pembayaran di dashboard dengan sampai delapan pilihan nominal, satu per paket, lalu cetak display A5-nya untuk meja di samping booth. Penjaga melihat pembayaran masuk di dashboard, mencocokkan nominalnya, dan memulai sesi. Penjaga yang diundang sebagai Staf bisa membuat dan melihat permintaan pembayaran serta mengunduh CSV, tetapi tidak bisa mengubah rekening pencairan atau mencairkan saldo, seperti dirinci di dokumentasi tim.
Banyak booth, satu akun
Tulis nomor booth dan lokasinya di setiap tagihan, misalnya “Booth 2, mal lantai 3, dua strip”. Di akhir bulan, kolom deskripsi di CSV transaksi menunjukkan booth mana yang menghasilkan dan mana yang sebaiknya dipindah. Software booth yang memakai API cukup mengisi description dan external_id secara otomatis.
Sewa photobooth untuk acara: DP dan pelunasan
Paket sewa Rp 3.500.000 dengan DP 30% berarti dua tagihan: Rp 1.050.000 saat booking dan Rp 2.450.000 sebelum hari acara. Lewat Virtual Account, masing-masing kena Rp 5.000, total Rp 10.000. Lewat QRIS, DP kena Rp 7.600 dan pelunasan Rp 17.400, total Rp 25.000. Virtual Account membutuhkan nama pelanggan, tersedia untuk tujuh bank (BRI, BNI, Mandiri, Permata, CIMB Niaga, Danamon, dan Maybank), dengan nominal maksimum Rp 10.000.000 per pembayaran.
Tagihan dari dashboard berlaku 60 menit, jadi kirim tautannya saat klien sudah siap membayar, bukan malam sebelumnya. Tagihan yang dibuat lewat API bisa diberi masa berlaku lebih panjang.
Satu hal yang perlu ditanyakan dulu: kebijakan penggunaan Kasera Pay meminta persetujuan tertulis untuk “hal lain yang dibayar jauh sebelum diserahkan”. Pernikahan sering dipesan berbulan-bulan sebelumnya. Sebelum DP pertama untuk acara yang masih jauh, email halo@kasera.id dengan bentuk paketnya, besar DP, dan rentang waktu antara booking dan acara, lalu tunggu jawabannya.
Ringkasnya
- Satu QRIS dinamis per sesi, dengan cetak tambahan di tagihan yang sama.
- Sesi dimulai oleh catatan Kasera Pay, bukan oleh layar pembeli.
- Webhook ke server kecil, booth bertanya ke server itu, bukan langsung ke API.
- Pembayaran setelah QR kedaluwarsa atau dibatalkan tetap ditangani.
- Sewa acara ditagih lewat Virtual Account, dan DP jauh hari ditanyakan dulu.
Biaya dipotong dari pembayaran yang berhasil, tanpa biaya bulanan, dan pencairan ke rekening kena Rp 3.000 per pencairan, bukan per sesi.
Pertanyaan yang sering muncul
Pembeli menunjukkan layar m-banking berisi tanda berhasil, tetapi booth belum mulai. Apa yang dilakukan penjaga?
Jangan memulai sesi dari layar pembeli. Buka transaksi itu di dashboard atau minta server booth menanyakan statusnya lewat GET /v1/transactions/:id. Kalau statusnya succeeded, mulai sesinya dari menu operator. Kalau masih pending, tunggu sebentar: konfirmasi QRIS biasanya masuk beberapa detik setelah di-scan, dan tampilan aplikasi pembeli bukan bukti bahwa uangnya diterima.
Apakah photobox yang belum punya software bisa langsung menerima QRIS?
Bisa, dengan penjaga. Buat halaman pembayaran di dashboard dengan pilihan nominal sesuai paket, cetak display A5-nya, dan letakkan di samping booth. Pembeli memilih paket dan membayar, penjaga melihat pembayarannya masuk di dashboard, lalu memulai sesi. Tanpa penjaga, booth membutuhkan integrasi API agar sesi dimulai otomatis.
Klien membatalkan sewa photobooth setelah membayar DP. Bisakah DP dikembalikan lewat Kasera Pay?
Tidak lewat Kasera Pay. Pembayaran QRIS dan Virtual Account dikembalikan dengan transfer dari rekening penjual sendiri, sebesar yang disepakati. Karena itu aturan pembatalan, misalnya DP hangus kalau batal kurang dari 14 hari sebelum acara, sebaiknya tertulis di penawaran sebelum DP ditagih.
Panduan per jenis usaha
- Laundry
- Katering
- Bengkel motor dan mobil
- Klinik gigi dan praktik dokter
- Fotografi dan videografi
- Bimbel dan les privat
- Gym dan studio kebugaran
- Sewa lapangan olahraga
- Homestay dan villa
- Rental alat
- Toko bahan bangunan
- Jasa renovasi rumah
- Jasa pindahan rumah
- Percetakan dan digital printing
- Pet shop dan penitipan hewan
- Open trip
- Depot air minum isi ulang
- Toko bunga dan papan bunga
- Sekolah sepak bola dan klub olahraga anak
- Servis HP dan laptop
- Kursus mengemudi
- Sanggar tari dan kursus musik
- Aqiqah dan hewan kurban
- Antar-jemput sekolah
- SPP sekolah swasta, madrasah, dan pesantren
- Kue rumahan
- Jualan sayur online
- Kantin dan food court
- Cuci mobil dan motor
- Jualan frozen food
- Jualan thrift dan preloved
- Cleaning service dan bersih-bersih rumah
- Jasa penerjemah dan juru bahasa
- Toko optik dan kacamata
- Toko oleh-oleh dan jajanan khas
- Toko top up game dan voucher
- Tempat wisata dan agrowisata
- Rental PS dan warnet
- Tanaman hias dan bibit
- Pesanan hampers dan parsel
- Warung dan kasbon
- Kedai kopi dan kafe
- Penjahit dan konveksi
- Kos dan kontrakan
- Jastip
- Freelancer
- Jasa website dan hosting
- Jasa panggilan di tempat