Lewati ke konten utama

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.

Request
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.

Request (Daftar Tagihan)
GET /api/billing/postpaid/invoices?page=1&limit=10
Request (Detail Tagihan)
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.

Request
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.

Request
POST /api/billing/postpaid/invoices/{invoice_id}/pay
Content-Type: application/json
Request Body
{
"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).

Request
POST /api/billing/postpaid/payment
Content-Type: application/json
Request Body
{
"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).

Request
GET /api/billing/invoice/{invoice_id}/download

Respons (200 OK): Mereturn Raw Bytes PDF Invoice dengan header HTTP Content-Disposition: attachment.