Black November: −35% on all modules until 30 November Black November: −35% until 30 November Choose a module

Get in touch
OpenCart

Payroc Payments for OpenCart — card payments on the Payroc payment page

Payroc for OpenCart 4.x, 3.x, 2.3: card payments on the Payroc page, signature checks, refunds. Payment links and capture later in Pro. Lifetime licence.

Pro · lifetime licence Staging copies are included. The more sites, the cheaper each one
Compatibility
OpenCart 4.0.2.x and 4.1.x, 3.0.x, 2.3.0.2 · PHP 7.0+ · Payroc terminals in USD and CAD · module language: English
Version
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Licence
a site + a staging copy, lifetime
Trial
7 days, no card, one per site
Updated
November 2026
Or all 421 Pro modules with All Access — 3 244 UAH / year ≈ €65

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 payments on the Payroc payment page (USD, CAD) ✔ ✔
Signature, amount, currency and order number of the answer are matched ✔ ✔
Background payment confirmation (Validation URL) ✔ ✔
Secret and API key encrypted, "Check connection" button ✔ ✔
Title, description, minimum total, geo zone, order statuses ✔ ✔
Refunds from the order, full and partial ✔ ✔
Payment status check in the order ✔ ✔
Payroc test environment ✔ ✔
Authorize now, capture later — ✔
Payment links e-mailed to the buyer — ✔
Hourly background check of payments — ✔
Payments journal with a report and CSV — ✔
Request journal for Payroc — ✔
Extra terminals for other currencies — ✔

What it looks like

Payroc Payments settings
Settings: the terminal, the secret (encrypted), the terminal currency and the two addresses for the Payroc portal.
Payroc at the checkout
Checkout: the “Pay by card” button and a note about the Payroc payment page.
Payroc payment in the order
Order: the payment, the card, the Payroc ID, the attempts, refunds and the status check.

Key points

What the buyer sees

At the checkout the buyer chooses “Pay by card” and presses the button. The shop opens the Payroc payment page, where the buyer types the card: the card data never reaches your shop.

What the admin gets

Extensions → Extensions → Payments → Payroc Payments (CatCode): the tabs “Connection”, “Checkout”, “Order statuses” and “Pro”.

How much it costs

The base version is free. Pro costs 990 UAH, a one-time payment, lifetime licence.

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 — a site and a staging copy

Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • OpenCart 4.0.2.x and 4.1.x, 3.0.x or 2.3.0.2; PHP 7.0+ for 2.3 and 3.x, the cURL extension.
  • A Payroc merchant account with a USD or CAD terminal and the terminal secret from the Self-Care Portal.
  • A Payroc API key for refunds, the status check and the “Check connection” button (taking payments works without it).
  • A shop on HTTPS reachable from the internet: Payroc returns the buyer and posts its confirmation to the shop address.
  • The order currency must match the terminal currency (several terminals in Pro): the module does no currency conversion and hides the method for other currencies.
  • For the hourly check in Pro: the OpenCart 4 scheduler, or a server cron every hour (OpenCart 3.x and 2.3).

Version history

v1.0.0 Current November 2026

For OpenCart 4.x, 3.x and 2.3: card payment on the Payroc page, signature, amount and currency checks, background confirmation, full and partial refunds, a payment status check, USD and…

Frequently bought with Payroc Payments

All Access Need more? All modules (421) under one licence, new ones are added automatically. 3 244 UAH≈ €65 Learn more →

Full module description

Payroc Payments for OpenCart 4.x, 3.x and 2.3 takes card payments through the Payroc Hosted Payment Page. The buyer picks “Pay by card” at checkout, types the card on the Payroc page and comes back to the shop; the order is paid only when the signature of the answer matches and the amount, currency and order number agree with the cart. USD and CAD terminals are supported.

What you need from Payroc. A Payroc merchant account with a USD or CAD terminal. The terminal ID and the terminal secret come from the Self-Care Portal, the API key from the Payroc Developer Portal. The terms, limits and fees are set by Payroc in your agreement.

What the buyer sees

At the checkout the buyer chooses “Pay by card” and presses the button. The shop opens the Payroc payment page, where the buyer types the card: the card data never reaches your shop. After paying, Payroc sends the buyer back and the “order placed” page appears. If the bank declines, the buyer sees the reason and returns to the checkout with the same cart to try another card. If the buyer closes the tab before coming back, the order is still confirmed: Payroc tells the shop in the background.

What the admin gets

Extensions → Extensions → Payments → Payroc Payments (CatCode): the tabs “Connection”, “Checkout”, “Order statuses” and “Pro”. On “Connection” choose the test or live environment and enter the terminal ID, the terminal secret, the API key and the terminal currency (USD or CAD). The secret and the API key are stored encrypted and never shown again. “Check connection” asks Payroc whether it knows the terminal and whether it is active. The module also shows the two addresses for the Payroc Self-Care Portal: the Receipt Page URL, where Payroc brings the buyer back, and the Validation URL, where Payroc posts a confirmation in the background. A click on an address copies it.

