Akses Terbatas

Anda harus login sebagai Owner terlebih dahulu untuk membuka kunci dashboard ini.

Kembali ke Toko

Atau Bypass via Token Rahasia:

{{ secretLoginError }}

Verifikasi Keamanan

Verifikasi otentikasi admin diperlukan untuk melindungi server Anda.


Bypass dengan Token Rahasia:

{{ secretLoginError }}
{{ adminTab === 'stats' ? 'Dashboard Summary' : adminTab === 'settings' ? 'Store Customization' : adminTab === 'margins' ? 'Set Keuntungan' : adminTab === 'users' ? 'Member List' : adminTab === 'transactions' ? 'Financial Transactions' : adminTab === 'firebase' ? 'Firebase Google Login' : adminTab === 'advance' ? 'Advance Settings' : 'Custom Products' }}
Auto-Update: {{ autoUpdateActive ? 'ON' : 'OFF' }}
{{ adminStats.waStatus === 'connected' ? 'WhatsApp Connected' : 'WhatsApp Disconnected' }}
Kembali ke Toko
Total Member
{{ adminStats.totalUsers || 0 }}
Total Transaksi
{{ adminStats.totalTransactions || 0 }}
Total Omzet
Rp {{ (adminStats.totalSales||0).toLocaleString('id-ID') }}
Keuntungan
Rp {{ (adminStats.totalProfit||0).toLocaleString('id-ID') }}
Visualisasi Transaksi Terbaru
{{ (t.produk||'').substring(0,7) }}
Belum ada transaksi
Diagnostik Server
Kecepatan Ping {{ serverPing }} ms
Memori RAM {{ ((adminStats.memory||0)/1024/1024).toFixed(1) }} MB
Waktu Aktif {{ Math.floor((adminStats.uptime||0)/3600) }} jam {{ Math.floor(((adminStats.uptime||0)%3600)/60) }} menit
Transaksi Terakhir
IDProdukTargetTotalStatusWaktu
#{{ t.id }} {{ t.produk }} {{ t.target }} Rp {{ Number(t.totalBayar).toLocaleString('id-ID') }} {{ t.status }} {{ t.createdAt }}
Belum ada transaksi.
Kustomisasi Toko & Bot
Sesuaikan visual, skema warna, font, dan parameter markup
Konfigurasi Utama
{{ t.name }}
Warna Dasar
Aturan Harmoni
Warna Utama
Utama Muda
Background
Kotak Putih
Teks Gelap
Teks Sedang
Teks Terang
Garis Tebal
Garis Tipis
{{ formatName(bName) }}

Notifikasi Saluran WhatsApp

