How to accept crypto payments on WordPress and WooCommerce (no plugin, no fees)
You don't need a gateway plugin, a KYC'd processor or a 1% fee to take XRP, ADA, ETH or USDC on a WordPress site. This guide covers the three realistic setups: a payment button on any page, a "Pay with crypto" option at WooCommerce checkout, and full automation through the API.
1. A "Pay with crypto" button on any page (5 minutes)
- Create a CryptoInvoice workspace with a handle, e.g.
acme, and paste your wallet addresses. - In Pay page & buttons, set the amount/memo you want and copy the HTML.
- In the WordPress editor add a Custom HTML block (or a Button block whose link is the pay URL) and paste. Publish.
Customers click, see a checkout page with the exact amount, your address and a QR, and pay from any wallet. The dashboard shows the payment and the memo you set (e.g. "Logo design deposit").
2. WooCommerce checkout option (no plugin)
WooCommerce ships with offline payment methods you can repurpose. The cleanest is Direct bank transfer (BACS), because it puts the order on hold until you mark it paid:
- WooCommerce → Settings → Payments → enable Direct bank transfer. Rename the title to "Pay with crypto (XRP, ADA, ETH, USDC)".
- In the Instructions field (shown on the thank-you page and in the email) paste:
Pay here: https://cryptoinvoice.dev/pay/acme — enter your order number as the note.You can't interpolate the total into the static instructions, so either tell the customer the amount from the order, or create the invoice for them (step 3). - When the payment shows as confirmed in your CryptoInvoice dashboard (or your webhook fires), mark the order Processing. That's the same workflow as a bank transfer, minus the 2-day wait.
Shortcut for accurate amounts: after an order arrives, create the invoice in the dashboard with the order total and memo "Order #1042", and email the link from the order screen. Takes 20 seconds and guarantees the exact amount.
3. Fully automated (developers)
Hook into woocommerce_thankyou (or build a small custom gateway) and call the API from PHP:
$res = wp_remote_post('https://cryptoinvoice.dev/api/invoices', [
'headers' => ['Authorization' => 'Bearer ' . CRYPTOINVOICE_KEY, 'Content-Type' => 'application/json'],
'body' => wp_json_encode([
'amount' => $order->get_total(), 'currency' => $order->get_currency(), 'asset' => 'USDC',
'memo' => 'Order #' . $order->get_id(), 'metadata' => ['order_id' => $order->get_id()],
'redirect_url' => $order->get_checkout_order_received_url(),
]),
]);
$invoice = json_decode(wp_remote_retrieve_body($res))->invoice;
wp_redirect($invoice->url); exit;
Then a REST endpoint receives the invoice.confirmed webhook (verify the signature — PHP example) and calls $order->payment_complete($data->tx_id). An official WooCommerce plugin is on our roadmap; this is what it will do under the hood.
Things to know
- USDC/USDT are detected on Ethereum mainnet only; say so at checkout.
- XRP customers must include the destination tag shown on the payment page (it's prominent, and you can reconcile by hash if they forget).
- Prices in USD/EUR/GBP convert at the live rate when the invoice is created; the amount is locked for the invoice lifetime (default 1 hour).
The button code (works on every platform)
From the dashboard's Pay page & buttons tab you get a link like https://cryptoinvoice.dev/pay/yourname?amount=49¤cy=USD&memo=Order. Wrap it in any button:
<a href="https://cryptoinvoice.dev/pay/yourname?amount=49¤cy=USD&memo=Order%20123"
target="_blank" rel="noopener"
style="display:inline-block;padding:12px 20px;border-radius:10px;background:#0f172a;color:#5eead4;font:600 15px system-ui;text-decoration:none">
Pay with crypto (XRP / ADA / ETH / USDC)
</a>
Leave out amount to let the customer type one (tips, deposits), or add &asset=XRP to lock the asset. Every payment shows up in your dashboard with the memo, and an optional webhook can update your own systems.
Set it up in 60 seconds
Create a workspace, paste your wallet address, copy the button. Free for 50 invoices a month, no sign-up form, no KYC, and the money never passes through us.
Open the dashboard API docsOther platforms: WordPress & WooCommerce · Shopify · Wix · Squarespace · Webflow · by coin: XRP · Cardano · Ethereum · USDC