To accept card payments in WooCommerce and get paid in USDC, you need a gateway that hands the card payment to an on-ramp provider and sends the USDC on to your wallet. Your buyers check out by card, Apple Pay or Google Pay as usual. You receive USDC on Polygon in a wallet you control, with no merchant account, nothing to withdraw, and no USDC needed on the buyer's side.
This guide sets that up with the Caravel Pay plugin: what you need, the install, a test order, what each order status means, and what it costs.
How a card payment becomes USDC#
- The buyer picks the payment method at your WooCommerce checkout and is sent to a hosted payment page.
- They pay by card, Apple Pay or Google Pay. A card on-ramp provider takes the payment and turns it into USDC on Polygon. The provider's own fee is shown to the buyer, and paid by them, before they confirm.
- The USDC arrives and confirms. Caravel Pay sends it on to your payout wallet automatically, minus the 2% Caravel fee, and signs a webhook to your store.
- The plugin updates the order to Processing (or Completed for virtual, downloadable orders), and adds a note with the payout and its Polygon transaction hash.
The plugin connects your store by itself when you save your wallet. There's no account, no dashboard, no sign-up form and no KYC for your business.
What you need#
- A store. A self-hosted WordPress site with WooCommerce, served over HTTPS.
- Currency. The store currency set to US dollar (USD). Checkouts are priced in USD in this version.
- A payout wallet. An ordinary Polygon address you control (MetaMask, Rabby, a hardware wallet). See choosing a payout wallet.
The plugin works with the classic checkout and the Checkout block, and with High-Performance Order Storage (HPOS).
Install and connect (about 10 minutes)#
- Download the plugin from the WooCommerce docs, then go to Plugins › Add New Plugin › Upload Plugin, upload the zip, and activate it.
- Open the settings under WooCommerce › Settings › Payments › Caravel Pay.
- Turn on Enable and paste your payout wallet, the
0x…address. Optionally change the title buyers see (default: Card, Apple Pay or Google Pay) and add a short description. - Click Save changes. The plugin calls Caravel Pay, gets a merchant id and secret, and stores them on your server. The status line says Connected.
Check the address twice. Payouts are on-chain transfers and can't be reversed. If you paste an exchange deposit address, make sure that exchange accepts USDC on Polygon at that address.
Already using the PayGate plugin? The settings page offers an Import from PayGate plugin button, and you can run both gateways side by side. See how to switch from PayGate.
Place a test order#
There's no sandbox, so test with real money and a small amount:
- Create a private product priced at $1.00.
- Open your shop in a private window, add it to the cart and choose Caravel Pay.
- Pay on the hosted checkout. The provider shows its fee before you confirm.
- You return to the order-received page. When the webhook arrives, the order moves to Processing.
- Check your wallet for the USDC: 0.98 USDC for a $1.00 order.
If a provider won't take an amount that small, raise the test price to a few dollars.
If the order stays on Pending payment, something is blocking the webhook. Usually that's a security plugin, firewall or page cache in front of /wp-json/caravel-pay/v1/webhook. The plugin logs every webhook under WooCommerce › Status › Logs (source caravel-pay).
What it costs#
You pay the 2% Caravel fee on each paid order and nothing else: no setup fee, no monthly fee. Polygon gas for your payout is covered by it. The buyer pays the card provider's fee on top of the order total; it varies by provider, method and country, and Caravel Pay takes no cut of it.
| $100.00 order | Amount |
|---|---|
| Buyer pays | $100.00 + the card provider's fee |
| Caravel Pay fee (2%) | −$2.00 |
| Payout to your wallet | 98.00 USDC |
Provider fees matter most on small orders, because many providers have a minimum fee. Our on-ramp fees guide lists published tariffs and what they mean for your buyers.
What each order status means#
| Checkout status | WooCommerce order | What to do |
|---|---|---|
awaiting_payment, confirming | Pending payment | Nothing yet. Don't ship. |
paid | Processing or Completed, with a payout note | Ship. |
underpaid | On hold, with the amount that arrived | Contact the buyer: accept, ask for the rest, or refund. |
review | On hold | Wait for a follow-up, or email support with the checkout id. |
expired | Cancelled | Nothing. Checkouts expire after 60 minutes unpaid. |
Ship only on paid. A buyer landing on your thank-you page is not proof of payment, but the plugin only marks orders paid from a verified webhook, so you don't have to check.
Things to know before you switch it on#
- Buyers may be asked to verify their ID by the card provider before they can pay, usually only the first time. That check is the provider's, not ours.
- No chargebacks; refunds are manual. Payouts are final transfers to your wallet that nobody can pull back, and a buyer's card dispute stays between the buyer, their bank and the card provider. To refund a buyer, send USDC back from your wallet or use another method you agree with them. Providers can stop serving sellers whose buyers dispute a lot, so keep order and delivery records.
- The hosted page shows Caravel Pay, the amount and the payment methods, not your store name or logo.
- Your payouts are USDC, not dollars in a bank. Converting to fiat is up to your wallet or an exchange.
- Prohibited goods. Some goods and services can't be sold with Caravel Pay, and card providers apply their own rules too. See our acceptable use policy.
What if buyers want to pay in crypto?#
The same hosted checkout also takes USDC, USDC.e or POL sent directly on Polygon. You're paid out in the token that arrived, minus the 2% Caravel fee, and it is never swapped. Other tokens and networks can't be credited automatically and go to review. If your buyers mostly pay in crypto on other chains, a crypto-first gateway is a better fit; see stablecoin payment gateways.
Frequently asked questions#
Can WooCommerce accept credit cards and pay out in USDC?#
Yes, with a card-to-crypto gateway plugin. The buyer pays by card on a hosted page, an on-ramp provider turns the payment into USDC, and the gateway sends it to your wallet. With Caravel Pay you receive the order total minus the 2% Caravel fee, on Polygon.
Does it work with Apple Pay and Google Pay?#
Yes. Buyers choose card, Apple Pay or Google Pay on the hosted checkout.
Do I need a merchant account or Stripe?#
No. The card provider processes the card, and you only need a Polygon wallet.
Is there a monthly fee?#
No. You pay the 2% Caravel fee on each paid order and nothing else. Your buyer pays the card provider's fee on top.
Does it support the WooCommerce Checkout block?#
Yes, both the classic checkout and the Checkout block, with HPOS.
My store isn't in USD. Can I still use it?#
Not yet. This version prices checkouts in US dollars only, and the method is hidden at checkout when the store currency isn't USD.
Sources#
- Caravel Pay docs: WooCommerce plugin, Payouts and fees, Checkout statuses, Get your API keys.