Pembayaran Tagihan
<%= settings.company_header || 'OPEN-ISP' %>
<%= error %>
<% } else { %>
<% if (info) { %> <%= info %>
<% } %>
<%
const kindSafe = String(kind || 'invoice').toLowerCase();
const isVoucher = kindSafe === 'voucher';
const refPrefix = isVoucher ? 'VOUCHER' : 'INV';
const parseAccounts = function (txt) {
return String(txt || '').split('\n').map(function(l){ return l.trim(); }).filter(Boolean).map(function(l){
const p = l.split('|').map(function(x){ return String(x).trim(); });
return { name: p[0] || '', number: p[1] || '', holder: p[2] || '' };
}).filter(function(a){ return a.number; });
};
const bankEnabled = (settings.payment_bank_enabled !== false && settings.payment_bank_enabled !== 'false');
const ewalletEnabled = (settings.payment_ewallet_enabled !== false && settings.payment_ewallet_enabled !== 'false');
const bankAccounts = bankEnabled ? parseAccounts(settings.payment_bank_accounts) : [];
const ewalletAccounts = ewalletEnabled ? parseAccounts(settings.payment_ewallet_accounts) : [];
// Metode aktif default: QRIS bila QR tersedia, jika tidak maka bank / e-wallet.
const defaultMethod = qrisQrUrl ? 'qris' : (bankAccounts.length ? 'bank' : (ewalletAccounts.length ? 'ewallet' : 'qris'));
%>
<% if (helpText) { %>
<%= helpText %>
<% } %>
<%= customerName || (isVoucher ? 'Pembeli Voucher' : 'Pelanggan') %>
<%= refPrefix %>-<%= invoiceId %><% if (periodText) { %> • <%= periodText %><% } %>
<% if (bankAccounts.length) { %><% } %>
<% if (ewalletAccounts.length) { %><% } %>
Nominal yang harus dibayar (WAJIB tepat)
Rp <%= Number(amountUnique || 0).toLocaleString('id-ID') %>
<% if (uniqueCode) { %>Kode unik <%= String(uniqueCode).padStart(3, '0') %>
<% } %>
<% if (qrisQrUrl) { %>
<% } else { %>
QRIS belum diatur oleh admin.
<% } %>
<% if (qrisQrUrl) { %><% } %>
Scan QRIS di atas (DANA / OVO / ShopeePay / LinkAja / GoPay, dll), lalu masukkan nominal persis seperti tertera.
Status lunas terverifikasi otomatis setelah pembayaran terdeteksi.
Transfer Bank
Transfer tepat sebesar Rp <%= Number(amountUnique || 0).toLocaleString('id-ID') %> (sudah termasuk kode unik) ke salah satu rekening:
<% bankAccounts.forEach(function(a){ %>
<%= a.name %>
<%= a.number %>
<% if (a.holder) { %>a.n. <%= a.holder %>
<% } %>
E-Wallet
Kirim tepat sebesar Rp <%= Number(amountUnique || 0).toLocaleString('id-ID') %> ke salah satu e-wallet:
<% ewalletAccounts.forEach(function(a){ %>
<%= a.name %>
<%= a.number %>
<% if (a.holder) { %>a.n. <%= a.holder %>
<% } %>
Menunggu pembayaran… (Auto-Check)
Konfirmasi Pembayaran
Jika pembayaran belum otomatis terdeteksi, kirim bukti transfer ke admin.
<% const proofAction = String(proofActionUrl || `/customer/payment/proof/${invoiceId}`); %>
<% if (proofUrl) { %>
Bukti tersimpan: <%= proofUrl %>
<% } %>
<%
const adminWa = String(adminWaDigits || '').trim();
const msgLines = [
isVoucher ? 'Konfirmasi pembayaran Voucher' : 'Konfirmasi pembayaran',
`${refPrefix}-${invoiceId}${periodText ? ' • ' + periodText : ''}`,
`Nama: ${customerName || (isVoucher ? 'Pembeli Voucher' : 'Pelanggan')}`,
`Nominal: Rp ${Number(amountUnique || 0).toLocaleString('id-ID')} (kode ${String(uniqueCode || 0).padStart(3, '0')})`,
proofUrl ? `Bukti: ${proofUrl}` : 'Bukti: (sudah diupload / akan dikirim)',
];
const waLink = adminWa ? `https://wa.me/${adminWa}?text=${encodeURIComponent(msgLines.join('\n'))}` : '';
%>
<% if (waLink) { %>
Kirim WhatsApp ke Admin
<% } else { %>
Nomor admin WhatsApp belum diatur.
<% } %>