Kebutuhan terhadap QRIS Sound Box API terus berkembang seiring bertambahnya penggunaan pembayaran non-tunai. Merchant tidak hanya membutuhkan kode QR, tetapi juga perangkat yang mampu memberikan notifikasi transaksi secara cepat dan mudah dikenali.
TechDok menyediakan device QRIS Sound Box yang dapat dikembangkan menggunakan koneksi API, webhook, dan MQTT. Solusi ini ditujukan untuk merchant, perusahaan teknologi, software house, pengembang aplikasi POS, pengelola parkir, dan system integrator.
Perangkat akan mengeluarkan pemberitahuan suara setelah backend menerima dan memverifikasi status pembayaran. Dengan demikian, petugas tidak perlu hanya mengandalkan bukti pembayaran yang diperlihatkan pelanggan.
Apa Itu QRIS Sound Box API?
QRIS Sound Box API adalah perangkat suara yang memperoleh data transaksi dari sistem backend. Informasi pembayaran diterima melalui callback atau webhook, diperiksa oleh server, kemudian diteruskan ke perangkat.
Alur sederhananya adalah:
- Pelanggan memindai kode QRIS merchant.
- Pelanggan menyelesaikan pembayaran.
- Penyedia jasa pembayaran memproses transaksi.
- Status transaksi dikirim ke webhook.
- Backend memverifikasi data pembayaran.
- Pesan diteruskan melalui MQTT.
- Sound Box mengumumkan nominal transaksi.
Sound Box bukan alat yang menentukan keberhasilan pembayaran. Perangkat hanya membacakan data yang sudah dinyatakan valid oleh backend.
Mengenal Pembayaran QRIS Statis
QRIS statis menggunakan satu kode QR yang dapat dipakai berulang kali. Pelanggan memindai kode tersebut, memasukkan nominal, memeriksa nama merchant, dan menyelesaikan pembayaran melalui aplikasi yang digunakan.
Bank Indonesia menjelaskan bahwa QRIS mendukung Merchant Presented Mode atau MPM statis dan dinamis. MPM statis merupakan metode sederhana karena merchant menampilkan satu kode QR, sedangkan nominal dimasukkan oleh pelanggan. (Bank Indonesia)
QRIS statis praktis digunakan, tetapi merchant tetap perlu memastikan bahwa:
- Pembayaran masuk ke merchant yang benar
- Nominal sesuai dengan tagihan
- Status transaksi benar-benar berhasil
- Bukti pembayaran bukan hasil manipulasi
- Satu transaksi tidak dicatat lebih dari sekali
Sound Box dapat membantu petugas menerima notifikasi tanpa harus terus-menerus membuka aplikasi merchant.
Mengapa Merchant Membutuhkan Sound Box QRIS?
Bukti transaksi pada layar pelanggan belum tentu cukup untuk memastikan pembayaran berhasil. Petugas dapat keliru membaca nominal, nama penerima, atau status transaksi.
QRIS Sound Box memberikan lapisan notifikasi tambahan dengan mengumumkan pembayaran yang sudah diterima sistem.
Manfaatnya antara lain:
- Mempercepat konfirmasi transaksi
- Membantu mengurangi kesalahan pemeriksaan nominal
- Memudahkan operasional saat antrean ramai
- Tidak bergantung pada satu layar ponsel
- Memberikan notifikasi suara secara otomatis
- Mendukung pemantauan banyak merchant
- Dapat diintegrasikan dengan sistem bisnis
Untuk transaksi bernilai penting, merchant tetap dianjurkan memeriksa dashboard atau sistem transaksi sebagai sumber pencatatan utama.
Integrasi QRIS Sound Box Menggunakan MQTT
MQTT adalah protokol komunikasi dengan mekanisme publish–subscribe. Server mengirim atau menerbitkan pesan ke sebuah topik, sedangkan perangkat berlangganan pada topik yang telah ditentukan.
Spesifikasi resmi OASIS menyebut MQTT sebagai protokol client-server publish–subscribe yang ringan dan dirancang agar mudah diterapkan, termasuk pada komunikasi machine-to-machine dan perangkat IoT. (OASIS MQTT)
Setiap Sound Box dapat menggunakan serial number sebagai identitas topik.
{SN}/paymentContoh:
TD-QSB-26090001/paymentKetika pembayaran milik perangkat tersebut berhasil diverifikasi, backend menerbitkan pesan hanya ke topik yang bersangkutan.
Alur Sistem QRIS Sound Box TechDok
Berikut arsitektur yang dapat digunakan dalam proses integrasi:
Pelanggan
│
▼
Pembayaran QRIS
│
▼
PJP atau Payment Gateway
│
│ Webhook HTTPS
▼
Backend Merchant
│
├── Verifikasi signature
├── Periksa Merchant ID
├── Periksa Transaction ID
├── Validasi nominal
├── Validasi status
└── Pemetaan Serial Number
│
│ MQTT Publish
▼
QRIS Sound Box
│
▼
Notifikasi suaraBackend menjadi penghubung antara layanan pembayaran dan perangkat. Kredensial payment gateway tidak perlu disimpan pada Sound Box.
Contoh Data Pembayaran
Berikut contoh konseptual payload yang dapat diterima backend:
{
"transaction_id": "PAY-20260905-100025",
"merchant_id": "MERCHANT-001",
"amount": 75000,
"currency": "IDR",
"status": "SUCCESS",
"paid_at": "2026-09-05T15:20:10Z",
"signature": "payment-provider-signature"
}Nama field dan metode validasinya harus mengikuti dokumentasi PJP atau payment gateway terkait. Setelah payload dinyatakan valid, backend dapat membentuk pesan untuk Sound Box.
{
"event": "PAYMENT_SUCCESS",
"transaction_id": "PAY-20260905-100025",
"amount": 75000,
"currency": "IDR",
"message": "Pembayaran berhasil"
}Pesan tersebut diterbitkan ke:
TD-QSB-26090001/paymentSound Box kemudian mengubah data nominal menjadi pemberitahuan suara, misalnya:
“Pembayaran berhasil sebesar tujuh puluh lima ribu rupiah.”
Penanganan Status Pembayaran
Webhook dapat mengirimkan beberapa status transaksi, tergantung penyedia pembayaran.
SUCCESS
Transaksi telah berhasil. Backend dapat meneruskan notifikasi ke Sound Box setelah signature, Merchant ID, Transaction ID, dan nominal diverifikasi.
PENDING
Transaksi masih diproses. Status ini sebaiknya tidak diumumkan sebagai pembayaran berhasil.
FAILED
Pembayaran gagal. Backend dapat menyimpan informasi tersebut untuk kebutuhan log tanpa mengumumkan keberhasilan transaksi.
Penamaan status aktual dapat berbeda pada setiap PJP. Developer harus mengikuti dokumentasi teknis yang berlaku.
Mencegah Notifikasi Ganda
Webhook dapat dikirim ulang ketika server penyedia pembayaran belum memperoleh respons yang diharapkan. MQTT QoS 1 juga memungkinkan pesan diterima lebih dari sekali.
Karena itu, sistem perlu menerapkan idempotency. Backend menyimpan transaction_id yang telah diproses dan tidak menerbitkan ulang transaksi yang sama.
Contoh logika:
Jika transaction_id belum pernah diproses:
Validasi transaksi
Simpan transaction_id
Publish ke MQTT
Jika transaction_id sudah diproses:
Jangan kirim ulangOWASP merekomendasikan penggunaan ID transaksi unik, waktu kedaluwarsa, penolakan callback yang digunakan kembali, dan pencatatan seluruh percobaan callback. (OWASP Third-Party Payment Gateway Integration)
Keamanan Koneksi MQTT
Setiap Sound Box sebaiknya memiliki kredensial perangkat tersendiri. Penggunaan satu kredensial bersama untuk seluruh perangkat dapat meningkatkan risiko kebocoran akses.
Pengamanan yang disarankan meliputi:
- MQTT melalui TLS
- Username dan password unik
- Sertifikat perangkat apabila diperlukan
- Access Control List per topik
- Rotasi kredensial
- Pembatasan koneksi
- Penyimpanan log
- Monitoring perangkat
- Penolakan koneksi tidak dikenal
Sebagai contoh, perangkat dengan SN TD-QSB-26090001 hanya diizinkan berlangganan pada:
TD-QSB-26090001/paymentPerangkat tersebut tidak boleh membaca topik milik serial number lain.
Keamanan Webhook dan API
Endpoint webhook harus menggunakan HTTPS. OWASP menjelaskan bahwa layanan REST perlu menggunakan HTTPS untuk melindungi kredensial dan integritas data selama transmisi. (OWASP REST Security)
Backend juga perlu menjalankan pemeriksaan berikut:
- Memverifikasi signature dari PJP
- Memastikan Merchant ID terdaftar
- Memvalidasi format payload
- Membandingkan nominal transaksi
- Memeriksa timestamp
- Mencegah replay attack
- Menerapkan rate limiting
- Menyimpan audit log
- Menolak transaksi tidak dikenal
- Menyamarkan data sensitif pada log
Notifikasi dari aplikasi pelanggan tidak boleh dijadikan satu-satunya dasar untuk menganggap pembayaran berhasil.
Fitur Device QRIS Sound Box
Spesifikasi perangkat dapat disesuaikan berdasarkan model dan kebutuhan proyek. Fitur yang dapat dipertimbangkan meliputi:
- Koneksi Wi-Fi atau jaringan seluler
- Dukungan MQTT
- Speaker notifikasi
- Pengaturan volume
- Identitas serial number
- Konfigurasi jarak jauh
- Pembaruan firmware
- Monitoring koneksi
- Riwayat pesan
- Acknowledgement perangkat
- Dukungan Bahasa Indonesia
- Pembacaan nominal rupiah
Ketersediaan setiap fitur harus dikonfirmasi sesuai tipe device dan ruang lingkup integrasi.
Integrasi dengan Aplikasi POS
QRIS Sound Box dapat dihubungkan dengan aplikasi kasir atau POS. Ketika pembayaran berhasil, sistem dapat:
- Mengubah status pesanan menjadi lunas
- Mencetak struk
- Memperbarui laporan penjualan
- Mengurangi stok barang
- Mengirim notifikasi kepada kasir
- Menyimpan waktu pembayaran
- Menghubungkan transaksi dengan nomor pesanan
Integrasi tersebut membantu menyatukan proses pembayaran dengan operasional merchant.
Integrasi dengan Sistem Parkir
Pada sistem parkir, Sound Box dapat digunakan bersama:
- POS kasir parkir
- Mesin tiket
- Payment station
- Sistem parkir cashless
- Aplikasi petugas
- QRIS di pintu keluar
- Sistem parkir on-street
- Palang parkir otomatis
Setelah transaksi berhasil diverifikasi, backend dapat memperbarui status tiket. Perintah untuk membuka palang sebaiknya ditempatkan pada jalur komunikasi terpisah dan menggunakan pemeriksaan tambahan.
Notifikasi pembayaran dan perintah membuka akses tidak boleh dianggap sebagai satu proses yang sama tanpa validasi keamanan.
Integrasi Banyak Merchant dan Perangkat
Sistem dapat dikembangkan untuk melayani banyak merchant dalam satu platform.
Contoh pemetaan:
| Merchant | Serial Number | Topik MQTT |
|---|---|---|
| Merchant A | TD-QSB-001 | TD-QSB-001/payment |
| Merchant B | TD-QSB-002 | TD-QSB-002/payment |
| Merchant C | TD-QSB-003 | TD-QSB-003/payment |
Backend membaca Merchant ID dari callback, mencari serial number terkait, lalu menerbitkan pesan ke topik yang sesuai.
Satu merchant juga dapat mempunyai beberapa Sound Box, misalnya satu perangkat untuk setiap kasir atau cabang.
Dashboard Monitoring Sound Box
Untuk implementasi berskala besar, dashboard dapat membantu operator memantau:
- Jumlah perangkat aktif
- Status online dan offline
- Waktu koneksi terakhir
- Merchant yang terhubung
- Versi firmware
- Riwayat notifikasi
- Pesan yang gagal
- Acknowledgement perangkat
- Volume dan konfigurasi
- Riwayat perubahan data
Dashboard juga dapat dilengkapi mekanisme pencarian berdasarkan merchant, cabang, atau serial number.
Siapa yang Membutuhkan QRIS Sound Box API?
Solusi ini cocok digunakan oleh:
- Software house
- Developer aplikasi pembayaran
- Penyedia aplikasi POS
- System integrator
- Pengelola parkir
- Pemilik jaringan retail
- Restoran dan kafe
- Tempat wisata
- Rumah sakit
- Sekolah dan kampus
- Koperasi
- Vending machine operator
- Perusahaan dengan banyak cabang
Integrasi dapat dimulai dari satu perangkat untuk pengujian sebelum diterapkan dalam jumlah lebih besar.
Layanan TechDok untuk Developer
TechDok dapat membantu penyediaan dan pengembangan solusi yang mencakup:
- Pengadaan QRIS Sound Box
- Aktivasi identitas perangkat
- Pemetaan merchant dan serial number
- Integrasi webhook
- Pengembangan REST API
- Konfigurasi broker MQTT
- Dashboard monitoring
- Integrasi aplikasi POS
- Integrasi sistem parkir
- Pengujian sandbox
- Dokumentasi endpoint
- Pengujian produksi
- Dukungan teknis
Ruang lingkup akhirnya disesuaikan dengan dokumentasi PJP, kebutuhan pelanggan, jenis perangkat, infrastruktur server, dan jumlah merchant.
TechDok Bukan Penerbit QRIS
TechDok berperan sebagai penyedia perangkat dan integrator API/MQTT. Aktivasi merchant, penerbitan QRIS, pemrosesan pembayaran, dan settlement dilakukan melalui PJP QRIS berizin Bank Indonesia.
Bank Indonesia mengarahkan calon merchant untuk memilih PJP QRIS yang telah berizin, melengkapi pengajuan, dan menunggu proses verifikasi serta penerbitan Merchant ID. (Bank Indonesia)
Pemisahan peran ini penting agar proses pembayaran tetap berada dalam ekosistem penyelenggara resmi.
Pesan QRIS Sound Box API di TechDok
TechDok menyediakan QRIS Sound Box dengan integrasi API dan MQTT untuk kebutuhan merchant maupun developer.
Sebelum meminta penawaran, siapkan informasi berikut:
- Nama PJP atau payment gateway
- Dokumentasi API dan webhook
- Contoh callback transaksi
- Metode autentikasi
- Jumlah merchant
- Jumlah Sound Box
- Pilihan koneksi perangkat
- Lokasi pemasangan
- Kebutuhan dashboard
- Sistem yang akan diintegrasikan
Hubungi TechDok untuk konsultasi perangkat, desain arsitektur, integrasi webhook, konfigurasi MQTT, dan kebutuhan implementasi produksi.
Pertanyaan yang Sering Diajukan
Apakah Sound Box dapat digunakan untuk QRIS statis?
Ya. Sound Box dapat mengumumkan transaksi QRIS statis apabila penyedia pembayaran menyediakan data transaksi atau callback yang dapat diintegrasikan.
Apakah developer memperoleh akses API?
Akses dan format API disesuaikan dengan arsitektur proyek, dokumentasi PJP, serta kesepakatan integrasi.
Apakah MQTT wajib digunakan?
Tidak selalu. MQTT cocok untuk komunikasi perangkat IoT, tetapi arsitektur akhir dapat disesuaikan dengan kemampuan device dan server pelanggan.
Apakah Sound Box menyimpan dana pembayaran?
Tidak. Dana diproses dan diselesaikan oleh PJP. Sound Box hanya menerima pesan notifikasi transaksi.
Bisakah satu akun digunakan untuk banyak perangkat?
Sistem dapat memetakan satu merchant ke beberapa serial number. Demi keamanan, setiap perangkat sebaiknya mempunyai identitas dan hak akses sendiri.
Apakah tersedia integrasi sistem parkir?
Ya. QRIS Sound Box dapat dihubungkan dengan aplikasi parkir, POS, payment station, dan sistem tiket sesuai kebutuhan pengembangan.