Just shipped a Bitcoin Lightning Payment Gateway for WooCommerce — approved on WordPress.orgJust shipped a Bitcoin Lightning Payment Gateway for WooCommerce — approved on WordPress.org
Demo: https://woo-clink.wasmer.app
WP Plugin: https://wordpress.org/plugins/clink-gateway-for-woocommerce/
Code: https://github.com/WoompaLoompa/woo-clink
Inspired by CLINK, recently implemented in ZEUS, Amethyst and Electrum. Here's Woo-CLINK: no LND node, no server-side Lightning setup, no API keys. Just a CLINK-compatible wallet (ShockWallet, ZEUS, Amethyst) and a Nostr relay. Merchants can run it as a custodial setup simply by installing lightning.pub and connecting it as backend for ShockWallet.app.
How it works:
- Merchant pastes a
noffer1...string from their wallet into the plugin settings - Customer checks out → a BOLT 11 invoice is requested over Nostr
- QR code renders, customer pays with any Lightning wallet
- CLINK receipt confirms → order completes
Subscriptions & auto‑renewal:
- After the first invoice payment, the customer authorizes recurring payments with an
ndebit1...string (bech32 debit authorization) - Subsequent renewals happen automatically — no further interaction needed. Payments are deducted as long as funds are available in the source wallet
- Customers can disable auto‑renewal anytime from WP > My Account
Other bits:
- Price display in sats, BTC, or ₿ (bip-0177) — overrides all WooCommerce frontend prices
- QR codes generated client‑side (no remote API)
- Blocks checkout + classic checkout support
- PHP 7.4+ / WP 5.8+ / Woo 6.0+
More coming soon. Would love feedback from you stackers. Anyone using WooCommerce want to give this a spin?
Why do we need third party hosted infrastructure (nostr relays) when we already have a wordpress server that can relay/generate BOLT11 itself (supported by all LN wallets)?
Seems like unnecessary complexity to require user's wallets to implement CLINK when the recipient is always online.
Are you going to run a Lightning node on the Wordpress server? Wordpress doesn't generate invoices, lightning nodes do, and most people use Wordpress in a shared-hosting setting.
Nostr lets a web app, whatever that happens to be including static pages... reach the node without the node itself needing a web-server / static ip / tunnel etc.
Having a CLINK-enabled node then also enables more p2p-like use-cases from that same node, such as nostr-clients or even wallet-to-wallet with an
noffercode.Time to face the reality of what has stifled Lightning adoption: Setting up traditional web infrastructure just to reach your node is not for the faint of heart, and failing to do so simply results in a node being a cost-center that is useless unless you're purely a tinkerer that likes ending the day with less sats than you started with.
Ok, why not implement CLINK in a wordpress plugin so the webserver can use CLINK to get a bolt11 for the customer? I don't understand why the customers of a wordpress site needs to know CLINK when a BOLT11 is sufficient for this usecase.
Thats exactly how it works, all CLINK does is fetch a bolt11 invoice. CLINK is how the web app connects to the node, the customer does not need a CLINK-aware wallet.
Try it on https://clinkme.dev
The plugin this person made seems geared towards subscriptions which is a separate use-case, that would require a CLINK-aware wallet, thats effectively just a cron job in the wallet to pay a
noffer, alternatively the customer can provide anndebitand the woo server can send requests for payment to that.That is accurate, but the same plugin can also be used to pay for standard, basic products, as it will generate lightning invoices. The only distinction is that once the first
bolt11lightning invoice is paid, the customer won't be asked to submit anOfferto activate subscriptions Auto-Renewal.A correction here.
When you run it as a Lightning Pub, is in fact a full LND node in neutrino mode on your OWN hardware ! Can be whatever PC, now available on Umbrel and Start9 as standalone node software. That means self-custodial.
ShockWallet, on the other side, yes, it can be used custodial (using the bootstrap node from ShockNetwork) or connecting to your own LN Pub, or both.
So if you want only to test it as a merchant, you do not need to run Lightning Pub, just using ShockWallet is enough.
@AGORA @AG
Take a look 👀
We should! As the ecash one still unreliable apparently lol!
No response yet from our service provider, we will keep you posted
good job, very thorough write up - and great to see CLINK getting some recognition and momentum in the wider network - need MOAR wallets supporting it !
Nice work, will add this to the site/docs
The ln.video link is broken. When I click on it safari says page not found