Instant Crypto Payments for WooCommerce

Descrición

Why ICPay?

  • Instant settlement to your wallet with no intermediaries or withdrawal delays. Customers pay, you receive – that simple.
  • 0.5% transaction fees. Free to use. Start earning crypto in minutes.
  • Multi-chain support including Base, X402, and Internet Computer means your customers can pay using their preferred network and token.

Key Features:

  • Seamless WooCommerce gateway integration (Checkout + Order Pay pages)
  • Support for 50+ cryptocurrencies and tokens
  • Optional X402 (Coinbase) payment support enabled
  • Real-time payment confirmations via webhooks
  • Developer-friendly with extensive documentation
  • Secure, non-custodial – funds go directly to your wallet
  • Compatible with HPOS (High-Performance Order Storage) and Cart/Checkout Blocks
  • Express Checkout button (optional) for Cart and Checkout

This plugin:

  • Adds an ICPay payment gateway for WooCommerce checkout
  • Renders a pay button at checkout / order-pay
  • Updates order status automatically when payment completes or fails (webhooks and verification)
  • Reuses the Publishable Key from the ICPay plugin (if installed) or set keys locally
  • Provides Settings for:
    • Filter allowed tokens (optional) using searchable multi-select by token shortcode
    • Metadata editor (key/value) merged into widget metadata (orderId is added automatically)
  • Progress bar is always enabled for a smooth checkout experience

Source code and build

This plugin includes minified frontend bundles:
– assets/js/icpay-embed.min.js (ICPay widget)
– assets/js/wc/index.umd.js (optional WalletConnect adapter UMD for the widget)

Public source (maintained and human-readable):
– Widget: https://github.com/icpay/icpay-widget (MIT)
– SDK: https://github.com/icpay/icpay-sdk (MIT)
– WalletConnect (optional adapter runtime): https://github.com/WalletConnect/walletconnect-monorepo

Exact mapping of distributed files to source:
– assets/js/icpay-embed.min.js Built from https://github.com/icpay/icpay-widget (package “@ic-pay/icpay-widget”).
– Primary sources live under /src in that repository.
– 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.
– Example tagged release used: see icpay-widget releases matching this plugin version. Repository includes full TS sources and sourcemaps.
– assets/js/wc/index.umd.js 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.

Build instructions (reproducible):
1) Clone https://github.com/icpay/icpay-widget
2) Install dependencies (pnpm, yarn, or npm):
– pnpm install
3) Build the library (produces ESM, IIFE embed, and UMD adapter):
– pnpm build:embed
– The script also copies the WalletConnect UMD adapter to dist/wc/index.umd.js
4) Copy artifacts into this plugin:
– dist/index.embed.js instant-crypto-payments-for-woocommerce/assets/js/icpay-embed.min.js
– dist/index.embed.js.map (optional, recommended) instant-crypto-payments-for-woocommerce/assets/js/icpay-embed.min.js.map
– dist/wc/index.umd.js instant-crypto-payments-for-woocommerce/assets/js/wc/index.umd.js

Notes:
– 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.
– 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).

External services

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’s terms and privacy policies.

1) ICPay API (icpay.org, api.icpay.org) — operated by ICPay, Ltd.
– What/why: Create and manage a payment and receive payment status updates.
– When: When rendering the pay button (client-side widget load) and when receiving payment webhooks or running order payment verification.
– Data sent: Order amount (USD), selected crypto asset, and order metadata (e.g., orderId). Webhook payloads contain payment status updates for the order.
– Terms: https://icpay.org/terms
– Privacy: https://icpay.org/privacy

Additional third-party services used by the widget (optional)

2) WalletConnect RPC (rpc.walletconnect.org) — provided by WalletConnect
– What/why: Facilitate mobile wallet connections via WalletConnect.
– When: Only if the WalletConnect adapter is enabled AND the shopper chooses WalletConnect.
– Data sent: Wallet session metadata and JSON-RPC requests needed to complete a payment.
– Terms: https://walletconnect.com/terms
– Privacy: https://walletconnect.com/privacy

