Panduan ini menjelaskan langkah-langkah konfigurasi Captive Portal Mikrotik agar dapat melakukan transaksi penjualan voucher hotspot secara otomatis melalui pembayaran QRIS yang terintegrasi dengan NETLAYER.
Unduh template login page Mikrotik Netlayer pada tautan berikut:
https://netlayer.id/zip/template.zip
Ekstrak file yang telah diunduh ke dalam satu folder pada komputer Anda.
Cari file script.js di dalam folder files, kemudian buka dengan text editor. Temukan bagian API_KEY dan ganti nilainya dengan API Key milik Anda yang dapat diambil dari dashboard NETLAYER.
Simpan kembali file script.js yang telah diedit, lalu unggah seluruh folder template ke router Mikrotik.
Agar perangkat pengguna dapat terhubung ke server API NETLAYER sebelum melakukan login, tambahkan konfigurasi walled garden pada Mikrotik:

Konfigurasi ini memungkinkan pengguna mengakses server API NETLAYER untuk keperluan transaksi sebelum mendapatkan koneksi internet penuh setelah login.
Tambahkan beberapa profile hotspot pada dashboard NETLAYER Anda. Pastikan setiap profile yang ingin ditampilkan pada halaman login telah diatur dengan opsi Allow Order = Yes.
Lakukan uji coba pembelian voucher dengan langkah berikut:

Setelah pembayaran berhasil dikonfirmasi secara otomatis oleh sistem NETLAYER, notifikasi transaksi akan dikirim melalui WhatsApp yang berisi informasi berikut:
Pada langkah konfigurasi di atas, API_KEY disimpan di dalam file script.js yang dijalankan pada sisi klien (browser pelanggan). Hal ini berarti API Key dapat dilihat oleh siapa pun yang terhubung ke hotspot, misalnya melalui Developer Tools pada browser atau dengan mengakses langsung file script.js pada router. Obfuscation maupun minifikasi tidak cukup untuk melindungi nilai API Key.
Apabila API Key terekspos, pihak lain berpotensi membuat pesanan voucher tanpa sepengetahuan Anda, mengakses data transaksi dan profile hotspot, serta menyalahgunakan kuota API hingga akun diblokir. Jika hal ini terjadi, Anda perlu melakukan regenerate API Key pada dashboard NETLAYER dan memperbarui file script.js pada seluruh router yang menggunakan template ini.
Untuk penggunaan produksi, disarankan membuat backend API sendiri sebagai perantara antara halaman login dan API NETLAYER. API Key disimpan di sisi server (misalnya melalui environment variable), sehingga tidak pernah terekspos ke browser pelanggan. Halaman login cukup mengirim permintaan ke backend Anda, dan backend yang akan meneruskan permintaan tersebut ke API NETLAYER menggunakan API Key.
Beberapa keuntungan tambahan dari pendekatan ini antara lain:
Apabila tetap menggunakan konfigurasi standar dengan API_KEY di dalam script.js, disarankan menggunakan API Key dengan hak akses terbatas dan melakukan regenerate secara berkala.