The “Checkout” tab sets the title and the description of the method for every language, the minimum order total, the geo zone and the sort order; “Order statuses” sets the statuses for a paid, a declined and a refunded order. An order stays without a status until the payment is confirmed, so empty attempts do not clutter the order list. Every payment attempt gets a new order number at Payroc, so a second try after a decline is never confused with the first.

The answer from Payroc is accepted only after its signature is checked with the terminal secret. An approved payment sets the paid status; if the amount, the currency or the cart changed, or only part of the amount was approved, the order gets the “review” status with a note. Repeated and late answers change nothing, and a second approval for the same order leaves a note about the double payment. The order tab shows the payment, the masked card, the Payroc payment ID and the attempts; refunds, full or partial, with a reason, and the “Check payment status” button are there too.

Pro: authorize now, capture later. The amount is held on the card through the Payroc pre-authorization page, the order gets the “held” status, and the “Capture” and “Release” buttons in the order take the money or free the hold (partly, through the amount field). The hourly check captures held payments of orders that reached the status you chose and releases the hold of cancelled ones.

Payment links (Pro) for any unpaid order, for example one taken by phone: single-use, with a preset amount and a validity of 1 to 60 days; Payroc e-mails it to the buyer with your message, and a paid or cancelled order switches the link off by itself. The hourly background check picks up payments Payroc has not answered for. The payments journal and report show the terminal’s payments for a period and match them to shop orders (matches, amount differs, approved but unpaid, no shop order) with a CSV export. The request journal of Payroc calls is kept for 30 days. Up to three extra terminals for other currencies, each with its own secret.

How it works, step by step

  1. Install the archive for your OpenCart version and enable the module.
  2. In the Payroc Self-Care Portal take the terminal ID and the terminal secret, and create an API key in the Developer Portal.
  3. Enter them in the module settings, choose the terminal currency and press “Check connection”.
  4. Copy the Receipt Page URL and the Validation URL from the settings into the Payroc portal (terminal → Settings) and enable Validation.
  5. The buyer chooses “Pay by card”, types the card on the Payroc page and returns to the shop.
  6. The module checks the signature and the amount and moves the order to paid; refunds are made from the order tab.

Under the hood

  • Payroc Hosted Payment Page: the request is signed with SHA-512, the answer is accepted by its signature, amount, currency and the order number the shop issued.
  • The return page does not depend on the buyer’s session: in OpenCart 4 it is a static page that moves the buyer to the shop’s own result page, so the cart and the login are kept.
  • The background confirmation from Payroc (Validation URL) is handled together with the buyer’s return: the order is booked once even when both answers arrive at the same time.
  • Refunds carry an idempotency key; Payroc errors (RFC 7807) are shown in words.
  • The terminal secret and the API key are stored encrypted; the module does not change the core, works through OpenCart events and keeps its settings on update.
  • Not included: saved cards, embedded Hosted Fields (payment happens on the Payroc page), bulk actions on the order list; OpenCart 4.0.0–4.0.1 is not supported.
  • Interface in English (en-gb).

How to install

  1. Extensions → Installer: upload the archive for your version without renaming it (OpenCart 4: cc_payroc.ocmod.zip, 3.x: cc_payroc-oc3.ocmod.zip, 2.3: cc_payroc-oc2.ocmod.zip).
  2. For 3.x and 2.3: Extensions → Modifications → Refresh.
  3. Extensions → Payments → Payroc Payments (CatCode): install it and open the settings.
  4. Enter the terminal ID, the secret and the API key, choose the currency and press “Check connection”.
  5. Add the Receipt Page URL and the Validation URL in the Payroc Self-Care Portal.
  6. For Pro: paste a key or start the trial on the Pro tab.

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
Is this an official Payroc module?

No, it is an independent integration made by us. Payroc is a trademark of its owner.

What do I need to start?

A Payroc merchant account with a USD or CAD terminal: the terminal ID and the secret from the Self-Care Portal and an API key from the Developer Portal. The terms of connection and the limits are set by Payroc.

Does the buyer's card data reach the shop?

No. The card is typed on the Payroc payment page, and the shop gets only the result and a masked card number.

The buyer paid but the order has no status. What now?

Check that the Receipt Page URL and the Validation URL are entered in the Payroc portal for this terminal. "Check payment status" in the order asks Payroc about the payment; in Pro the hourly check does it too.

Can I refund part of the amount?

Yes, in the free version: on the order tab enter an amount and a reason, or leave the amount empty for a full refund.

Does it work with several currencies?

The method is shown to buyers who pay in the currency of your terminal (USD or CAD). With Pro you can add a terminal for each further currency; there is no currency conversion.

Is there pre-authorization?

Yes, in Pro. Payroc does not run pre-authorizations for merchants with surcharging, dual pricing or convenience fees.

Which OpenCart versions?

OpenCart 4.0.2.x, 4.1.x, 3.0.x and 2.3.0.2: three separate archives in one product.

Is the licence lifetime?

Yes, for OpenCart it is one payment and a lifetime licence for two sites.

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