DirectCryptoPay Docs

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

  1. Download the plugin ZIP from your DirectCryptoPay Dashboard
  2. In WordPress admin, go to Plugins > Add New > Upload Plugin
  3. Select the downloaded ZIP file
  4. Click Install Now
  5. Click Activate

Method 2: Manual Upload

  1. Download the plugin ZIP
  2. Extract it to your server:
# Upload and extract to WordPress plugins directory
unzip directcryptopay-wordpress.zip -d /var/www/html/wp-content/plugins/
  1. In WordPress admin, go to Plugins
  2. Find DirectCryptoPay for WooCommerce and click Activate

Configuration

After activation, configure the plugin in WooCommerce:

  1. Go to WooCommerce > Settings > Payments
  2. Find DirectCryptoPay in the payment methods list
  3. 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

  1. Log in to your DCP Dashboard
  2. Go to Integrations
  3. Create a new integration or copy the ID of an existing one
  4. 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.

## How the Checkout Flow Works
  1. Customer adds products to cart and proceeds to checkout
  2. At the payment step, customer selects "Pay with Crypto"
  3. The DirectCryptoPay widget appears in a modal overlay
  4. Customer selects their preferred chain (Ethereum, Polygon, or BNB Chain)
  5. Customer selects their preferred token (ETH, USDC, USDT, etc.)
  6. Customer connects their wallet and signs the transaction
  7. Payment is verified on-chain by the DCP backend
  8. 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.

## Testing with Testnet

Before going live with real payments:

  1. Set the plugin environment to Testnet
  2. Use a testnet Integration ID
  3. Get test tokens from faucets:
  4. Place a test order in your store
  5. Complete payment with test tokens
  6. Verify the order updates in WooCommerce

Switching to Mainnet

When you are ready for production:

  1. Create a mainnet integration in your production dashboard
  2. Update the plugin settings:
    • Change Environment to Mainnet
    • Enter your mainnet Integration ID
  3. Save settings
  4. 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.

## Troubleshooting

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:

  1. Clear your WordPress cache plugin
  2. Clear Cloudflare or CDN cache (if applicable)
  3. Clear browser cache
  4. The plugin includes cache-busting parameters, but aggressive caching may override them

Plugin Conflicts

If the widget fails to load, try:

  1. Temporarily disable other plugins to identify conflicts
  2. Switch to a default WordPress theme (e.g., Twenty Twenty-Four) to rule out theme issues
  3. Check that your theme does not have conflicting JavaScript

Need help? Contact support at support@directcryptopay.com or visit the FAQ.