Skip to content
IBAN payments · NBU QR · auto-verification

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.

Request access in two minutes · first 50 payments free · no monthly fee
Example checkout page
Checkout pagepay.kvitnyk.com

Payment to

ТОВ «Ательє Ліра»

₴1,240.00

Order #A-10427

Scan in your banking app

Приват24
monobank
Any other bank — pay via NBU QR
Payment verified automatically — webhook delivered in 18 seconds
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.

What you overpay today

Check the saving on your own volume.

₴500,000
₴50k₴5M
Your current acquiring rate
You save
8,500₴/mo

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
Payment flow

Four steps — the service handles three of them.

  1. 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
  2. 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
  3. 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
  4. 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
For developers

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
Documentation
// 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_url
Dashboard

Every 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.

PaymentsliveToday
Verified
128
Volume
₴317,480
Pending
4
In review
2
Fees
₴1,587
IDReferenceAmountBankStatusTime
inv_8Qk2mOrder A-10427₴1,240.00monobankverified18:12
inv_7Yt9pPro subscription · September₴890.00Privat24verified17:54
inv_7Xd4cOrder A-10426₴3,450.00Oschadbankverified17:31
inv_7Wb1sCourse "Basics" · cohort 12₴6,000.00pending17:20
inv_7Vz6nOrder A-10425₴1,800.00Privat24manual review17:12
inv_7Vf8kOrder A-10424₴512.00Universal Bankunderpaid16:58
inv_7Ua3hOrder A-10423₴2,100.00monobankverified16:40
Comparison

The same closed order, a different price.

Classic card acquiringkvitnyk pay
Fee2.2–2.7% on every payment0.3–0.7% depending on volume
SettlementT+1…T+3, via the provider accountStraight to your IBAN, same day
OnboardingForms, contract, review — 2 weeks and upOnline request, keys the same day
Card dataProcessed, PCI obligations applyNo cards at all — an IBAN transfer
Payment verificationAutomaticAutomatic — amount and reference matched
ChargebacksPossible, debited from youNone — it is a bank transfer
RefundsThrough the provider, with a feeAn ordinary transfer from your account
Volume limitsSet by the providerNo limits on our side
Pricing

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/mo
    0.7%per payment

    Sole 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/mo
    0.5%per payment

    Shops 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

    custom
    0.3%per payment

    Marketplaces

    Multi-merchant, seller payouts, SLA and a dedicated channel. Shaped around your model.

    • Multi-merchant and sub-accounts
    • SLA and dedicated support
    • Accounting exports
Security and legal

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.

Business questions

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?

The customer makes an ordinary bank transfer to your account, exactly as they would against an invoice. We neither receive nor forward funds, so we are not a payment institution: the service only issues the payment and reconciles the incoming transfer.

How do you see that the money arrived?

You connect your account through the bank API or statement feed. The service matches amount, reference and time against the open payment, and only then sends the paid webhook.

What if the customer pays the wrong amount?

The payment gets an underpaid or overpaid status with the actual sum in the webhook. You decide what happens next — allow a top-up, close it, or refund.

Is this harder for the customer than a card?

Two taps: their bank button, or a QR scan — the app already holds the amount and reference. The customer only confirms. Nobody types bank details by hand.

What about refunds?

You refund with an ordinary transfer from your account. The dashboard marks the payment refunded and a refunded webhook goes to your system.

Does it replace acquiring completely?

For Ukrainian customers, yes. For international card payments you will keep an acquirer — most of our users run both and push the main flow through IBAN.
Next step

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.