BILLmanager module on GitHub
Browse installation packages, source code, releases, and issues.
Requirements
- BILLmanager 6 on a supported Linux host.
- PHP CLI 7.4 or newer with XML/SimpleXML and mbstring.
- A valid CA trust store and outbound HTTPS access to
api.billions.works. - A publicly reachable HTTPS callback endpoint at
https://<your-billing-host>/mancgi/billionsresult.php. - A Billions Public API key kept on the BILLmanager server.
Install the module
Download the package matching your host from the latest GitHub release. The packages contain PHP code and are architecture-independent.
Run the matching command in the directory containing the downloaded package.
If the new payment method does not appear after installation, restart
BILLmanager.
Configure the payment method
Create a Billions payment method in BILLmanager and fill in these fields:
The module sends callbacks to
<public HTTPS origin>/mancgi/billionsresult.php?elid=<payment-id>.
The instance ID is part of the invoice idempotency key; keep it unchanged after
the first payment. Enable the currencies supported by your merchant account.
USD and EUR can be invoice currencies, while the customer chooses an available
payment currency on the Billions checkout page.
For sandbox testing, set the API origin to
https://api-sandbox.billions.works and use sandbox credentials. Restore the
production origin and credentials before accepting live payments.Payment confirmation
The module creates an invoice with stableorder_no and idempotencyKey
values derived from the BILLmanager instance, payment method, and payment ID.
Opening the payment page again reuses the stored invoice.
When a callback arrives, the module retrieves the invoice from the
authenticated Billions API. It compares the invoice ID, order number, amount,
and settlement currency with the original payment before updating BILLmanager.
The callback body and a customer’s return from checkout are not payment proof.
This flow needs the API key but does not require the API secretKey.
completedmarks the payment paid.processingmarks it in progress.expiredorfailedleaves it unpaid.