FOSSBilling Documentation
website·Indexed 35 days ago
https://docs.fossbilling.org/Documentation for FOSSBilling, an open-source billing and hosting management platform. Includes guides on core setup, server manager configurations for WHM, cPanel, CWP, and HestiaCP, and developer resources for creating themes, payment gateways, and modules. Covers API endpoints, event hooks, and system requirements including PHP 8.3+ and MariaDB 11.4+.
What's inside FOSSBilling
- Downloadable products allow the sale of digital files (e.g., software packages, ebooks, templates, or internal documents). After a successful checkout, customers can access and download these files directly from their account area. Key capabilities include tracking download counts per order and setting download limits.
Overview of FOSSBilling Anti-Spam protections
The Anti-Spam module reduces automated abuse by applying different checks to public and client actions. For maximum effectiveness, these protections should be used in combination.
Protection Applies To IP blocking Client signup, ticket opening, client profile updates, client login, admin login CAPTCHA Client signup and ticket opening Stop Forum Spam Client signup and ticket opening Disposable email detection Client signup and ticket opening Honeypot Client signup Select the appropriate FOSSBilling product type
Product types in FOSSBilling determine the operational behavior for provisioning, renewal, delivery, and lifecycle management. You should choose a product type based on the required operational behavior rather than the label displayed to clients. Available types include:
- Hosting: For selling hosting plans and provisioning accounts via server managers.
- Domains: For domain registration, renewal, transfer, and management services.
- Downloadable Products: For delivering files or digital downloads after purchase.
- Licenses: For issuing and managing software licenses.
- API Keys: For selling access credentials for API-backed services.
Understand the Custom payment gateway workflow
The Custom payment gateway is designed for manual payment methods (e.g., bank transfers, checks, cash) where FOSSBilling cannot automatically confirm the payment. The workflow is as follows:
- Client selects the Custom gateway during checkout/payment.
- FOSSBilling displays configured payment instructions.
- Client completes payment outside the system.
- Administrator verifies the payment manually.
- Administrator marks the invoice as paid and enters a transaction ID, which triggers the processing of the transaction.
Select a compatible web server for FOSSBilling
FOSSBilling is compatible with Apache (requiresmod_rewrite), LiteSpeed/OpenLiteSpeed, and NGINX. If using a different web server, URL rewriting must be configured manually using the existing supported configurations as a reference.Understand the FOSSBilling payment gateway lifecycle
The payment process in FOSSBilling follows a three-step lifecycle:
- Payment Initiation: When a client clicks "Pay", FOSSBilling calls the adapter's
getHtml()method to render the payment form. - Payment Processing: The external payment gateway processes the transaction.
- Verification: The gateway calls
ipn.php, which triggers the adapter'sprocessTransaction()method to verify and record the payment.
- Payment Initiation: When a client clicks "Pay", FOSSBilling calls the adapter's
Manage shared-hosting accounts with FOSSBilling
Use hosting products in FOSSBilling to automate the creation and management of shared-hosting accounts via supported control panels. Key capabilities include selling hosting plans with automatic account creation, suspending/unsuspending accounts, and tracking bandwidth and disk usage.Access FOSSBilling community support and documentation
FOSSBilling provides several resources for diagnosing problems and checking system capabilities:
- Features & Functionality: Review what is currently implemented, planned, or under consideration.
- Troubleshooting: Guides for resolving common problems and configuration issues.
- FAQ: Answers to common project, production, contribution, and support questions.
- Discord Community: Real-time discussion and community help via the official Discord server.
Discord: https://fossbilling.org/discordFOSSBilling Development and Extension Overview
FOSSBilling provides a set of tools and references for developers to extend the platform, integrate with external systems, or contribute code. Key development resources include the API Reference for automation, a JavaScript wrapper for API integrations, Event Hooks for reacting to system events, and Twig Filters/Functions for template customization. Developers should also refer to the official File Structure documentation to identify key extension points.Understand FOSSBilling API endpoint structure and access levels
FOSSBilling uses a REST API with three primary entry points based on the required access level. The general endpoint structure is
/api/{role}/{module}/{action}.Endpoint Access Level Purpose /api/admin/*Admin only System management /api/client/*Authenticated clients Client services /api/guest/*Public No authentication needed Manage domain registration and transfers in FOSSBilling
Use domain products to allow clients to search for availability via WHOIS, register new domains, renew existing ones, or initiate domain transfers through supported registrar integrations.Understand FOSSBilling core directory structure
FOSSBilling organizes its source code within the
/srcdirectory. Key directories include:/src/data: Runtime data storage for cache (compiled templates, API responses), logs, and user uploads (/data/uploads). This directory must be writable by the web server./src/public: Web-accessible core assets, including shared browser assets (/public/assets), branding (logos, favicons), and payment gateway icons (/public/gateways)./src/install: The installation wizard (deleted after install unlessAPP_ENV=devis set)./src/locale: Translations, managed as a Git submodule.