Title: Instant Crypto Payments
Author: icpay
Published: <strong>November 7, 2025</strong>
Last modified: February 8, 2026

---

Search plugins

![](https://ps.w.org/icpay-payments/assets/banner-772x250.png?rev=3395974)

![](https://ps.w.org/icpay-payments/assets/icon-256x256.png?rev=3395974)

# Instant Crypto Payments

 By [icpay](https://profiles.wordpress.org/kristijanzivcec/)

[Download](https://downloads.wordpress.org/plugin/icpay-payments.1.3.8.zip)

 * [Details](https://pcm.wordpress.org/plugins/icpay-payments/#description)
 * [Reviews](https://pcm.wordpress.org/plugins/icpay-payments/#reviews)
 *  [Installation](https://pcm.wordpress.org/plugins/icpay-payments/#installation)
 * [Development](https://pcm.wordpress.org/plugins/icpay-payments/#developers)

 [Support](https://wordpress.org/support/plugin/icpay-payments/)

## Description

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.

Perfect for:

 * E-commerce stores wanting to tap into crypto-native customers
 * Digital products and services
 * SaaS businesses
 * International payments without currency conversion fees

Key Features:

 * Seamless WooCommerce integration
 * Support for 50+ cryptocurrencies and tokens
 * Real-time payment confirmations
 * Developer-friendly with extensive documentation
 * Secure, non-custodial – funds go directly to your wallet
 * Optional X402 (Coinbase) payment support enabled

Built for developers, loved by merchants.
 Get started in minutes at icpay.org

This plugin:

 * Provides a Gutenberg block and shortcodes for all icpay payment widgets (Pay 
   Button, Amount Input, Tip Jar, Premium Content, Article Paywall, Donation Thermometer,
   Coffee Shop)
 * Enqueues the ICPay payments widget script locally
 * Adds admin settings for publishable and secret keys
 * Receives icpay payments webhooks to update local data
 * Syncs payments from icpay payments (manual and cron)
 * Stores payments in a local table with enriched data (amountUsd, amountUnits, 
   ledgerSymbol (token), pluginSource, wp user)
 * Shows an admin list with filters, pagination, and detail view
 * Adds Tools action to clear local ICPay payment history (with confirmation)

Requires an icpay account and API keys.

Frontend widgets use the publishable key; server tasks use the secret key.

To obtain keys, create an account on https://icpay.org and generate them in your
dashboard.

### Source code and build

This plugin includes a minified frontend script for the widget: assets/js/icpay-
embed.min.js.

Widget source (primary): https://github.com/icpay/icpay-widget
 SDK source (dependency):
https://github.com/icpay/icpay-sdk Build notes (recommended): The minified icpay-
embed.min.js is built from the open-source icpay-widget repository.

To reproduce:
 1. Clone icpay-widget and install deps (pnpm/yarn/npm supported):
pnpm install 2. Build: pnpm build 3. Copy the generated minified widget bundle to
this plugin at assets/js/icpay-embed.min.js.

### External service disclosure

This plugin connects to the ICPay service operated by icpay, Inc. to process payments:
–
What: Payment creation and status updates. – When: When rendering the widget (publishable
key) and when receiving webhooks; when syncing payments from your dashboard. – Data
sent: Payment amounts, selected crypto asset, and optional metadata you configure(
e.g., order ID). Webhook payloads contain payment status updates. Privacy Policy:
https://icpay.org/privacy Terms of Service: https://icpay.org/terms

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

 * Identity (authentication): `https://identity.ic0.app` — opened only when a user
   chooses Internet Identity. No static assets are offloaded; it is an external 
   login service.
 * On-ramp provider: `https://global.transak.com` (or `https://global-stg.transak.
   com` in non-production) — used only when the on-ramp modal is triggered. No static
   assets are offloaded; it is a payment service.

No JS/CSS/images are loaded from remote CDNs by this plugin. All static assets (
scripts, styles, and images) used by the plugin UI are bundled and served locally
within the plugin. The build script enforces this by rejecting known disallowed 
remote asset references.

## Blocks

This plugin provides 1 block.

 *   ICPay Widget

## Installation

 1. Upload the `icpay-payments` folder to the `/wp-content/plugins/` directory, or 
    upload the zip via Plugins  Add New  Upload.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.
 3. Go to Instant Crypto Payments  Settings and enter your Publishable and Secret keys.
 4. (Optional) Configure global defaults.
 5. Use the Instant Crypto Payments block in the editor to insert widgets, or shortcodes
    if preferred.
 6. Add a webhook endpoint in your ICPay account pointing to `/wp-json/icpay-payments/
    v1/webhook`. This endpoint is public by design but securely verified using an HMAC-
    SHA256 signature header.

## FAQ

### Do I need my secret key on the frontend?

No. Only the publishable key is exposed on the frontend. The secret key is used 
on the server for sync and API calls.

### Does it work without the WordPress.org directory?

Yes, you can install from a zip. For automatic updates via WordPress.org, submit
the plugin to the official directory.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Instant Crypto Payments” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ icpay ](https://profiles.wordpress.org/kristijanzivcec/)

[Translate “Instant Crypto Payments” into your language.](https://translate.wordpress.org/projects/wp-plugins/icpay-payments)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/icpay-payments/), check
out the [SVN repository](https://plugins.svn.wordpress.org/icpay-payments/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/icpay-payments/)
by [RSS](https://plugins.trac.wordpress.org/log/icpay-payments/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.8

 * Payments list: column “Amount (USD)” renamed to “Amount”. Amount column now shows
   the payment in its fiat currency when the widget used a non-USD currency (e.g.“
   10.00 GBP” instead of always “$12.00”). Fiat currency and amount-in-fiat are 
   stored from the payment intent on sync.
 * Payment detail view: when the intent used a non-USD fiat, the amount is shown
   in that currency (e.g. “10.00 GBP”) in addition to or instead of the USD equivalent
   where appropriate.

#### 1.3.7

 * New: Payment currency (fiat) option for all widgets. Block editor shows a “Payment
   currency” dropdown (USD default; other currencies from API). Use a different 
   fiat (e.g. EUR) for amount display and balance checks. When not set or set to
   USD, the option is omitted from the widget config.
 * Block editor: “Amount (USD)” label renamed to “Amount” for the Pay Button.
 * Shortcodes: all widget shortcodes now accept an optional `fiat_currency` attribute(
   e.g. `fiat_currency="EUR"`).

#### 1.3.2

 * New: Solana chain support.
 * New: Relay mode with per‑chain recipient addresses (IC, EVM, Solana).
 * New: Theme/overlay hardening so the wallet selector reliably appears above site
   UI.
 * New: X402 v2 improvements and UX updates.
 * Fix: Webhook and recheck verification now enforce relay rules and report terminal
   mismatches.
 * Fix: Amount USD inputs accept any positive decimal; validation moved to on‑blur.
 * Fix: Various minor compatibility and stability issues.

#### 1.2.2

 * Block editor: replaced “Accepted tokens” toggles with a searchable multi‑select“
   Filter allowed tokens (optional)” UI.
 * Block editor: now shows chain name in brackets next to token symbol; selected
   tokens are sorted by chain then symbol.
 * Block editor: “Amount (USD)” accepts arbitrary decimals (step=any), e.g. 0.0005
   or 1.12.
 * Block editor: label renamed “Component”  “Widget Type”; default button label 
   uses “crypto”.
 * Shortcodes/block render: removed deprecated “Disable button” and “Disable after
   success” flags.
 * Settings: added Tools section with “Clear ICPay payment history” button (with
   confirmation) to truncate local synced icpay payment records.
 * API/SDK integration: enriched public tokens response to include chain metadata
   used by the editor (chainName, chainShortcode, chainType, nativeSymbol, rpcChainId).
 * Documentation: note optional support for X402 (Coinbase) payments where enabled.

#### 1.0.25

 * Compliance updates: source links in headers/readme, nonce checks, SQL prepare
   fix, progress bar defaulting, moved Sync button to Payments page, webhook namespace
   switched to icpay-payments.

## Meta

 *  Version **1.3.8**
 *  Last updated **2 months ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/icpay-payments/)
 * Tags
 * [bitcoin](https://pcm.wordpress.org/plugins/tags/bitcoin/)[crypto](https://pcm.wordpress.org/plugins/tags/crypto/)
   [donations](https://pcm.wordpress.org/plugins/tags/donations/)[payments](https://pcm.wordpress.org/plugins/tags/payments/)
   [paywall](https://pcm.wordpress.org/plugins/tags/paywall/)
 *  [Advanced View](https://pcm.wordpress.org/plugins/icpay-payments/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/icpay-payments/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/icpay-payments/reviews/)

## Contributors

 *   [ icpay ](https://profiles.wordpress.org/kristijanzivcec/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/icpay-payments/)