Payments
How payments work in Subscriptions Manager. You can accept Bitcoin (Lightning & on-chain), NWC automatic payments, Stripe payments, and PayPal — all from a single extension.
Payment Flow
Subscriber visits checkout link
↓
Enters contact info
↓
Selects payment method
↓
Completes payment (QR/card/PayPal)
↓
Payment confirmed
↓
Subscription activeBitcoin Payments
Lightning Network
- Speed: Instant (seconds)
- QR Code: BOLT11 invoice
- Wallets: Any Lightning wallet (Phoenix, Zeus, Wallet of Satoshi, etc.)
- Fees: Near-zero
Lightning is the default payment method and provides the best user experience for Bitcoin payments.
On-Chain Bitcoin
- Speed: 0-conf (instant) or wait for confirmations
- QR Code: BIP21 unified (Lightning + on-chain in one)
- Requirements: WatchOnly + SatsPay extensions must be enabled
- Confirmations: Configurable per plan
When both Lightning and on-chain are enabled, subscribers see a unified BIP21 QR code. Modern wallets automatically choose the best payment method.
Stripe Payments
Stripe integration allows you to accept traditional payment methods:
| Payment Type | Support |
|---|---|
| Credit Cards | Visa, Mastercard, Amex, Discover |
| Debit Cards | All major networks |
| Apple Pay | iOS and macOS devices |
| Google Pay | Android and web |
| Bank Cards | Regional support varies |
Setup Requirements
- Stripe Connect must be enabled at the LNbits server level
- Connect your Stripe account in your wallet settings
- Enable "Card Payments" when creating a plan
How It Works
- Subscriber selects "Pay with Card" at checkout
- Redirected to Stripe's secure checkout page
- Enters card details (or uses Apple/Google Pay)
- On success, redirected back and subscription activates
Stripe handles all PCI compliance. Card details never touch your server.
PayPal Payments
PayPal provides another option for subscribers who prefer not to use cards directly:
- PayPal Balance: Pay from existing PayPal funds
- Linked Bank Accounts: ACH transfers
- PayPal Credit: Buy now, pay later (where available)
Setup Requirements
- PayPal integration must be enabled at the LNbits server level
- Connect your PayPal business account
- Enable "PayPal" when creating a plan
How It Works
- Subscriber selects "Pay with PayPal" at checkout
- Redirected to PayPal login
- Authorizes the payment
- On success, redirected back and subscription activates
NWC (Nostr Wallet Connect)
NWC enables fully automatic subscription renewals. Subscribers connect their wallet once, and payments are charged automatically on each billing cycle — no manual action required.
Supported Wallets
| Wallet | Platform | Notes |
|---|---|---|
| Alby | Browser, Mobile | Most popular NWC wallet |
| Buho | Web | Lightning & Nostr integration |
| LNbits | Self-hosted, Web | Full NWC support via NWCify extension |
| Any NIP-47 wallet | Varies | Must support pay_invoice |
Setup Requirements
- Enable Allow NWC when creating or editing a plan
- Subscribers will see "Subscribe with Autopay" button on checkout
How It Works
Subscriber clicks "Subscribe with Autopay"
↓
Pastes NWC connection string from wallet
↓
Connection validated instantly
↓
First payment requested from wallet
↓
Wallet approves and pays automatically
↓
Subscription active!
↓
Future renewals happen automaticallyNWC is the only payment method that enables true automatic renewals for Bitcoin. Subscribers pay the first invoice, and their wallet handles all future payments within configured limits.
For Subscribers
To use NWC autopay:
- Open your NWC-compatible wallet (Alby, Buho, LNbits, etc.)
- Generate an NWC connection string
- Set an appropriate spending limit for the subscription amount
- Paste the connection string on the checkout page
Subscribers can revoke NWC access anytime from their wallet settings. If revoked, the subscription moves to manual renewal.
NWC Error Handling
If an NWC payment fails, the subscriber is notified with a clear message:
| Error | Meaning |
|---|---|
| Insufficient Balance | Wallet needs more sats |
| Quota Exceeded | Spending limit reached |
| Timeout | Wallet didn't respond |
| Unauthorized | Connection was revoked |
See API Status Codes for the full list of NWC error codes.
Combining Payment Methods
You can enable multiple payment methods per plan:
| Configuration | Use Case |
|---|---|
| Lightning only | Bitcoin maximalist audience |
| Lightning + On-chain | All Bitcoin users |
| Lightning + NWC | Bitcoin with automatic renewals |
| Lightning + Stripe | Crypto + fiat flexibility |
| All methods | Maximum reach |
Offering multiple payment methods increases conversion rates. Subscribers choose what's convenient for them.
Automatic Renewals
Subscriptions renew automatically:
- Before period ends: System creates renewal invoice
- Invoice sent: Subscriber receives payment request
- On payment: Period extends
- If not paid: Enters grace period (if configured)
Renewal by Payment Type
| Method | Renewal Process |
|---|---|
| Lightning | New invoice generated and sent |
| On-chain | New address/invoice generated |
| NWC | Wallet charged automatically |
| Stripe | Card charged automatically |
| PayPal | PayPal account charged |
NWC, Stripe, and PayPal renewals are fully automatic. Standard Lightning and on-chain renewals require the subscriber to manually pay each invoice.
Failed Payments
When a payment fails:
| Stage | Status | Access |
|---|---|---|
| Payment due | Active | Yes |
| Payment failed | Past Due | Yes |
| Grace period ends | Payment Failed | No |
Set a grace period of 3-7 days to give subscribers time to fix payment issues. This reduces accidental churn.
Payment History
Each subscriber's payment history is visible in their details:
- Payment date
- Amount (in original currency)
- Status (paid, pending, failed)
- Payment method used
- Transaction reference
Refunds
Bitcoin Payments
Subscriptions Manager doesn't process Bitcoin refunds directly:
- Lightning: Send a new payment to the subscriber's invoice
- On-chain: Send a transaction to their Bitcoin address
Coordinate with your subscriber for refund details.
Stripe Payments
Refunds can be processed through your Stripe Dashboard:
- Log into Stripe Dashboard
- Find the payment
- Issue full or partial refund
PayPal Payments
Refunds can be processed through your PayPal account:
- Log into PayPal Business
- Find the transaction
- Issue refund
