Get in touch
  • OpenCart
  • Payments
  • v1.0.3

NovaPay for OpenCart — card payment via online acquiring

NovaPay module for OpenCart 2.3, 3 and 4: card payment on NovaPay's side, signed postbacks, underpayment protection. Free — accepting payments, Pro — hold, journal and refunds.

Download Free
Pro · lifetime licence The more sites, the less each one costs
Compatibility
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 and 4.0.2 – 4.1.x
Version
v1.0.3 (OpenCart 4)
v1.0.2 (OpenCart 3.x)
v1.0.2 (OpenCart 2.3)
Licence
two sites, lifetime
Trial
7 days, no card, one per site
Updated
26 October 2026
Or all 173 Pro modules with All Access — 4 990 ₴ / year

What Free has,
and what Pro adds

The free version works with no time limit. Pro adds the rest of the features in the table.

Feature Free Pro
Card payment on a secure NovaPay page — the cart and amount are passed into the session ✔ ✔
Postback signature verification with NovaPay's public key ✔ ✔
Underpayment protection: the amount from NovaPay is checked against the order amount ✔ ✔
Status is pulled from NovaPay when the customer returns to the store ✔ ✔
Sandbox and key verification with one button ✔ ✔
Separate order statuses for pending, paid, declined and refunded ✔ ✔
Ukrainian and English localisation of the admin and storefront ✔ ✔
Two-stage payment with a hold — ✔
Payment journal with bank status and order status — ✔
Refunds from the admin, full and partial — ✔
Reconcile the session status with NovaPay with one button — ✔

What it looks like

NovaPay for OpenCart — module settings in the admin
The free version accepts payments straight away: merchant ID, private key (stored encrypted in the database), NovaPay’s public key for verifying postbacks, and a ready postback URL to hand over to NovaPay support.
NovaPay for OpenCart — Pro trial period
Seven days of Pro switch on only with your click: enter an email — the key is issued for this store and duplicated by email. Nothing renews on its own.
NovaPay for OpenCart — payment journal in Pro
Payment journal (Pro): amount, how much was refunded, NovaPay status alongside the order status, session ID, masked card. “Reconcile” and refunds live right here.

Key points

How it works

At the payment step the customer clicks “Pay by card” — the module opens a NovaPay payment session and takes them to the payment page with the order amount and cart.

What you need to get running

An online acquiring agreement with NovaPay: they issue a merchant ID and accept your public key part, and give you their public key for verifying postbacks.

The trial starts when you ask

A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites

Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 and 4.0.2 – 4.1.x

Version history

v1.0.3 OC 4.x v1.0.2 OC 3.x v1.0.2 OC 2.3 Current 26 October 2026

A purchased licence for OpenCart now works without expiry.

v1.0.2

OpenCart 4.1: the bank was sent the total of an earlier render. 4.1 begins editOrder() with addHistory(config_void_status_id), so an order that has not been placed yet is set to “Voided”…

v1.0.1

NovaPay private keys in the settings are now encrypted with AES-256 and an HMAC check instead of XOR.

All versions (4)
v1.0.0

Card payment acceptance via NovaPay, postback signature verification, status reconciliation with the bank; in Pro.

Frequently bought with NovaPay for OpenCart

4 modules in one order — 40% cheaper than separately

“Store starter” bundle NovaPay Nova Poshta Premium LiqPay Telegram notifications and Viber/SMS for customers Need more — all 173 modules in All Access for 4 990 ₴.
3 590 ₴ lifetime instead of 5 960 UAH bought separately
Buy the bundle →

Full module description

NovaPay Acquiring is a NovaPay online acquiring module for OpenCart 2.3, 3.x and 4.x. The customer pays by card on a secure NovaPay page, and the store receives a signed notification (postback) and moves the order to paid automatically — no manual statement reconciliation needed.

How it works

At the payment step the customer clicks “Pay by card” — the module opens a NovaPay payment session and takes them to the payment page with the order amount and cart. After payment, NovaPay sends a postback signed with its key; the module verifies the signature, checks the amount against the order and sets the status to “Paid”. If the postback doesn’t arrive (firewall, maintenance) the status is pulled as soon as the customer returns to the store, or via the “Reconcile” button in the journal.

What you need to get running

An online acquiring agreement with NovaPay: they issue a merchant ID and accept your public key part, and give you their public key for verifying postbacks. Live and test keys are different. The module only accepts payment in UAH: if the cart is in another currency, the payment method simply isn’t shown, so the wrong amount is never charged.

Installation

OpenCart 4.x — Extensions → Installer → upload the zip, then Extensions → Payments → NovaPay → “Install” and “Edit”. OpenCart 3.x — the same way, via Extensions → Installer. OpenCart 2.3 — the built-in installer requires FTP to be enabled, so it’s simpler to unpack the contents of upload/ into the store root, then Extensions → Payments → NovaPay → “Install”.

Why the store needs this

NovaPay is Nova Poshta’s acquiring service, and for a store that already ships with Nova Poshta this is the shortest path: one counterparty for both delivery and payment, one reconciliation, one manager on the other end.

Technically it’s still a regular payment gateway, and it carries the usual risks: the postback may not arrive, the customer may close the tab on the bank’s page, and the order has to close correctly either way.

Under the hood

The postback signature is verified before the module does anything with the order — that’s not optional: without the NovaPay public key, postbacks are rejected. Next the module checks the amount: a smaller amount is not recorded as payment.

When the shopper returns to the shop, the module requests the status from NovaPay separately, so the order still closes when the postback gets lost along the way, and a repeated postback doesn’t create a duplicate.

The OpenCart core isn’t patched — everything runs through standard events, so store updates never overwrite the module.

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.

Order a custom module