← All posts
integration tutorial·5 min

Adding crypto payments to WooCommerce in 10 minutes

This is the practical version. We're going from a stock WooCommerce store to accepting crypto and stablecoin payments in about ten minutes. No custom code. No backend changes.

What you'll have at the end

  • Crypto and stablecoin support added to your WooCommerce checkout
  • Customers can pay with BTC, ETH, USDT, USDC, and a handful of others
  • Payments settle directly to a wallet you control
  • Order status updates automatically when payments confirm

You'll need a WordPress site with WooCommerce active, and a wallet to receive payments to. That's it.

Step 1 — Get a PaySovra account

Sign up at paysovra.com. The free tier covers initial testing — you can be up and running before you ever pay anything.

You'll create two credentials, both on the Integrations page:

  • An integration key — under Integration keys. Name it "WooCommerce store" and create it without management access. It starts with sk_live_ and is shown once. A payments-only key can take payments but cannot read your orders or customers, so if it leaks, it exposes nothing.
  • A signing secret — under Get told when you're paid. It starts with whsec_. Without it PaySovra sends your store nothing and orders never leave "Pending payment".

Step 2 — Configure your wallet

In your PaySovra dashboard, go to Settings and add the wallet addresses or extended public keys for the chains you want to support:

  • Bitcoin / Litecoin: provide an extended public key (xpub). PaySovra derives fresh addresses from it without ever seeing the private key.
  • EVM chains (Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, Base): add addresses to the EVM pool. Several is better than one — the pool hands a different address to each checkout.
  • Tron and Solana: same idea, one pool each.

You don't need to support every chain. Pick the ones your customers are most likely to use. You can add more later.

Your store can sell in USD, EUR, GBP, CAD, AUD, PLN or INR. The order's currency is sent with the payment and the exchange rate is locked when the customer commits, so the crypto amount matches what you charged.

Step 3 — Install the plugin

In your WordPress admin:

  1. Go to Plugins → Add New
  2. Search for "PaySovra"
  3. Install and activate

Or download it from WordPress.org and upload the zip manually if you prefer.

Step 4 — Connect the plugin to your account

After activation, go to WooCommerce → Settings → Payments → PaySovra.

Paste:

  • Integration key — the sk_live_ value from Integrations
  • Signing secret — the whsec_ value from the same page

Leave PaySovra API URL exactly as it is. It already points at the right place, and changing it is the most common way to break an otherwise working setup.

Save changes.

Step 5 — Set the webhook URL on PaySovra

WooCommerce gives you a webhook URL during plugin setup. It looks like:

https://your-store.com/?wc-api=paysovra

Copy it. Back in PaySovra, go to Integrations → Get told when you're paid → Add endpoint and paste it there. The exact address for your store is also printed at the bottom of the plugin's settings page.

This is how PaySovra tells WooCommerce a payment confirmed. Without it, your orders won't auto-update.

Step 6 — Test it

Place a test order on your store. Pick "Pay with crypto" at checkout. Choose a token and network. Send a small payment from a wallet you control.

You should see:

  • The PaySovra widget shows the address and QR code
  • Status moves from AWAITING → PENDING → CONFIRMED as the network confirms
  • Your WooCommerce order auto-updates to "Processing" or "Completed"

If anything stalls, check:

  • The endpoint address is registered in PaySovra and matches your store exactly
  • The signing secret in WooCommerce matches the one PaySovra issued
  • The payment method appears at checkout at all — it hides itself if your store sells in a currency PaySovra cannot price
  • The network you chose matches the network your test wallet is funded on

What happens behind the scenes

When the customer hits "Pay with crypto":

  1. WooCommerce calls the PaySovra API with the order total and currency
  2. PaySovra creates a payment session against an address from your pool
  3. The customer sees the QR / address / amount in the PaySovra widget
  4. They send the transaction. The blockchain does the moving.
  5. PaySovra detects the confirmation
  6. PaySovra sends a signed webhook to WooCommerce: payment.confirmed
  7. The plugin verifies the signature, marks the order paid, and runs your normal post-purchase flow

Funds are in your wallet by step 5. Steps 6 and 7 are just paperwork.

What to do next

A few common follow-ups:

Add more chains. Most stores start with Tron (low fees) and Ethereum (broad reach), then add Polygon and Solana once they see customer demand. Add chains in PaySovra dashboard settings.

Customize the checkout text. WooCommerce → Settings → Payments → PaySovra has fields for the title and description shown to customers. Default text works, but a sentence in your brand voice helps.

Set a payment tolerance. Default is 1%. If customers occasionally underpay due to FX slippage, the order still confirms within tolerance. Adjust under Settings → Payment Tolerance.

Configure overpaid behavior. Decide your refund policy in advance. PaySovra dashboard shows overpaid amounts; refunds happen via your normal off-chain process or by sending crypto back to the customer's wallet.

Common questions

Does this work with WooCommerce Subscriptions? Recurring crypto payments are on the PaySovra roadmap. The current plugin handles one-off orders.

Does the customer need to know about crypto? They need a wallet with the asset they're paying with. The widget walks them through scan-or-copy-and-send.

Can I accept crypto and credit cards on the same store? Yes. PaySovra is a payment method alongside whatever else you've configured. Customer picks at checkout.

What if the customer abandons checkout? The session expires (default 15 minutes). The address is released. Their wallet is unaffected — they never sent the transaction.


That's the whole flow. Ten minutes from a stock WooCommerce store to a crypto-accepting one. Funds in your wallet on confirmation.

PaySovra is a non-custodial crypto and stablecoin payment gateway. Multi-chain. Direct-to-wallet. Free tier available.