OpenReceive for FOSSBilling

Accept Bitcoin & Stablecoin Payments With FOSSBilling

Take Bitcoin Lightning payments on FOSSBilling invoices, straight into your own wallet. FOSSBilling keeps clients, invoices and services; the OpenReceive extension records each payment the way FOSSBilling's own gateways do.

Plugin

Tested live · Oct 18, 2026 · 0.4.28

Copy agent directions — Paste into Claude Code, Codex or Cursor to add OpenReceive to your FOSSBilling app.

Why OpenReceive

Try the checkout your customers will see

FOSSBilling clients see this same checkout on the invoice's payment page; here it runs in the openreceive.org demo shop. The live demo needs JavaScript: open the OpenReceive home page.

Four steps, no code

Requires FOSSBilling ≥ 0.8, PHP ≥ 8.3, GMP and sodium.

1. Get a receive-only NWC code — get one here. It can issue invoices and watch for payment, and it can never spend from your wallet.

2. Get an LSC code for swaps (optional) — from a swap provider, only if customers should be able to pay in USDT, USDC, ETH or SOL.

3. Install the extension

Unzip openreceive-fossbilling-<version>.zip in FOSSBilling's folder, then php modules/Openreceive/activate.php

4. Connect the wallet — In FOSSBilling's admin, open Extensions, click the settings (gear) button on OpenReceive and paste the NWC code, plus the LSC code if you want swaps. Saving asks the wallet first and turns the payment method on. FOSSBilling's cron job must run.

Full FOSSBilling quickstart · Plugin source

How it runs

Tested on
FOSSBilling 0.8.8, its official Docker image with GMP added, on PHP 8.5
Databases
MySQL or MariaDB, FOSSBilling's own database
Secrets
The module's settings, encrypted by FOSSBilling with its install's salt
Refunds
Refund a settled Lightning payment from your own wallet: the wallet code is receive-only. A client reclaims a swap deposit that never converted from the invoice's payment page.
Mobile apps
No app SDK. Payers pay on the store's web checkout, and an app that opens it follows the same app store rules as any web checkout.

Practical questions

Which currencies can customers pay with?
Bitcoin over Lightning, always. With a swap provider configured, also USDT on Tron, Solana or Ethereum, USDC on Solana or Ethereum, ETH and SOL, each converted into the same Lightning payment. Automated swaps guide
Where does the Bitcoin go?
Into the wallet behind the receive-only NWC code. OpenReceive never holds funds: the invoice is minted in your wallet and the sats land there. The extension records a transaction and the client's balance, and the balance pays the invoice, so FOSSBilling activates or renews the service as with any gateway. FOSSBilling quickstart
What wallet do I need?
Any wallet that issues receive-only NWC (Nostr Wallet Connect) codes, hosted or self-run. The code must be able to create invoices and read their status, and must not be able to spend. Get a receive-only NWC code
What does it cost?
OpenReceive is open source and free. Fees charged by your wallet provider, by a swap provider or by Lightning routing belong to those services and are outside OpenReceive's scope.
What do I need to deploy?
FOSSBilling 0.8 or later on 64-bit PHP 8.3 or later with GMP and sodium, FOSSBilling's cron job running, and the extension's ZIP from a GitHub release. The codes are saved in the module's settings, encrypted with the install's salt. FOSSBilling quickstart

Add OpenReceive to FOSSBilling

Copy agent directions · Full quickstart · Plugin source · API reference · Guides

Related

Paymenter