Get in touch
Payments · OpenCart

NovaPay for OpenCart — card payment via online acquiring

Інтернет-еквайринг NovaPay для OpenCart 2.3, 3.x і 4.x: оплата карткою на стороні NovaPay, підписані постбеки, Pro — hold, журнал платежів і повернення з адмінки.

Download for free
Version
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Compatibility
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 та 4.0.2 – 4.1.x
Platform
OpenCart
NovaPay for OpenCart — card payment via online acquiring

What each licence includes

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

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.

The base version is free. Accepting payments, verifying the postback signature and reconciling status on customer return all work without a licence key. Pro features (two-stage payment with a hold, a payment journal, refunds and status reconciliation from the admin) are unlocked with a licence key — buy below.

Live demo

You can try the module before buying — a separate demo store for each version: OpenCart 4.x, OpenCart 3.x, OpenCart 2.3. The demos run in the NovaPay sandbox: no real money moves.

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.

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.
NovaPay for OpenCart settings
Sandbox, keys, payment type and postback address — all on one screen

What’s in the free version

  • Card payment on a secure NovaPay page — the cart and amount are passed into the session in full.
  • Postback signature verification with NovaPay’s public key: a forged request cannot move an order to paid.
  • Underpayment protection — the amount from NovaPay is checked against the order amount, a smaller amount is not accepted as payment.
  • Reconciliation on customer return: the status is pulled from NovaPay, not guessed.
  • The api-qecom sandbox for setting up and checking keys with one button.
  • Separate order statuses for payment pending, paid, declined and refunded.
  • Ukrainian and English localisation of the admin and storefront.
NovaPay in OpenCart checkout
In checkout it’s a regular payment method — the customer clicks “Pay by card” and goes to the NovaPay page

What Pro adds

  • Two-stage payment (hold). Funds are blocked on the card and captured automatically when you move the order to paid — handy if the item still needs to be picked or checked for stock.
  • Payment journal. All NovaPay payments in one list: amount, refunds, session status and order status, masked card, transaction ID.
  • Refunds from the admin — full and partial, without going into the NovaPay dashboard.
  • “Reconcile” — pull the current session state from NovaPay for a specific order when the postback has gone missing.
NovaPay for OpenCart payment journal
Payment journal: bank status next to order status, reconcile and refund with a button

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.

NovaPay for OpenCart order statuses
A dedicated statuses tab: pending, paid, hold, failed payment and refund each mapped to their own OpenCart status

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”.

Questions and answers

Can I start without a licence? Yes. Accepting payments and postback confirmation work in the free version without limits on turnover or order count.

Does the licence need renewing? No. For OpenCart the licence is perpetual: one payment, and the Pro features stay with you. Only the 7-day trial ends — after it Pro switches off and the free version keeps working.

One key for all three OpenCart versions? Yes, the licence is shared across the 2.3, 3.x and 4.x builds — two activations, so a live store plus a test one.

Why does an order stay in “awaiting payment”? Most often the postback isn’t arriving. Check that the postback URL from the settings is reachable from outside (firewall, Cloudflare, basic auth) and that you’ve entered NovaPay’s actual public key — without it notifications are deliberately rejected.

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.

Pricing

The Pro licence is 990 UAH, for one domain. The licence is perpetual: you pay once, with no annual fees.

The free version, meanwhile, isn’t limited by time or by the number of payments: accepting payments, signature verification and reconciliation all work without a key.

Under the hood

The postback signature is verified before the module does anything with the order — that’s not optional. After that, the status isn’t taken from the postback’s word: the module reconciles it with a request to NovaPay and only then moves the order.

That’s exactly why 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.

Version history

1.0.0 — card payment acceptance via NovaPay, postback signature verification, status reconciliation with the bank; in Pro — two-stage payment with a hold, a payment journal and refunds from the admin.

Questions about the module?

Message us on Telegram — we reply within the working day. We will help with setup, compatibility and key activation.

@catcode_support

Not quite what you are looking for?

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

Order a custom module