WooCommerce plugin

UTOPAY for WooCommerce

Two payment methods for your store: cards and PayPal (4.5%) and crypto straight to your wallet (1.5%). Orders are completed automatically.

In short:

Upload the ZIP in Plugins → Add New, paste the secret key in WooCommerce → Settings → Payments → UTOPAY and enable the methods you need. Notifications need no setup.

WooCommerce
3.9 – 10.x
WordPress
5.0+
PHP
7.0 – 8.4
Checkout
Classic and blocks
Orders storage
HPOS and legacy
Languages
English, Russian
Plugin version
1.0.2

What the plugin does

  • UTOPAY — cards & PayPal: cards, Apple Pay, Google Pay, PayPal, Revolut, bank transfers. The buyer pays on the UTOPAY page and returns to the “Thank you” page.
  • UTOPAY — crypto: the buyer picks a coin (USDT and USDC on BNB Chain, Ethereum, Polygon, Arbitrum, Base…; ETH, BNB) right at checkout and gets an address with the exact amount.
  • The order is marked paid only after the plugin re-reads the payment through the API and the amount and currency match.
  • An underpaid crypto order goes On hold with a note: the money is already in your wallet, you decide what to do.
  • Unpaid payments expire after 24 hours; WooCommerce cancels the order by its own stock-hold timer.

Installation

  1. Download the ZIP above. Do not unpack it.
  2. WordPress admin → Plugins → Add New → Upload Plugin → choose the file → Install Now → Activate.
  3. In the UTOPAY dashboard open Integration → API keys and create a test secret key utopay_sk_test_….
  4. WooCommerce → Settings → Payments → UTOPAY — cards & PayPal → paste the key → tick Enable → Save. The key is checked on save.
  5. For crypto: in the dashboard add your wallets in Project settings → Funds & payouts, section Crypto wallets (one EVM address covers all EVM networks), then enable UTOPAY — crypto and pick the coins.

Settings

FieldWhat it does
Secret keyutopay_sk_test_… for the sandbox, utopay_sk_live_… for real payments. Shared by both methods.
Title / DescriptionWhat the buyer sees at checkout.
Payment method on the UTOPAY sideEmpty — the buyer chooses. Or send everyone straight to one method (Stripe, PayPal, Revolut…); if it is unavailable, the method picker is shown.
CoinsCrypto method only: coins offered at checkout. Enable only networks with your wallet in the dashboard.
Debug logWrites requests and notifications to WooCommerce → Status → Logs, source utopay.

Test payment

  1. With the test key, place an order and choose a UTOPAY method.
  2. The UTOPAY sandbox opens. Press the green ✅ button to simulate a payment.
  3. In a second and a half you are back on the “Thank you” page, the order becomes Processing with a note “UTOPAY payment ord_test_… received (test)”.
  4. Repeat with the red ❌ button — the order becomes Failed.
  5. Replace the key with utopay_sk_live_…. Done.

How orders are confirmed

Each payment is created with its own notification URL: https://your-site/?wc-api=utopay&order_id=…&key=…. UTOPAY sends every status change there, signed with HMAC-SHA256 (the key is derived from your secret key). If your site does not answer 2xx, UTOPAY retries after 30 s, 2 min, 15 min, 1 h and 6 h.

The plugin does not trust the notification body: it requests the payment from the API and completes the order only if the payment belongs to this order and the amount and currency match. When the buyer returns to the “Thank you” page, the same check runs once more — so a local or protected site still gets its orders confirmed.

Troubleshooting

  • Methods are not shown at checkout — the store currency is not supported, or the key is empty. Supported: USD EUR GBP CAD AUD NZD CHF SEK NOK DKK PLN CZK HUF TRY UAH INR JPY SGD HKD AED MYR THB PHP IDR BRL MXN COP ZAR NGN.
  • “Payment could not be started: amount is below the minimum” — the order total is below the minimum of the chosen method or coin; the buyer can pick another one.
  • Order stays “Pending payment” — the site must be reachable from the internet without HTTP auth, and security plugins must not block POST requests to /?wc-api=utopay. Turn on Debug log and look for callback lines.
  • “no evm wallet…” — the coin is enabled in the plugin, but there is no wallet for its network in the dashboard.

Changelog

  • 1.0.2 — shared UTOPAY core updated, no behaviour change.
  • 1.0.1 — white-label API domain support (UTOPAY_API_BASE constant); default coins on EVM networks.
  • 1.0.0 — first release: cards & PayPal, crypto, block checkout, HPOS, Russian translation.

SHA-256: 8a3900be6f724ca8c467fa538aeaedb9c81a6789dd59840313767688e1ffcf1b

Updated · UTOPAY integrations team

FAQ

Questions about plugins

Does it work with the new block checkout?

Yes. Both methods work in the Cart & Checkout blocks (including the coin selector) and in the classic shortcode checkout.

Is HPOS supported?

Yes, the plugin declares compatibility with High-Performance Order Storage and uses only WooCommerce order methods.

Can I use only crypto?

Yes. Paste the key into “UTOPAY — cards & PayPal” and leave that method disabled, then enable “UTOPAY — crypto”.

Are refunds supported?

Not from WooCommerce. Card payouts are in USDC and crypto goes straight to your wallet — refund the buyer from your wallet and mark the order refunded manually.

Which WooCommerce version is the minimum?

WooCommerce 3.9 with PHP 7.0. Tested up to WooCommerce 10.2 and PHP 8.4.

More integrations

Install UTOPAY in your WooCommerce store

Create a free account, take a test key and place a sandbox order in five minutes. You pay only for successful payments.