Alur 4 Langkah Account Linkage Webview
Account Linkage adalah proses menghubungkan identitas akun pengguna di aplikasi client dengan dompet digital QoinCash. Seluruh interaksi sensitif (TnC, OTP, PIN, dan Biometrik) ditangani seutuhnya di dalam antarmuka WebView QoinCash yang aman.
Prinsip Utama: Buka Selalu Root URL ("/")
Salah satu kesalahan paling sering terjadi adalah aplikasi client mencoba menebak halaman dengan membuka langsung /activate atau /qoincash. Hal ini tidak diperbolehkan.
{BASE_URL_SEAMLESS}/. Halaman root memiliki modul resolver cerdas yang memeriksa sesi dan status akun pengguna secara real-time:- Pengguna Baru: Otomatis diarahkan ke alur Aktivasi & Pendaftaran (
/activate). - Pengguna Lama (Sesi Kadaluarsa): Otomatis diarahkan ke konfirmasi PIN Re-autentikasi (
/aktivasi/pin). - Pengguna Aktif: Otomatis langsung membuka antarmuka Dompet Digital (
/qoincash). - Signature Tidak Ditemukan / Tidak Valid: Menampilkan layar penolakan akses terstandar (
/not-allowed?code=400).
Rincian Siklus Hidup Integrasi (Lifecycle)
Aplikasi memanggil POST /api/init-linkage (disarankan lewat backend client S2S). Nilai string signature yang dikembalikan disimpan di local secure storage milik client. Nilai ini dipakai terus-menerus dan tidak boleh diganti selama pengguna tidak berganti perangkat fisik atau nomor telepon.
Sebelum WebView dibuka, pastikan native app sudah meminta izin lokasi runtime ke pengguna dan GPS perangkat dalam keadaan aktif. Pasang WebChromeClient (Android) atau konfigurasi handler lokasi (iOS/Flutter) agar WebView tidak terblokir saat memanggil koordinat.
Muat WebView ke alamat {BASE_URL_SEAMLESS}/. Segera setelah event halaman selesai dimuat dipicu (misal onPageFinished), kirim payload JSON:window.postMessage(JSON.stringify({ Signature: "...", Palette: "original" }), "*");Lakukan pengiriman ulang sekali lagi setelah jeda ±500ms untuk menjamin listener di dalam webview sudah terdaftar.
Native app hanya boleh menutup WebView saat menerima sinyal dengan parameter "close": true. Jika user berhasil aktivasi, tandai status lokal pengguna sebagai terhubung agar di masa mendatang tombol di native app langsung membuka dompet digital.