Postpaid Invoices
Berbeda dengan model Prabayar (Prepaid) yang memotong saldo per jam, pelanggan Pascabayar (Postpaid) diizinkan untuk memakai resource Cloud terlebih dahulu, dan tagihan kumulatif akan diterbitkan pada akhir siklus bulanan (misal setiap tanggal 1).
1. Ringkasan Tagihan Pascabayar
Untuk menampilkan status kesehatan akun pascabayar (total tagihan yang belum dibayar), Frontend dapat memanggil endpoint ini pada widget Dashboard.
GET /api/billing/postpaid/summary
Respons (200 OK): Mereturn total besaran unpaid amount (tunggakan berjalan). Jika nilainya melebihi limit kredit pelanggan, Frontend wajib menampilkan peringatan keras (merah) agar pengguna terhindar dari pemblokiran instans VM.
2. Daftar & Detail Invoice
Setiap bulan, Backend akan menerbitkan satu buah dokumen Invoice yang merekam detail pemakaian bulan sebelumnya.
GET /api/billing/postpaid/invoices?page=1&limit=10
GET /api/billing/postpaid/invoices/{invoice_id}
3. Daftar Tagihan Pascabayar Belum Lunas
Untuk kemudahan proses checkout, Frontend dapat memanggil endpoint ini guna mendapatkan daftar Invoice mana saja yang berstatus UNPAID atau OVERDUE.
GET /api/billing/postpaid/invoices/unpaid
Respons (200 OK): Mereturn daftar tagihan yang belum dilunasi.
4. Membayar Tagihan Pascabayar (Single)
Pelanggan memiliki dua cara pelunasan: memotong uang dari Wallet Balance (jika saldo mencukupi) atau membayar langsung via Payment Gateway.
POST /api/billing/postpaid/invoices/{invoice_id}/pay
Content-Type: application/json
{
"method_code": "BC",
"gateway_name": "duitku"
}
(Catatan: Sistem secara otomatis memprioritaskan pemotongan dari Wallet Balance Anda terlebih dahulu. Parameter method_code dan gateway_name bersifat opsional dan hanya digunakan untuk men-generate link pembayaran Split Payment jika sisa saldo Anda tidak mencukupi untuk melunasi total tagihan).
5. Membayar Multi Tagihan Pascabayar via PG
Jika pelanggan menunggak beberapa bulan sekaligus, mereka dapat membayarnya dalam satu transaksi Payment Gateway sekaligus (Bulk Payment).
POST /api/billing/postpaid/payment
Content-Type: application/json
{
"invoice_ids": ["101", "102"],
"method_code": "BC",
"gateway_name": "duitku"
}
Respons (200 OK): Mereturn URL Checkout atau instruksi bayar dari Payment Gateway.
6. Unduh Bukti PDF Tagihan
Setiap Invoice Pascabayar dapat diunduh menjadi dokumen PDF yang memiliki legalitas standar (White-labeled dengan nama perusahaan Frog Cloud).
GET /api/billing/invoice/{invoice_id}/download
Respons (200 OK):
Mereturn Raw Bytes PDF Invoice dengan header HTTP Content-Disposition: attachment.