How to Accept USDT Payments on WooCommerce (Step by Step)
October 10, 2026 · 6 min read
To accept USDT on WooCommerce you need three things: a payment plugin at checkout, a place to receive the money, and something that confirms each payment and marks the order as paid. With Clearqo the money goes straight into your own Binance account, the free plugin handles checkout, and orders complete automatically. Setup takes about ten minutes.
This guide walks through every step, from creating the account to your first real test payment, and ends with a troubleshooting table for the most common problems.
What do you need before you start?
- A WooCommerce store on HTTPS. Any recent WordPress and WooCommerce version works. Both the block checkout and the classic checkout are supported.
- A verified Binance account with two-factor authentication. A regular personal or business account is enough. You do not need a Binance merchant account.
- A free Clearqo account. This is where payments are verified and where you manage your settings.
How does USDT checkout work?
- The customer chooses Pay with USDT at checkout and places the order.
- They land on a payment page that shows a unique amount, for example 25.0037 USDT, and your Binance Pay ID or USDT addresses.
- They pay from Binance or any wallet. The money arrives directly in your Binance account.
- Clearqo sees the incoming payment through a read-only API key, matches the exact amount to the order and notifies your store.
- WooCommerce marks the order as paid and the customer is sent back to the thank-you page.
The unique amount is what makes the matching automatic. Each open order gets different final digits, so a payment can belong to only one order. Here is how unique-amount matching works in detail.
Step 1: Create an account and connect Binance
Create a free Clearqo account and open the Binance tab in the dashboard. Paste an API key and secret from your Binance account and click Save & verify.
The key must be read-only. Keys that can withdraw, trade or transfer are refused, and the key must be restricted to the server IP shown in the dashboard. That way Clearqo can see incoming payments but can never move your money. Our guide on creating a read-only Binance API key shows every click.
Step 2: Add your payment methods
On the same screen, fill in at least one payment method:
| Method | Where to find it in Binance | Best for |
|---|---|---|
| Binance Pay ID | Binance app → Pay | Customers who use Binance. No fee, confirms in seconds. |
| USDT TRC20 address | Deposit → USDT → network TRON (TRC20) | Customers with TRON wallets or other exchanges. |
| USDT BEP20 address | Deposit → USDT → network BNB Smart Chain (BEP20) | Customers on BNB Chain. Usually the cheapest on-chain option. |
Offering all three gives customers the most choice. If you are unsure, read Binance Pay ID explained and TRC20 vs BEP20.
Step 3: Choose how you pay fees
Creating an account and installing the plugin is free. Fees come from a prepaid USDT balance in the Billing tab: either a small percentage of each confirmed payment, or a flat monthly plan with no per-payment fee. Current prices are on the pricing section.
Top up a few USDT before going live. If the balance cannot cover the next fee, new payments pause until you top up, and your store shows customers a neutral “temporarily unavailable” message instead of a broken checkout.
Step 4: Create an API key and a webhook secret
Open Developers in the dashboard:
- Click Create API key, name it after your store and copy it. For your security it is shown only once.
- Copy the Platform URL and the webhook Signing secret.
- Leave this tab open. You will set the webhook endpoint in Step 6.
Step 5: Install the WooCommerce plugin
Download Clearqo for WooCommerce from Dashboard → Developers (or from the GitHub releases page). In WordPress go to Plugins → Add New → Upload Plugin, choose the zip file and activate it.
Step 6: Configure the payment method
Go to WooCommerce → Settings → Payments → Clearqo and fill in:
- Enable: tick it.
- Title and Description: what customers see at checkout, for example “USDT — Binance Pay / TRC20 / BEP20”.
- Platform URL, API key and Webhook signing secret: paste the values from Step 4.
Under the signing secret field the plugin shows your store’s webhook address. It looks like https://yourstore.com/wp-json/clearqo-wc/v1/webhook. Copy it into Dashboard → Developers → Endpoint URL and save.
When you save the WooCommerce settings, the plugin tests the connection and shows a message such as “Clearqo connected”, with your plan, Binance status and balance. If something is wrong it tells you exactly what.
Prefer to keep secrets out of the database? You can define CLEARQO_API_KEY, CLEARQO_WEBHOOK_SECRET and CLEARQO_API_BASE in wp-config.php instead. Constants take priority over the settings screen.
Step 7: Selling in a currency other than USD?
If your store is priced in PKR, INR, EUR or any other currency, add your exchange rate in Dashboard → Settings → Currencies, for example 1 USDT = 285 PKR. Each order is converted at that rate, rounded up so you never receive less, and the rate is locked for that payment. Without a rate the plugin warns you on save. Read the full guide: price your store in local currency and get paid in USDT.
Step 8: Make a small real payment
Create a cheap test product (1 USDT or the equivalent), buy it with a second Binance account or a friend’s, and watch the flow end to end:
- The order appears as Pending payment with a note saying the exact amount to send.
- After paying, the payment page updates by itself, usually within a minute, and returns to the thank-you page.
- The order moves to Processing (or Completed for virtual and downloadable products), with a note showing the amount, the method and the transaction ID.
In Dashboard → Developers you can also click Send test event at any time to confirm your store accepts signed webhooks.
What happens if a webhook is missed?
Nothing is lost. Webhooks are retried for up to 24 hours. On top of that, the plugin re-checks the payment when the customer opens the thank-you page, and a background job re-checks recent pending orders every hour. The plugin also never trusts the webhook body for money: it always fetches the invoice from the API before changing an order, and it locks each order so a payment can never be applied twice.
Troubleshooting
| Problem | Fix |
|---|---|
| USDT does not appear at checkout | Check that the method is enabled, the API key is filled in and the Platform URL starts with https://. On the block checkout, make sure you run plugin version 1.2 or later. |
| “USDT payment is temporarily unavailable” | Open the order notes. The real reason is written there, for example a low balance, no exchange rate for your currency, or Binance not connected. |
| Customer paid but the order is still pending | Check that the customer sent the exact amount. Then check the webhook delivery log in Dashboard → Developers and confirm the Endpoint URL is your store’s webhook address. |
| Order is on hold | A payment arrived that did not match exactly, or less than the order total was received. See what happens when a customer sends the wrong amount. |
FAQ
Is the WooCommerce plugin free?
Yes. The plugin is free and open source (GPL). Clearqo charges a small fee per confirmed payment or a flat monthly plan, paid from your prepaid balance.
Do I need a Binance merchant account?
No. A regular verified Binance account works. Make sure the way you use it follows Binance’s terms and the rules in your country.
Does it work with the WooCommerce Checkout block?
Yes. It supports the block-based Cart and Checkout, the classic checkout and High-Performance Order Storage (HPOS).
Can customers pay from a wallet other than Binance?
Yes. Any wallet or exchange that can send USDT on TRON (TRC20) or BNB Smart Chain (BEP20) works. Binance Pay needs a Binance account.
Accept USDT on your website
Paid straight to your own Binance, verified automatically.