Kirim log otomatis ke saluran WA Anda saat event terpilih terjadi
Masukkan link saluran WA (contoh: https://whatsapp.com/channel/xxx) kemudian klik Cek ID untuk mengubahnya menjadi ID Saluran (akhiran @newsletter).
Kosongkan jika hanya ingin mengirim teks. Isi dengan path file server (contoh: public/logo.png) atau URL gambar.
Deposit Sukses:
Order Sukses:
Member Baru:
{{ settingsSuccessMsg }}
{{ settingsErrorMsg }}
Live Preview Toko
Pengaturan Google Firebase Auth
Izinkan pembeli mendaftar atau masuk menggunakan akun Google mereka
Jika di-aktifkan, user wajib verifikasi nomor WhatsApp lewat OTP Bot. Jika di-nonaktifkan, pendaftaran nomor WhatsApp baru ditutup sementara (pemeliharaan).
{{ settingsSuccessMsg }}
{{ settingsErrorMsg }}
Petunjuk Penggunaan Firebase

Untuk menggunakan fitur login Google, Anda harus menyalin kunci konfigurasi web dari project Firebase Console Anda:

  1. Masuk ke Firebase Console.
  2. Buat project baru atau pilih project yang sudah ada.
  3. Buka bagian Authentication dan aktifkan metode masuk Google.
  4. Daftarkan aplikasi web baru di project tersebut.
  5. Salin nilai konfigurasi Firebase SDK Web App (Firebase Config) dan tempel di form samping.
  6. Klik Simpan Perubahan di bawah form ini.
⚠️ Catatan: Pastikan Anda menambahkan domain website toko Anda ke daftar authorized domains di Firebase Console (Authentication > Settings > Authorized domains).
Kelola Anggota
Daftar pelanggan terdaftar
WhatsAppNamaSaldoRoleAksi
{{ u.number }} {{ u.nama || '-' }} Rp {{ (u.saldo||0).toLocaleString('id-ID') }} {{ u.role }} SUSPEND
Tidak ada data member.
{{ (u.nama||u.number).substring(0,2).toUpperCase() }}
{{ u.nama||'No Name' }}
{{ u.number }}
{{ u.role }} SUSPEND
Rp {{ (u.saldo||0).toLocaleString('id-ID') }}
Tidak ada data member.
Kelola Akun: {{ editingMember.number }}
{{ memberSuccessMsg }}
{{ memberErrorMsg }}
Riwayat Transaksi
{{ adminTransactionsList.length }} total transaksi terdeteksi
IDProdukTargetTotalStatusWaktuAksi
#{{ t.id }} {{ t.produk }} {{ t.target }} Rp {{ Number(t.totalBayar).toLocaleString('id-ID') }} {{ t.status }} {{ t.createdAt }}
Tidak ada data transaksi.
#{{ t.id }}{{ t.status }}
{{ t.produk }}
{{ t.target }}
Rp {{ Number(t.totalBayar).toLocaleString('id-ID') }}
{{ t.createdAt.split(' ')[0] }}
Tidak ada data transaksi.
Detail Transaksi: {{ editingTrx.id }}

• Produk: {{ editingTrx.produk }}  |  SKU: {{ editingTrx.sku }}  |  Harga Pokok: Rp {{ Number(editingTrx.harga).toLocaleString('id-ID') }} • Pilihan Variasi: {{ editingTrx.variation }} 👉 Catatan Pembeli: "{{ editingTrx.note }}"

{{ trxSuccessMsg }}
{{ trxErrorMsg }}
Produk Manual / Kustom
Tambah & kelola stok produk non-PPOB Anda sendiri
SKUNama ProdukKategoriHargaTipeStokAksi
{{ p.sku }}
No
{{ p.name }}
{{ p.description }}
• Wajib Catatan: "{{ p.notePlaceholder || 'Masukkan detail akun...' }}"
{{ p.category }}
Rp {{ Number(p.price).toLocaleString('id-ID') }}
Rp {{ Number(p.promoPrice||p.price).toLocaleString('id-ID') }}
{{ p.type==='download'?'Download':'Teks' }} {{ p.stock }}
Belum ada produk kustom manual. Klik "+ Tambah Produk" di atas.
No
{{ p.sku }}
{{ p.name }}
{{ p.category }} {{ p.type==='download'?'Download':'Teks' }}
• Wajib Catatan: "{{ p.notePlaceholder || 'Masukkan detail akun...' }}"
Harga: Rp {{ Number(p.promoPrice||p.price).toLocaleString('id-ID') }}
Stok: {{ p.stock }}
Belum ada produk kustom.
{{ isEditCustomProd ? 'Edit Produk Kustom: '+editingCustomProd.sku : 'Tambah Produk Kustom Baru' }}
Daftar Pilihan Variasi
Belum ada pilihan variasi. Klik tombol Tambah Pilihan di atas.
OK
Success: {{ customProdSuccessMsg }}
Error: {{ customProdErrorMsg }}
Atur Keuntungan Per Kategori / Brand
Tentukan margin kustom untuk brand/kategori tertentu. Jika kosong, sistem menggunakan margin global.
Total: {{ filteredBrands.length }} Brand
Nama Brand / Kategori Margin Member (Global: Rp {{ editSettings.marginDefault }}) Margin Reseller (Global: Rp {{ editSettings.marginReseller }}) Aksi
{{ b }}
Rp
Rp
Brand tidak ditemukan.
Koneksi Sistem & Toggle
Atur koneksi WhatsApp Bot, Email SMTP, dan toggle perilaku web store.
Toggle Sistem
Wajib Login
Pengunjung harus login sebelum bisa melihat produk di web store.
Bot WhatsApp Aktif
Aktifkan atau matikan fungsi bot WhatsApp (notifikasi transaksi, dll).
Email Aktif
Aktifkan pengiriman notifikasi via Email (SMTP harus dikonfigurasi).
Notifikasi WA
Kirim notifikasi transaksi/OTP melalui WhatsApp.
Notifikasi Email
Kirim notifikasi transaksi/OTP melalui Email.
Konfigurasi SMTP Email
Gunakan SSL/TLS (port 465)
🔒 Kebijakan Keamanan Password
Batas minimal jumlah karakter saat mendaftar / reset password.
Dilarang Akhiran Titik (.)
Mencegah password yang diakhiri tanda titik.
Wajib Angka (0-9)
Wajib Huruf (a-z)
Karakter Khusus (!@#)
Status Koneksi WhatsApp Bot
{{ adminStats.waStatus === 'connected' ? 'Terhubung' : 'Terputus' }}
WhatsApp socket status
{{ advMsg.text }}
Moderasi Member Manual
Kontrol siapa yang bisa mendaftar dan mengakses toko.
Pengaturan Moderasi
Aktifkan Moderasi Manual
Pendaftar baru masuk antrian persetujuan Admin sebelum bisa login.
Antrian Pendaftar Baru {{ (advSettings.pendingMembers||[]).length }} Pending
Tidak ada pendaftar baru yang menunggu persetujuan.
{{ String(num).slice(-3) }}
+{{ num }}
Menunggu persetujuan
Member Disetujui
Belum ada member yang disetujui.
+{{ num }}
Kategori Produk Kustom
Buat kategori untuk tampil sebagai tab di halaman toko. Produk kustom dapat dipilih masuk kategori ini.
Tambah Kategori Baru
Daftar Kategori ({{ (advSettings.customCategories||[]).length }})
Belum ada kategori. Tambahkan kategori pertama Anda.
{{ cat.name }}
slug: {{ cat.slug }}
{{ advMsg.text }}
Template Theme Toko
Pilih tampilan visual toko yang akan dilihat pengunjung. Theme lebih lanjut akan hadir segera.
{{ theme.name }}
{{ theme.desc }}
{{ advMsg.text }}
Push Notifikasi
Kirim pengumuman atau pesan khusus ke pengguna toko.
Buat Notifikasi
{{ advMsg.text }}
Riwayat Kirim Notifikasi
Belum ada riwayat pengiriman notifikasi.
Waktu Target Pesan
{{ h.timestamp }} 🌐 Web Banner 📱 WA Bot 🔔 Semua 👤 Member ({{ h.targetNumber }}) {{ h.message }}
Konfigurasi AI
Atur nama, karakter, dan pengaturan AI Customer Service untuk bot WhatsApp dan panel web.
AI CS WhatsApp Bot
Aktifkan AI CS di WhatsApp
Jika aktif, bot akan membalas pesan bebas (tanpa prefix) di chat private dan grup menggunakan AI Customer Service. Matikan jika tidak diperlukan.
✅ AI CS WhatsApp aktif — bot akan merespon pesan bebas di private chat (dan di grup jika di-mention/reply).
⛔ AI CS WhatsApp nonaktif — bot tidak akan merespon pesan tanpa prefix. Aktifkan jika ingin fitur CS otomatis.
AI Assistant Settings
{{ advMsg.text }}
API Keys & Keamanan Admin (2FA)
Kelola kredensial Fincloud API dan pengamanan panel admin.
Fincloud API Credentials
Keamanan Login Admin (2FA OTP)
Aktifkan 2FA untuk Login Admin
Setiap login ke admin panel akan memerlukan kode OTP yang dikirim via WhatsApp / Email.
Perhatian
OTP akan dikirim via WhatsApp Bot (jika terhubung) dan/atau Email (jika SMTP dikonfigurasi dan Email Aktif). Pastikan setidaknya satu saluran aktif sebelum mengaktifkan fitur ini.
{{ advMsg.text }}
Multi Payment Gateway
Kelola default provider (Fincloud/Midtrans) dan tambahkan koneksi gateway kustom Anda sendiri.
Pengaturan Gateway Utama
Kustomisasi Nama & Tampilan Gateway
QRIS QRIS Otomatis (Fincloud)
MIDTRANS Midtrans Secure
Kredensial Midtrans
Koneksi Gateway Kustom
Belum ada koneksi kustom yang dibuat. Klik tombol di atas untuk menambahkan.
{{ conn.name }}
Method: {{ conn.method }}
Endpoint: {{ conn.endpoint }}
Webhook URL:
{{ windowOrigin }}/api/webhook/custom/{{ name }}
{{ isEditConnection ? 'Edit Koneksi: ' + activeConnectionForm.name : 'Buat Koneksi Gateway Baru' }}
Placeholder yang didukung: {reff_id}, {amount}, {phone}.
⚙️ Konfigurasi Cek Status (Optional)
🔗 Konfigurasi Callback Webhook (IPN)
Live Debugger: {{ customPgTestResult.diagnostics?.gatewayName }} ✅ SUKSES (HTTP {{ customPgTestResult.diagnostics?.httpStatus || 200 }}) ❌ ERROR (HTTP {{ customPgTestResult.diagnostics?.httpStatus || 'FAIL' }})
1. StringToSign (Rumus Ter-replace):
{{ customPgTestResult.diagnostics?.computedStringToSign || '(kosong / tidak memakai rumus signature)' }}
2. Signature Ter-generate ({{ customPgTestResult.diagnostics?.signatureType }}):
{{ customPgTestResult.diagnostics?.computedSignature || '(kosong)' }}
3. Headers & URL Terkirim:
Endpoint URL: {{ customPgTestResult.diagnostics?.endpoint }}
Headers:
{{ JSON.stringify(customPgTestResult.diagnostics?.requestHeaders, null, 2) }}
4. Body Request Payload Terkirim:
{{ JSON.stringify(customPgTestResult.diagnostics?.requestBody, null, 2) }}
5. Balasan dari Gateway (Response):
Status HTTP: {{ customPgTestResult.diagnostics?.httpStatus || 'N/A' }} | Waktu Respon: {{ customPgTestResult.diagnostics?.responseTimeMs }}ms
{{ JSON.stringify(customPgTestResult.diagnostics?.responseData || customPgTestResult.diagnostics?.errorMessage, null, 2) }}
✅ Hasil Ekstraksi Sukses:
String QRIS: {{ customPgTestResult.diagnostics?.extractedQrString }}
Redirect URL: {{ customPgTestResult.diagnostics?.extractedRedirectUrl }}
Tips Diagnosis Error untuk Client:
  • Error 401 (Unauthorized Signature): Periksa apakah StringToSign (poin 1) sudah persis dengan dokumen PG Anda, dan pastikan API Key/Secret Key cocok dengan Endpoint (Sandbox vs Production).
  • Error 400 (Bad Request): Terdapat parameter pada Body Payload (poin 4) yang kurang atau format tidak sesuai.
  • Error 404 (Not Found): Endpoint URL (poin 3) salah / tidak ditemukan.
  • Error Koneksi: Server PG tidak merespon dalam 15 detik.
{{ advMsg.text }}
Kebijakan Privasi & Syarat Ketentuan (TOS)
Atur teks dokumen Kebijakan Privasi (Privacy Policy) dan Syarat & Ketentuan (Terms of Service) yang tampil di website. Biarkan kosong jika ingin menggunakan teks default bawaan sistem.
Teks Kebijakan Privasi (Privacy Policy)
Tip: Anda dapat menggunakan format ### Judul Bagian untuk membuat sub-header, dan **teks tebal** untuk penebalan huruf.
Teks Syarat & Ketentuan Layanan (Terms of Service / TOS)
Tip: Anda dapat menggunakan format ### Judul Bagian untuk membuat sub-header, dan **teks tebal** untuk penebalan huruf.
{{ settingsSuccessMsg }} {{ settingsErrorMsg }}