{"id":263355,"date":"2025-12-09T16:50:57","date_gmt":"2025-12-09T16:50:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/instant-crypto-payments-for-woocommerce\/"},"modified":"2026-02-08T20:28:52","modified_gmt":"2026-02-08T20:28:52","slug":"instant-crypto-payments-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/instant-crypto-payments-for-woocommerce\/","author":23379150,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.8","stable_tag":"1.3.8","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Instant Crypto Payments for WooCommerce","header_author":"ICPay, Ltd.","header_description":"Accept crypto payments (Bitcoin, ICP, stablecoins) in WooCommerce with ICPay. Adds an ICPay payment gateway with a secure pay button and webhook order updates.","assets_banners_color":"727c92","last_updated":"2026-02-08 20:28:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/icpay.org","rating":0,"author_block_rating":0,"active_installs":0,"downloads":335,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.5":{"tag":"1.2.5","author":"kristijanzivcec","date":"2025-12-09 16:51:02"},"1.3.2":{"tag":"1.3.2","author":"kristijanzivcec","date":"2026-01-20 10:29:29"},"1.3.3":{"tag":"1.3.3","author":"kristijanzivcec","date":"2026-01-29 08:43:34"},"1.3.5":{"tag":"1.3.5","author":"kristijanzivcec","date":"2026-02-01 00:23:25"},"1.3.8":{"tag":"1.3.8","author":"kristijanzivcec","date":"2026-02-08 20:28:52"}},"upgrade_notice":{"1.2.3":"<p>Security improvements (nonce checks, endpoint gating), dependency header, and WP 6.9 compatibility. Recommended update.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3415630,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3415630,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.5","1.3.2","1.3.3","1.3.5","1.3.8"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"WooCommerce gateway settings (ICPay)","2":"Checkout with ICPay selected","3":"Order Pay page with ICPay button"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1886,21057,1887,209195,286],"plugin_category":[45],"plugin_contributors":[250400],"plugin_business_model":[],"class_list":["post-263355","plugin","type-plugin","status-publish","hentry","plugin_tags-bitcoin","plugin_tags-crypto","plugin_tags-payments","plugin_tags-usdc","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-kristijanzivcec","plugin_committers-kristijanzivcec"],"banners":{"banner":"https:\/\/ps.w.org\/instant-crypto-payments-for-woocommerce\/assets\/banner-772x250.png?rev=3415630","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/instant-crypto-payments-for-woocommerce\/assets\/icon-256x256.png?rev=3415630","icon_2x":"https:\/\/ps.w.org\/instant-crypto-payments-for-woocommerce\/assets\/icon-256x256.png?rev=3415630","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Why ICPay?<\/p>\n\n<ul>\n<li>Instant settlement to your wallet with no intermediaries or withdrawal delays. Customers pay, you receive - that simple.<\/li>\n<li>0.5% transaction fees. Free to use. Start earning crypto in minutes.<\/li>\n<li>Multi-chain support including Base, X402, and Internet Computer means your customers can pay using their preferred network and token.<\/li>\n<\/ul>\n\n<p>Key Features:<\/p>\n\n<ul>\n<li>Seamless WooCommerce gateway integration (Checkout + Order Pay pages)<\/li>\n<li>Support for 50+ cryptocurrencies and tokens<\/li>\n<li>Optional X402 (Coinbase) payment support enabled<\/li>\n<li>Real-time payment confirmations via webhooks<\/li>\n<li>Developer-friendly with extensive documentation<\/li>\n<li>Secure, non-custodial - funds go directly to your wallet<\/li>\n<li>Compatible with HPOS (High-Performance Order Storage) and Cart\/Checkout Blocks<\/li>\n<li>Express Checkout button (optional) for Cart and Checkout<\/li>\n<\/ul>\n\n<p>This plugin:<\/p>\n\n<ul>\n<li>Adds an ICPay payment gateway for WooCommerce checkout<\/li>\n<li>Renders a pay button at checkout \/ order-pay<\/li>\n<li>Updates order status automatically when payment completes or fails (webhooks and verification)<\/li>\n<li>Reuses the Publishable Key from the ICPay plugin (if installed) or set keys locally<\/li>\n<li>Provides Settings for:\n\n<ul>\n<li>Filter allowed tokens (optional) using searchable multi-select by token shortcode<\/li>\n<li>Metadata editor (key\/value) merged into widget metadata (orderId is added automatically)<\/li>\n<\/ul><\/li>\n<li>Progress bar is always enabled for a smooth checkout experience<\/li>\n<\/ul>\n\n<h3>Source code and build<\/h3>\n\n<p>This plugin includes minified frontend bundles:\n- assets\/js\/icpay-embed.min.js (ICPay widget)\n- assets\/js\/wc\/index.umd.js (optional WalletConnect adapter UMD for the widget)<\/p>\n\n<p>Public source (maintained and human-readable):\n- Widget: https:\/\/github.com\/icpay\/icpay-widget (MIT)\n- SDK: https:\/\/github.com\/icpay\/icpay-sdk (MIT)\n- WalletConnect (optional adapter runtime): https:\/\/github.com\/WalletConnect\/walletconnect-monorepo<\/p>\n\n<p>Exact mapping of distributed files to source:\n- assets\/js\/icpay-embed.min.js \u2192 Built from https:\/\/github.com\/icpay\/icpay-widget (package \"@ic-pay\/icpay-widget\").\n  - Primary sources live under \/src in that repository.\n  - Build target is the IIFE embed bundle at \/dist\/index.embed.js, which is copied and renamed to icpay-embed.min.js for this plugin distribution.\n  - Example tagged release used: see icpay-widget releases matching this plugin version. Repository includes full TS sources and sourcemaps.\n- assets\/js\/wc\/index.umd.js \u2192 Built from https:\/\/github.com\/icpay\/icpay-widget at \/src\/index.umd.js (WalletConnect adapter UMD) and copied to \/dist\/wc\/index.umd.js by the build script.<\/p>\n\n<p>Build instructions (reproducible):\n1) Clone https:\/\/github.com\/icpay\/icpay-widget\n2) Install dependencies (pnpm, yarn, or npm):\n   - pnpm install\n3) Build the library (produces ESM, IIFE embed, and UMD adapter):\n   - pnpm build:embed\n   - The script also copies the WalletConnect UMD adapter to dist\/wc\/index.umd.js\n4) Copy artifacts into this plugin:\n   - dist\/index.embed.js \u2192 instant-crypto-payments-for-woocommerce\/assets\/js\/icpay-embed.min.js\n   - dist\/index.embed.js.map (optional, recommended) \u2192 instant-crypto-payments-for-woocommerce\/assets\/js\/icpay-embed.min.js.map\n   - dist\/wc\/index.umd.js \u2192 instant-crypto-payments-for-woocommerce\/assets\/js\/wc\/index.umd.js<\/p>\n\n<p>Notes:\n- The widget depends on \"@ic-pay\/icpay-sdk\", which is fully open source at https:\/\/github.com\/icpay\/icpay-sdk; the SDK sources are not vendored into this plugin but are bundled into the distributed widget file as part of the upstream open-source build.\n- If you prefer, you may vendor the unminified files from icpay-widget\/dist instead; WordPress.org accepts either shipping unminified sources with the plugin or providing public, maintained source links (as above).<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the ICPay service operated by ICPay, Ltd. to process payments. Details below list what is used, when, what data is sent, and links to each provider\u2019s terms and privacy policies.<\/p>\n\n<p>1) ICPay API (icpay.org, api.icpay.org) \u2014 operated by ICPay, Ltd.\n- What\/why: Create and manage a payment and receive payment status updates.\n- When: When rendering the pay button (client-side widget load) and when receiving payment webhooks or running order payment verification.\n- Data sent: Order amount (in store currency; sent with optional fiat_currency when store is not USD), selected crypto asset, and order metadata (e.g., orderId). Webhook payloads contain payment status updates for the order.\n- Terms: https:\/\/icpay.org\/terms\n- Privacy: https:\/\/icpay.org\/privacy<\/p>\n\n<h3>Additional third-party services used by the widget (optional)<\/h3>\n\n<p>2) WalletConnect RPC (rpc.walletconnect.org) \u2014 provided by WalletConnect\n- What\/why: Facilitate mobile wallet connections via WalletConnect.\n- When: Only if the WalletConnect adapter is enabled AND the shopper chooses WalletConnect.\n- Data sent: Wallet session metadata and JSON-RPC requests needed to complete a payment.\n- Terms: https:\/\/walletconnect.com\/terms\n- Privacy: https:\/\/walletconnect.com\/privacy<\/p>\n\n<p>3) Wallet vendor websites and app deeplinks \u2014 shown only if the WalletConnect adapter is enabled and the shopper chooses a wallet. Navigation happens only on explicit user action; the plugin does not send data to these vendors automatically.\n- Phantom: https:\/\/phantom.app \u2014 Terms: https:\/\/phantom.app\/terms \u2014 Privacy: https:\/\/phantom.app\/privacy\n- Solflare: https:\/\/solflare.com \u2014 Terms: https:\/\/solflare.com\/terms-of-use \u2014 Privacy: https:\/\/solflare.com\/privacy-policy\n- Coinbase: https:\/\/go.cb-w.com (redirect), https:\/\/www.coinbase.com \u2014 Terms: https:\/\/www.coinbase.com\/legal\/user_agreement \u2014 Privacy: https:\/\/www.coinbase.com\/legal\/privacy\n- Binance: https:\/\/app.binance.com, https:\/\/www.binance.com \u2014 Terms: https:\/\/www.binance.com\/en\/terms \u2014 Privacy: https:\/\/www.binance.com\/en\/privacy<\/p>\n\n<p>4) On-ramp provider (optional and disabled in this plugin build)\n- The bundled WalletConnect adapter contains an optional on-ramp link for \u201cMeld\u201d (domain: https:\/\/meldcrypto.com). In this plugin distribution, on-ramp is disabled by default; no requests are made to this provider.\n- When: Only if a developer explicitly enables on-ramp in the widget configuration and the shopper chooses to open it.\n- Data sent: None by default in this plugin. If enabled by a developer, the provider\u2019s own site and terms will apply.\n- Vendor site: https:\/\/meldcrypto.com (please refer to the vendor site for terms and privacy)<\/p>\n\n<h3>Remote assets and CDN fallbacks<\/h3>\n\n<ul>\n<li>This plugin bundles all primary JS\/CSS\/images locally and does not offload required assets to remote CDNs.<\/li>\n<li>The optional WalletConnect adapter may reference external vendor logos or pages provided by those vendors. We ship local icons where possible; any navigation to vendor sites occurs only when the shopper explicitly chooses that wallet. No plugin settings or secrets are transmitted by simply rendering the checkout page.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>instant-crypto-payments-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or upload the ZIP via Plugins \u2192 Add New \u2192 Upload.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to WooCommerce \u2192 Settings \u2192 Payments \u2192 ICPay and enter your keys.<\/li>\n<li>In your ICPay account, add the webhook endpoint: <code>\/wp-json\/instant-crypto-payments-for-woocommerce\/v1\/wc\/webhook<\/code>. This endpoint is public by design and secured via an HMAC-SHA256 signature header.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20the%20main%20icpay%20plugin%3F\"><h3>Do I need the main ICPay plugin?<\/h3><\/dt>\n<dd><p>No. This gateway can work standalone. If the main ICPay plugin is present, your publishable key will auto-fill.<\/p><\/dd>\n<dt id=\"why%20is%20the%20%E2%80%9Cfilter%20allowed%20tokens%E2%80%9D%20list%20empty%3F\"><h3>Why is the \u201cFilter allowed tokens\u201d list empty?<\/h3><\/dt>\n<dd><p>Ensure your ICPay Publishable Key is set in the ICPay gateway settings and save the plugin. The token list is fetched from the ICPay API using your Publishable Key.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>New: Fiat currency support tied to WooCommerce store currency. The pay widget and payment intent use the store currency (e.g. EUR, GBP) for amount display and API; when the store is in USD or currency is not set, fiat_currency is omitted (default USD).<\/li>\n<li>Webhook: when processing payment.completed, intent currency is checked against the order (store) currency; if they differ, the order is not auto-completed and a note is added.<\/li>\n<li>Recheck \/ manual verification: when the order is in a non-USD currency, the payment intent must have a matching fiatCurrencyCode; amount comparison with intent.amountUsd is only performed when the order is in USD (for other currencies we rely on orderId + currency match). New terminal outcome \"currency_mismatch\" with user-facing message on the receipt page.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Added Solana chain support.<\/li>\n<li>Added Relay mode with per\u2011chain recipient addresses (IC, EVM, Solana).<\/li>\n<li>Added overlay\/stacking fixes to ensure wallet selector and QR modals appear reliably.<\/li>\n<li>Upgraded X402 integration (v2) and related UX.<\/li>\n<li>Enforced relay rules in webhook and recheck flows; terminal mismatch states returned by \/wc\/recheck.<\/li>\n<li>Fixed minor bugs and improved stability.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Security: Added nonce-based permission check to Express REST endpoint and AJAX fallback.<\/li>\n<li>Security: Recheck endpoint now requires valid order key; tightened public endpoint gating.<\/li>\n<li>Security: Added ABSPATH guard to asset PHP file.<\/li>\n<li>Headers: Added \u201cRequires Plugins: woocommerce\u201d.<\/li>\n<li>Compatibility: Updated \u201cTested up to\u201d to 6.9.<\/li>\n<li>Readme: Stable tag aligned with plugin header version.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Settings: added \u201cFilter allowed tokens (optional)\u201d with searchable multi-select by token shortcode; shows chain name in smaller text and removable chips.<\/li>\n<li>Settings: removed legacy \u201cDefault symbol\u201d, \u201cToken selector\u201d, and \u201cProgress bar\u201d fields; progress bar is always enabled.<\/li>\n<li>Defaults: gateway title now \u201cInstant Crypto Payments\u201d; button label defaults to \u201cPay with crypto\u201d.<\/li>\n<li>Admin: improved escaping and inline JS enqueueing in wp-admin for reliability.<\/li>\n<li>Documentation: external service disclosure and tags updated; X402 (Coinbase) support noted.<\/li>\n<\/ul>\n\n<h4>1.0.25<\/h4>\n\n<ul>\n<li>Escaping fixes, enqueued inline assets, clarified public REST endpoints and signature verification, updated headers and readme disclosures.<\/li>\n<\/ul>","raw_excerpt":"Accept crypto payments (ICP, Bitcoin, stablecoins) in WooCommerce via ICPay. Gateway for secure checkout and webhook order updates.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/263355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=263355"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kristijanzivcec"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=263355"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=263355"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=263355"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=263355"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=263355"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=263355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}