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

Get in touch
OpenCart

Payments with CM.com for OpenCart — iDEAL | Wero, cards, Bancontact (Netherlands)

CM.com for OpenCart 4.x, 3.x, 2.3 (Netherlands): iDEAL | Wero, cards, Bancontact free, Pro adds separate methods, Klarna, in3 and refunds. Lifetime licence.

Pro · lifetime licence Staging copies are included. The more sites, the cheaper each one
Compatibility
OpenCart 4.0.2.x–4.1.x, 3.0.x, 2.3.0.2 · interface language: English, Nederlands
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
12.11.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
“CM.com Payments” method: redirect to the secure CM.com page (iDEAL | Wero, cards, Bancontact, Apple Pay, Google Pay) ✔ ✔
Confirmation from the CM.com transaction status, amount and currency checked before “paid” ✔ ✔
Cancelled, expired, failed: an explanation for the buyer, the cart is kept ✔ ✔
CM.com tab in the order and “Check status at CM.com” ✔ ✔
Connection check, test and production environments, secret encrypted ✔ ✔
Titles and descriptions per language, minimum total, geo zone, statuses, debug log ✔ ✔
Interface in English and Dutch ✔ ✔
Separate methods at checkout: iDEAL | Wero, card, Bancontact, Apple Pay, Google Pay, Klarna, in3 — ✔
Klarna and in3 with order lines, in3 from 50 EUR — ✔
A choice of methods on the general CM.com page — ✔
Refunds from the order (full, partial) and the outcome by webhook — ✔
Payment time 5–60 minutes — ✔
Hourly check of open payments and refunds — ✔
Payments journal with amount reconciliation and a 30-day request log — ✔

What it looks like

CM.com methods at the payment step
The payment step in OpenCart 4: separate CM.com options (iDEAL | Wero, card, Bancontact, Klarna, in3).
Connection to CM.com
The “Connection” tab: environment, Client ID, Client Secret, connection check.
CM.com tab in the order
The CM.com tab in the order: status, amount, method, transaction, refunds.

Key points

What the buyer gets

At the payment step the buyer sees the “iDEAL | Wero, card and more (CM.com)” method with a note that the payment method is chosen on the secure CM.com page.

What the admin gets

Extensions → Extensions → Payments → Payments with CM.com by CatCode: the tabs “Connection”, “Checkout”, “Order statuses” and “Pro”.

What Pro adds

In Pro the checkout method can be split into separate ones: iDEAL | Wero, card, Bancontact, Apple Pay, Google Pay, Klarna, in3.

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–4.1.x, 3.0.x or 2.3.0.2; the cURL extension; the store currency is euro for payments in euros.
  • A CM.com Online Payments merchant account with a Client ID and Client Secret. A method that is not in your CM.com account is not shown on the CM.com page.
  • Klarna and in3 are sent with the order lines. With a very large discount or zero-price items the lines may fail to add up to the order total: the buyer then sees a message to choose another payment method.
  • An unpaid checkout leaves the order unplaced (status “0”, in “Missing orders”), as OpenCart does: the cart and the order can be reused. Failed attempts are visible in the CM.com tab of such an order.
  • The module does not add surcharges per method. Apple Pay as a separate option is shown on every device; whether it is available to the buyer is decided by the CM.com page.
  • CM.com webhooks are not signed, so the webhook address carries a separate per-order token and the status is always read from CM.com with your credentials.

Version history

v1.0.0 OC 4.x v1.0.0 OC 3.x v1.0.0 OC 2.3 Current 12.11.2026

Payment through the CM.com page (iDEAL | Wero, cards, Bancontact, Apple Pay, Google Pay), confirmation from the transaction status, messages on cancellation and failure, a CM.com tab in the…

Frequently bought with Payments with CM.com

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

Full module description

Payments with CM.com for OpenCart (OpenCart 4.x, 3.x and 2.3) takes the store’s payments through the Dutch payment service CM.com (Online Payments): the buyer goes to the secure CM.com page, pays with iDEAL | Wero, a card, Bancontact, Apple Pay, Google Pay or another method enabled in your CM.com account, and returns to the store. The order is confirmed from CM.com’s own transaction status, and the admin sees the transactions and actions right in the order.

What you need from CM.com. Your own CM.com Online Payments merchant account and its credentials: Client ID and Client Secret. CM.com support sets up the test environment with its credentials. The payment methods the buyer sees on the CM.com page are enabled in your CM.com account, and CM.com charges its payment fees under your plan.

What the buyer gets

At the payment step the buyer sees the “iDEAL | Wero, card and more (CM.com)” method with a note that the payment method is chosen on the secure CM.com page. After placing the order the buyer goes to the CM.com page, pays and returns to the store. In Pro every method can be a separate option at checkout (iDEAL | Wero, card, Bancontact, Klarna, in3…) in the order you set: the CM.com page then opens with the chosen method. In OpenCart 4 these are options in the payment-method step; in OpenCart 3 and 2.3 they are a choice in the payment block.

