The store is ready, the products are in — but card payment isn’t something you switch on with a button.
You need a contract with a bank and a technical connection. Here it is, step by step.
What you need first
- A registered company with a business bank account
- A working website with a privacy policy and terms of use
- Clearly written return and complaint terms
- An SSL certificate — mandatory
The bank will review the website. A store without return terms is often rejected, and that is the most common cause of delay.
The options in North Macedonia
CPay (Casys) — the most common solution. It works with several banks and has ready-made modules for WooCommerce and other platforms.
Directly through a bank — Halkbank, NLB and others offer their own systems. The terms are negotiated individually.
Foreign providers (Stripe, PayPal) — they don’t fully work for Macedonian companies receiving payments. There are other solutions for export, but for domestic sales the local option is more practical.
What it costs
One-off setup: usually 0 to 10,000 denars (up to about €160), depending on the bank and current promotions.
Fee per transaction: around 1.5% to 3%, depending on volume and the contract.
Monthly fee: some banks charge one, some don’t.
The transaction fee is what decides the total cost. A 0.5% difference on a turnover of a million denars (about €16,000) a year is 5,000 denars (about €80) — worth negotiating.
How long it takes
The contract: one to three weeks, depending on the bank.
The technical connection: one to two days with a ready-made module.
Testing: you usually get a test environment before going live.
Plan a month from the start to the first real transaction.
The technical part — what to look out for
There is a ready-made plugin for WooCommerce. You enter three things you get from the bank: a merchant ID, a terminal ID and a secret key.
The secret key is crucial. It signs every transaction and is used to check that a confirmation really comes from the bank, and not from someone pretending to be it.
If it isn’t entered correctly, something happens that many people don’t notice for months: payments go through, but the system doesn’t record them. The customer paid, and the order sits there as unpaid.
A check you must do
After the setup, place a real order with your own card for a small amount. Then check three things:
- That the money arrived
- That the order is marked as paid in the system
- That the customer got a confirmation by email
If the second one doesn’t work, your books won’t match the bank — and that only comes to light when the accounts are reconciled.
Cash on delivery — don’t dismiss it
In North Macedonia a significant share of buyers still prefer to pay cash on delivery. Offer both — those who like paying by card will use it, and you don’t lose the others.
Planning an online store? We set it up completely, with payments and shipping configured.
Online stores →