How to Set Up Crypto Payments in WooCommerce: Step-by-Step Tutorial
How to Set Up Crypto Payments in WooCommerce: Step-by-Step Tutorial
WooCommerce powers over 30% of all online stores. If you're running a WooCommerce store and want to accept Bitcoin, Ethereum, or USDT payments, this tutorial will guide you through the entire process in under 20 minutes.
Prerequisites
Before starting, make sure you have:
- WordPress 5.8+ with WooCommerce 7.0+ installed
- PHP 7.4 or higher (PHP 8.1+ recommended)
- A CryptoIX account — register here if you haven't already
- Admin access to your WordPress dashboard
Step 1: Create Your API Gateway
- Log into your CryptoIX dashboard
- Navigate to Gateways in the sidebar
- Click "Create Gateway"
- Enter a name (e.g., "My WooCommerce Store")
- Set your Callback URL to:
https://yourstore.com/wp-json/cryptoix/v1/webhook - Click Save
- Copy your API Key (starts with
sk_)
Important: Keep your API key secure. Never share it publicly or commit it to version control.
Step 2: Download and Install the Plugin
- Visit the CryptoIX Plugins page
- Download the WooCommerce plugin (
.zipfile) - In WordPress, go to Plugins → Add New → Upload Plugin
- Select the downloaded
.zipfile and click Install Now - Click Activate Plugin
Step 3: Configure the Plugin
- Go to WooCommerce → Settings → Payments
- Find "CryptoIX - Crypto Payment" and click Set up (or Manage)
- Configure the following settings:
| Setting | Value | Description |
|---|---|---|
| Enable/Disable | ✅ Enabled | Activates the payment method |
| Title | Crypto Payment | Shown to customers at checkout |
| Description | Pay with Bitcoin, Ethereum, or USDT | Checkout description |
| API URL | https://cryptoix.io | CryptoIX gateway URL |
| API Key | sk_your_key_here | Your API key from Step 1 |
| Currency ID | 1 | The crypto currency to accept (from your dashboard) |
| Debug Mode | Enable during setup | Logs detailed info to WooCommerce logs |
- Click Save changes
Step 4: Test Your Integration
- Enable debug mode in the plugin settings
- Add a product to your cart
- Proceed to checkout and select "Crypto Payment"
- Complete the order — you should be redirected to the CryptoIX payment page
- Verify the payment appears in your CryptoIX dashboard
What to Check:
- ✅ Payment page loads with correct amount
- ✅ Wallet address is displayed
- ✅ QR code is scannable
- ✅ After payment, webhook updates order status
- ✅ Order notes show payment details (UUID, tx hash)
Step 5: Go Live
Once testing is complete:
- Disable debug mode in plugin settings
- Verify your callback URL is set correctly in the CryptoIX dashboard
- Test with a real small payment ($1-5) to confirm the full flow
- Monitor the first few transactions in both WooCommerce and CryptoIX dashboards
Troubleshooting Common Issues
Payment page doesn't load
- Verify your API key is correct
- Check that your CryptoIX account is active
- Ensure your server can make outbound HTTPS requests
Webhooks not received
- Confirm callback URL is
https://yourstore.com/wp-json/cryptoix/v1/webhook - Check that WordPress REST API is accessible (not blocked by security plugins)
- Verify SSL certificate is valid
Order status not updating
- Enable debug mode and check WooCommerce logs (WooCommerce → Status → Logs)
- Verify webhook signature validation is passing
- Ensure the order exists and hasn't already been completed
"Gateway Error" at checkout
- Check PHP error logs on your server
- Verify WooCommerce is updated to the latest version
- Confirm the CryptoIX API is accessible from your server:
curl https://cryptoix.io/api/v1/rates
Advanced Configuration
Multiple Cryptocurrencies
To offer multiple crypto options, you can create separate gateway instances in CryptoIX (one for BTC, one for ETH, one for USDT) and install the plugin multiple times with different configurations.
Custom Order Statuses
By default, the plugin uses these WooCommerce order statuses:
- Pending → Payment created, waiting for customer
- Processing → Payment confirmed on blockchain
- Completed → Order fulfilled
- Failed → Payment expired or failed
Webhook Security
The plugin automatically verifies:
- HMAC-SHA256 signature of every webhook
- Timestamp validity (5-minute window)
- Order existence and amount matching
Need help? Contact our support team or check the API documentation for advanced integration options.