Skip to main content
The Unified Merchant API lets an existing payment integration create Billions invoices with limited changes to its configuration. Use this path if your application or store already has a compatible SDK or module. For a new integration, use the Billions Public API or an official Billions SDK.

Connect an existing integration

1

Create a Billions API key

In your Billions account settings, create an API key and save both values returned when it is issued: apiKey and secretKey. The secret is shown only once. Keep it on your server.
2

Change the API base URL

Replace the existing API base URL inside the SDK or module with https://compatibility-cm.billions.works. Keep the module’s /v1/... endpoint paths. If its configuration contains a full URL ending in /v1, use https://compatibility-cm.billions.works/v1 instead.
3

Enter the matching credentials

Set the module’s Merchant UUID and payment secret to the values from the same Billions API key, following the mapping below.
4

Run a test payment

Create an invoice, open its returned payment URL, and confirm that the module receives a status update. Check the module’s behavior for the operations it uses before enabling live checkout.
The payment secret is used to sign requests and callbacks. Older Billions API keys without a signing secret must be reissued. Keep the secret out of browser code, URLs, and logs.
Change the URL used for API requests. Keep the checkout URL returned in the invoice response and your own callback URL as they are; the module should use the returned checkout URL without rewriting its host.

SDKs and modules

Compatible PHP SDKs can use this API for supported payment methods when their API base URL is configurable. Some community TypeScript clients require overriding the payment client’s baseUrl instead; check whether that override still works when updating the package. Payment modules for the following platforms can be considered for this path when their API URL can be changed and their checkout uses the supported payment methods:
  • Stores: WooCommerce, PrestaShop, OpenCart, Magento, BigCommerce, CS-Cart, PHPShop, Easy Digital Downloads, Webasyst, VirtueMart.
  • Billing and hosting: WHMCS, BillManager, RootPanel, Clientexec, HostBill, Blesta, WISECP, Amember.
  • Other platforms: XenForo, Tilda, Azuriom, Invision Community, Watbot.
Module versions and the methods they call vary. This list identifies the available modules, not a guarantee that every module and feature works unchanged. In particular, modules that require static wallets, refunds, mark-as-paid, or webhook resend need additional support beyond the current compatibility API. For WooCommerce, you can alternatively use the official Billions plugin. For BILLmanager 6, see the official Billions module. For Tilda, see the Billions Custom Payment Gateway setup. For WHMCS, use the official Billions gateway.

Supported payment operations

These endpoints use merchant and sign headers. The sign value is the lowercase MD5 hex digest of the Base64-encoded exact JSON body bytes followed by secretKey. It differs from the RFC 8785/HMAC signature used by Billions signed money operations. Compatible SDKs and modules usually calculate this signature themselves. Invoices created here send compatible callbacks to url_callback when provided. Their sign is in the JSON body, and their format differs from Billions-native webhooks. Verify and process them according to the module’s callback flow. This is a partial payment API compatibility layer. Refunds, static wallets, mark-as-paid, webhook resend, and payout methods are not implemented in this API. Unsupported request options are rejected explicitly. Commonly used by several merchants like Cryptomus, Helekat, and NearPayments. Every merchant must complete document verification and all applicable compliance checks before processing payments. API compatibility does not waive these requirements and is intended solely for lawful businesses and payments.