Netzon builds 5+ apps for clients and internal use. Each one needs subscription billing โ but there's no unified solution.
NetzonPay is like Netflix billing โ but for every Netzon app. One integration, automatic charging, full visibility.
FIUU processes the payments. NetzonPay orchestrates the billing.
| Runtime | .NET 10 (LTS) |
| ORM | Entity Framework Core 10 |
| Database | PostgreSQL 16 |
| Cache | Redis + Hangfire |
| HTTP Client | Refit (typed) |
| App Auth | API Key (X-Api-Key) |
| Admin Auth | JWT Bearer |
| Validation | FluentValidation |
| Logging | Serilog + Seq |
| Framework | Next.js 15 (App Router) |
| UI | shadcn/ui + Tailwind CSS |
| State | TanStack Query |
| Forms | react-hook-form + zod |
| Auth | Better Auth |
| Charts | Recharts |
| Toasts | Sonner |
| Local | Docker Compose |
| Production | AWS ECS / Vercel |
| FIUU | Sandbox โ Production |
Register Netzon apps, generate API keys, configure payment channels per app. Each app gets a unique nzp_xxxx key.
Create plans per app: Monthly, Quarterly, Annual. Set PHP amounts, trial periods, billing cycles. Maps to FIUU recurring.
User-facing page showing app name, plans, prices. Redirects to FIUU hosted page. Card tokenized for auto-charging.
Daily scheduler charges stored tokens via FIUU API. 3 retries over 7 days. Netflix-style recurring billing.
Overview stats, subscriber management, payment logs, manual actions (cancel, refund, retry). Real-time visibility.
Apps call GET /subscriptions/check to gate access. Returns active status, plan, expiry. Simple boolean check.
PostgreSQL 16 โ 7 tables powering the entire billing lifecycle.
Experience the full payment lifecycle. Toggle between client and admin views.
Streamline your restaurant operations with real-time order management, kitchen coordination, and staff dashboards.
All plans include core POS features. Scale as you grow.
Your subscription is now active. Access your Staff & Kitchen Portal.
| Subscriber | App | Amount | Status | Time |
|---|---|---|---|---|
| Juan Dela Cruz | Hao Tang | โฑ1,999 | PAID | Just now |
| Maria Santos | Netzon CRM | โฑ299 | PAID | 2 min ago |
| Pedro Reyes | Hao Tang | โฑ3,999 | FAILED | 15 min ago |
| Ana Garcia | Netzon CRM | โฑ2,990 | PAID | 1 hr ago |
| Rico Mendoza | Hao Tang | โฑ999 | PAID | 2 hr ago |
See what happens when the billing cycle hits
| App Name | Slug | Status | Subscribers | API Key |
|---|---|---|---|---|
| Hao Tang | haotang | ACTIVE | 187 | nzp_ht_โขโขโขโขโขโข |
| Netzon CRM | netzon-crm | ACTIVE | 98 | nzp_crm_โขโขโขโขโขโข |
| TimeTracker Pro | timetracker | ACTIVE | 14 | nzp_tt_โขโขโขโขโขโข |
| Inventory Hub | inventory-hub | PENDING | 0 | nzp_ih_โขโขโขโขโขโข |
| Name | App | Plan | Status | Next Billing |
|---|---|---|---|---|
| Juan Dela Cruz juan@email.com |
Hao Tang | Professional โฑ1,999/mo | ACTIVE | Apr 27, 2026 |
| Maria Santos maria@email.com |
Netzon CRM | Monthly โฑ299/mo | ACTIVE | Apr 15, 2026 |
| Pedro Reyes pedro@email.com |
Hao Tang | Enterprise โฑ3,999/mo | PAST DUE | Overdue |
| Ana Garcia ana@email.com |
Netzon CRM | Annual โฑ2,990/yr | ACTIVE | Mar 26, 2027 |
| Rico Mendoza rico@email.com |
Hao Tang | Starter โฑ999/mo | ACTIVE | Apr 20, 2026 |
| Lisa Tan lisa@email.com |
TimeTracker Pro | Monthly โฑ199/mo | TRIALING | Apr 10, 2026 |
| Subscriber | Amount | Status | Channel | FIUU TXN | Date |
|---|---|---|---|---|---|
| Juan Dela Cruz | โฑ1,999.00 | PAID | Visa | #374829105 | Mar 27, 2026 10:32 |
| Maria Santos | โฑ299.00 | PAID | GCash | #374829098 | Mar 27, 2026 10:30 |
| Pedro Reyes | โฑ3,999.00 | FAILED | Visa | #374829091 | Mar 27, 2026 10:17 |
| Ana Garcia | โฑ2,990.00 | PAID | Mastercard | #374828955 | Mar 27, 2026 09:32 |
| Rico Mendoza | โฑ999.00 | PAID | Maya | #374828901 | Mar 27, 2026 08:45 |
| Lisa Tan | โฑ199.00 | PENDING | BPI | #374828880 | Mar 27, 2026 08:20 |
The heart of Netflix-style billing โ daily scheduler + stored card tokens + FIUU API.
| Retry | Delay | Action |
|---|---|---|
| 1st | +1 day | Auto-retry charge |
| 2nd | +3 days | Retry + email warning |
| 3rd | +7 days | Final retry + "ending" email |
| Failed | โ | Status โ expired, access revoked |
TLS 1.3 on all endpoints. User โ Portal, Portal โ FIUU, Apps โ API, Dashboard โ API.
Card data never touches our servers. FIUU is PCI-DSS v4.0 certified. We stay out of PCI scope.
Every FIUU response verified via skey hash (MD5 chain). Constant-time comparison prevents timing attacks.
FIUU keys in env vars. API keys hashed (SHA-256). Passwords hashed (Argon2id). Tokens AES-256 encrypted.
100 req/min per API key. 60 req/min per admin. 10 session creates/min per user. No limit on FIUU webhooks.
FIUU webhooks may fire multiple times. We use fiuu_txn_id as idempotency key + Redis locks to prevent double-processing.
Card numbers, CVV, full expiry, bank passwords โ none of these ever hit our servers or database.
All admin actions logged in audit_logs table with JSONB details. WHO did WHAT to WHICH entity, WHEN.
Three execution phases, with 8-10 weeks as the recommended planning range and 10-12 weeks as the safer commitment.
Planning hours below are the recommended ClickUp values for the AI-assisted 8-10 week path.
In simple terms: this is not just a payment page. We are building the billing engine, the safety checks, and the admin view needed to run subscriptions without charging people incorrectly.
Items that need resolution before or during implementation.
| # | Question | Who | Priority |
|---|---|---|---|
| 1 | FIUU merchant account โ Do we have sandbox + production credentials? | Biz + FIUU | BLOCKER |
| 2 | MIT support โ Confirm FIUU supports merchant-initiated transactions with stored tokens in PH | FIUU Tech | BLOCKER |
| 3 | Token flow โ Does FIUU auto-tokenize on hosted page (token_status=1)? | FIUU Tech | HIGH |
| 4 | Auto-charge API โ Which FIUU endpoint for recurring charges with stored token? | FIUU Tech | HIGH |
| 5 | E-wallet recurring โ Can GCash/Maya be auto-charged? Or only cards? | FIUU Tech | MEDIUM |
| 6 | Pricing โ What amounts will each Netzon app charge subscribers? | Product | MEDIUM |
| 7 | Pilot app โ Which Netzon app goes first for integration? | Management | MEDIUM |