Skip to content

Updated 6 Nov 2026

WooCommerce crypto payment gateway

Plaxswap Crypto Payments for WooCommerce is a free plugin on WordPress.org. Your customer pays in Bitcoin, USDT or another coin on our hosted checkout, and WooCommerce marks the order paid once the plugin has verified the payment.

Plugin details

Price
Free on WordPress.org
Version
1.0.2, from 9 Nov 2026. First published 25 Oct 2026
Needs
WordPress 6.8, WooCommerce 9.0 and PHP 7.4 with OpenSSL, or newer
Tested up to
WordPress 7.1 and WooCommerce 11.2
Checkout
Checkout Block and classic checkout
Platform fee
1.5% of each payment, paid by your customer and shown at checkout. The plugin adds nothing on top
Time to pay
60 minutes, set by the plugin
Short payments
It counts as paid if your customer sent at least 99.5% of the amount
Payment size
From about $1 to about $500,000. The checkout shows the limit for each coin

Set up the plugin

  1. Open a merchant account. Sign in with Google or Telegram, finish the business setup and turn on your authenticator app.
  2. In WordPress, open Plugins, then Add New Plugin. Search for Plaxswap Crypto Payments, install it and activate it. WooCommerce has to be active.
  3. Open WooCommerce, then Settings, Payments and Plaxswap.
  4. In your merchant dashboard, open Developers, then API keys, and create a test key. It starts with pxs_test_. Paste it into Merchant API key.
  5. Copy the callback URL the plugin shows. In the dashboard, open Developers, then Webhooks, paste that exact address and choose Save. Choose Make a new secret and copy it into Webhook signing secret. It starts with whsec_ and is shown only once.
  6. Tick Show at checkout, leave Test mode on and choose Save changes. Saving checks your key and account, and nothing changes if they don't match.
  7. Choose Send test under Webhooks and check that it shows Delivered.
  8. While signed in as a store admin or shop manager, place a test order. Other visitors don't see the option in test mode. Use the buttons on the test checkout to act out a paid payment, then an expired one, and check what the order does.
  9. When that works, create a live key, which starts with pxs_live_. Paste it in, turn off Test mode and save. Live payments need HTTPS on your store.

What happens to a WooCommerce order

The plugin never trusts a customer returning to your store, or a notification alone. A signed webhook makes it ask our API about the payment, and it checks the payment ID, mode, amount, currency and order reference before it changes the order.

PaymentOrder statusWhat it means
Waiting for the customer to payOn holdNothing to ship yet.
Seen on the network, still confirmingOn holdThe note on the order says it is waiting for verification.
Part of the amount arrivedOn holdThe order stays unpaid, and the customer can pay the rest from the payment link.
Paid and verifiedPaid, normally ProcessingWooCommerce handles stock and emails as it does for any paid order.
Expired or failedFailedThe order isn't fulfilled.
Cancelled before paymentCancelledThe order isn't fulfilled.
Paid late, or after the order closedNo automatic changeA note asks you to review the payment before you complete the order.

If a webhook is missed, the plugin checks unpaid orders about every five minutes while WordPress scheduled tasks are running, for up to 30 days. You can also choose Refresh Plaxswap payment in the order actions at any time.

What your customer sees

Your customer chooses Crypto · Plaxswap at checkout and places the order. You can change that name and its description in the settings. They then go to our hosted payment page, pick a coin and network, and see the exact amount, the address, a QR code and every charge before they send anything. They can follow the confirmations on that page.

There are 29 coin and network choices across 16 coins: BTC, ETH, USDT, USDC, SOL, TRX, BNB, LTC, DOGE, BCH, XRP, GRAM, AVAX, POL, DAI and DASH. The list comes from the gateway, so the plugin never needs updating when it changes. See the USDT networks or the full coin list.

What a $100 order costs

Your customer sends about $101.50 in the coin they chose, plus the network fee. About $100 in that coin reaches your merchant balance. When you withdraw, you pay our 0.3% fee and the network fee, both shown before you approve. Prices count one to one for USDT, USDC and DAI when your store is in USD, and other currencies convert at the current rate. Every cost is on the fees page.

Swapping coins inside your merchant account costs 0.3% on the same network, 0.5% for the same coin on another network and 0.7% for another coin on another network, plus the network fee.