If the payment is cancelled, the time runs out or the payment fails, the buyer sees a page with the reason and a “Back to checkout” button: the order stays unplaced, the cart is kept and the buyer can pay again. The CM.com page opens in the store’s language (Dutch or English), and the order number with your prefix is sent to CM.com as the payment reference. For Klarna and in3 the module sends the order lines so that they add up to the order total exactly (product VAT, a separate shipping line with its own VAT, a discount shared over the products); in3 is available from 50 EUR and in euros only.

What the admin gets

Extensions → Extensions → Payments → Payments with CM.com by CatCode: the tabs “Connection”, “Checkout”, “Order statuses” and “Pro”. In “Connection” you choose the test or production environment, paste the Client ID and Client Secret and click “Check connection”: the module tells you whether CM.com accepted the credentials. The secret is stored encrypted and is never printed back into the form.

“Checkout” holds the method’s titles and descriptions per language, the minimum order total, the geo zone and the order-number prefix sent to CM.com. “Order statuses” holds the statuses “Paid”, “Authorized”, “Needs checking”, “Failed after authorization”, “Cancelled after authorization” and “Refunded in full”. The debug log masks customer data.

The order gets a tab with the CM.com transactions: date, transaction, method, amount and status. The “Check status at CM.com” button rereads the transaction status. If one order is paid twice or a chargeback arrives, the module leaves a note about it in the order.

What Pro adds

In Pro the checkout method can be split into separate ones: iDEAL | Wero, card, Bancontact, Apple Pay, Google Pay, Klarna, in3. For each you switch on “separate at the checkout”, set the order and decide whether the general CM.com option stays next to them. For the general CM.com page you can choose a subset of methods; the payment time is set between 5 and 60 minutes.

Refunds are made from the order page: full or partial, with a reason. CM.com reports the outcome of every refund with a webhook (paid out, failed, cancelled) and the order gets a note; a full refund moves the order to the “refunded” status. Once an hour the module asks CM.com about open payments and refunds on their way (in OpenCart 4 through its own scheduler, in 3.x and 2.3 through the address for the server cron) and confirms a payment whose webhook got lost. The “Check open payments now” button does it by hand.

The payments journal shows payments with the order, method, refunds and status, warns when the amount at CM.com differs from the order, and keeps a request log to CM.com for 30 days without credentials or customer data.

How it works, step by step

  1. Install the archive for your OpenCart version and install the extension in Extensions → Extensions → Payments.
  2. Get the Client ID and Client Secret of your CM.com account (for a test, the test credentials from CM.com support).
  3. In the “Connection” tab choose the environment, paste the credentials and click “Check connection”.
  4. In “Checkout” set the title, minimum total and geo zone, in “Order statuses” the statuses, and save.
  5. Place a test order in euros: at the payment step choose CM.com and pay on the CM.com page.
  6. Open the order in the admin: the CM.com tab shows the transaction with its status.

Under the hood

  • CM.com Online Payments API v1: OAuth 2.0 (client credentials), Create Transaction, Get Transaction, Create a Refund, the list of refunds, FINALSTATUS, STATUS_CHANGE and REFUND_STATUS webhooks. The test environment is pay-acceptance.cm.com, production is pay.cm.com.
  • An order is marked paid only after Get Transaction: the webhook, the buyer’s return and the result page all read the status from CM.com; the amount, currency and order total are compared before “paid”.
  • The buyer’s address is sent with the house number split out (for example 25a) and the postcode without a space.
  • In OpenCart 4 the check of open payments runs through the OpenCart scheduler (System → Maintenance → Cron jobs); in 3.x and 2.3 through an address with a secret key.
  • Settings stay after the module is reinstalled.
  • The interface is in English and Dutch.

How to install

  1. Extensions → Installer: upload the archive for your version without renaming it (OpenCart 4: cc_cmcom.ocmod.zip, 3.x: cc_cmcom-oc3.ocmod.zip, 2.3: cc_cmcom-oc2.ocmod.zip).
  2. For 3.x and 2.3: Extensions → Modifications → Refresh.
  3. Extensions → Extensions → Payments → Payments with CM.com by CatCode: install the extension and open its settings.
  4. In “Connection” choose the environment, paste the Client ID and Client Secret and click “Check connection”.
  5. In “Checkout” and “Order statuses” set the title, total, geo zone and statuses; save and enable the method.
  6. For Pro: enter a key or start the trial in 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 CM.com module?

No, it is an independent integration with CM.com by CatCode. CM.com is a trademark of its owner, and the module is not a CM.com product.

Do I need a CM.com account?

Yes. The module works with your CM.com Online Payments account and its Client ID and Client Secret. CM.com support sets up the test environment with its credentials.

Which payment methods are available?

The ones enabled in your CM.com account: iDEAL | Wero, cards, Bancontact, Apple Pay, Google Pay and others. In the free version the buyer chooses the method on the CM.com page; in Pro also as separate options at checkout. Klarna and in3 are shown at checkout with Pro.

The buyer cancelled the payment. What about the cart?

The cart stays, the order stays unplaced, and the buyer sees the reason and a button back to payment. Paying again works on the same order.

Are refunds supported?

In Pro: a full or partial refund from the order page; the result arrives by CM.com webhook and is written as a note.

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 for life?

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

What happens after the trial?

Pro switches off and the free part keeps working: payment through the CM.com page, status confirmation and the tab in the order.

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