-
Notifications
You must be signed in to change notification settings - Fork 0
Changelog
WoompaLoompa edited this page Jul 12, 2026
·
1 revision
-
nDebit Subscription Auto-Pay — Customers can enter an
ndebit1...string at checkout to enable automatic payment for subscription invoices. The plugin stores the nDebit linked to the buyer's email and auto-pays future subscription invoices without manual intervention. -
Server-Side Nostr Bridge — New
ClinkNostrBridgeservice spawns a Node.js process to handle all Nostr communication (NIP-44 encrypted kind 21001/21002 events) server-side, replacing the previous client-side browser approach. -
Full
ILightningClientImplementation —ClinkLightningClientnow implements BTCPay Server'sILightningClientinterface, making CLINK a first-class Lightning backend with native invoice creation, payment polling, and listener support. -
Lightning Connection String Support — CLINK can now be configured as a Lightning node connection string:
type=clink-noffer;noffer=noffer1...;ndebit=ndebit1... - Lightning Node Setup UI — CLINK nOffer appears as an option in the store's Lightning node configuration page.
-
Standalone nDebit Setup Page — Customers can set up auto-pay via
/clink/ndebit-setup, linkable from subscription confirmation emails or the customer portal. -
New API Endpoints:
-
POST /clink/store-ndebit— Store nDebit for a customer email and auto-pay -
GET /clink/ndebit-setup— Standalone nDebit setup page -
GET /clink/check-subscription-invoice— Check if invoice is a subscription
-
-
Plugin DI Overhaul —
Plugin.csnow registersClinkNostrBridge,NostrEventStore,NdebitRegistry,EmailNdebitStore,ILightningConnectionStringHandler, and three UI extension points. - Simplified ClinkService — Removed CoinGecko API integration and BTC exchange rate conversion logic. Sats conversion now handled natively by BTCPay Server's Lightning infrastructure.
-
Razor SDK — Project migrated from
Microsoft.NET.SdktoMicrosoft.NET.Sdk.Razorwith nullable and implicit usings enabled. -
Nostr Bridge —
clink-bridge.mjsnow supportspay-invoicecommand for nDebit payments, in addition torequest-invoiceandcheck-payment.
-
Fixed/Live BTC Exchange Rate — The
FixedBtcRatesetting and CoinGecko API integration (ConvertToSats,FetchBtcPrice) have been removed. Stores relying on fixed BTC rates will now use BTCPay Server's native Lightning exchange rate handling. -
Client-Side CLINK SDK Checkout — The checkout view no longer loads
@shocknet/clink-sdkvia import maps in the browser. Invoice generation is now entirely server-side.
-
ClinkSettings.FixedBtcRateproperty removed. Existing store configurations with a fixed rate will silently ignore the value after upgrade. - The checkout view behavior changed from client-side SDK integration to server-side invoice generation with nDebit injection for subscription invoices.
- Node.js 22+ is now required at runtime (for the Nostr bridge). v1.0.0 handled Nostr communication in-browser.
Initial release.
- CLINK Offer (noffer) based Lightning payments via Nostr
- Admin configuration page for store-level settings
- Client-side invoice generation using the CLINK SDK
- QR code display for mobile payment
- Payment polling via Nostr kind 21001/21002 events
- NIP-44 encrypted communication
- Configurable invoice timeout and poll interval
- Multiple Nostr relay support for redundancy
- Fixed or live (CoinGecko) BTC exchange rate support
- ShockWallet (mobile + browser extension) — nOffer
- ZEUS (mobile) — nOffer
- Amethyst (mobile) — nOffer
- Lightning.Pub (self-hosted) — nOffer
- BTCPay Server v2.4.0+
- .NET SDK 10.0+