{"id":335475,"date":"2026-07-07T14:45:37","date_gmt":"2026-07-07T14:45:37","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/clink-gateway-for-woocommerce\/"},"modified":"2026-07-07T15:30:58","modified_gmt":"2026-07-07T15:30:58","slug":"clink-gateway-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ar.wordpress.org\/plugins\/clink-gateway-for-woocommerce\/","author":23527117,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.7","stable_tag":"trunk","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Bitcoin Lightning Payment Gateway for WooCommerce (via CLINK)","header_author":"WooClink","header_description":"Accept Bitcoin Lightning payments via the CLINK protocol (clinkme.dev). Customers pay with ShockWallet.app, ZEUS, Amethyst, or any other CLINK-compatible wallet. All transmitted privately and anonymously via relays of the Nostr protocol.","assets_banners_color":"f7fff8","last_updated":"2026-07-07 15:30:58","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/woo-clink.wasmer.app\/product\/donate\/","header_plugin_uri":"https:\/\/github.com\/WoompaLoompa\/woo-clink","header_author_uri":"https:\/\/woo-clink.wasmer.app","rating":0,"author_block_rating":0,"active_installs":0,"downloads":46,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.7":"<p>Compliance fixes for WordPress.org review and subscription My Account improvements: &quot;Payment&quot; row now shows &quot;Auto-Renewal&quot; or links &quot;Activate Auto-Renewal&quot; to the order-received page for ndebit setup.<\/p>","1.0.6":"<p>Subscription items now show &quot;Via Auto-Renewal&quot; \/ &quot;Via Manual Renewal&quot; with &quot;Activate Auto-Renewal&quot; link, client-side QR code generation, and &quot;Get your nDebit string&quot; link at checkout and My Account.<\/p>","1.0.5":"<p>Adds ndebit auto-renewal for subscriptions with BTC\/sats\/\u20bf price display on all frontend pages, and improved compatibility with Custom Price for WooCommerce Pro.<\/p>","1.0.4":"<p>Removes the redundant Store Currency setting. Your WooCommerce global currency is used automatically.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3599261,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3599262,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3599259,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3599258,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3599246,"resolution":"1","location":"assets","locale":"","width":1024,"height":461},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3599248,"resolution":"2","location":"assets","locale":"","width":998,"height":1286},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3599249,"resolution":"3","location":"assets","locale":"","width":1014,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3599250,"resolution":"4","location":"assets","locale":"","width":1009,"height":836},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3599251,"resolution":"5","location":"assets","locale":"","width":1002,"height":1492},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3599252,"resolution":"6","location":"assets","locale":"","width":2849,"height":2285}},"screenshots":{"1":"Bitcoin Lightning Payment method at checkout via CLINK protocol","2":"QR code on order-received page. Customer pay the first instalment immediately","3":"After fist invoice is paid, Customer can activate Auto-Renewal pasting nDebit string from any CLINK-enabled bitcoin lightning wallet","4":"Customer paste nDebit string and interface display Coinfirmation of Auto-Renewal activation for future payments","5":"When Auto-Renewal is activated, the customer has the option to pay next instalment invoice anytime","6":"Bitcoin Lightning payment Gateway (via CLINK) in WooCommerce &gt; Settings page"}},"plugin_section":[],"plugin_tags":[1886,270485,40289,220135,286],"plugin_category":[45],"plugin_contributors":[270486],"plugin_business_model":[],"class_list":["post-335475","plugin","type-plugin","status-publish","hentry","plugin_tags-bitcoin","plugin_tags-clink","plugin_tags-lightning","plugin_tags-nostr","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wooclink","plugin_committers-wooclink"],"banners":{"banner":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/banner-772x250.png?rev=3599258","banner_2x":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/banner-1544x500.png?rev=3599259","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/icon-128x128.png?rev=3599261","icon_2x":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/icon-256x256.png?rev=3599262","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/screenshot-1.png?rev=3599246","caption":"Bitcoin Lightning Payment method at checkout via CLINK protocol"},{"src":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/screenshot-2.png?rev=3599248","caption":"QR code on order-received page. Customer pay the first instalment immediately"},{"src":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/screenshot-3.png?rev=3599249","caption":"After fist invoice is paid, Customer can activate Auto-Renewal pasting nDebit string from any CLINK-enabled bitcoin lightning wallet"},{"src":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/screenshot-4.png?rev=3599250","caption":"Customer paste nDebit string and interface display Coinfirmation of Auto-Renewal activation for future payments"},{"src":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/screenshot-5.png?rev=3599251","caption":"When Auto-Renewal is activated, the customer has the option to pay next instalment invoice anytime"},{"src":"https:\/\/ps.w.org\/clink-gateway-for-woocommerce\/assets\/screenshot-6.png?rev=3599252","caption":"Bitcoin Lightning payment Gateway (via CLINK) in WooCommerce &gt; Settings page"}],"raw_content":"<!--section=description-->\n<p>Accept <strong>Bitcoin Lightning Network<\/strong> payments on your WooCommerce store via the <strong>CLINK protocol<\/strong>. No web server required for your Lightning node \u2014 all communication flows over Nostr relays.<\/p>\n\n<p>Customers can pay with <strong>ShockWallet<\/strong>, <strong>ZEUS<\/strong>, <strong>Amethyst<\/strong>, or any CLINK-compatible Lightning wallet.<\/p>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li><strong>Merchant<\/strong> generates a CLINK Offer string (<code>noffer1...<\/code>) from their CLINK-compatible wallet<\/li>\n<li><strong>Customer<\/strong> checks out and selects \"Lightning (CLINK)\" as payment method<\/li>\n<li>The plugin uses the noffer to request a BOLT 11 Lightning invoice over Nostr<\/li>\n<li>Customer scans the QR code and pays with any Lightning wallet<\/li>\n<li>Payment is confirmed via CLINK receipt \u2014 order is marked complete<\/li>\n<\/ol>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Supports simple, variable, digital, and subscription products<\/li>\n<li>Works with both classic checkout and WooCommerce Cart\/Checkout Blocks<\/li>\n<li>Live BTC price via CoinGecko (5-minute cache) or optional fixed rate<\/li>\n<li>Display prices in sats, BTC, or \u20bf (bip-0177) on product pages, cart, and checkout<\/li>\n<li>Configurable invoice timeout and poll interval<\/li>\n<li>Automatic sats conversion from your store currency<\/li>\n<li>QR code display on the order-received page<\/li>\n<li>Full refund support (manual Lightning refund)<\/li>\n<li>Compatible with Custom Price for WooCommerce Pro and other price-display plugins<\/li>\n<li>Client-side price conversion fallback for maximum plugin compatibility<\/li>\n<\/ul>\n\n<h3>Third Party Services<\/h3>\n\n<p>This plugin communicates with the following third-party services:<\/p>\n\n<h4>Nostr Relays (CLINK Protocol)<\/h4>\n\n<ul>\n<li><strong>Purpose<\/strong>: Request and receive Lightning invoices from the merchant's CLINK-compatible wallet<\/li>\n<li><strong>When<\/strong>: At checkout, when a customer places an order using the CLINK payment method<\/li>\n<li><strong>Data sent<\/strong>: Merchant's noffer offer data, payment amount in satoshis, order description, and ephemeral public keys<\/li>\n<li><strong>Relay URL<\/strong>: Determined by the merchant's noffer string (configured in the gateway settings)<\/li>\n<li><strong>Privacy note<\/strong>: No personal customer data (name, email, address) is transmitted to Nostr relays. Only the payment amount and a short order description are shared. Customers choosing wallet-based auto-renewal (ndebit) authorize the merchant to pull future subscription payments; the ndebit string and subscription amount are known to the Nostr relay.<\/li>\n<\/ul>\n\n<h4>CoinGecko<\/h4>\n\n<ul>\n<li><strong>Purpose<\/strong>: Fetch the current BTC-to-fiat exchange rate for price display<\/li>\n<li><strong>When<\/strong>: On checkout page load, every 5 minutes (result is cached in WordPress transients)<\/li>\n<li><strong>Data sent<\/strong>: The store's currency code (e.g., <code>usd<\/code>, <code>eur<\/code>)<\/li>\n<li><strong>Privacy policy<\/strong>: https:\/\/www.coingecko.com\/en\/privacy<\/li>\n<li><strong>Note<\/strong>: If configured, a fixed exchange rate in the plugin settings bypasses this service entirely.<\/li>\n<\/ul>\n\n<h4>ShockWallet.app<\/h4>\n\n<ul>\n<li><strong>Purpose<\/strong>: Informational links for customers to generate CLINK noffer\/ndebit strings<\/li>\n<li><strong>When<\/strong>: When the customer clicks the link (no data sent by the plugin automatically)<\/li>\n<li><strong>Privacy policy<\/strong>: https:\/\/docs.shock.network\/privacy<\/li>\n<\/ul>\n\n<h3>Development<\/h3>\n\n<p>Source code for the built JavaScript bundles is included in the plugin:<\/p>\n\n<ul>\n<li><code>assets\/js\/clink-checkout.js<\/code> \u2014 source for the order-received page bundle<\/li>\n<li><code>assets\/js\/clink-blocks.js<\/code> \u2014 source for the blocks checkout registration<\/li>\n<li><code>assets\/js\/clink-price-converter.js<\/code> \u2014 source for the client-side price conversion fallback<\/li>\n<li><code>build.mjs<\/code> \u2014 esbuild configuration<\/li>\n<li><code>package.json<\/code> \u2014 npm dependencies<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin <code>.zip<\/code> from WordPress.org<\/li>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong><\/li>\n<li>Upload the <code>.zip<\/code> and activate<\/li>\n<li>Go to <strong>WooCommerce &gt; Settings &gt; Payments &gt; CLINK (Lightning)<\/strong><\/li>\n<li>Enable the gateway and paste your <code>noffer1...<\/code> string<\/li>\n<li>Save changes<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20a%20%22noffer%22%3F\"><h3>What is a \"noffer\"?<\/h3><\/dt>\n<dd><p>A noffer is a CLINK Offer string (<code>noffer1...<\/code>) that advertises your Lightning node's ability to receive payments. Generate one from ShockWallet, Lightning.Pub, or any CLINK-compatible wallet.<\/p><\/dd>\n<dt id=\"which%20wallets%20can%20customers%20use%3F\"><h3>Which wallets can customers use?<\/h3><\/dt>\n<dd><p>Any CLINK-compatible Lightning wallet: <strong>ShockWallet<\/strong>, <strong>ZEUS<\/strong>, <strong>Amethyst<\/strong>, and others.<\/p><\/dd>\n<dt id=\"does%20this%20need%20a%20lightning%20node%20on%20my%20server%3F\"><h3>Does this need a Lightning node on my server?<\/h3><\/dt>\n<dd><p>No. All communication flows over Nostr relays. Your Lightning node only needs a Nostr connection.<\/p><\/dd>\n<dt id=\"are%20subscriptions%20supported%3F\"><h3>Are subscriptions supported?<\/h3><\/dt>\n<dd><p>Yes. Subscriptions work with WooCommerce Subscriptions, Subscriptions for WooCommerce, YITH WooCommerce Subscription, Flexible Subscriptions, and others. After the first payment, customers can authorize auto-renewal via CLINK ndebit \u2014 future payments are processed automatically without scanning QR codes.<\/p><\/dd>\n<dt id=\"how%20is%20the%20btc%20price%20determined%3F\"><h3>How is the BTC price determined?<\/h3><\/dt>\n<dd><p>The plugin fetches the live BTC price from CoinGecko with a 5-minute cache. You can optionally set a fixed rate in the settings.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20custom%20price%20for%20woocommerce%20pro%3F\"><h3>Does this plugin work with Custom Price for WooCommerce Pro?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses PHP_INT_MAX priority for all price filters and includes a client-side JavaScript fallback that converts prices in the browser, ensuring compatibility with Custom Price for WooCommerce Pro and similar price-display plugins.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Stripped remote gist.github.com URL from built JavaScript bundle (WordPress.org review compliance)<\/li>\n<li>Fixed contributors list to match plugin owner's WordPress.org username<\/li>\n<li>Added Third Party Services section documenting Nostr relays, CoinGecko, and ShockWallet.app<\/li>\n<li>\"Payment:\" row on View Subscription page shows \"Auto-Renewal\" (ndebit saved) or \"Activate Auto-Renewal\" link pointing to the parent order's order-received page for ndebit setup<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Subscription \"Payment:\" row now shows \"Via Auto-Renewal\" or \"Via Manual Renewal\" based on ndebit status<\/li>\n<li>Added \"Activate Auto-Renewal\" action link on My Account subscription items for subscriptions without ndebit<\/li>\n<li>Added \"Get your nDebit string\" link pointing to my.shockwallet.app\/lapps at checkout and on My Account<\/li>\n<li>QR codes now generated client-side with bundled qrcode-generator library (no remote API dependency)<\/li>\n<li>Fixed \"Auto-Renewal\" title changed to \"Setup Auto-Renewal\" on the order-received page<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Added ndebit auto-renewal for subscriptions \u2014 customers authorize recurring payments via CLINK<\/li>\n<li>Auto-renewal is active by default after first subscription payment; titled \"Setup Auto-Renewal\" on the order-received page<\/li>\n<li>Customers can disable auto-renewal from My Account &gt; Subscriptions<\/li>\n<li>Added \"Get your nDebit string\" link at checkout and on My Account subscription items pointing to https:\/\/my.shockwallet.app\/lapps<\/li>\n<li>QR codes are now generated client-side using the bundled qrcode-generator library (no remote API dependency)<\/li>\n<li>Added BTC \/ sats \/ \u20bf (bip-0177) currency display option \u2014 overrides all frontend prices<\/li>\n<li>Price display runs at PHP_INT_MAX priority to avoid conflicts with other plugins<\/li>\n<li>Added client-side price conversion fallback for maximum compatibility with Custom Price for WooCommerce Pro and similar plugins<\/li>\n<li>Fixed BTC\/bip-0177 price formatting \u2014 now correctly shows 8 decimal places<\/li>\n<li>Compatibility improvements for third-party subscription plugins<\/li>\n<li>Fixed PCP warnings (text domain, non-prefixed hook ignore)<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Removed redundant Store Currency setting (uses WooCommerce default)<\/li>\n<li>External links in description now open in new tabs with rel=\"noopener noreferrer\"<\/li>\n<li>Fixed blocks checkout description rendering (HTML no longer escaped)<\/li>\n<li>Fixed blocks checkout icon (was passing HTML instead of URL)<\/li>\n<li>Added loading=\"lazy\" to gateway icon<\/li>\n<li>Updated repo and author URLs<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed blocks checkout support with dedicated JS bundle<\/li>\n<li>Fixed WPCS violations from audit<\/li>\n<li>Added SCRIPT_DEBUG conditional for .min suffix<\/li>\n<li>Added subscriptions support<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Improved error handling and logging<\/li>\n<li>Better mobile QR code layout<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed classic checkout redirect flow<\/li>\n<li>Added i18n support<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Accept Bitcoin Lightning Network payments via the CLINK protocol. Customers pay with ShockWallet, ZEUS, Amethyst, or any CLINK-compatible wallet.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/335475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=335475"}],"author":[{"embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wooclink"}],"wp:attachment":[{"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=335475"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=335475"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=335475"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=335475"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=335475"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=335475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}