Withdrawals are instant once your address is set up: the payout starts as soon as you approve it with your authenticator code or a passkey, and the network then confirms it as usual. A new address can be used 24 hours after you add it. A first withdrawal of $500 or more to an address is reviewed by our team. Withdrawals also pause for 24 hours after a security change or a sign-in from a new device.

Limits to know first

  • It handles one-off orders. Subscriptions and automatic renewals aren't supported.
  • Refunds aren't automatic, and a crypto payment can't be reversed. Marking an order Refunded doesn't send any coins.
  • You receive the coin your customer paid with. There's no setting for one payout coin.
  • A store on localhost can't receive our webhooks, so a live store needs a public HTTPS address.
  • The plugin can't withdraw your funds. It holds an API key and signing secret, encrypted with your WordPress security salts. If you restore a backup with different salts, enter them again.
  • Our merchant terms bar gambling, adult content and financial services unless you're licensed for them where you operate. We can ask for business details and can pause withdrawals until they are approved.
  • Payments are closed in 15 countries under sanctions or that we treat as high risk. See the country list. Tax and payment rules depend on your country, so check them where you operate.

Data the plugin sends

The plugin sends us the order amount and currency, an order reference, a description with your store name and order number, and the links to return to your store. Your customer's billing email is sent only if you turn that on, and it's off by default. The checkout also sees your customer's own browser request. Our privacy page has the rest.

If something goes wrong

What you seeWhat to check
Plaxswap isn't at checkoutEnable it and save valid credentials. In test mode, sign in as a store admin or shop manager. In live mode, the store needs HTTPS, and the store currency must be on the list on this page.
The API key is rejectedCopy the full key. A pxs_test_ key needs Test mode on, and a pxs_live_ key needs it off.
Settings won't saveCheck outbound HTTPS from your server, finish your merchant setup, and use the signing secret from the same account.
A payment stays on holdOpen the payment page to see its confirmations. Then check Webhooks in your dashboard, and choose Refresh Plaxswap payment in the order actions.
The customer came back but the order is unpaidComing back to your store doesn't prove payment. The order updates once the payment is verified.
Webhooks don't arriveThe callback URL has to be public HTTPS. Maintenance mode, a login wall or a firewall can block it.

Still stuck? Contact support with your plugin version, WooCommerce version and the payment reference. Never send an API key, signing secret, recovery phrase or authenticator code.

Questions

Is the plugin free?

Yes. The plugin is free on WordPress.org. Plaxswap charges a 1.5% platform fee on each payment, which your customer pays, and a 0.3% fee plus the network fee when you withdraw.

Can I receive everything in USDT?

Not automatically. This plugin credits your merchant balance in the coin and network the customer paid with, and has no setting for one payout coin. You can swap to USDT inside your merchant account afterwards, or use the API, which can name a coin.

Does it work with the Checkout Block?

Yes. It works with the Checkout Block and the classic checkout, and it declares support for WooCommerce's High-Performance Order Storage.

Which store currencies work?

67 currencies: USD, EUR, GBP, BRL, MXN, ARS, NGN, ZAR, JPY, AED, AUD, BDT, BGN, BHD, BOB, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DOP, EGP, GEL, GHS, GTQ, HKD, HUF, IDR, ILS, INR, ISK, JMD, KES, KRW, KWD, KZT, LKR, MAD, MYR, NOK, NZD, OMR, PEN, PHP, PKR, PLN, PYG, QAR, RON, RSD, SAR, SEK, SGD, THB, TRY, TTD, TWD, TZS, UAH, UGX, UYU, VND, XAF, XOF. If your store uses another currency, the payment option doesn't appear.

Does marking an order Refunded send the coins back?

No. That only changes the status in WooCommerce. Arrange the refund yourself from your balance or your own wallet, or ask support.

What happens if a payment arrives late?

Coins that arrive up to 24 hours late still reach your balance, marked late. The plugin won't complete the order for you. It adds a note asking you to review the payment first.

What happens if I deactivate or delete the plugin?

Your settings, encrypted credentials and payment history on orders stay in WordPress. Your merchant account stays open too. To cut off the store's access, revoke its key under API keys in your dashboard.

Related

Read how to accept crypto payments on a website, see the crypto payment gateway, or build your own checkout with the API docs. The plugin itself is on WordPress.org.

To use Plaxswap, accept our terms of service and privacy notice. We record your acceptance with your IP address and browser details, and keep a record of the swaps you make (see the privacy policy). We use cookies to remember this choice and your swaps. Additional cookies are optional and count visits and a few actions on our pages. Rejecting them still accepts the terms.