IMPLEMENTASI PAKASIR + VOUCHER OTOMATIS (MIKROTIK) =================================================== A. Tujuan - Konsumen beli voucher di login hotspot. - Bayar via Pakasir. - Jika paid: voucher otomatis dibuat, dikirim ke WhatsApp, dan bisa dipakai login. B. Hal yang sudah ada di project ini - Frontend login + tombol beli: login.html - Logic pembayaran frontend: assets/js/purchase.js - Konfigurasi endpoint: assets/config/payment-gateway.js - Contoh backend: pakasir-backend-example.js - Script Mikrotik: MIKROTIK-SETUP-PAKASIR.rsc C. Langkah implementasi end-to-end 1) Siapkan backend online HTTPS - Deploy backend ke VPS/domain publik. - Endpoint minimal: POST /api/pakasir/create-payment GET /api/pakasir/payment-status POST /api/pakasir/webhook - Pastikan health check hidup: GET /api/pakasir/health 2) Ubah config frontend hotspot - Edit assets/config/payment-gateway.js - Isi apiBaseUrl sesuai domain backend, contoh: https://api.ispanda.com/api/pakasir 3) Upload file hotspot ke Mikrotik - Upload login.html, assets/js/purchase.js, assets/config/payment-gateway.js - Pastikan profile hotspot memakai login page yang ini. 4) Tambahkan walled-garden - Import MIKROTIK-SETUP-PAKASIR.rsc setelah ganti domain placeholder. - Minimal host yang wajib dibuka: a) domain backend Anda b) domain checkout Pakasir 5) Integrasi webhook paid - Pakasir callback -> backend endpoint /api/pakasir/webhook - Saat paid, backend harus: a) generate voucher Mikrotik b) simpan voucher ke transaksi c) kirim voucher ke WhatsApp konsumen 6) Test dari HP konsumen (tanpa login) - Buka hotspot login page - Isi nomor WA -> klik Beli - Pastikan tombol Bayar Sekarang membuka checkout - Setelah paid, status berubah jadi sukses dan voucher muncul - Coba login pakai voucher D. Checklist troubleshooting - Error "Gagal membuat transaksi pembayaran": backend mati / domain salah / CORS belum aktif / host belum di walled-garden. - Tombol Bayar tidak bisa dibuka: domain checkout belum di walled-garden. - Sudah paid tapi voucher tidak muncul: webhook tidak masuk atau proses generate voucher gagal di backend. - Konsumen tidak menerima WA: API WA gagal / nomor tidak valid / template pesan ditolak. E. Catatan keamanan wajib - API key Pakasir dan token WhatsApp hanya di backend. - Jangan simpan secret di file login.html atau assets/js. - Validasi signature webhook Pakasir di backend production.