Crypto Pay – WooCommerce Direct-to-Wallet Payment Gateway
v1.5.6 | Free & Open Source | No KYC, No Third-Party

v1.5.6 | Free & Open Source | No KYC, No Third-Party
Hey everyone,
I know a lot of providers here on elitepvpers are still running their shops on WordPress + WooCommerce. If you've ever tried to accept crypto payments, you probably ran into the same problem I did — most crypto payment gateways either require KYC, or their business model means they won't accept you in the first place, and even if they do, they end up banning you sooner or later.
I got tired of dealing with this, so I built my own plugin. I also looked through the WordPress plugin directory for a decent direct-to-wallet solution and honestly couldn't find one that actually worked properly. So here it is — I'm sharing it for free so others can benefit from it.
Tested & working on: PHP 8.3, WordPress 6.7, WooCommerce 9.5 (latest versions as of February 2026). Also compatible with PHP 7.4+ and WooCommerce 7.0+.
It's fully open source (GPL v2) — feel free to modify, extend, or build on top of it however you like.
Technically, the plugin integrates with WooCommerce through its standard core hooks and APIs only (payment gateway API, WP-Cron, AJAX handlers, order meta). No core file modifications, no hacky workarounds. That said, it's still a community project — bugs or edge cases may exist, so always test with small amounts first before going live.
What is Crypto Pay?
Crypto Pay is a direct-to-wallet cryptocurrency payment gateway for WooCommerce. Unlike services like NOWPayments, CoinGate, or BitPay, this plugin sends payments directly to your own wallet address — no middleman, no KYC, no transaction fees from a third party.
Your customers select a cryptocurrency at checkout, a payment popup shows the exact amount + QR code, and the plugin automatically verifies the payment on the blockchain. That's it. Simple, private, and fully under your control.
Supported Cryptocurrencies
| Coin | Blockchain API | Default Confirmations |
| Bitcoin (BTC) | Blockstream Esplora | 2 |
| Litecoin (LTC) | Trezor Blockbook (primary) + BlockCypher (fallback) | 4 |
| Ethereum (ETH) | Etherscan | 12 |
| Dogecoin (DOGE) | Trezor Blockbook (primary) + BlockCypher (fallback) | 10 |
| Bitcoin Cash (BCH) | Trezor Blockbook (primary) + BlockCypher (fallback) | 3 |
| USDT (TRC20) | TronGrid | 20 |
Features Overview
Payment Flow
| Feature | Description |
| Direct-to-Wallet | Payments go straight to your wallet address. No custodial service, no middleman, no fees. |
| Payment Popup | Dark-themed popup on the thank-you page with QR code, exact amount, wallet address, countdown timer, and live status updates. |
| QR Code | Auto-generated QR code with the correct URI format (e.g. bitcoin:addr?amount=X). One scan, amount pre-filled. |
| Copy-to-Clipboard | One-click copy for both wallet address and exact amount. No typos. |
| Coin Selection Dropdown | Clean dropdown with coin icons at checkout. Shows live estimated amount after selection. |
| Coin Change (Post-Order) | Customer can switch to a different cryptocurrency on the thank-you page without creating a new order. |
| Rate Expiry + Refresh | Configurable rate validity (default 15 min). When expired, customer clicks "Refresh" to get a new rate. |
Blockchain Verification
| Feature | Description |
| Real-Time Verification | AJAX polling every 15 seconds checks blockchain for incoming transactions. No need to wait for WP-Cron. |
| WP-Cron Background Check | Runs every 2 minutes as a safety net. Catches payments even if the customer closes the page. |
| Multi-API Fallback | Trezor Blockbook as primary API (no rate limits), BlockCypher as fallback. If one fails, the other takes over. |
| Confirmation Tracking | Tracks confirmation count per coin. Status flow: Waiting → Confirming → Confirmed → Order Completed. |
| Admin Recheck Tool | One-click recheck button in admin order details. Scans all payments from the last 72 hours. |
| Expired Payment Recovery | If a cancelled/expired order receives a valid payment on-chain, the plugin auto-recovers it to completed. |
Security & Anti-Fraud
| Feature | Description |
| Unique Amount (Anti-Collision) | Each order gets a unique dust amount added (random satoshis). This ensures two simultaneous payments of the same value can be correctly matched to the right order — even with a single wallet address. |
| TX Replay Protection | Used transaction hashes are stored in the database. The same TX can never be used to pay for two different orders. |
| Underpayment Tolerance | Configurable tolerance (default 1%). If a customer sends 0.99 instead of 1.00 due to network fees, the payment is still accepted. |
| Duplicate Order Prevention | If a customer goes back and places a new order while an existing one is waiting, the old order is automatically cancelled. |
| Cron Lock | Prevents two cron jobs from running simultaneously (race condition protection). Auto-unlocks after 5 minutes. |
Pricing & Rates
| Feature | Description |
| CoinGecko API | Free API, single batch call fetches all coin prices. No API key needed. |
| Any Store Currency | Works with any WooCommerce currency (USD, EUR, TRY, GBP, etc.). Automatic conversion via CoinGecko. |
| Rate Caching | WordPress transient cache (default 5 min, configurable). Minimizes API calls. |
| Crypto Discount | Optional percentage discount for crypto payments (0-50%). Shows badge on payment method title (e.g. "%15 OFF") and applies automatically during conversion. |
Admin & Configuration
| Feature | Description |
| WooCommerce Native | Settings page under WooCommerce → Settings → Payments. No separate admin menu. "Settings" shortcut on Plugins page. |
| Per-Coin Configuration | Enable/disable each coin individually. Set wallet address and minimum confirmations per coin. |
| Order Meta Box | Crypto payment details visible in admin order page: coin, amount, wallet, TX hash (linked to block explorer), confirmations, rate. |
| Debug Logging | Optional WooCommerce-integrated debug logging for troubleshooting. |
| Auto-Complete | Optionally auto-set orders to "Completed" when payment confirms. |
| Email Instructions | Payment instructions included in WooCommerce order emails. |
Compatibility
| Feature | Description |
| WooCommerce Blocks | Fully compatible with the new WooCommerce Blocks checkout (React-based). |
| Classic Checkout | Also works with the traditional WooCommerce shortcode checkout. |
| HPOS Compatible | Declares compatibility with High-Performance Order Storage (custom order tables). |
| WordPress 6.0+ | Requires WordPress 6.0 or newer. |
| PHP 7.4+ | Requires PHP 7.4 or newer. |
| WooCommerce 7.0+ | Tested with WooCommerce up to 9.0. |
Free API Keys Needed
The plugin works out of the box for BTC, LTC, DOGE, and BCH without any API keys. For ETH and USDT (TRC20), you'll need free API keys:
| API | For | Where to Get | Required? |
| Etherscan | ETH verification | etherscan.io/apis | Yes, for ETH |
| TronGrid | USDT TRC20 verification | trongrid.io | Yes, for USDT |
| BlockCypher | LTC/DOGE/BCH fallback | blockcypher.com | Optional (improves rate limits) |
Installation
- Download the ZIP file from the attachment below.
- Go to WordPress Admin → Plugins → Add New → Upload Plugin.
- Upload the ZIP and click "Install Now".
- Activate the plugin.
- Go to WooCommerce → Settings → Payments → Crypto Pay.
- Enter your wallet addresses for each coin you want to accept.
- Enable the coins and save.
- Test with a small amount before going live.
How It Works (Flow)
- Customer selects "Crypto Pay" at checkout and picks a coin from the dropdown.
- Live exchange rate is fetched from CoinGecko and the estimated crypto amount is displayed.
- Customer places the order → a unique crypto amount is generated (with anti-collision dust).
- Payment popup appears with QR code, exact amount, and wallet address.
- Countdown timer shows rate validity (default 15 min).
- AJAX polls blockchain every 15 seconds for the transaction.
- Once detected → status changes to "Confirming" with live confirmation count.
- After required confirmations → order is marked as Completed.
Screenshots
Download
Current Version: 1.5.6
Last Updated: February 2026
License: GPL v2 or later
Built with care by Zhexcheats | zhexcheats.com
If you find this useful, a simple "thanks" is appreciated.
If you find this useful, a simple "thanks" is appreciated.










