
iyzico Checkout for OpenCart — card payments in Turkey with instalments
iyzico module for OpenCart 4 and 3: 3D Secure, instalments, server-side signature verification, V3 webhooks, a separate fraud-review status. Pro adds a payment journal, refunds and instalment control. Perpetual licence.
- Compatibility
- OpenCart 3.0.x and 4.0.2 – 4.1.x
- Version
-
v1.0.2 (OpenCart 4)
v1.0.1 (OpenCart 3.x) - Licence
- two sites, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- 23 September 2026
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.
What it looks like

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.x (tested on 4.1.0.3) or 3.0.x (tested on 3.0.5.0)
PHP 8.0+ for OpenCart 4, 7.3+ for OpenCart 3 (tested on PHP 8.2); the cURL extension
Order currency: TRY, USD, EUR, GBP, NOK, CHF, RUB or IRR — for other currencies the payment method is not shown.
An iyzico merchant account for real payments; for testing, the free sandbox at sandbox-merchant.iyzipay.com.
Version history
On OpenCart 4.1 the bank could receive the amount of an outdated order.
Stored access keys are now encrypted with AES-256-CBC and HMAC instead of the old XOR obfuscation, which some hosting antivirus scanners flagged and deleted.
For OpenCart 4.x and 3.x: iyzico Checkout Form with server-side signature verification, V3 webhooks, a “needs review” status for fraud review and mismatches, balanced basket, T.C.
Frequently bought with iyzico Checkout for OpenCart
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
iyzico Checkout for OpenCart is a payment module for OpenCart 4 and OpenCart 3 stores that sell in Turkey through iyzico. The customer pays by card on iyzico’s secure page with 3D Secure and instalments (taksit), and the order becomes paid only after your server has asked iyzico for the result itself and checked the signature, amount, currency and basket ID.
Why another iyzico module. The official iyzico module for OpenCart is developed alongside the WooCommerce plugin, which is rated 1.7 out of 5 with complaints about orders left without a status and broken updates. We built a module where payment is confirmed by the server, a webhook rescues the order when the customer closed the tab, and disputed payments (fraud review, underpayment) never turn “paid” on their own.
What the admin gets
- Five statuses to fit your process: awaiting payment, paid, needs review (fraud review or amount mismatch), declined, refunded.
- “Check keys” — one signed request to iyzico without creating a payment.
- Pro refunds from the journal: a full refund on the day of payment goes through as a cancellation, partial ones are spread across basket items with the remaining balance tracked. An empty amount field refunds the whole remaining balance; negative and non-numeric amounts are rejected.
- Pro instalments: choose which payment options the iyzico payment page offers.
How it works, step by step
- The customer places the order and clicks “Pay by card” at the payment step.
- The module creates a Checkout Form in iyzico with the customer, addresses and basket. Basket items always equal the order total (shipping, discounts, taxes and rounding are balanced). The request is signed with IYZWSv2, and iyzico’s response is verified by its signature.
- The customer pays on the iyzico page: 3D Secure, instalments, iyzico wallet.
- iyzico sends the customer back to an address carrying the order number and an HMAC signature — nobody can swap in someone else’s order. The module asks for the result with the stored token and checks the signature, basket, currency and amount.
- The customer’s session is not lost: OpenCart 4 sets its session cookie with SameSite=Strict, so after payment the module routes the customer through a page on your own site — the cart is emptied and the success page renders correctly.
- If the customer closed the tab, iyzico sends a webhook signed with X-IYZ-SIGNATURE-V3, and the module confirms the order with the same server-side request.
- Repeated responses are safe: a paid order is never rolled back, and the “payment received” line is written to the history once, even when a callback and a webhook arrive together.
Under the hood
- Its own transactions table
cc_iyzico_order: token, conversationId, environment, iyzico verdict, item transactions for refunds. - One decision point: the callback, the webhook and the re-check from the journal apply the result through the same code, so they never contradict each other.
- Repeat-payment guard: the Back button after payment won’t send a paid order to iyzico again, and a stale order in the session won’t go to the bank with an old amount.
- Settings survive saving: the licence and trial are not reset by the Save button.
- T.C. Kimlik No and keys are never written to the log, and secret keys are encrypted in the database.
- Languages: Turkish, Ukrainian, English — admin and storefront.
How to install
- OpenCart 4: Extensions → Installer → upload
cc_iyzico.ocmod.zipand click Install. OpenCart 3: Extensions → Installer →cc_iyzico-oc3-1.0.1.ocmod.zip. - Extensions → Extensions → Payments → iyzico Checkout (CatCode) → Install, then Edit.
- Paste the API key and secret key from the iyzico dashboard, click “Check keys”, enable the module and save.
- Copy the webhook URL from the settings into the iyzico dashboard → Merchant Notifications.
- For Pro: “Try Pro” → your email for the trial, or the key after purchase.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Do I need an iyzico account?
For real payments, yes. For testing, the free iyzico sandbox is enough.
My store doesn't ask for a T.C. Kimlik No.
By default the module sends a placeholder that iyzico accepts. You can enable the field at the payment step.
The order got the "needs review" status.
iyzico is holding the payment for fraud review, or the amount or signature didn't match. The reason is in the order history.
Does the licence need renewing?
No. For OpenCart the licence is a one-off payment and perpetual.
Does card data pass through my site?
No. The card is entered on the iyzico page.
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
—
