Accept cards with iyzico: 3D Secure, an installment table, refunds from the order page and automatic vendor split for Multi-Vendor.
Available Updated Oct 13, 2026Version 1.1.1CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
iyzico Payments (3DS, Installments, Marketplace): overview1 of 11
What it does
Accept cards, installments and 3-D Secure through iyzico, in CS-Cart stores and Multi-Vendor marketplaces. Customers pay on iyzico's PCI-compliant form, embedded in your page, as a popup, in an iframe or on the iyzico page, with 3D Secure and installments. The iyzico wallet is a second payment method.
Built on the current iyzico REST API with signed requests, server-side verification of every result and webhooks. Card data never touches your server.
What it changes for your store
Installment table per card family at checkout, read live from iyzico.
Installment interest added to the order, so totals match the bank.
Exact basket. Discounts, coupons, gift certificates, taxes and rounding spread to the cent.
Full and partial refunds and same-day cancels from the order page.
No double processing. Callbacks and webhooks are idempotent.
Multi-Vendor. Vendor share from CS-Cart commissions, paid by iyzico.
How it works
Admin
Create a payment method with the iyzico processor, enter sandbox or live keys, pick the form display and installments, test the connection. Refund, cancel or check a payment on the order's iyzico tab.
Shopper
Chooses iyzico, sees the installment table, pays on the iyzico form and returns to the order page.
Marketplace
Vendors enter IBAN and tax data on their profile; the add-on registers them as iyzico sub-merchants and approves payouts when orders are complete.
Features
Checkout Form with 3D Secure: embedded, popup, iframe or redirect
Pay with iyzico wallet as a separate payment method
Installment table with bank rates and allowed installment counts
Optional installment interest added to the order total
TRY, USD, EUR and GBP, in the primary or the customer's currency
Identity number (TCKN) from a profile field or a default value
Signed callbacks and webhooks with idempotent order updates
Full and partial refunds and same-day cancels from the order page
Multi-Vendor: sub-merchant onboarding and automatic payment split
Payout approval by order status or manually
Masked logs, sandbox and live keys
What you get
Package
kv_iyzico_payments-1.1.0.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Tested
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.x
Supported
Supported
Supported
Supported
4.17.2
Tested
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.21.2, Oct 13, 2026Tested on: Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2
Requirements
PHP
CS-Cart and Multi-Vendor 4.17.2 – 4.21.x (tested on CS-Cart 4.17.2, Multi-Vendor 4.17.2 and Multi-Vendor 4.21.2 with PHP 8.3)
PHP
PHP 7.4 – 8.3 (as supported by your CS-Cart version) with the cURL extension and TLS 1.2. iyzico rejects older TLS versions
Requirement
HTTPS on the storefront. iyzico requires an SSL-protected callback URL on live accounts
Requirement
An iyzico merchant account. For testing, a free sandbox account is enough (see Configuration)
Requirement
At least one enabled currency that iyzico accepts: TRY, USD, EUR or GBP
Platform
Multi-Vendor marketplace mode only: an iyzico Marketplace account, plus the Vendor plans add-on, which provides the commissions
Core changes
None. Hooks and template overrides only
1.1.0
Oct 13, 2026
Latest
Added 3
License check. Enter your license key (or CS-Cart Marketplace license number) on the new License tab of the settings. The add-on verifies it with cs-cart.kaviolabs.com when the key is saved and then once a day, only from the admin panel or cron, never on storefront requests. The license covers the domain entered at purchase and all its subdomains; local development hosts are always allowed.
License card at the top of the add-on page (status in color, licensed domain, result per storefront, last and next check, end of the updates period, what switches off) with Check now, a license badge in Add-ons → Manage add-ons, a status bar on the add-on's own admin pages, and a cron entry point.
Without a valid license for the store's domain, the iyzico payment methods are no longer offered at checkout and the admin panel shows a notice. Payments that have already started still complete, and callbacks, webhooks, refunds, cancels and marketplace approvals and payouts of existing orders keep working. New installations and upgrades from 1.0.x work for 14 days before a key is required, and if the license server cannot be reached the add-on keeps working for 14 days.
Fixed 1
Singular and plural forms ("1 item approved", "1 vendor payout detail change waits for approval") instead of "item(s)" and "change(s)" in admin notices (new language variables, so in-place upgrades add them).
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. No breaking changes.
1.0.5
Oct 12, 2026
Changed 1
Compatible with CS-Cart and Multi-Vendor 4.21 and PHP 8.3: tested on Multi-Vendor 4.21.2 with PHP 8.3 and the new Nova theme. The add-on now declares the supported range 4.17.2 – 4.21.x.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. No breaking changes.
1.0.4
Oct 12, 2026
Added 2
In-place upgrades now complete themselves. After the add-on files are replaced (uploading the new zip over the installed add-on in Add-ons → Manage add-ons, copying the files by FTP, or installing an Upgrade Center package), the next admin page view adds any missing tables, columns, settings, language variables and e-mail templates, and updates the stored add-on version and icon flag. Existing data and setting values are kept. A hidden schema_version setting records the last applied version.
Stores upgraded in place from 1.0.0 or 1.0.1 now get the payout change requests table and the "Require admin approval for vendor payout detail changes" setting (default "Yes, always") without a reinstall.
Fixed 2
While the add-on was disabled, saving or refreshing its settings, or uploading a new version over it, stopped with a "Class not found" error. That could leave the settings only partly rebuilt. CS-Cart loads the add-on functions for a disabled add-on without its classes; the add-on now registers them itself.
After an upgrade by uploading the new zip over the installed add-on, CS-Cart saved empty multiple-choice settings with an empty selected entry. The next admin page view now repairs them.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. No breaking changes.
1.0.3
Oct 12, 2026
Fixed 1
The add-on icon was not shown in the admin panel: addon.xml now declares has_icon.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. No breaking changes.
1.0.2
Oct 12, 2026
Added 1
Admin approval for vendor payout detail changes. A new Marketplace setting, "Require admin approval for vendor payout detail changes", defaults to "Yes, always". The other choices are "Only when Vendor data premoderation checks vendor profile changes" and "No". When a vendor changes the IBAN, business type, identity number, tax office, tax number, legal company title, contact name or mobile number on the iyzico sub-merchant tab, the change is stored as a pending change in the add-on's own table. The vendor's first registration is included. The live details and the iyzico sub-merchant stay unchanged until an administrator approves the change, and the vendor status is never touched.
Security 1
1.0.1 stopped iyzico sub-merchant data from counting as a vendor profile change under Vendor data premoderation. As a side effect, a vendor could change the payout IBAN without any approval, and the change was sent to iyzico immediately. A taken-over vendor account could have redirected payouts. From 1.0.2, such changes need admin approval by default. The vendor status still never changes because of this data.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. No breaking changes.
1.0.1
Oct 12, 2026
Fixed 2
Guest checkout could end on the login form instead of the order confirmation after a successful payment. The guest's access to the order was only written to the session at checkout, and a checkout request of the same visitor still running (e.g. an address update fired while typing) could overwrite it. The payment page link now carries a key bound to the visitor's session (HMAC with the method's secret key, never sent to iyzico) that restores the access, and the iyzico callback restores it for the session that started the payment. The payment page now opens only for the visitor who placed the order (the logged-in owner, the guest's session or the session-bound key); the key is useless in another session and never opens another order.
Multi-Vendor with vendor data premoderation: saving the iyzico sub-merchant data (IBAN, identity and tax data) on the vendor profile could send the vendor to "Pending" and hide their storefront. This data is kept in the add-on's own table and no longer counts as a vendor profile change, so the vendor status never changes because of it, whether the vendor or the administrator saves it.
Added 1
Add-on icon in the admin add-on list.
Removed 1
Unused language files from the package.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. No breaking changes.
1.0.0
Oct 12, 2026
Added 17
"iyzico" payment processor built on the iyzico REST API with IYZWSv2 request signing; TLS peer verification stays on.
Checkout Form with 3D Secure (forceThreeDS), shown embedded (responsive), as a popup, in an iframe or as a redirect to the iyzico page.
Pay with iyzico (iyzico wallet) as a second integration mode.
Installments: allowed installment counts per payment method, and a checkout table of monthly and total amounts per card family from the iyzico installment API, cached per cart total.
Optional transfer of installment interest to the order total as a payment surcharge.
TRY, USD, EUR and GBP, charged in the store's primary currency or the customer's selected currency. The method is hidden when no supported currency is available.
Exact basket mapping: products, shipping per vendor, gift certificates and the payment surcharge. Discounts, gift certificates, reward points, taxes added on top and currency rounding are split with the largest remainder method, so the item prices always add up to the charged amount.
Buyer and address mapping, with the identity number (TCKN) taken from a profile field or a default value (11111111111), and phone numbers normalized to +90….
Server-side result retrieval with response signature, basket, currency and amount checks. Idempotent completion shared by the callback, the webhook and the admin status check.
Webhook endpoint with X-Iyz-Signature-V3 verification.
Admin "iyzico" order tab with the payment summary, basket item transactions, full and partial refunds (split per item), same-day cancel, payment status check and refund history.
Configurable order statuses for paid, fraud review, failed, fully refunded and cancelled payments.
Multi-Vendor iyzico Marketplace mode:
Masked logging under the "iyzico" log type (Settings → Logging), with optional full request and response logging.
Separate sandbox and live keys and a "Test connection" button.
English texts.
Unit tests, an iyzico API mock server and headless-browser end-to-end tests.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. First release.
Do I need a PCI DSS certificate?
No. Card details are entered on iyzico's form, either embedded, in a popup, in an iframe, or on iyzico's own page. They never reach your server.
Which currencies can I charge?
TRY, USD, EUR and GBP, if iyzico has enabled foreign currency payments on your account. Choose Store primary currency or Customer's selected currency in the payment method. Amounts are converted with your store's currency rates. If neither the primary nor the selected currency is supported, the iyzico method is hidden.
The installment table is empty or says "Installment options are shown on the payment form".
The table comes from the iyzico installment API. Check the keys with Test connection, make sure installments are enabled on your iyzico account, and check Administration → Logs (type iyzico). Checkout still works: the form always shows the installments the card supports.
Why is the order total higher than the cart total?
The customer chose installments with interest, and Add installment interest to the order total is on. The difference appears as a payment surcharge, so the order matches the amount charged. Turn the option off to keep the original total. The charged amount is still shown in the payment information.
What does iyzico do with the identity number?
iyzico requires a buyer identity number (TCKN) on every payment. Most stores send 11111111111, which iyzico accepts. If you collect the number in a profile field, select that field in the payment method.
A customer paid, but the order is still "Incomplete".
The customer closed the browser before returning to the store. Register the webhook URL in the iyzico merchant panel (see Configuration). For existing orders, open the order and click iyzico → Check payment status at iyzico.
Can a payment be processed twice?
No. Callbacks, webhooks and the status check share one transaction record, which is claimed atomically. The first request processes the payment; the others only read the result.
How do partial refunds work?
iyzico refunds per basket item. The amount you enter is split across the order's items in proportion to their remaining amounts, and each part is sent as a separate refund. If one part fails (for example, iyzico rejects a refund on that day), the others still go through. The history shows each part.
Refund or cancel?
Cancel voids the whole payment and is possible only on the day of the payment, before any refund. The customer is never charged. Refund works afterwards, for any amount up to what was paid.
The marketplace payment fails with a sub-merchant error.
Every vendor in the cart needs a registered iyzico sub-merchant. Open the vendor's iyzico sub-merchant tab: it shows iyzico's error. Fix the data and click Send to iyzico now. Until the vendor is registered, iyzico is hidden for carts with that vendor's products.
How is the vendor share calculated?
It is the vendor order total minus the commission CS-Cart recorded for that vendor order (vendor plan, category commissions, tax and shipping options). The share is split over the vendor's basket items. See Usage. The kv_iyzico_payments_get_vendor_fee hook lets developers change the fee.
Does it work with Direct Customer-to-Vendor Payments?
Yes, as a normal (non-marketplace) gateway. Each vendor creates an iyzico payment method with their own keys, and marketplace mode is ignored.
Where are the logs?
In Administration → Logs, type iyzico. Choose what is logged in Settings → Logging → iyzico. Turn on Log API requests and responses in the add-on settings to see the masked payloads.
Is "Pay with iyzico" a separate add-on?
No. Create a second payment method with the Pay with iyzico integration and the same keys.
The iyzico payment method disappeared from checkout and the admin panel shows a license notice.
Open Add-ons → Manage add-ons → iyzico Payments. The License card at the top of the add-on page says what is wrong: no key, a key for another add-on, a revoked license, or a domain that the license does not cover. Enter or change the key on the License tab and click Check now. See License.
Does the add-on work on my staging copy?
Yes. Subdomains of your licensed domain (for example staging.example.com) and local development hosts (localhost, private IP addresses, .local, .test) are covered by the same license.
What happens if your license server is down?
Nothing visible: the add-on keeps the last verified result and keeps working for 14 days while it retries. The admin panel shows a notice from the first failed check.
Does the license check slow down my storefront?
No. The check runs in the admin panel or from cron, once a day. The storefront only reads the stored result.