# 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