Get in touch
  • OpenCart
  • v1.0.9

LiqPay — Card Payments for OpenCart 2.3, 3.x and 4.x

Free LiqPay module for OpenCart 3 and 4: Visa/Mastercard payment on the LiqPay page, auto-confirmation via signed webhook. Pro adds a log, holds, 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
PHP
7.4 or newer
Version
v1.0.9 (OpenCart 4)
v1.1.4 (OpenCart 3.x)
v1.1.4 (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

The module in action — 43 sec

Clear even without sound: Ukrainian subtitles

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 via Visa/Mastercard, Apple Pay, Google Pay through the LiqPay page ✔ ✔
Order auto-confirmation via a serviceUrl webhook with HMAC-MD5 signature verification ✔ ✔
Transaction status reconciliation when the customer returns (Status API) ✔ ✔
Test mode on sandbox keys — a full test payment before signing the contract ✔ ✔
The private key is stored encrypted in the database ✔ ✔
UAH, USD, EUR currencies; status and geo-zone settings ✔ ✔
Request logging to the OpenCart log ✔ ✔
Payment log — status, amount, masked card, transaction number; one-click reconciliation — ✔
Two-stage payment — AUTH hold and SETTLE capture when the order is fulfilled — ✔
Refunds — full and partial, straight from the log — ✔

What it looks like

LiqPay for OpenCart — free version, Pro fields locked
Card payments work without a key. “Check keys” shows whether LiqPay accepts them, and the line under the webhook address says when the last LiqPay notification arrived.
LiqPay for OpenCart — trial period modal
The trial doesn’t switch on by itself: enter an email and a 7-day key arrives instantly in the modal and by mail.
LiqPay for OpenCart — Pro active
With an active key, the transaction log, admin-side refunds and two-stage AUTH/SETTLE payment all open up.

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 3.0.2 – 3.0.5.0 (the liqpay-oc3-1.1.2.ocmod.zip build) or 4.0.2 – 4.1.x (the liqpay.ocmod.zip build)
  • PHP 7.4+
  • LiqPay public and private key — from your LiqPay account; testing requires a separate pair of sandbox_ keys
  • OpenCart 2.3.0.x — a separate build, liqpay-oc2-1.1.2.ocmod.zip, runs on PHP 5.6 and newer

Version history

v1.0.9 OC 4.x v1.1.4 OC 3.x v1.1.4 OC 2.3 Current 26 October 2026

A purchased licence for OpenCart now works without expiry.

v1.0.8 OC 4.x), 1.1.3 (OpenCart 3.x and 2.3 26 October 2026

Cancellation and bank refusal: when the buyer presses “Cancel payment” on the LiqPay page or the bank declines, the cart stays, the buyer sees a clear message, and the order moves to…

v1.0.7 OC 4.x 23 September 2026

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

All versions (6)
v1.0.4 2 August 2026

Fixed an underpayment issue: a callback for an amount less than the order total is no longer stored as a successful payment.

v1.0.1 23 July 2026

Fixed a checkout conflict on OpenCart 4.0.2.x.

v1.0.0 July 2026

First public release.

Frequently bought with LiqPay

4 modules in one order — 40% cheaper than separately

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

Full module description

LiqPay for OpenCart is a payment module that accepts card payments (Visa/Mastercard, Apple Pay and Google Pay) through the secure LiqPay payment page. Once the customer pays, LiqPay sends a signed serviceUrl webhook, the module verifies the SHA1 signature and moves the order to the correct status itself. There’s no manual “paid or not” reconciliation — the status only changes once the money has actually gone through.

How it works — step by step

  1. At checkout the customer chooses “Card payment (LiqPay)” and confirms the order.
  2. The module builds a signed request and redirects the customer to the secure LiqPay payment page — card, Apple Pay or Google Pay. Card details are entered on LiqPay’s side and never reach your store.
  3. After payment, LiqPay sends a serviceUrl webhook to the extension/liqpay/payment/liqpay.callback route. The module verifies the SHA1 signature against the raw request body and sets the order to the chosen “paid” status.
  4. When the customer returns to the store, the status is additionally reconciled via the Status API — the order is only completed if the transaction genuinely succeeded.
  5. With Pro: under the two-stage scheme, funds are only held (AUTH), and captured (SETTLE) automatically once you move the order to the “paid” status. Refunds — full or partial — are issued from the payment log.

Installation

  1. Admin panel → Extensions → Installer → upload liqpay.ocmod.zip and click “Install”.
  2. Admin panel → Extensions → Payment → find LiqPay and click “+” (this creates the module’s table, event and permissions).
  3. Click “Edit”: enable the module, enter the keys from your LiqPay account. For testing, leave “Test mode” on and enter a pair of keys with the sandbox_ prefix.
  4. There’s no need to register a webhook URL in your LiqPay account — the module passes it with every payment.

Under the hood

  • The signature is verified against the raw request body — OpenCart HTML-escapes POST data, so the webhook reads `php://input` directly; otherwise the signature wouldn’t match.
  • Double payment verification: a signed webhook plus a Status API reconciliation when the customer returns.
  • Idempotency — a repeated webhook doesn’t change the status a second time and doesn’t downgrade an already-confirmed order.
  • The private key is encrypted with a key derived from the store’s path and database name — settings copied to another site won’t decrypt.

LiqPay is a trademark of JSC CB “PrivatBank”. This module is an independent integration and is not affiliated with LiqPay or PrivatBank.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
What do I need to connect it?

The public and private keys from your LiqPay account. Enter them in the payment method settings in the OpenCart admin panel — and your store accepts cards.

Is the order confirmed automatically?

Yes. LiqPay sends a signed webhook to the serviceUrl, the module verifies the HMAC-MD5 signature and moves the order to the paid status only once the payment has actually gone through.

Does the module work on OpenCart 3?

Yes, two builds are included: one for OpenCart 3.0.2 – 3.0.5.0 and one for 4.0.2 – 4.1.x.

How does Pro differ from the free version?

Free accepts payments and confirms orders automatically. Pro adds a payment log with status reconciliation, two-stage payment, and refunds straight from the admin panel.

Are you affiliated with LiqPay or PrivatBank?

No, this is an independent CatCode module built on the public LiqPay API. There is no affiliation with LiqPay or PrivatBank.

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