WooCommerce Bitcoin Payments: Complete Setup Guide
Step-by-step tutorial to accept Bitcoin and cryptocurrency payments on your WooCommerce store. Learn plugin installation, configuration, testing, and troubleshooting for crypto payment integration.
PayCoinPro Team
WooCommerce powers over 30% of all online stores. Adding Bitcoin and crypto payments opens your store to millions of new customers while cutting transaction fees.
This guide walks you through setup, configuration, testing, and troubleshooting—everything you need to accept crypto confidently.
Table of Contents
- Why Add Bitcoin Payments
- What You Need
- Choosing a Plugin
- Installation Steps
- Payment Settings
- Testing
- Checkout Customization
- Orders and Refunds
- Security
- Troubleshooting
- Advanced Setup
Why Add Bitcoin Payments to WooCommerce
Reach More Customers
Over 420 million people own cryptocurrency. Many actively look for stores that accept it. Adding Bitcoin to your WooCommerce store helps you:
- Attract crypto users who prefer digital payments
- Sell globally without complex international processing
- Reduce cart abandonment from customers who can't use traditional methods
Cut Transaction Fees
Here's what you keep from a $100 sale:
| Payment Method | Fee | You Receive |
|---|---|---|
| Credit Card (Stripe) | $3.20 (2.9% + $0.30) | $96.80 |
| PayPal | $3.20 (2.9% + $0.30) | $96.80 |
| Crypto (PayCoinPro) | $1.00 (1%) | $99.00 |
Processing $10,000/month? That's $220 in monthly savings with crypto.
Stop Chargeback Fraud
Crypto transactions can't be reversed once confirmed. This eliminates chargeback fraud—a $40 billion problem for online stores. You control refund decisions, not payment processors.
Get Your Money Faster
Credit card processors hold funds for 2-7 days. With crypto, you can access funds in hours or minutes.
Prerequisites and Requirements
Before you start, make sure you have:
WordPress Setup
- WordPress 5.8 or higher
- WooCommerce 6.0 or higher
- PHP 7.4 or higher
- SSL certificate (HTTPS required)
Server Requirements
- 256MB PHP memory minimum
- cURL extension enabled
- JSON extension enabled
What You'll Need
- WooCommerce store with products ready
- PayCoinPro account (free)
- API credentials from your dashboard
- 30 minutes for setup and testing
Choosing a Payment Gateway Plugin
PayCoinPro Plugin (Recommended)
- 1% flat fee
- 10+ cryptocurrencies
- 8 blockchain networks
- Instant notifications
- No monthly fees
Best for: Most stores wanting reliable, low-fee processing.
BTCPay Server
- 0% processing fees
- Self-hosted (you manage servers)
- Bitcoin and Litecoin only
Best for: Technical users wanting full control.
CoinGate
- 1% fee
- 70+ cryptocurrencies
- Hosted solution
Best for: Stores wanting maximum coin options.
Our Recommendation
PayCoinPro offers the best balance of features, ease of use, and pricing for most WooCommerce stores. This guide uses PayCoinPro, but the concepts work with other gateways too.
Step-by-Step Installation Guide
Step 1: Create Your Account
- Visit paycoinpro.com/auth/register
- Enter your email and password
- Verify your email
- Complete your profile
Time: 2 minutes
Step 2: Get Your API Keys
- Log into your PayCoinPro dashboard
- Go to Settings → API Keys
- Click "Generate New API Key"
- Copy your API Key and API Secret
- Copy your Webhook Secret too
⚠️ Important: Save these securely. The API Secret won't show again.
Time: 1 minute
Step 3: Install the Plugin
From WordPress:
- Go to Plugins → Add New
- Search "PayCoinPro"
- Click Install Now, then Activate
Manual upload:
- Download from PayCoinPro Downloads
- Go to Plugins → Add New → Upload Plugin
- Upload the ZIP file and activate
Time: 2 minutes
Step 4: Configure the Plugin
- Go to WooCommerce → Settings → Payments
- Find "PayCoinPro - Crypto Payments" and click Manage
- Turn on the payment method
- Enter your credentials:
- API Key
- API Secret
- Webhook Secret
Time: 2 minutes
Step 5: Set Up Webhooks
- Copy the webhook URL from plugin settings (looks like
https://yoursite.com/wc-api/paycoinpro_webhook) - In PayCoinPro dashboard, go to Settings → Webhooks
- Add the webhook URL
- Select events:
invoice.paid,invoice.expired,invoice.underpaid - Save
Time: 2 minutes
Configuring Payment Settings
Basic Settings
Enable/Disable: Show or hide crypto at checkout.
Title: What customers see (e.g., "Pay with Bitcoin & Crypto").
Description: Text below the title (e.g., "Pay securely with Bitcoin, Ethereum, USDT, and more").
Order Status on Payment: Choose what happens when payment arrives:
- Processing — For physical products that need shipping
- Completed — For digital products with instant delivery
Cryptocurrency Options
Choose which coins to accept:
| Currency | Network | Typical Fee | Best For |
|---|---|---|---|
| USDT | Multiple | $0.10-2.00 | Price stability |
| USDC | Multiple | $0.10-2.00 | US merchants |
| BTC | Bitcoin | $1-10 | Large purchases |
| ETH | Ethereum | $2-20 | Tech-savvy buyers |
| BNB | BSC | $0.10 | Low fees |
| MATIC | Polygon | $0.01 | Very low fees |
| TRX | TRON | $0.50 | Stablecoin transfers |
| SOL | Solana | $0.001 | Fast and cheap |
Recommended setup: Start with USDT, USDC, and BTC on multiple networks. Add more based on customer requests.
Network Options
Choose which blockchains to support:
- Ethereum — Most widely used
- BSC (BNB Chain) — Low fees, popular in Asia
- Polygon — Very low fees, fast
- TRON — Popular for USDT
- Arbitrum — Low fees with Ethereum security
- Base — Coinbase ecosystem
- Solana — Ultra-fast, minimal fees
- Bitcoin — For BTC payments
Advanced Settings
Invoice Expiration: How long customers have to pay. Default is 30 minutes. Longer times give flexibility but add exchange rate risk.
Required Confirmations: How many blockchain confirmations before marking payment complete:
- Bitcoin: 1-3 (10-30 minutes)
- Ethereum/ERC-20: 12 (about 3 minutes)
- Other networks: Usually 1-20 blocks
Underpayment Threshold: Accept payments slightly under the invoice amount. Set 1-2% to cover network fees customers might underpay.
Testing Your Integration
Using Test Mode
PayCoinPro has a test mode for safe testing:
- Enable Test Mode in plugin settings
- Use test API credentials from the sandbox
- Make test purchases
- Disable test mode when ready
Testing Checklist
Run these tests before going live:
Basic Flow
- Add product to cart
- Go to checkout
- Select crypto payment
- Verify invoice shows correctly
- Check order status updates
Mobile Testing
- Complete checkout on phone
- Scan QR code with wallet app
- Verify it works
Webhook Testing
- Confirm webhook URL is accessible
- Verify orders update automatically
- Check payment shows in WooCommerce
Edge Cases
- Test expired invoice handling
- Test different cryptocurrencies
- Verify email notifications work
Live Testing
For a real test with small amounts:
- Create a $1 test product
- Make a real purchase with actual crypto
- Watch the full process
- Test a refund
Customizing the Checkout Experience
Change How Crypto Appears
Add to your theme's functions.php:
php
Add "We Accept Crypto" Badge
Show accepted payments on product pages:
php
Add Refund Wallet Field
Let customers enter a wallet address for refunds:
php
Handling Orders and Refunds
Order Status Flow
Orders move through these stages:
- Pending — Invoice created, waiting for payment
- On Hold — Payment detected, waiting for confirmations
- Processing — Payment confirmed, ready to ship
- Completed — Order fulfilled
Viewing Crypto Orders
Crypto orders appear in WooCommerce → Orders like any other. Extra details include:
- Cryptocurrency and amount paid
- Blockchain network used
- Transaction hash (links to block explorer)
- PayCoinPro invoice ID
Processing Refunds
Full Refund:
- Open the order
- Click Refund
- Select items and enter amount
- Choose refund method:
- PayCoinPro balance — Refund from your merchant account
- Manual — Send crypto directly to customer
Partial Refund: Same process—just enter the partial amount.
Sending to Customer's Wallet:
- Copy the wallet address from order notes
- Go to Withdrawals in PayCoinPro
- Enter address and amount
- Confirm
Adding Order Notes
Track crypto details automatically:
php
Security Best Practices
Protect Your API Credentials
Never put credentials in frontend code:
php
Use environment variables:
php
Verify Webhooks
Always check webhook signatures:
php
Use HTTPS
Crypto payment pages must use HTTPS:
- Install SSL (free via Let's Encrypt)
- Force HTTPS in WordPress
- Fix any mixed content warnings
Keep Everything Updated
Update regularly:
- WordPress core
- WooCommerce
- PayCoinPro plugin
- PHP version
Troubleshooting Common Issues
Crypto Option Not Showing at Checkout
Check these:
-
Plugin not enabled — Go to WooCommerce → Settings → Payments and turn it on
-
Wrong API credentials — Verify key and secret are correct. Watch for extra spaces.
-
Currency not supported — Make sure your store currency works (USD, EUR, etc.)
-
Test mode is on — Turn it off for live transactions
Orders Not Updating
Try these steps:
-
Check webhook URL — Should be
https://yoursite.com/wc-api/paycoinpro_webhook -
Look at server logs:
bash -
Test manually — Use "Test Webhook" in PayCoinPro dashboard
-
Check security plugins — Whitelist PayCoinPro IPs if needed
Invoice Shows Wrong Amount
Common causes:
-
Tax or shipping missing — Check those settings
-
Currency mismatch — WooCommerce currency should match invoice
-
Coupon issues — Test with coupons disabled
Payment Not Detected
Look for:
-
Wrong network — Customer may have sent on unsupported network
-
Below minimum — Very small payments may not meet minimums
-
Address reuse — Each invoice needs a unique address
Advanced Configuration
Multi-Currency Stores
Set invoice currency dynamically:
php
Custom Status Mapping
Map PayCoinPro statuses to your own:
php
Subscription Support
Enable crypto for WooCommerce Subscriptions:
php
Google Analytics Tracking
Track crypto checkouts:
javascript
Launch Checklist
Before announcing crypto payments:
- Turn off test mode
- Verify live API credentials
- Make a real test purchase
- Confirm webhooks work
- Test refunds
- Update privacy policy
- Update terms of service
Promote Your New Option
On your site:
- Add "Now Accepting Bitcoin" banner
- Show payment badges on product pages
- Add crypto icons to footer
On social media:
- Announce on Twitter/X
- Post in relevant subreddits
- Tell your email list
For SEO:
- Add "We Accept Bitcoin" to meta descriptions
- Create a dedicated landing page
Start Accepting Bitcoin Today
You're ready to accept Bitcoin and cryptocurrency on your WooCommerce store. Setup takes less than 30 minutes and opens your business to millions of crypto users.
Quick Start:
- Create your PayCoinPro account — Free, no credit card
- Get API keys — Dashboard → Settings → API Keys
- Install the plugin — Search "PayCoinPro" in WordPress
- Configure and test — Follow this guide
- Go live! — Start accepting crypto
Need help? Check our WooCommerce docs or email support@paycoinpro.com.
Ready to grow your WooCommerce sales with cryptocurrency? Get started with PayCoinPro — free to sign up, you only pay when you get paid.