Panel/docs/modules/billing.md

2.3 KiB

Billing

Workspace reference: 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 sends logged-out users through website login before returning them to the intended service.

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 order page therefore stops at validated order intent and support handoff 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