82 lines
2.3 KiB
Markdown
82 lines
2.3 KiB
Markdown
# Billing
|
|
|
|
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
|
|
|
## Purpose
|
|
|
|
Commercial billing, provisioning, invoices, orders, transactions, coupons, and payment gateway integration.
|
|
|
|
## Current Status
|
|
|
|
- Functional
|
|
- Partial / complex
|
|
|
|
## Dependencies
|
|
|
|
- Payment gateways
|
|
- provisioning flow
|
|
- server lifecycle and expiration logic
|
|
- docs under `Panel/modules/billing/docs/`
|
|
|
|
## Database Tables
|
|
|
|
- `billing_services`
|
|
- `billing_orders`
|
|
- `billing_invoices`
|
|
- `billing_transactions`
|
|
- `billing_coupons`
|
|
- `billing_config`
|
|
- `billing_paypal_webhook_events`
|
|
- `billing_paypal_errors`
|
|
|
|
## Agent Interaction
|
|
|
|
- indirect through provisioning and server lifecycle
|
|
|
|
## User Workflow
|
|
|
|
- shop/service purchase
|
|
- invoice/payment flow
|
|
- renewals
|
|
- account/service status
|
|
|
|
## Website Ordering Boundary
|
|
|
|
The active Gameservers.World website no longer links customers to `billing/order.php`. The public catalog uses `Panel/modules/website/order.php?service_id=...` as the order entry point. That page validates the enabled service server-side and allows anonymous visitors to configure slots/location and add the package to the website session cart.
|
|
|
|
Payment approval and final provisioning remain server-side responsibilities. The browser must not call private provisioning methods directly, and prices must be read from server-side catalog data rather than query parameters.
|
|
|
|
In this repository checkout the historical `Panel/modules/billing` runtime is not present, although billing tables and integration references remain. The website cart therefore stops at validated order intent and a friendly checkout-unavailable message until the active checkout/payment runtime is connected.
|
|
|
|
## Admin Workflow
|
|
|
|
- configure payment gateways
|
|
- manage coupons and pricing
|
|
- inspect invoices/transactions
|
|
- manage provisioning behavior
|
|
|
|
## Security Concerns
|
|
|
|
- payment keys and webhook secrets
|
|
- user identity and billing data
|
|
- service suspension/expiration behavior
|
|
|
|
## Known Issues
|
|
|
|
- large and complex module surface
|
|
- requires strong testing around provisioning lifecycle
|
|
|
|
## Missing Functionality
|
|
|
|
- cleaner linkage from billing events to server state
|
|
- clearer expiration/suspension docs and UX
|
|
|
|
## Suggested Future Improvements
|
|
|
|
- simplify provisioning audit
|
|
- add clearer service lifecycle feedback
|
|
- link billing more directly to support and server monitor
|
|
|
|
## Recommendation
|
|
|
|
- Keep / Rewrite
|