ISP PLATFORM
Twenty-seven modules, eight databases, one deployable
An ISP is three businesses in one trench coat: a network, a subscription, and a payment processor. The interesting part was keeping them in one system without letting any of them corrupt the others.
- PENDING
- provisioned
- ACTIVE
- past due
- OVERDUE
- grace over
- ISOLATED
- unpaid
- TERMINATED
↶ payment settled → reconnected in real time, straight back to ACTIVE
- 27 modules
- 8 PostgreSQL databases
- Spring Modulith
- hexagonal · DDD
- event-driven
- money as integer cents
- double-entry ledger
- HMAC-verified callbacks
- idempotent VA registration
- FreeRADIUS AAA
- MikroTik PPPoE
- CoA disconnect
- auto-isolation
- Duitku + BRI BRIVA
PT Surya Bestari Lestari · SBLNET · architecture write-up
PAYMENTS
Proving every rupiah actually moved
Somebody has to prove that what the gateway thinks happened, what the bank says happened, and what the back office recorded are the same three things.
- 3RD-PARTY SETTLEMENT
- match against
- BANK MUTATION
- then against
- BACK OFFICE
↓ whatever does not line up falls into one of three shapes
- DISPUTE AMOUNT
- MISSING IN BANK
- MISSING IN B.O.
- two-stage reconciliation
- settlement vs bank mutation
- then vs back office
- dispute detection
- missing-in-bank
- missing-in-back-office
- merchant disbursement
- fees · chargebacks · adjustments
PT Cashlez Worldwide Indonesia · CashUp
TICKETING
Built for a queue, not for a demo
A park gate is not a web form. The queue does not wait, and a forged ticket has to be refused while the person holding it is standing there.
- SCAN QR / BARCODE
- VERIFY
- THERMAL PRINT
- FORGED → REFUSED AT THE GATE
- React Native · Expo
- QR + barcode scan
- thermal printing
- forged-ticket rejection
- public ticketing site
- back office
GlobalTix Teknologi Indonesia · Taman Safari Bogor · domestic.tamansafaribogor.com