OpenCart extension

UTOPAY for OpenCart

One payment method with a choice inside: card / PayPal (4.5%) or crypto with a coin selector (1.5%). Works on the still popular 2.3 and 3.0 and on 4.x.

In short:

Download the build for your OpenCart, upload utopay.ocmod.zip in Extensions → Installer, then install UTOPAY in Extensions → Extensions → Payments and paste the secret key.

OpenCart
2.3 · 3.0 · 4.0 – 4.1
PHP
5.6 – 8.x (4.x: 8.0+)
Methods
Card, PayPal, crypto
Package
OCMOD (utopay.ocmod.zip)
Geo zones
Supported
Languages
English, Russian
Plugin version
2.3 – 3.0: 1.0.0, 4.x: 1.0.0

What the extension does

  • At checkout the buyer chooses Card, Apple Pay, Google Pay, PayPal or Crypto with a coin selector, then presses Confirm and pays on the UTOPAY page.
  • The order gets the paid status (default Processing) only after the payment is re-read through the API and the amount and currency match.
  • If the buyer returns before the payment is confirmed (crypto still in the network), the order becomes visible with the awaiting status (default Pending) and switches to paid later.
  • Underpaid crypto and amount mismatches stay in the awaiting status with a note in the order history.
  • The method is hidden when the order currency is not supported or the cart has subscription products (4.x).

Installation

  1. Download the build for your version and unpack it: inside are utopay.ocmod.zip and README.txt.
  2. OpenCart 3.0 and 4.x: Extensions → Installer → Upload → choose utopay.ocmod.zip (in 4.x also press Install next to it). Keep the file name: OpenCart 4 takes the extension code from it.
  3. OpenCart 2.3: unpack utopay.ocmod.zip and upload the contents of its upload folder to the shop root by FTP — the 2.3 installer needs FTP settings.
  4. Extensions → Extensions → Payments → UTOPAY → Install → Edit.
  5. In the UTOPAY dashboard open Integration → API keys, create a test key utopay_sk_test_… and paste it. The key is checked on save.
  6. For crypto add your EVM wallet in the dashboard (Project settings → Funds & payouts) and list the coins.

Settings

FieldWhat it does
Secret keyutopay_sk_test_… for the sandbox, utopay_sk_live_… for real payments.
Payment optionsCard / PayPal and crypto, card only or crypto only.
Crypto coinsComma-separated tickers, e.g. bep20/usdt,erc20/usdt,polygon/usdc.
Card methodEmpty — the buyer chooses; or straight to Stripe, PayPal, Revolut…
Paid order statusSet when the payment is confirmed. Default Processing.
Awaiting / check statusSet when the buyer returned before confirmation or crypto was underpaid. Default Pending.
Geo zone, status, sort orderAs in any OpenCart payment method.

Test payment

  1. With the test key place an order, choose UTOPAY and press Confirm order.
  2. In the UTOPAY sandbox press the green ✅ button.
  3. You land on the success page; the order is Processing with the note “UTOPAY: payment ord_test_… received (test)”.
  4. Replace the key with utopay_sk_live_….

How orders are confirmed

Each payment carries its own notification URL with the order number, amount and currency, signed with your secret key. UTOPAY signs every event (HMAC-SHA256) and retries for six hours if the shop does not answer 2xx.

The extension checks both signatures, re-reads the payment through the API and changes the order only when it is paid with exactly the requested amount and currency. A paid order is never moved back.

Troubleshooting

  • UTOPAY is not offered at checkout — the order currency is not supported, the key is empty, the method is disabled or the geo zone does not match.
  • “amount is below the minimum” — the total is below the minimum of the method or coin; the buyer can choose another one.
  • The order is missing in the admin — the buyer left before paying; OpenCart keeps such orders as “missing orders” (filter by Missing Orders).
  • Order stays Pending — the shop must be reachable from the internet; check System → Maintenance → Error Logs for UTOPAY lines.

Changelog

  • 1.0.0 — first release: OpenCart 2.3 – 3.0 and 4.0 – 4.1, cards & PayPal, crypto, Russian translation.

SHA-256 (2.3 – 3.0): 75fda725c1a514f5723ea19caf8f3fae64dc7c0576b1d3eb17a43d54cc439191

SHA-256 (4.x): bc1e1f62e1da1ca9e5bb1f7c83b59e34804508d2cebc3aa46b5125856c4b65b9

Updated · UTOPAY integrations team

FAQ

Questions about plugins

Which build do I need?

2.3 – 3.0 for OpenCart 2.3.x and 3.0.x, 4.x for OpenCart 4.0 and 4.1. OpenCart 1.5 and 2.0 – 2.2 are not supported.

Does it work with Journal and other themes?

Yes. The payment block uses the standard checkout confirm step; themes that keep the default confirm button work as is.

Can I take only crypto?

Yes: set Payment options to “Crypto only”.

Are refunds supported?

Not from OpenCart. Refund the buyer from your wallet and add a history note manually.

My prices are in RUB

UTOPAY does not accept RUB. Add USD or EUR as a store currency and let buyers check out in it, or ask us about conversion.

More integrations

Accept card and crypto payments in OpenCart

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