Docs/WooCommerce

Accept crypto in your WooCommerce store

This takes about ten minutes and needs no coding. You’ll add a plugin to WordPress, copy two things across from PaySovra, and place one test order to prove it works. When a customer pays, the money goes straight to your own wallet and the order marks itself paid.

Before you start
  • A WordPress site with WooCommerce already installed.
  • A PaySovra account with at least one wallet address saved — that’s where your money lands, so nothing works without it.
  • Somewhere safe to paste two secrets for a minute, like a notes app.
1

Download the plugin

Save the file somewhere you’ll find it again, like your Downloads folder.

Download PaySovra for WooCommerceVersion 1.8.6 · always the latest
Leave the file zipped — WordPress wants the .zip exactly as you downloaded it and unpacks it for you. If you’ve already double-clicked it and a folder called paysovra appeared beside it, nothing is broken: drag that folder to the trash and carry on with the .zip.
2

Install it in WordPress

In your WordPress admin, go to Plugins → Add New Plugin, then press Upload Plugin at the top of the page. Choose the file you just downloaded, press Install Now, and when it finishes press Activate Plugin.

The WordPress admin sidebar with Plugins expanded and Add Plugin highlighted
Plugins → Add Plugin in the WordPress sidebar.

Nothing visible changes yet. The plugin is waiting for the two secrets you’re about to create.

Already have it installed? Upload the new file the same way — WordPress spots the existing plugin and offers Replace current with uploaded. Your integration key and signing secret are stored in WordPress itself, not in the plugin folder, so an upgrade never disturbs them.
3

Create your integration key

This is what lets your store ask us to take a payment. In PaySovra, open Integrations and find Integration keys. Name it something you’ll recognise later, like “WooCommerce store”, and leave management access switched off. Press Create key, then copy the key it shows you.

The Integration keys section in PaySovra, with a key named WooCommerce store and Management access left unticked
Leave Management access unticked, then press Create key.
The key is shown once and never again. Copy it now — if you lose it, you’ll just create another one.
You’ll see other keys on that page. Don’t use them. Your publishable key is a public value meant for the checkout widget and won’t work here. An older secret key, if you have one, has full access to your whole account — far more than a shop plugin should hold. Make a fresh key under Integration keys and use that.

Leaving management access off matters. WordPress sites get broken into more than anything else on the web, and a payments-only key can take payments but can’t read your orders, your customers, or anything else about your business. If your site is ever compromised, you revoke that one key and the rest of your account is untouched.

4

Create your signing secret

This is how your store can tell a genuine message from us apart from someone pretending to be us. On the same Integrations page, scroll to Get told when you’re paid and press Create signing secret. Copy it — this one is also shown only once.

Two names for the same thing. Developers and plugins call this a webhook. We call the section “Get told when you’re paid” because that’s what it does. If anything ever asks you for a “webhook URL” or a “webhook secret”, it means this section — steps 4 and 5 are both in it.
The Get told when you are paid section in PaySovra, showing the endpoint field and a Signing secret marked Required
Steps 4 and 5 both live here. The Required badge clears once a secret exists.
Don’t skip this step. Until a signing secret exists we don’t send your store anything at all, so orders would sit on “Pending payment” forever even though the money arrived.
5

Tell us where your store is

Still under Get told when you’re paid, press Add endpoint and enter your store’s address followed by /?wc-api=paysovra. So if your shop is at shop.example.com, you would enter:

https://shop.example.com/?wc-api=paysovra

Press Save endpoint. If you’d rather not type it by hand, the exact address for your store is also printed at the bottom of the WooCommerce payments settings page in the next step — you can copy it from there.

6

Paste both secrets into WooCommerce

Back in WordPress, go to WooCommerce → Settings → Payments. You’ll see PaySovra — Crypto & Stablecoin Payments in the list. Press Manage next to it.

The WooCommerce payment providers list showing PaySovra marked Active with a Manage button
The grey bar at the top shows your store’s own webhook address — you can copy it from here instead of typing it in step 5.

Fill in the two fields you copied: your Integration key from step 3, and your Signing secret from step 4. Then tick Enable PaySovra and press Save changes.

There's nothing to choose about coins here — your customer picks their own coin and network when they pay, from whatever your account accepts.

The PaySovra settings form in WooCommerce with fields for Integration key, Signing secret and Default Crypto Asset
Paste the two secrets, tick Enable PaySovra, and press Save changes.
Your store must sell in USD. PaySovra settles in dollars today, so on a store priced in another currency the option stays hidden at checkout and WooCommerce shows you why. We'd rather decline than convert your prices wrongly. More currencies are coming.
7

Place one test order before you tell anyone

Buy something from your own shop, cheaply, and pay it for real. Watch that all four of these happen:

  • PaySovra appears as a payment option at checkout.
  • Pressing it opens a payment window where you choose your coin and network, then shows an address and an amount.
  • After you send the coins, the payment page confirms on its own.
  • Back in WordPress, the order has moved from “Pending payment” to Processing or Completed, with the transaction recorded in the order notes.

If the first three work but the order stays on “Pending payment”, the problem is step 4 or 5 — see below. Your money is never at risk in that situation, because it went directly to your wallet; it’s only the notification that got lost.

If something goes wrong

Almost every problem is one of these six.

The order still says “Pending payment” after the customer paid
Your store never heard from us. Either the endpoint address is wrong, or the signing secret in WooCommerce isn’t the same one as in PaySovra.
Fix: Check the endpoint in PaySovra ends in ?wc-api=paysovra. Then create a fresh signing secret and paste the new one into WooCommerce. The money is safe either way — it went straight to your wallet.
“PaySovra connection failed” when a customer tries to pay
Your store couldn’t reach us — almost always a key that was pasted incompletely.
Fix: Re-copy your integration key and paste it again, making sure there’s no space at either end.
“This key isn’t permitted to create payments”
The key you pasted has been revoked, or it was copied from the wrong place.
Fix: Create a new integration key in PaySovra and paste that one in.
PaySovra doesn’t show up as an option at checkout
Either it’s switched off, or your store doesn’t sell in USD — we hide it rather than convert your prices wrongly.
Fix: Check WooCommerce → Settings → Payments and turn PaySovra on, making sure you pressed “Save changes” on its settings page. If it’s already on, look at the top of your WordPress admin: a notice will say if your store currency is the reason.
The order went to “On hold”
The customer sent less than the full amount.
Fix: Open the order in PaySovra to see exactly how much arrived, then decide whether to refund it or ask for the difference. Nothing ships automatically.
The order was cancelled on its own
The payment window closed and nothing arrived. This is normal and it only happens after the grace period, so a slow payment won’t trigger it.
Fix: Nothing to fix. The customer can order again.

Keeping it safe

If your WordPress site is ever hacked, or you stop using it, go to Integrations in PaySovra and revoke that one integration key. Your store stops taking payments immediately and nothing else you’ve connected is affected. Replacing the signing secret works the same way — press Replace, then paste the new one into WooCommerce.

Your wallet keys are never involved in any of this. We never hold your money and we can’t move it; payments go from your customer to your wallet directly, and what you’ve set up here only lets your store ask us to watch for one.

Still stuck?
Open the support box in your dashboard and tell us what you saw on screen. Include your store address and roughly when you tried — that’s usually enough for us to find it.