{"id":341308,"date":"2026-10-13T18:12:21","date_gmt":"2026-10-13T18:12:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/griffnode-for-woocommerce\/"},"modified":"2026-10-13T18:11:47","modified_gmt":"2026-10-13T18:11:47","slug":"griffnode-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/su.wordpress.org\/plugins\/griffnode-for-woocommerce\/","author":23533688,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"GriffNode Crypto Payments for WooCommerce","header_author":"GriffNode","header_description":"Accept Bitcoin, Ethereum, Litecoin, Dogecoin, Dash and USDT\/USDC\/DAI stablecoins in WooCommerce. Non-custodial - funds settle straight to your own wallet. No chargebacks.","assets_banners_color":"25234f","last_updated":"2026-10-13 18:11:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/docs.griffnode.com\/","header_author_uri":"https:\/\/griffnode.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":65,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"griffnode","date":"2026-10-13 18:11:47","revision":3744651}},"upgrade_notice":{"1.0.1":"<p>Important correctness fixes: wrong-currency billing on non-USD stores and orders not\nauto-completing are both fixed. Upgrade is strongly recommended for all existing installs.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3744651,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3744651,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3744651,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3744651,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The \"Pay with Cryptocurrency\" option at WooCommerce checkout with the live coin selector.","2":"GriffNode payment settings in WooCommerce (API keys and options).","3":"The hosted payment page with a BIP-21 QR code and live confirmation status."}},"plugin_section":[],"plugin_tags":[1886,157818,12611,6593,286],"plugin_category":[45],"plugin_contributors":[286536],"plugin_business_model":[],"class_list":["post-341308","plugin","type-plugin","status-publish","hentry","plugin_tags-bitcoin","plugin_tags-crypto-payments","plugin_tags-cryptocurrency","plugin_tags-payment-gateway","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-griffnode","plugin_committers-griffnode"],"banners":{"banner":"https:\/\/ps.w.org\/griffnode-for-woocommerce\/assets\/banner-772x250.png?rev=3744651","banner_2x":"https:\/\/ps.w.org\/griffnode-for-woocommerce\/assets\/banner-1544x500.png?rev=3744651","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/griffnode-for-woocommerce\/assets\/icon-128x128.png?rev=3744651","icon_2x":"https:\/\/ps.w.org\/griffnode-for-woocommerce\/assets\/icon-256x256.png?rev=3744651","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>GriffNode is a non-custodial crypto payment gateway for WooCommerce.<\/strong> Your customers pay in crypto and the money settles <strong>straight to your own wallet<\/strong> - GriffNode never holds, touches, or can freeze your funds. There are no chargebacks and no account holds.<\/p>\n\n<p>You connect your wallet's extended public key (xPub) once, and GriffNode derives a fresh receiving address for every order, so payments go customer to merchant directly. Learn how it works at <a href=\"https:\/\/griffnode.com\/\">griffnode.com<\/a> or read the full <a href=\"https:\/\/learn.griffnode.com\/how-to-accept-crypto-payments-woocommerce\">WooCommerce setup guide<\/a>.<\/p>\n\n<p><strong>Why merchants switch to crypto checkout<\/strong><\/p>\n\n<ul>\n<li><strong>Non-custodial<\/strong> - funds settle directly to your wallet, not ours. We literally cannot spend or freeze them.<\/li>\n<li><strong>No chargebacks<\/strong> - on-chain settlement is final. A customer cannot keep your product and claw back the money.<\/li>\n<li><strong>Live in minutes<\/strong> - sign up, paste your xPub, enable the gateway.<\/li>\n<li><strong>No frozen payouts<\/strong> - no processor sits between you and your revenue.<\/li>\n<li><strong>Flat monthly pricing<\/strong> - no percentage per transaction. See <a href=\"https:\/\/griffnode.com\/\">pricing<\/a> (free Starter tier, then flat plans).<\/li>\n<\/ul>\n\n<p><strong>Coins supported<\/strong><\/p>\n\n<p>Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Dogecoin (DOGE), Dash (DASH), plus the ERC-20 stablecoins <strong>USDT, USDC and DAI<\/strong> for price-stable payments.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>A \"Pay with Cryptocurrency\" gateway at WooCommerce checkout with a live coin selector.<\/li>\n<li>Hosted, mobile-friendly payment page with a BIP-21 QR code.<\/li>\n<li>Real-time on-chain confirmation via signed webhooks (HMAC-SHA256).<\/li>\n<li>Automatic order completion the moment a payment confirms, partial-payment and expiry handling.<\/li>\n<li>HPOS (High-Performance Order Storage) compatible.<\/li>\n<li>Full REST API and SDKs (JavaScript, Python, PHP) at <a href=\"https:\/\/docs.griffnode.com\/\">docs.griffnode.com<\/a>.<\/li>\n<\/ul>\n\n<p>This plugin connects to the GriffNode API (griffnode.com) to create hosted payment sessions and receive payment webhooks; a free GriffNode account and API key are required.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the GriffNode API (<code>api.griffnode.com<\/code>), operated by GriffNode, to create\ncrypto payment sessions and to notify your store when a payment confirms. It is not optional:\nthe plugin cannot function without it.<\/p>\n\n<p><strong>What is sent, and when:<\/strong><\/p>\n\n<ul>\n<li>When a customer places an order and selects a cryptocurrency, the plugin sends the order total,\ncurrency, the selected cryptocurrency, your store's return\/cancel URLs, and the order's WooCommerce\nID\/order key and billing email to <code>https:\/\/api.griffnode.com\/transactions\/create<\/code>, authenticated\nwith your Secret Key.<\/li>\n<li>On the checkout page, your store's browser fetches the list of cryptocurrencies you've\nconfigured wallets for from <code>https:\/\/api.griffnode.com\/merchant\/cryptos<\/code>, authenticated with your\nPublishable Key (safe to expose, it grants no write access).<\/li>\n<li>GriffNode sends signed payment-status webhooks (HMAC-SHA256) back to your store's\n  ?wc-api=griffnode endpoint as the customer's payment is detected\/confirmed\/expires.<\/li>\n<\/ul>\n\n<p>See GriffNode's <a href=\"https:\/\/info.griffnode.com\/terms-of-service\">Terms of Service<\/a> and\n<a href=\"https:\/\/info.griffnode.com\/privacy-policy\">Privacy Policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Create a free account at <a href=\"https:\/\/griffnode.com\/\">griffnode.com<\/a> and connect your wallet's xPub.<\/li>\n<li>In your GriffNode dashboard, copy your <strong>Publishable key<\/strong>, <strong>Secret key<\/strong> and <strong>Webhook secret<\/strong>.<\/li>\n<li>Install this plugin: Plugins \u2192 Add New \u2192 Upload, choose the zip, and Activate. (WooCommerce must be active.)<\/li>\n<li>Go to WooCommerce \u2192 Settings \u2192 Payments \u2192 <strong>GriffNode<\/strong> and paste your keys.<\/li>\n<li>In your GriffNode dashboard, set the webhook URL to <code>https:\/\/your-store.com\/?wc-api=griffnode<\/code>.<\/li>\n<li>Place a small test order to confirm end to end.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"are%20crypto%20payments%20reversible%3F%20can%20i%20get%20a%20chargeback%3F\"><h3>Are crypto payments reversible? Can I get a chargeback?<\/h3><\/dt>\n<dd><p>No. On-chain settlement is final, so there are no chargebacks. This is a major advantage for digital goods and high-risk categories.<\/p><\/dd>\n<dt id=\"where%20does%20the%20money%20go%3F\"><h3>Where does the money go?<\/h3><\/dt>\n<dd><p>Directly to your own wallet, every time, via the xPub you connect. GriffNode cannot custody, spend, or freeze it.<\/p><\/dd>\n<dt id=\"which%20cryptocurrencies%20can%20customers%20pay%20with%3F\"><h3>Which cryptocurrencies can customers pay with?<\/h3><\/dt>\n<dd><p>Bitcoin, Ethereum, Litecoin, Dogecoin and Dash, plus the USDT, USDC and DAI stablecoins.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Does it work with High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares HPOS compatibility.<\/p><\/dd>\n<dt id=\"what%20does%20it%20cost%3F\"><h3>What does it cost?<\/h3><\/dt>\n<dd><p>GriffNode uses flat monthly pricing with no percentage per transaction, including a free Starter tier. See <a href=\"https:\/\/griffnode.com\/\">griffnode.com<\/a> for current plans.<\/p><\/dd>\n<dt id=\"where%20are%20the%20docs%3F\"><h3>Where are the docs?<\/h3><\/dt>\n<dd><p>Full API and integration docs are at <a href=\"https:\/\/docs.griffnode.com\/\">docs.griffnode.com<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Works in the block-based Checkout (the WooCommerce default for new stores) as well as the classic checkout.<\/li>\n<li>Display name is now \"GriffNode Crypto Payments for WooCommerce\".<\/li>\n<li>Checkout script is now enqueued (wp_enqueue_script) instead of printed inline, and re-fills the selector after WooCommerce refreshes the checkout.<\/li>\n<li>Text domain matches the plugin slug (griffnode-for-woocommerce); all user-facing strings translatable.<\/li>\n<li>Fixed the Terms of Service and Privacy Policy links in External services.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: transaction creation sent the fiat amount under the wrong field name, which the API\nsilently interpreted as USD regardless of your store's actual currency, so non-USD stores were\nbilling the wrong crypto amount on every order. Fixed.<\/li>\n<li>Fix: orders never automatically left \"Pending\" on payment, because the plugin looked for the\norder under a field the API doesn't return for this integration. Order matching is now done via\nthe checkout metadata that's actually echoed back, with the transaction id used as a\ncross-check.<\/li>\n<li>Fix: two of the API's payment-status events (overpaid, failed) were not handled at all;\noverpaid orders in particular could stay stuck \"Pending\" despite being paid. Both are now\nhandled.<\/li>\n<li>Fix: the crypto selector on checkout built its dropdown via raw HTML string concatenation;\nit's now built through the DOM API instead.<\/li>\n<li>Improvement: resubmitting checkout (double-click, back-button) now reuses an order's existing\npayment session for up to 55 minutes instead of creating a new one each time.<\/li>\n<li>Improvement: customer email is now sent as its own field so the hosted payment page can\npre-fill it, instead of only being nested in metadata.<\/li>\n<li>Improvement: the webhook endpoint now requires HTTPS.<\/li>\n<li>Docs: added the required External Services disclosure.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: non-custodial crypto payment gateway for WooCommerce (BTC, ETH, LTC, DOGE, DASH + USDT\/USDC\/DAI), hosted checkout, signed webhooks, HPOS support.<\/li>\n<\/ul>","raw_excerpt":"Accept Bitcoin, Ethereum, Litecoin, Dogecoin and stablecoins in WooCommerce. Non-custodial, no chargebacks - funds go to your own wallet.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341308"}],"author":[{"embeddable":true,"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/griffnode"}],"wp:attachment":[{"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341308"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341308"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341308"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341308"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341308"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/su.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}