3) Wallet vendor websites and app deeplinks — 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.
– Phantom: https://phantom.app — Terms: https://phantom.app/terms — Privacy: https://phantom.app/privacy
– Solflare: https://solflare.com — Terms: https://solflare.com/terms-of-use — Privacy: https://solflare.com/privacy-policy
– Coinbase: https://go.cb-w.com (redirect), https://www.coinbase.com — Terms: https://www.coinbase.com/legal/user_agreement — Privacy: https://www.coinbase.com/legal/privacy
– Binance: https://app.binance.com, https://www.binance.com — Terms: https://www.binance.com/en/terms — Privacy: https://www.binance.com/en/privacy

4) On-ramp provider (optional and disabled in this plugin build)
– The bundled WalletConnect adapter contains an optional on-ramp link for “Meld” (domain: https://meldcrypto.com). In this plugin distribution, on-ramp is disabled by default; no requests are made to this provider.
– When: Only if a developer explicitly enables on-ramp in the widget configuration and the shopper chooses to open it.
– Data sent: None by default in this plugin. If enabled by a developer, the provider’s own site and terms will apply.
– Vendor site: https://meldcrypto.com (please refer to the vendor site for terms and privacy)

Remote assets and CDN fallbacks

  • This plugin bundles all primary JS/CSS/images locally and does not offload required assets to remote CDNs.
  • 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.

Instalación

  1. Upload the instant-crypto-payments-for-woocommerce folder to /wp-content/plugins/, or upload the ZIP via Plugins Add New Upload.
  2. Activate the plugin.
  3. Go to WooCommerce Settings Payments ICPay and enter your keys.
  4. In your ICPay account, add the webhook endpoint: /wp-json/instant-crypto-payments-for-woocommerce/v1/wc/webhook. This endpoint is public by design and secured via an HMAC-SHA256 signature header.

Preguntas frecuentes

Do I need the main ICPay plugin?

No. This gateway can work standalone. If the main ICPay plugin is present, your publishable key will auto-fill.

Why is the “Filter allowed tokens” list empty?

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.

Comentarios

Non hai recensións para este plugin.

Colaboradores e desenvolvedores

“Instant Crypto Payments for WooCommerce” é un software de código aberto. As seguintes persoas colaboraron con este plugin.

Colaboradores

Rexistro de cambios

1.3.2

  • Added Solana chain support.
  • Added Relay mode with per‑chain recipient addresses (IC, EVM, Solana).
  • Added overlay/stacking fixes to ensure wallet selector and QR modals appear reliably.
  • Upgraded X402 integration (v2) and related UX.
  • Enforced relay rules in webhook and recheck flows; terminal mismatch states returned by /wc/recheck.
  • Fixed minor bugs and improved stability.

1.2.3

  • Security: Added nonce-based permission check to Express REST endpoint and AJAX fallback.
  • Security: Recheck endpoint now requires valid order key; tightened public endpoint gating.
  • Security: Added ABSPATH guard to asset PHP file.
  • Headers: Added “Requires Plugins: woocommerce”.
  • Compatibility: Updated “Tested up to” to 6.9.
  • Readme: Stable tag aligned with plugin header version.

1.2.1

  • Settings: added “Filter allowed tokens (optional)” with searchable multi-select by token shortcode; shows chain name in smaller text and removable chips.
  • Settings: removed legacy “Default symbol”, “Token selector”, and “Progress bar” fields; progress bar is always enabled.
  • Defaults: gateway title now “Instant Crypto Payments”; button label defaults to “Pay ${amount} with crypto”.
  • Admin: improved escaping and inline JS enqueueing in wp-admin for reliability.
  • Documentation: external service disclosure and tags updated; X402 (Coinbase) support noted.

1.0.25

  • Escaping fixes, enqueued inline assets, clarified public REST endpoints and signature verification, updated headers and readme disclosures.