Take payments at
0.5% instead of 2.5%
Money lands straight in your own bank account — no acquirer, nobody sitting between you and your revenue. We create the payment, host the checkout page, and confirm the transfer automatically.
One POST request → a ready checkout page. The webhook fires when the money is actually in your account.
Payment to
ТОВ «Ательє Ліра»
₴1,240.00
Scan in your banking app
- Fee
- 0.5%
Instead of 2.2–2.7% on classic card acquiring. No monthly fee.
- Verification
- 20sec
From transfer to a "confirmed" webhook on your side.
- Banks
- allNBU QR
Privat24, monobank and every bank on the qr.bank.gov.ua standard.
- Integration
- 1request
Creating a payment is a single POST. The webhook does the rest.
Check the saving on your own volume.
The gap between your acquiring rate and 0.5% on kvitnyk pay.
Calculated at the Business rate — 0.5%. Under 200 payments/mo the Start rate is 0.7%.
- Acquiring today
- 11,000 ₴
- kvitnyk pay
- 2,500 ₴
- Saved per year
- 102,000 ₴
Four steps — the service handles three of them.
- STEP 1
You create a payment
Your server posts the amount and order number to our API. Back comes a checkout link and a QR payload.
pay_url + qr_payload - STEP 2
The customer pays
A hosted checkout page: Privat24 and monobank buttons, QR for every other bank. Details and payment reference are pre-filled.
Transfer to your IBAN - STEP 3
We reconcile it
The service watches your account and matches amount and reference against the open payment. No manual statement checking.
status: paid - STEP 4
Webhook to your system
A signed POST to your endpoint. The order closes automatically — exactly as it would with an acquirer.
invoice.paid
Integrated in one evening.
No certificates, no PCI questionnaires, no weeks of approvals. REST, JSON, keys from the dashboard, sandbox from minute one.
- One POST /v1/invoices and the checkout page exists
- Signed webhooks with retries: 5 attempts, 1 min to 1 hour
- Idempotent on reference — no duplicate payments
- Sandbox that emulates incoming bank transfers
- A separate queue for payments that did not auto-reconcile
// Create a payment
const res = await fetch('https://api.kvitnyk.com/v1/invoices', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_live_...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 124000, // minor units
currency: 'UAH',
reference: 'A-10427', // your order number
callback_url: 'https://shop.ua/hooks/kvitnyk'
})
});
const { pay_url, qr_payload } = await res.json();
// → redirect the customer to pay_urlEvery verified payment in one list.
Who paid, how much, through which bank, and whether the amount matched. Anything that did not reconcile automatically waits in its own manual-review queue instead of getting lost in a statement.
- Verified
- 128
- Volume
- ₴317,480
- Pending
- 4
- In review
- 2
- Fees
- ₴1,587
| ID | Reference | Amount | Bank | Status | Time |
|---|---|---|---|---|---|
| inv_8Qk2m | Order A-10427 | ₴1,240.00 | monobank | verified | 18:12 |
| inv_7Yt9p | Pro subscription · September | ₴890.00 | Privat24 | verified | 17:54 |
| inv_7Xd4c | Order A-10426 | ₴3,450.00 | Oschadbank | verified | 17:31 |
| inv_7Wb1s | Course "Basics" · cohort 12 | ₴6,000.00 | — | pending | 17:20 |
| inv_7Vz6n | Order A-10425 | ₴1,800.00 | Privat24 | manual review | 17:12 |
| inv_7Vf8k | Order A-10424 | ₴512.00 | Universal Bank | underpaid | 16:58 |
| inv_7Ua3h | Order A-10423 | ₴2,100.00 | monobank | verified | 16:40 |
The same closed order, a different price.
| Classic card acquiring | kvitnyk pay | |
|---|---|---|
| Fee | 2.2–2.7% on every payment | 0.3–0.7% depending on volume |
| Settlement | T+1…T+3, via the provider account | Straight to your IBAN, same day |
| Onboarding | Forms, contract, review — 2 weeks and up | Online request, keys the same day |
| Card data | Processed, PCI obligations apply | No cards at all — an IBAN transfer |
| Payment verification | Automatic | Automatic — amount and reference matched |
| Chargebacks | Possible, debited from you | None — it is a bank transfer |
| Refunds | Through the provider, with a fee | An ordinary transfer from your account |
| Volume limits | Set by the provider | No limits on our side |
You pay a percentage only on verified payments.
No monthly fee, no integration fee, no minimum volume. Unpaid invoices cost nothing.
Start
up to 200 payments/mo0.7%per paymentSole traders and small business
Request access in two minutes, first 50 payments free. Everything needed to start taking payments today.
- Checkout page and NBU QR
- Webhooks and dashboard
- One IBAN account
Business
from 200 payments/mo0.5%per paymentShops and SaaS
For teams taking payments daily. Multiple accounts, team access, branded checkout.
- Multiple IBANs and storefronts
- Your domain and logo on checkout
- Team and accountant access
Platform
custom0.3%per paymentMarketplaces
Multi-merchant, seller payouts, SLA and a dedicated channel. Shaped around your model.
- Multi-merchant and sub-accounts
- SLA and dedicated support
- Accounting exports
We never touch your money — that is the main guarantee.
Funds go straight to your IBAN
The service is not a payment intermediary and never holds your revenue. We reconcile incoming transfers, we do not forward them.
No card data in the system
Payment happens inside the customer’s own banking app. We never see or store card details — PCI DSS applies to neither of us.
QR on the NBU standard
We use the single qr.bank.gov.ua format, so the payment opens in any bank that supports it.
Signed webhooks, full audit log
Every webhook is signed with HMAC-SHA256. The complete event and reconciliation history is in the dashboard and the API.
Sole traders and companies alike
Works with both personal-business and corporate accounts. The payment reference is formatted so it does not break your bookkeeping.
Data hosted in Ukraine
Infrastructure and backups sit in Ukrainian data centres, with role-based access.
The awkward ones, up front.
If yours is not here, write to us — we answer the same day.
Is this legal? Do we need a licence?
How do you see that the money arrived?
What if the customer pays the wrong amount?
Is this harder for the customer than a card?
What about refunds?
Does it replace acquiring completely?
First 50 payments are free.
Send a request — keys and sandbox land the same day. You can test the integration today and compare the fee on real volume.