
WayForPay — card payments for OpenCart 2.3, 3.x and 4.x
Free WayForPay module for OpenCart 3 and 4: Visa/Mastercard payment on the WayForPay page, auto-confirmation via signed webhook. Pro — log, hold, refunds.
- Compatibility
- OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 and 4.0.2 – 4.1.x
- PHP
- 8.0 or newer
- Version
-
v1.1.1 (OpenCart 4)
v1.2.1 (OpenCart 3.x)
v1.2.1 (OpenCart 2.3) - Licence
- two sites, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- 26 October 2026
The module in action — 38 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.

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 4.0.2 – 4.1.x (native build), with separate builds for OpenCart 3.0.2 – 3.0.5.0 and OpenCart 2.3.0.x
PHP 8.0+ for OpenCart 4; the OpenCart 2.3 build is tested on PHP 5.6 and 7.0
Merchant login and secret key from the WayForPay account — only for live mode; test mode works right away without an agreement
Version history
A purchased licence for OpenCart now works without expiry.
After a bank refusal or “Cancel payment” on the WayForPay page the buyer comes back to the cart with the items still in it and a clear message.
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 (7)
Admin refunds finally work as intended in these two builds.
Fixed underpayment: a callback for an amount lower than the order is no longer stored as Approved.
Fixed a conflict at checkout on OpenCart 4.0.2.x.
First public release: card payment via a secure WayForPay page, a serviceUrl webhook with HMAC-MD5 signature verification, CHECK_STATUS reconciliation on return, test mode on a public…
Frequently bought with WayForPay
4 modules in one order — 40% cheaper than separately


Nova Poshta Premium — a Nova Poshta module for OpenCart 2.3, 3.x and 4.x

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

Telegram notifications and Viber/SMS for customers for OpenCart
Full module description
WayForPay for OpenCart is a payment extension that connects WayForPay acquiring to a shop on OpenCart 2.3, 3.x or 4.x. The customer pays by Visa or Mastercard on a secure WayForPay page, and everything after that is automatic: WayForPay sends a serviceUrl webhook, the module verifies the HMAC-MD5 signature and changes the order status itself. The manager doesn’t need to reconcile payments in the bank’s account against orders in the admin every morning.
How it works, step by step
- At checkout, the customer chooses “Card payment (WayForPay)” and confirms the order.
- The module builds a signed request and redirects the customer to a secure WayForPay payment page — your server never sees the card details.
- WayForPay processes the payment and sends the shop a signed serviceUrl webhook.
- The module verifies the HMAC-MD5 signature and amount — the order automatically gets the right status in OpenCart.
- When the customer returns to the site, the status is additionally checked with a CHECK_STATUS request — an order won’t close as “paid” unless the money has genuinely gone through.
- With Pro: the payment log shows every transaction — status, amount, masked card, orderReference — and refunds are made from there.
How much it costs
1,490 UAH — one-off purchase. The licence is perpetual: you pay once, updates and technical support are included in the price. One key covers two sites: your store and a staging copy.
Moving the shop to another domain — deactivate the licence on the old one and activate it on the new one yourself in the account.
The licence is perpetual — nothing expires or switches off. One key — two sites: your store and a staging copy; moving the shop, deactivate the licence on the old domain and activate it on the new one yourself.
One key — two sites: your store and a staging copy. Moving the shop, deactivate the licence on the old domain and activate it on the new one yourself, without contacting support.
Trial first, then payment. A fresh install is the free version: Pro doesn’t switch itself on, and nothing expires after a week. When you want to see Pro — click “Try Pro” in the module’s settings, enter your email and get a 7-day key (also sent by email). So you get to check the payment log, AUTH/SETTLE and refunds on your own shop before you buy — that’s exactly why refunds after purchase aren’t offered.
Under the hood
- A native build for OpenCart 4.x — namespaces, Twig templates, the built-in installer. For OpenCart 3.x and 2.3 — separate ports, not “conditionally compatible” code.
- The secret key is never stored in plain text in the database — it’s kept encrypted (AES-256-CBC + HMAC) with a key tied to the specific installation, so an ordinary database dump won’t expose it.
- Every webhook is verified: an HMAC-MD5 signature plus an amount check — forging a “successful payment” with an outside request won’t work.
- Soft Pro gate: without a key, only the Pro features switch off after the trial — free payment acceptance keeps running.
How to install
- In the OpenCart admin, open Extensions → Installer and upload
wayforpay.ocmod.zip. For OpenCart 3.0.x use thewayforpay-oc3-1.1.3.ocmod.zipbuild, for OpenCart 2.3 —wayforpay-oc2-1.1.3.ocmod.zipfrom the product downloads (on 2.3 the contents of theupload/folder go to the shop root over SFTP, since that version’s stock installer only copies files via FTP). - Go to Extensions → Payments, find WayForPay and click “Install”.
- Enable the module in the settings. Leave test mode on for testing — payment goes through the public test merchant, no real money is charged.
- For live mode, enter the merchant login and secret key from the WayForPay account.
- For Pro: paste the licence key from the email after payment — the extended features switch on with no reinstall.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Do I need to change anything in the shop's theme?
No. The module registers as a standard OpenCart payment method — your theme and checkout stay yours.
I have OpenCart 3 — is this the same module?
Yes, two builds are included: native for OC 4.0.2–4.1.x and a separate port for OC 3.0.2–3.0.5.0. One licence per product.
Can I test it without a WayForPay agreement?
Yes. In test mode the module works through the public merchant test_merch_n1 — no real money is charged; an agreement and your own merchant are only needed for live payments.
What happens if the customer closes the payment page?
The order simply doesn't get a paid status. Confirmation only arrives via a signed webhook from WayForPay, and on return the status is checked again via CHECK_STATUS.
Can I transfer the key to another domain?
Yes. The licence works on one active domain, and you can transfer it yourself: in the module's settings on the old domain, click "Deactivate" — the slot frees up instantly, then activate the same key on the new domain. No extra charge; if you no longer have access to the old site — write to us and we'll free the slot manually.
What if I don't buy Pro?
The module keeps accepting payments for free with no time limit. Pro only concerns the log, two-step payment and admin refunds.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
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
Buying the module
—



