How to Accept Crypto Payments on WooCommerce (USDT Checkout)

WooCommerce has no crypto checkout out of the box. Here are the three ways to add one — payment links, a gateway plugin or a custom integration — how orders should move from pending to processing, and what to test before you go live.

Updated: 3 min read
Accept crypto payments on WooCommerce — USDT payment option on a WordPress store checkout

To accept crypto payments on WooCommerce, you connect your store to a crypto payment gateway so that "Pay with crypto" appears at checkout. When a customer chooses it, the store creates an invoice at the gateway, sends the customer to a hosted payment page, and a signed webhook marks the order as paid once the transaction is confirmed on-chain.

WooCommerce does not include a crypto option out of the box, so the question is how you add it. This guide compares the three practical ways, explains how order statuses should behave and lists what to test before real customers pay.

Three ways to add crypto to WooCommerce

MethodHow it worksBest for
Payment linksYou create an invoice in the gateway panel and send the link; you mark the order paid by handLow volume, custom orders, testing demand
Gateway pluginA WooCommerce payment method that creates invoices and updates orders automaticallyMost stores — fully automatic checkout
Custom integrationYour developer calls the gateway API from a small plugin or theme codeStores with custom checkout flows or special rules
Key takeaway: whatever method you pick, the money flow is the same — invoice, hosted payment page, webhook. Only the amount of manual work changes.

How the automatic checkout flow works

  1. Customer chooses crypto — at checkout they pick "Pay with crypto (USDT)" and place the order.
  2. Store creates an invoice — WooCommerce sends the order total, currency and order ID to the gateway API.
  3. Redirect to the payment page — the customer sees the exact amount, a QR code, the network and a countdown.
  4. Customer pays — from any wallet or exchange; the amount is locked for the invoice lifetime.
  5. Webhook updates the order — after confirmation, a signed callback tells the store to move the order to Processing.
  6. Customer returns — they land on the order received page and get the usual WooCommerce email.

For the signature checks and retry logic behind step five, read our guide to crypto payment webhooks.

Order statuses: what should happen when

Gateway eventWooCommerce statusWhat to do
Invoice createdPending paymentHold stock for the invoice lifetime
Transaction seen, waiting for confirmationsOn hold (optional)Do not ship yet
ConfirmedProcessingFulfil the order
UnderpaidOn holdLet the customer pay the rest or contact them
Expired or cancelledCancelledRelease the stock
Important: only fulfil on a confirmed event. A transaction that has been seen but not yet confirmed can still fail, so treat it as "payment on the way", not "paid".

Checkout details that matter

  • Lead with USDT — stablecoins remove price risk for both sides; most customers who pay in crypto already hold USDT. See stablecoin payments for e-commerce.
  • Name the network — "USDT (TRC20)" is clearer than "crypto"; fees differ a lot between networks.
  • Explain the wait — a short note such as "confirmed in a few minutes" reduces abandoned payments.
  • Keep the store currency — price in USD or EUR as usual; the gateway converts at checkout.
Tip: put a small "Pay with USDT" badge near the cart total. Customers who prefer crypto look for it before they reach the payment step.

Test before you go live

  • A small real payment — pay a low-value order yourself and watch it move to Processing.
  • An expired invoice — let one run out and check that the order is cancelled and stock released.
  • An underpayment — send slightly less and confirm the order stays on hold.
  • Webhook security — a request with a wrong signature must not change any order.

WooCommerce with mistKET

mistKET gives you hosted USDT invoices, a REST API and signed webhooks. You do not need a developer: our team connects mistKET to your WordPress/WooCommerce store for free — we set up invoice creation, the redirect to the hosted payment page and the webhook that marks orders as paid, then run a test payment with you. We never ask for your store admin password. Prefer to build it yourself? Start with how to accept crypto payments on a website. Check fees, sign in at the merchant panel or apply on Telegram at @mistnetwork.

Frequently asked questions

Can WooCommerce accept crypto payments?
Not out of the box. You add a crypto payment method through a gateway — with payment links, a gateway plugin or a custom integration — and the gateway handles the on-chain payment.
Which crypto should a WooCommerce store accept?
Start with USDT, usually on TRC20 for low fees, because it holds a stable value. Add other assets only if customers ask for them.
When should a crypto order move to Processing?
Only after the gateway sends a confirmed event. A transaction that is seen but not confirmed should keep the order pending or on hold.
Do I need a developer to connect mistKET to WooCommerce?
No. The mistKET team sets up the integration for free and tests it with you; you never share your admin password.
What happens if a customer underpays?
The invoice is marked underpaid and the order should stay on hold until the rest is paid or you contact the customer.

Related articles

Latest articles

All articles