The easiest way to accept card payments in your WooCommerce store in Turkey. Enter the API credentials of your iyzico or PayTR account, enable the payment method, and your customers pay with 3D Secure — in installments if they like. No license key, no trial period, no per-transaction fee.
Invum POS is built around how payments work in Turkey: Turkish lira, installment culture, BDDK installment limits and the banks' Turkish decline codes. When your store grows and you want to move to your bank's virtual POS, you don't switch plugins; you continue from the same panel.
✨ What's in the free version?
- 💳 iyzico and PayTR — iyzico Checkout Form and Direct API; PayTR iFrame and Direct API. You can enable both at the same time and define several accounts for each.
- 🔒 3D Secure — Secure payment with bank authentication. Every result returned by the provider is verified by its signature and on the server; a fake "paid" notification cannot change your order.
- 📆 Installments — Boxes on the checkout page showing the number of installments, the monthly amount and the total. Installment table on the product page. Separate rates per card family (Bonus, World, Axess, Maximum, CardFinans, Paraf…); pass the interest on to the customer or protect your net amount.
- ⚖️ BDDK installment limits — The maximum number of installments allowed for each product group is applied automatically; no installments are offered on debit, prepaid and foreign cards.
- ⚡ One-click payment with saved cards — The customer saves the card once and pays with one click on later purchases. Card data is stored at the payment provider, not on your server.
- 🔁 Subscriptions — Recurring payments with WooCommerce Subscriptions, including cancellation, suspension and card change flows.
- 🔗 Payment links — For stores taking orders by phone or WhatsApp: enter the amount, send the link, the customer pays by card.
- 🧾 Turkish decline codes — Clear messages such as "Insufficient card limit" or "The bank declined the transaction"; both you and your customer see what went wrong.
- 📊 Dashboard and transaction logs — Success rate, weekly comparison, most used methods, filterable transaction history and CSV export.
- 🎨 Card form with live preview — On both the WooCommerce Blocks and the classic checkout, a card visual that comes alive as the card number is typed.
- ↩️ Refunds — Full or partial refunds through the provider with the "Refund" button on the WooCommerce order screen.
🚀 Five-minute setup
- Install and activate the plugin.
- On the Invum POS › POS Accounts screen, choose iyzico or PayTR and enter your API credentials.
- Try it in test mode first; if everything works, turn test mode off. That's it.
Step-by-step guides (in Turkish):
iyzico setup ·
PayTR setup ·
iyzico or PayTR?
🏦 Moving to your bank's virtual POS?
When you want a direct bank virtual POS — to lower commission or to use your bank's installment campaigns — you install a separate plugin,
Invum POS Pro, next to this one. Your settings, saved cards and transaction history stay as they are.
- Pro — every bank and provider: 12 banks on the NestPay infrastructure (Akbank, İş Bankası, Ziraat Bankası, Halkbank, QNB, TEB, ING, Şekerbank, Türkiye Finans, Anadolubank, Alternatif Bank, Cardplus), Garanti BBVA, Yapı Kredi (Posnet), VakıfBank, Craftgate and Moka. Payment routing rules by category, cart and bank.
- Studio — advanced rules by card BIN and installment count; Paid Memberships Pro and GiveWP bridges.
- Agency — 5 live + 5 test sites; moving a rule set from one store to another; delivering the plugin under your own brand name (white label).
The code of the Pro plugin is
not included in this free plugin. Plans and pricing:
invum.com.tr/pos
🛡️ Security
- API keys are stored encrypted (AES-256) in the database; they are never kept as plain text anywhere.
- Card number and CVV are never written to logs under any circumstances.
- With the iyzico Checkout Form and PayTR iFrame, card data never touches your site (PCI DSS SAQ A). If you choose the on-site card form (Direct API), card data passes through your server to the provider; your PCI scope is then SAQ D.
- When you delete the plugin, your POS accounts and transaction history are kept by default.
Trademarks
iyzico, PayTR, Param, Garanti BBVA, Yapı Kredi, Posnet, VakıfBank, PayFlex, NestPay, Craftgate, Moka and the bank names listed above are trademarks of their respective owners. Invum is an independent product; it is not affiliated with, endorsed or sponsored by any of these companies. The names are used only to identify the payment services this plugin connects to.
Automatic installation (recommended)
- In your WordPress dashboard go to Plugins › Add New.
- Search for Invum POS, click Install Now and then Activate.
- In the left menu open Invum POS › POS Accounts › New POS Account: choose iyzico or PayTR and enter your API credentials.
- Place a test order while Test mode is on. If everything works, turn test mode off and go live.
Manual installation
- Download the zip file with the Download button on this page.
- Upload and activate it via Plugins › Add New › Upload Plugin.
Where do I find my API credentials?
- iyzico: The API Key and Secret Key in the API keys section of your panel. For testing you can open a free test account at sandbox-merchant.iyzipay.com.
- PayTR: The Merchant ID, Merchant Key and Merchant Salt in the API information section of your store panel.
Guides with screenshots (in Turkish):
iyzico setup guide ·
PayTR setup guide