WordPress / WooCommerce Plugin
Accept cryptocurrency payments in your WooCommerce store with zero coding. The DirectCryptoPay plugin integrates directly into WooCommerce's checkout flow.
Prerequisites
- WordPress 5.8 or later
- WooCommerce 7.0 or later
- PHP 7.4 or later
- A DirectCryptoPay account (create one here)
Installation
Method 1: Upload via WordPress Admin
- Download the plugin ZIP from your DirectCryptoPay Dashboard
- In WordPress admin, go to Plugins > Add New > Upload Plugin
- Select the downloaded ZIP file
- Click Install Now
- Click Activate
Method 2: Manual Upload
- Download the plugin ZIP
- Extract it to your server:
# Upload and extract to WordPress plugins directory
unzip directcryptopay-wordpress.zip -d /var/www/html/wp-content/plugins/
- In WordPress admin, go to Plugins
- Find DirectCryptoPay for WooCommerce and click Activate
Configuration
After activation, configure the plugin in WooCommerce:
- Go to WooCommerce > Settings > Payments
- Find DirectCryptoPay in the payment methods list
- Click Manage (or Set up)
Required Settings
| Setting | Description | Example |
|---|---|---|
| Enable/Disable | Toggle the payment method on/off | Checked |
| Title | Displayed to customers at checkout | "Pay with Crypto" |
| Description | Additional text shown at checkout | "Pay with ETH, USDC, or USDT" |
| Integration ID | Your integration ID from the DCP dashboard | clx7... |
| Environment | Testnet or Mainnet | Testnet (for testing) |
Finding Your Integration ID
- Log in to your DCP Dashboard
- Go to Integrations
- Create a new integration or copy the ID of an existing one
- Paste it into the WordPress plugin settings
Integration vs API Key: The WordPress plugin uses an Integration ID (not the raw API key). The Integration ID encapsulates your merchant configuration including wallet address, accepted chains, and tokens.
- Customer adds products to cart and proceeds to checkout
- At the payment step, customer selects "Pay with Crypto"
- The DirectCryptoPay widget appears in a modal overlay
- Customer selects their preferred chain (Ethereum, Polygon, or BNB Chain)
- Customer selects their preferred token (ETH, USDC, USDT, etc.)
- Customer connects their wallet and signs the transaction
- Payment is verified on-chain by the DCP backend
- WooCommerce order status automatically updates to Processing
Automatic order updates: The plugin registers a webhook with DirectCryptoPay. When the payment is confirmed on the blockchain, the order status is updated automatically. No manual intervention needed.
Before going live with real payments:
- Set the plugin environment to Testnet
- Use a testnet Integration ID
- Get test tokens from faucets:
- Sepolia ETH: sepoliafaucet.com
- Sepolia USDC: faucet.circle.com
- Place a test order in your store
- Complete payment with test tokens
- Verify the order updates in WooCommerce
Switching to Mainnet
When you are ready for production:
- Create a mainnet integration in your production dashboard
- Update the plugin settings:
- Change Environment to Mainnet
- Enter your mainnet Integration ID
- Save settings
- Place a small real test payment to verify everything works
Before going live: Always verify your wallet address is correct in the DCP dashboard. Payments to an incorrect address cannot be recovered.
Widget Not Appearing at Checkout
- Verify WooCommerce is active and up to date
- Check that DirectCryptoPay is enabled in WooCommerce payment settings
- Check browser console for JavaScript errors
- Clear any WordPress caching plugins (WP Super Cache, W3 Total Cache, etc.)
- Try in an incognito browser window
Order Status Not Updating
- Verify your site is accessible from the internet (webhooks cannot reach localhost)
- Check the DCP dashboard for the payment status
- Look at WooCommerce order notes for any error messages
- Ensure your WordPress cron is running (
wp-cron.php)
Cache Issues
If you see an outdated version of the payment widget:
- Clear your WordPress cache plugin
- Clear Cloudflare or CDN cache (if applicable)
- Clear browser cache
- The plugin includes cache-busting parameters, but aggressive caching may override them
Plugin Conflicts
If the widget fails to load, try:
- Temporarily disable other plugins to identify conflicts
- Switch to a default WordPress theme (e.g., Twenty Twenty-Four) to rule out theme issues
- Check that your theme does not have conflicting JavaScript
Need help? Contact support at support@directcryptopay.com or visit the FAQ.