Payment QR Code Generator: Ukraine NBU QR & SEPA EPC (Bulk)
Pricing
from $1.60 / 1,000 qr codes
Payment QR Code Generator: Ukraine NBU QR & SEPA EPC (Bulk)
Payment QR code generator for invoices and bills: Ukraine NBU payment QR (BCD version 002 and 003) and SEPA EPC069-12 QR. Bulk generation to PNG, SVG or payload text with IBAN, EDRPOU and size validation. Offline, no API keys. Pay per QR code.
Pricing
from $1.60 / 1,000 qr codes
Rating
0.0
(0)
Developer
Andrew Boiko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Payment QR Code Generator — validated payment QR codes in bulk, offline
Payment QR Code Generator builds payment QR codes for Ukrainian NBU QR (BCD 002 and 003) and for SEPA EPC069-12. Each payment is validated (IBAN checksum, EDRPOU/RNOKPP, field and size limits), then rendered as PNG or SVG, or returned as payload text.
What it does
- NBU QR - service tag BCD, versions 002 and 003, Base64URL link
https://bank.gov.ua/qr/.... - SEPA EPC QR - EPC069-12 version 002 for euro transfers.
- Bulk - thousands of invoices per run, images stored in the key-value store.
- Validation - invalid payments return the exact reason and cost nothing.
Who it's for
- Billing systems, utilities and SaaS invoicing
- Accountants issuing invoices with a QR
- E-commerce and marketplaces
- Developers who need a ready QR step in a pipeline
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | generate | What to do. generate - build and validate payment QR codes in bulk selftest - health check (for schedules) |
standard | string | nbu | nbu or epc (a payment can override it). |
format | string | png | png or svg image stored in the key-value store, or payload text only. |
scale | integer | 8 | Module size in pixels for PNG/SVG. |
payments | array | [{"id": "inv-1", "standard": "nbu", "name": "ТОВ Тест", "account": "UA213223130000026007233566001", "code": "12345678", "amount": 100.5, "purpose": "Оплата за рахунком 1"}] | List of payment objects. |
maxItems | integer | 100 | Stop after this many billable results (a spending cap per run). |
Modes: generate, selftest.
Example input
{"mode": "generate","format": "png","payments": [{"id": "inv-1","standard": "nbu","name": "ТОВ Тест","account": "UA213223130000026007233566001","code": "12345678","amount": 100.5,"purpose": "Оплата за рахунком 1"}]}
Output example
Every row is flat JSON with status (ok, not_found, invalid_input, source_error), source, sourceUrl, fetchedAt and dataAsOf.
{"status": "ok","source": "NBU payment QR standard (BCD 002/003) and EPC069-12 SEPA QR - generated offline","sourceUrl": null,"fetchedAt": "2026-10-25T08:00:00Z","dataAsOf": null,"id": "inv-1","standard": "nbu","payload": "https://bank.gov.ua/qr/QkNECjAwMgox...","valid": true,"qrUrl": "https://api.apify.com/v2/key-value-stores/abc/records/qr-inv-1.png","warnings": []}
Pricing
Pay per event — you pay only for results, never for empty or failed lookups (not_found, invalid_input and source_error rows are free).
| Event | What is charged | Price | Per 1,000 |
|---|---|---|---|
qr | QR code | $0.002 | $2 |
Apify platform usage (compute, storage) is included in the event prices. Set Maximum cost per run in the run options to cap spending; the Actor stops cleanly when the limit is reached. Apify subscribers on Bronze, Silver and Gold plans get automatic discounts on the event prices.
Use with MCP, n8n, Make and Zapier
- Apify MCP server — add
https://mcp.apify.com?tools=tiger19935/payment-qr-generatorto Claude, Cursor or any MCP client so an AI agent can call this Actor as a tool. - n8n / Make / Zapier — use the Apify integration, pick Run Actor, select
tiger19935/payment-qr-generatorand map the dataset items. Saved Tasks + a schedule turn it into a monitor with webhooks. - API —
POST https://api.apify.com/v2/acts/tiger19935~payment-qr-generator/runsor the official Apify clients for JavaScript and Python.
FAQ
Is it legal to use this data?
The Actor only reads official open data from the NBU resolution on QR codes (version 002/003) and EPC069-12. Generated offline; nothing is sent to third parties. Every row carries source and sourceUrl so you can attribute it. No captcha, login or personal data of private individuals is bypassed or collected.
How fresh is the data?
Each row has dataAsOf - the publication date of the source file or API. If the publisher stops updating, dataAsOf stops moving and the daily self-test run fails, so you can tell stale data from a broken Actor.
What happens when nothing is found or the source is down?
You get a not_found or source_error row and you are not charged. The Actor never fails silently with an empty dataset.
How do I get alerts?
Create a Task with mode: monitor, schedule it (hourly or daily) and add a webhook, or connect the Apify integration in n8n, Make or Zapier. Only new, changed and removed records are returned and charged.
Is the UAH logo added? No. The NBU standard requires the UAH logo in the centre of printed codes; the image uses error correction level M so you can overlay it.
Related Actors
- Ukraine EDRPOU & IBAN Validator — validate codes in bulk
- Ukraine Banks Directory — NBU bank register