OpenReceive for Paymenter
Accept Bitcoin & Stablecoin Payments With Paymenter
Take Bitcoin Lightning payments on Paymenter invoices, straight into your own wallet. Paymenter keeps clients, invoices and services; the OpenReceive extension records each payment on its invoice.
Plugin
Tested live · Oct 18, 2026 · 0.4.28
Copy agent directions — Paste into Claude Code, Codex or Cursor to add OpenReceive to your Paymenter app.
Why OpenReceive
- Paymenter's own payment dialog. The client pays from the invoice's dialog, and the payment is recorded with Paymenter's own call, so services activate and renew as with any gateway.
- No separate payment service. The extension bundles the engine and keeps payment attempts in Paymenter's own database. Its codes are stored encrypted with Paymenter's key.
- Receive-only wallet permissions. Saving a wallet code asks the wallet first and refuses a code that can spend.
- Stablecoins, optional. With a swap provider code, clients can pay in USDT, USDC, ETH or SOL, and you still receive Bitcoin.
Try the checkout your customers will see
Paymenter clients see this same checkout in the invoice's payment dialog; here it runs in the openreceive.org demo shop. The live demo needs JavaScript: open the OpenReceive home page.
Four steps, no code
Requires Paymenter ≥ 1.5, 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-paymenter-<version>.zip into extensions/Gateways, then php artisan app:extension:install gateway OpenReceive
4. Connect the wallet — In Paymenter's admin, open Gateways, edit Bitcoin Lightning and paste the NWC code, plus the LSC code if you want swaps. Saving asks the wallet first and refuses a code that can spend. Paymenter's cron job must run, as its install guide sets up.
Full Paymenter quickstart · Plugin source
How it runs
- Tested on
- Paymenter 1.5.9, its official Docker image, on PHP 8.3
- Databases
- MySQL or MariaDB, Paymenter's own database
- Secrets
- The gateway's settings, encrypted by Paymenter with its APP_KEY
- 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 dialog.
- 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 the payment on the invoice with Paymenter's own call, so services activate and renew as with any gateway. Paymenter 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?
- Paymenter 1.5 or later on 64-bit PHP 8.3 or later with GMP and sodium, Paymenter's cron job running, and the extension's ZIP from a GitHub release. The codes are saved in the gateway's settings, encrypted with Paymenter's key. Paymenter quickstart
Add OpenReceive to Paymenter
Copy agent directions · Full quickstart · Plugin source · API reference · Guides