ПРАВЛІННЯ НАЦІОНАЛЬНОГО БАНКУ УКРАЇНИ
ПОСТАНОВА
Про внесення змін до Правил формування та використання QR-коду для здійснення кредитових переказів
Відповідно до
статей 7,
15,
40,
56 Закону України "Про Національний банк України" та з метою встановлення єдиних засад використання QR-коду для здійснення кредитових переказів учасниками безготівкових розрахунків Правління Національного банку України ПОСТАНОВЛЯЄ:
2. Департаменту платіжних систем та інноваційного розвитку (Андрій Поддєрьогін) після офіційного опублікування довести до відома банків, небанківських фінансових установ України, а також Акціонерного товариства "Укрпошта" інформацію про прийняття цієї постанови.
3. Контроль за виконанням цієї постанови покласти на заступника Голови Національного банку України Олексія Шабана.
4. Постанова набирає чинності через три місяці після її офіційного опублікування.
ЗАТВЕРДЖЕНО
Постанова Правління
Національного банку України
28.05.2020 № 68
(у редакції
постанови Правління
Національного банку України
01.02.2021 № 11)
ПРАВИЛА
формування та використання QR-коду для здійснення кредитових переказів
I. Загальні положення
1. Ці Правила розроблені відповідно до вимог Законів України
"Про Національний банк України",
"Про платіжні системи та переказ коштів в Україні",
"Про банки і банківську діяльність", постанови Правління Національного банку України від 28 грудня 2018 року
№ 162 "Про запровадження міжнародного номера банківського рахунку (IBAN) в Україні" (зі змінами) та національного стандарту України ДСТУ ISO/IEC 18004:2019 "Інформаційні технології. Методи автоматичної ідентифікації та збору даних. Специфікація символіки штрих-коду QR-коду", затвердженого наказом Державного підприємства "Український науково-дослідний і навчальний центр проблем стандартизації, сертифікації та якості" від 21 грудня 2019 року
№ 468 (далі - ДСТУ ISO/IEC 18004:2019).
2. Ці Правила визначають єдині засади формування та використання QR-коду учасниками безготівкових розрахунків для здійснення кредитових переказів та містять вимоги до елементів даних QR-коду.
3. Ці Правила запроваджуються з метою підвищення зручності розрахунків і є уніфікованими для всіх учасників безготівкових розрахунків. Формування та використання QR-коду не є обов'язковим для здійснення кредитових переказів.
4. Учасники безготівкових розрахунків у разі використання QR-коду для здійснення кредитових переказів мають забезпечити його формування та використання відповідно до цих Правил.
5. У цих Правилах терміни та поняття вживаються в таких значеннях:
1) версія QR-коду - параметр, який визначає розмірність QR-коду, - кількість модулів в обох напрямах. Може мати значення від 1 до 40 включно;
2) виправлення помилок у QR-коді - механізм, який дає змогу автоматично виявляти та виправляти помилки, що можуть виникати під час сканування графічного відтворення QR-коду. Під час генерації та сканування QR-коду може використовуватись один із чотирьох рівнів корекції помилок за рахунок включення спеціалізованих надлишкових даних;
3) модуль - найменша інформаційна одиниця QR-коду. Розмір сторони QR-коду дорівнює: номер версії QR-коду•4+17 модулів. Ширина/висота QR-коду розраховується як кількість модулів, помножена на X-розмір модуля;
4) QR-код (quick response - швидкий відгук) - матричний код (двовимірний штрих-код), який містить інформацію щодо отримувача коштів і призначений для сканування за допомогою мобільного пристрою, сканера штрих-коду з метою швидкого та безпомилкового передавання реквізитів операції переказу коштів.
Інші терміни та поняття в цих Правилах використовуються в значеннях, визначених у законах України та нормативно-правових актах Національного банку України.
II. Структура даних QR-коду
6. Характеристики символів QR-коду, методи кодування символів даних, формати символів, характеристики розмірів, правила корекції помилок, алгоритм декодування посилань, вимоги до якості продукції та інші параметри визначені ДСТУ ISO/IEC 18004:2019.
7. До стандартів кодування символів у QR-коді належать:
1) ISO 646 - для усіх символів, крім кириличних;
2) UTF-8, Win1251 або інші стандарти - для кириличних символів.
8. Елементи даних QR-коду, стандарти кодування кириличних символів, особливості кодування даних і приклади QR-кодів для версії формату 001 наведено в додатку 1 до цих Правил.
Елементи даних QR-коду, стандарти кодування кириличних символів, особливості кодування даних та приклади QR-кодів для версії формату 002 наведено в додатку 2 до цих Правил.
III. Генерація QR-коду
9. Правила формування рядка, з якого формується QR-код, визначаються у додатках 1, 2 до цих Правил з описом відповідних версій формату.
10. Загальний обсяг даних, які підлягають кодуванню для генерації QR-коду, що містить структуру відповідної версії формату, визначається у додатках 1, 2 до цих Правил з описом цих версій формату. Учасник безготівкових розрахунків під час генерації QR-коду повинен зменшити (оптимізувати) обсяг даних в одному або кількох полях змінної довжини QR-коду або застосувати іншу версію формату, якщо загальний обсяг даних, які підлягають кодуванню, перевищує максимальний обсяг для обраної версії формату.
11. Генерація QR-коду має бути виконана з рівнем корекції помилок "M" або "L" (залежно від умов відображення QR-коду), тобто можливість корекції помилок або надмірності даних становить близько 15 % або 7 % відповідно.
12. Максимальна версія згенерованого QR-коду визначається у додатках 1, 2 до цих Правил з описом відповідних версій формату.
13. Використання версій QR-коду менших, ніж визначені як максимальні для відповідних версій формату, дозволяється.
IV. Відображення QR-коду
14. QR-код може друкуватися (відображатися в електронному вигляді) на рахунку (інвойсі) разом із рештою платіжної інформації або друкуватися (відображатися в електронному вигляді) окремо від рахунку (інвойса).
15. Вміст інформації в тексті рахунку (інвойсі) та в розкодованих даних з QR-коду має бути ідентичним.
16. На рахунку (інвойсі) має бути зарезервовано достатньо місця, щоб відповідати QR-кодам, які містять максимальний обсяг даних. Для коректного відображення QR-коду має забезпечуватись відступ від країв паперу, ліній згину та тексту. Точка прив'язки QR-коду і напрямок, у якому код зростає зі збільшенням даних, також повинні враховуватися під час позиціонування QR-коду.
17. Роздільна здатність принтера визначатиме точний розмір QR-коду. X-розмір менше 0,5 мм не рекомендовано використовувати через можливі проблеми з друкуванням і подальшим скануванням QR-коду.
V. Сканування QR-коду
18. Інформація, що міститься в QR-коді, сканується за допомогою камери пристрою, платіжного застосунку (далі - застосунок), спеціалізованого банківського обладнання або універсального сканера QR-кодів. Дані розкодовуються як пропозиція щодо здійснення платежу, яка відобразиться в застосунку або інших інформаційних системах (програмному забезпеченні).
19. Намір здійснення переказу коштів за реквізитами отримувача переказу, що містяться в QR-коді, має бути підтверджений платником.
Додаток 1
до Правил формування
та використання QR-коду
для здійснення
кредитових переказів
(пункт 8 розділу II)
Елементи даних QR-коду, стандарти кодування кириличних символів, особливості кодування даних і приклади QR-кодів для версії формату 001
Таблиця 1
Елементи даних QR-коду для версії формату 001
№ з/п | Назва/призначення елемента | Довжина | Фікс./змін. | Обов'язковість | Кодування | Наповнення/зміст |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 1 | Код старту застосунку | 23 В | Фікс. | О | А | RFU (зарезервовано для подальшого використання) |
| 2 | Службова мітка | 3 В | Фікс. | О | А | BCD |
| 3 | Версія формату | 3 В | Фікс. | О | А | 001 |
| 4 | Кодування | 1 В | Фікс. | О | А | 1 |
| 5 | Функція | 3 В | Фікс. | О | А | UCT |
| 6 | BIC | 11 В | Змін. | Р | А | Bank Identifier Code (BIC) банку отримувача RFU (зарезервовано для подальшого використання) |
| 7 | Отримувач | 70 С | Змін. | О | * | Прізвище, ім'я, по батькові фізичної особи/найменування юридичної особи |
| 8 | Рахунок отримувача | 34 В | Змін. | О | А | Номер рахунку отримувача |
| 9 | Сума/валюта | 15 В | Змін. | Оп. | А | Сума та валюта |
| 10 | Код отримувача | 10 В | Змін. | О | * | Код за ЄДРПОУ / реєстраційний (обліковий) номер платника податку, який присвоюється контролюючими органами, отримувача - юридичної особи; реєстраційний номер облікової картки платника податків (далі - РНОКПП) отримувача - фізичної особи; серію (за наявності) та номер паспорта отримувача - фізичної особи, якщо через свої релігійні переконання вона відмовилася від прийняття реєстраційного номера облікової картки платника податків та повідомила про це відповідний контролюючий орган і має відмітку в паспорті |
| 11 | Ціль | 4 В | Змін. | Р | А | Код цілі в класифікаторі типів платежів RFU (зарезервовано для подальшого використання) |
| 12 | Reference | 35 В | Змін. | Р | А | Посилання на рахунок (інвойс) RFU (зарезервовано для подальшого використання) |
| 13 | Призначення платежу | 140 С | Змін. | О | * | Узгодження у форматі тексту |
| 14 | Відображення (дисплей) | 70 С | Змін. | Р | * | Додатковий текст |
I. Пояснення до заповнення таблиці 1
1. Колонка 3 "Довжина" містить визначений або максимальний розмір елемента:
1) В - у байтах;
2) С - у символах (розмір у байтах таких елементів може залежати від вмісту елемента, оскільки кодування (наприклад, UTF-8) передбачає використання одного або кількох байтів на символ).
2. Колонка 4 "Фікс./змін." визначає довжину елемента:
1) фікс. - фіксована, елемент завжди має бути визначеної довжини;
2) змін. - змінна, елемент може бути будь-якої довжини в межах визначеної.
3. Колонка 5 "Обов'язковість":
1) О - обов'язковий, не може бути порожнім;
2) Оп. - опціональний, обов'язково наявний, може містити текст або бути порожнім (складатися виключно із "закінчення рядка");
3) Р - резервний, у зазначеній версії формату має бути порожнім (складатися виключно із "закінчення рядка").
4. Колонка 6 "Кодування":
1) А - ISO 646;
2) * - ISO 646 або UTF-8 відповідно до значення у полі "Кодування" (для полів, у яких можуть міститися дані з різним кодуванням).
5. "Закінчення рядка" може бути у вигляді одного з двох варіантів: Lf або Cr + Lf. Який із варіантів використовується - визначається безпосередньо після службової мітки BCD. "Закінчення рядка" повинно бути однаковим для всіх рядків.
Якщо поле не містить інформації (порожнє), то воно повинно містити тільки "закінчення рядка".
II. Опис елементів даних QR-коду, що містяться в таблиці 1
6. Елемент "Код старту застосунку". Містить послідовність символів для автоматичного оброблення даних QR-коду операційною системою пристрою, який здійснив сканування QR-коду, з метою визначення та запуску застосунку мобільного банкінгу користувача. У версії формату 001 усе поле заповнюється символами " " (пробіл).
7. Елемент "Службова мітка". Дані, які розкодовуються з QR-коду, починаються із символів "BCD" - "службової мітки", після якої відразу закінчується рядок. Подальша перевірка вмісту QR-коду повинна включати розпізнавання та визначення "закінчення рядка".
8. Елемент "Версія формату". Версія 001 означає варіант формату № 1. Розширення елементів і функцій здійснюється шляхом розроблення нової версії формату з більшим порядковим номером. Опис нової версії формату повинен міститися в новому документі або додатках до документів з описами попередніх версій.
9. Елемент "Кодування". Значення у полі "Кодування" визначає інтерпретацію даних (кодову таблицю символів), що використовуються в полях, для яких у колонці "Кодування" таблиці зазначено символ "*". Для версії формату 001 у полі "Кодування" повинно бути виключно значення "1", що передбачає використання кодування UTF-8 для всіх полів, які можуть містити кириличні символи.
10. Елемент "Функція". Функція визначається її ключовими значеннями: кредитовий переказ - Ukrainian Credit Transfer: код "UCT" (для версії формату 001 допускається виключно значення "UCT").
11. Елемент "BIC". Для версії формату 001 поле "BIC" зарезервовано.
12. Елемент "Отримувач". Містить прізвище, ім'я, по батькові фізичної особи або найменування юридичної особи. Довжина значення елемента не повинна перевищувати довжину 38 символів для версії формату 001.
13. Елемент "Рахунок отримувача". Містить номер рахунку отримувача. Довжина значення елемента не повинна перевищувати довжину елемента 29 символів для версії формату 001.
14. Елемент "Сума/валюта". Значення в полі "Сума/валюта" є опціональним. Якщо поле "Сума/валюта" порожнє, то заповнення суми має відбутися під час ініціювання платежу. Максимальне число в полі "Сума/валюта" становить 999999999.99. Якщо сума не містить дрібної частини одиниці валюти, то допускається відсутність символу "." та нулів після цього символу. Якщо сума містить дрібну частину одиниці валюти, то ця дрібна частина обов'язково складається з двох цифрових символів.
Перед сумою повинні розмішуватися три великі літери коду валюти. Єдиною валютою, доступною для версії формату 001, є гривня.
Сума має бути якомога коротшою відповідно до результуючого коду, наприклад, краще "UAH3", ніж "UAH3.00" Нулі перед сумою зазначати заборонено.
15. Елемент "Код отримувача". Може містити один із трьох варіантів:
1) РНОКПП отримувача - фізичної особи;
2) серію (за наявності) та номер паспорта отримувача - фізичної особи, якщо через свої релігійні переконання вона відмовилася від прийняття реєстраційного номера облікової картки платника податків та повідомила про це відповідний контролюючий орган і має відмітку в паспорті;
3) код за ЄДРПОУ/реєстраційний (обліковий) номер платника податку, який присвоюється контролюючими органами, отримувача - юридичної особи.
16. Елемент "Ціль". Зарезервовано для подальшого використання.
17. Елемент "Reference". Зарезервовано для подальшого використання.
18. Елемент "Призначення платежу". Містить інформацію про платіж у текстовій формі.
19. Елемент "Відображення (дисплей)". Містить текст, призначений для виведення на дисплей або друку. Цей текст не включається до даних операції переказу коштів і має бути показаний користувачеві після розкодування QR-коду. Крім того, цей текст у незмінному або зміненому вигляді може використовуватись у системах оброблення даних для деталізації даних операції.
III. Пояснення щодо структури даних QR-коду версії формату 001
20. Порядок і позначення елементів даних QR-коду не може змінюватись.
21. Загальний обсяг даних, які підлягають кодуванню для генерації QR-коду, що містить структуру версії формату 001, не може перевищувати 331 байт (не символ).
22. Максимальна версія згенерованого QR-коду для версії формату 001 дорівнює 13. Це еквівалентно кількості модулів, яка дорівнює 69.
IV. Приклади QR-кодів
Таблиця 2
Оплата комунальних послуг
№ з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A | Код старту застосунку |
| 2 | BCD | 42 43 44 0D 0A | Службова мітка |
| 3 | 001 | 30 30 31 0D 0A | Версія |
| 4 | 1 | 31 0D 0A | Кодування |
| 5 | UCT | 55 43 54 0D 0A | Функція |
| 6 | | 0D 0A | BIC |
| 7 | ПрАТ АК "Водопостачання" | D0 9F D1 80 D0 90 D0 A2 20 D0 90 D0 9A 20 C2 AB D0 92 D0 BE D0 B4 D0 BE D0 BF D0 BE D1 81 D1 82 D0 B0 D1 87 D0 B0 D0 BD D0 BD D1 8F C2 BB 0D 0A | Найменування юридичної особи |
| 8 | UA783226690000026005012107132 | 55 41 37 38 33 32 32 36 36 39 30 30 30 30 30 32 36 30 30 35 30 31 32 31 30 37 31 33 32 0D 0A | Номер рахунку |
| 9 | UAH576.45 | 55 41 48 35 37 36 2E 34 35 0D 0A | Сума/валюта |
| 10 | 40723825 | 34 30 37 32 33 38 32 35 0D 0A | Код за ЄДРПОУ |
| 11 | | 0D 0A | Ціль |
| 12 | | 0D 0A | Reference |
| 13 | Оплата за червень 2019, вул. Свободи 1, кв. 24, Петренко С.І. Показання лічильника 23578,3 | D0 A1 D0 BF D0 BB D0 B0 D1 82 D0 B0 20 D0 B7 D0 B0 20 D1 87 D0 B5 D1 80 D0 B2 D0 B5 D0 BD D1 8C 20 32 30 31 39 2C 20 D0 B2 D1 83 D0 BB 2E 20 D0 A1 D0 B2 D0 BE D0 B1 D0 BE D0 B4 D0 B8 20 31 2C 20 D0 BA D0 B2 2E 20 32 34 2C 20 D0 9F D0 B5 D1 82 D1 80 D0 B5 D0 BD D0 BA D0 BE 20 D0 A1 2E D0 86 2E 20 D0 9F D0 BE D0 BA D0 B0 D0 B7 D0 B0 D0 BD D0 BD D1 8F 20 D0 BB D1 96 D1 87 D0 B8 D0 BB D1 8C D0 BD D0 B8 D0 BA D0 B0 20 32 33 35 37 38 2C 33 0D 0A | Призначення платежу |
| 14 | | 0D 0A | Відображення (дисплей) |
Таблиця 3
Купівля товарів
№ з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A | Код старту застосунку |
| 2 | BCD | 42 43 44 0D 0A | Службова мітка |
| 3 | 001 | 30 30 31 0D 0A | Версія |
| 4 | 1 | 31 0D 0A | Кодування |
| 5 | UCT | 55 43 54 0D 0A | Функція |
| 6 | | 0D 0A | BIC |
| 7 | ТОВ "Будматеріали" | D0 A2 D0 9E D0 92 20 C2 AB D0 91 D1 83 D0 B4 D0 BC D0 B0 D1 82 D0 B5 D1 80 D1 96 D0 B0 D0 BB D0 B8 C2 BB 0D 0A | Найменування юридичної особи |
| 8 | UA783226690000026005012107133 | 55 41 37 38 33 32 32 36 36 39 30 30 30 30 30 32 36 30 30 35 30 31 32 31 30 37 31 33 33 0D 0A | Номер рахунку |
| 9 | UAH124.45 | 55 41 48 31 32 34 2E 34 35 0D 0A | Сума/валюта |
| 10 | 40723823 | 34 30 37 32 33 38 32 33 0D 0A | Код за ЄДРПОУ |
| 11 | | 0D 0A | Ціль |
| 12 | | 0D 0A | Reference |
| 13 | Оплата за цемент М500 | D0 A1 D0 BF D0 BB D0 B0 D1 82 D0 B0 20 D0 B7 D0 B0 20 D1 86 D0 B5 D0 BC D0 B5 D0 BD D1 82 20 D0 9C 35 30 30 0D 0A | Призначення платежу |
| 14 | | 0D 0A | Відображення (дисплей) |
Таблиця 4
Обслуговування в стоматологічній клініці
№ з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A | Код старту застосунку |
| 2 | BCD | 42 43 44 0A | Службова мітка |
| 3 | 001 | 30 30 31 0A | Версія |
| 4 | 1 | 31 0A | Кодування |
| 5 | UCT | 55 43 54 0D 0A | Функція |
| 6 | | 0A | BIC |
| 7 | ТОВ "Стоматологія" | D0 A2 D0 9E D0 92 20 C2 AB D0 A1 D1 82 D0 BE D0 BC D0 B0 D1 82 D0 BE D0 BB D0 BE D0 B3 D1 96 D1 8F C2 BB 0A | Найменування юридичної особи |
| 8 | UA783226690000026005012107358 | 55 41 37 38 33 32 32 36 36 39 30 30 30 30 30 32 36 30 30 35 30 31 32 31 30 37 33 35 38 0A | Номер рахунку |
| 9 | UAH1034.28 | 48 52 4E 31 30 33 34 2E 32 38 0A | Сума/валюта |
| 10 | 40723824 | 34 30 37 32 33 38 32 34 0A | Код за ЄДРПОУ |
| 11 | | 0A | Ціль |
| 12 | | 0A | Reference |
| 13 | Стоматологічні послуги | D0 A1 D1 82 D0 BE D0 BC D0 B0 D1 82 D0 BE D0 BB D0 BE D0 B3 D1 96 D1 87 D0 BD D1 96 20 D0 BF D0 BE D1 81 D0 BB D1 83 D0 B3 D0 B8 0A | Призначення платежу |
| 14 | | 0A | Відображення (дисплей) |
Таблиця 5
Переказ фізичній особі
№ з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A | Код старту застосунку |
| 2 | BCD | 42 43 44 0D 0A | Службова мітка |
| 3 | 001 | 30 30 31 0D 0A | Версія |
| 4 | 1 | 31 0D 0A | Кодування |
| 5 | UCT | 55 43 54 0D 0A | Функція |
| 6 | | 0D 0A | BIC |
| 7 | Шевченко Тарас Петрович | D0 A8 D0 B5 D0 B2 D1 87 D0 B5 D0 BD D0 BA D0 BE 20 D0 A2 D0 B0 D1 80 D0 B0 D1 81 20 D0 9F D0 B5 D1 82 D1 80 D0 BE D0 B2 D0 B8 D1 87 0D 0A | Прізвище, ім'я, по батькові фізичної особи |
| 8 | UA783226690000026205012107136 | 55 41 37 38 33 32 32 36 36 39 30 30 30 30 30 32 36 32 30 35 30 31 32 31 30 37 31 33 36 0D 0A | Номер рахунку |
| 9 | UAH150.00 | 55 41 48 31 35 30 2E 30 30 0D 0A | Сума/валюта |
| 10 | 3045312215 | 33 30 34 35 33 31 32 32 31 35 0D 0A | РНОКПП |
| 11 | | 0D 0A | Ціль |
| 12 | | 0D 0A | Reference |
| 13 | Повернення боргу за обід у кафе | D0 9F D0 BE D0 B2 D0 B5 D1 80 D0 BD D0 B5 D0 BD D0 BD D1 8F 20 D0 B1 D0 BE D1 80 D0 B3 D1 83 20 D0 B7 D0 B0 20 D0 BE D0 B1 D1 96 D0 B4 20 D1 83 20 D0 BA D0 B0 D1 84 D0 B5 0D 0A | Призначення платежу |
| 14 | | 0D 0A | Відображення (дисплей) |
Додаток 2
до Правил формування
та використання QR-коду
для здійснення
кредитових переказів
(пункт 8 розділу II)
Елементи даних QR-коду, стандарти кодування кириличних символів, особливості кодування даних та приклади QR-кодів для версії формату 002
Таблиця 1
Елементи даних QR-коду для версії формату 002
№ з/п | Назва/призначення елемента | Довжина | Фікс./змін. | Обов'язковість | Кодування | Наповнення/зміст |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 1 | Код старту застосунку | 23 В | Фікс. | О | А | https://bank.go v.ua/qr/ |
| 2 | Закодована структура даних QR | 500 В | Змін. | О | Base64URL | Закодований вміст таблиці 2 додатка 2 до Правил формування та використання QR-коду для здійснення кредитових переказів (далі - Правила) |
I. Опис елементів даних QR-коду, що містяться в таблиці 1
1. Елемент "Код старту застосунку". Містить послідовність символів "https://bank.gov.ua/qr/" для автоматичного оброблення даних QR-коду операційною системою пристрою, який здійснив сканування QR-коду, з метою визначення та автоматичного запуску застосунку оброблення даних QR-коду на пристрої користувача або оператора.
2. Елемент "Закодована структура даних QR". Містить повний набір рядків структури відкритих даних, закодований за алгоритмом Base64URL.
Таблиця 2
Структура відкритих даних для версії формату 002
№ з/п | Назва/призначення елемента | Довжина | Фікс./змін. | Обов'язковість | Кодування | Наповнення/зміст |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 1 | Код старту застосунку | 0 В | Фікс. | О | А | Пусте поле (розмір поля дорівнює нулю) |
| 2 | Службова мітка | 3 В | Фікс. | О | А | BCD |
| 3 | Версія формату | 3 В | Фікс. | О | А | 002 |
| 4 | Кодування | 1 В | Фікс. | О | А | 1 або 2 |
| 5 | Функція | 3 В | Фікс. | О | А | UCT |
| 6 | BIC | 11 В | Змін. | Р | А | Bank Identifier Code (BIC) банку отримувача RFU (зарезервовано для подальшого використання) |
| 7 | Отримувач | 70 С | Змін. | О | * | Прізвище, ім'я, по батькові фізичної особи / найменування юридичної особи |
| 8 | Рахунок отримувача | 34 В | Змін. | О | А | Номер рахунку отримувача |
| 9 | Сума/валюта | 15 В | Змін. | Оп. | А | Сума та валюта |
| 10 | Код отримувача | 10 В | Змін. | О | * | Код за ЄДРПОУ/реєстраційний (обліковий) номер платника податку, який присвоюється контролюючими органами, отримувача - юридичної особи; реєстраційний номер облікової картки платника податків (далі - РНОКПП) отримувача - фізичної особи; серію (за наявності) та номер паспорта отримувача - фізичної особи, якщо через свої релігійні переконання вона відмовилася від прийняття реєстраційного номера облікової картки платника податків та повідомила про це відповідний контролюючий орган і має відмітку в паспорті |
| 11 | Ціль | 4 В | Змін. | Р | А | Код цілі в класифікаторі типів платежів RFU (зарезервовано для подальшого використання) |
| 12 | Reference | 35 В | Змін. | Р | А | Посилання на рахунок (інвойс) RFU (зарезервовано для подальшого використання) |
| 13 | Призначення платежу | 140 С | Змін. | О | * | Узгодження у форматі тексту |
| 14 | Відображення (дисплей) | 70 С | Змін. | Р | * | Додатковий текст |
II. Опис елементів даних QR-коду, що містяться в таблиці 2
3. Елемент "Код старту застосунку". У таблиці 2 це поле має нульовий розмір і наведене для збереження нумерації інших полів.
4. Елемент "Службова мітка". Дані, які розкодовуються з QR-коду, починаються із символів "BCD" - "службової мітки", після якої відразу йде "закінчення рядка". Подальша перевірка вмісту QR-коду повинна містити розпізнавання та визначення "закінчення рядка".
5. Елемент "Версія формату". Версія 002 означає варіант формату № 2.
6. Елемент "Кодування". Значення у полі "Кодування" визначає інтерпретацію даних (кодову таблицю символів), що використовуються в полях, для яких у колонці "Кодування" таблиці зазначено символ "*". Для версії формату 002 у полі "Кодування" значення повинно бути "2" або "1", що передбачає використання кодування Win1251 або UTF-8 відповідно для всіх полів, які можуть містити кириличні символи.
7. Елемент "Функція". Функція визначається її ключовими значеннями: кредитовий переказ - Ukrainian Credit Transfer: код "UCT" (для версії формату 002 допускається виключно значення "UCT").
8. Елемент "BIC". Для версії формату 002 поле "BIC" зарезервовано.
9. Елемент "Отримувач". Містить прізвище, ім'я, по батькові фізичної особи або найменування юридичної особи. Довжина значення елемента не повинна перевищувати довжину 38 символів для версії формату 002.
10. Елемент "Рахунок отримувача". Містить номер рахунку отримувача. Довжина значення елемента не повинна перевищувати довжину елемента 29 символів для версії формату 002.
11. Елемент "Сума/валюта". Значення в полі "Сума/валюта" є опціональним. Якщо поле "Сума/валюта" порожнє, то заповнення суми має здійснитися під час ініціювання платежу. Максимальне число в полі "Сума/валюта" становить 999999999.99. Якщо сума не містить дрібної частини одиниці валюти, то допускається відсутність символу "." та нулів після цього символу. Якщо сума містить дрібну частину одиниці валюти, то ця дрібна частина обов'язково складається з двох цифрових символів.
Перед сумою повинні розміщуватися три великі літери коду валюти. Єдиною валютою, доступною для версії формату 002, є гривня.
Сума має бути якомога коротшою відповідно до результуючого коду, наприклад, краще "UAH3", ніж "UAH3.00". Нулі перед сумою зазначати заборонено.
12. Елемент "Код отримувача". Може містити один із трьох варіантів:
1) РНОКПП отримувача - фізичної особи;
2) серію (за наявності) та номер паспорта отримувача - фізичної особи, якщо через свої релігійні переконання вона відмовилася від прийняття реєстраційного номера облікової картки платника податків та повідомила про це відповідний контролюючий орган і має відмітку в паспорті;
3) код за ЄДРПОУ/реєстраційний (обліковий) номер платника податку, який присвоюється контролюючими органами, отримувача - юридичної особи.
13. Елемент "Ціль". Зарезервовано для подальшого використання.
14. Елемент "Reference". Зарезервовано для подальшого використання.
15. Елемент "Призначення платежу". Містить інформацію про платіж у текстовій формі.
16. Елемент "Відображення (дисплей)". Містить текст, призначений для виведення на дисплей або друку. Цей текст не включається до даних операції переказу коштів і має бути показаний користувачеві після розкодування QR-коду. Крім того, цей текст у незмінному або зміненому вигляді може використовуватись у системах обробки даних для деталізації даних операції.
III. Пояснення до заповнення таблиць 1, 2
17. QR-код складається з двох структур: повної структури і структури відкритих даних. Таблиця 1 містить опис повної структури, таблиця 2 - опис структури відкритих даних.
18. Колонка 3 "Довжина" містить визначений або максимальний розмір елемента:
1) В - у байтах;
2) С - у символах.
19. Колонка 4 "Фікс./змін." визначає довжину елемента:
3) фікс. - фіксована, елемент завжди має бути визначеної довжини;
4) змін. - змінна, елемент може бути будь-якої довжини в межах визначеної.
20. Колонка 5 "Обов'язковість":
1) О - обов'язковий, не може бути порожнім;
2) Оп. - опціональний, обов'язково наявний, може містити текст або бути порожнім (складатися виключно із "закінчення рядка");
3) Р - резервний, у зазначеній версії формату має бути порожнім (складатися виключно із "закінчення рядка").
21. Колонка 6 "Кодування":
1) А - ISO 646;
2) * - ISO 646 або інше (UTF-8, Windows-1251). Для усіх полів, у яких можуть міститися дані з кодуванням, відмінним від ISO 646, повинно застосовуватись однакове кодування, визначене в полі "Кодування".
22. "Закінчення рядка" може бути у вигляді одного з двох варіантів: Lf або Cr + Lf. Який із варіантів використовується - визначається безпосередньо після службової мітки BCD. "Закінчення рядка" повинно бути однаковим для всіх рядків.
Для мінімізації розміру QR-коду у версії формату 002 рекомендується застосовувати як "закінчення рядка" виключно варіант Lf.
III. Пояснення щодо структури даних, генерації та декодування даних QR-коду версії формату 002
23. Загальний обсяг даних, які підлягають кодуванню для генерації QR-коду, що містить структуру версії формату 002, не може перевищувати 500 байт.
24. Максимальна версія згенерованого QR-коду для версії формату 002 дорівнює 15. Це еквівалентно кількості модулів, яка дорівнює 77.
25. QR-код версії формату 002 складається з двох структур: внутрішньої і повної.
26. Внутрішня структура QR-коду - структура, елементи даних якої наведено в пунктах 2 - 14 таблиці 2 додатка 2 до Правил.
27. Повна структура QR-коду - рядок, який відповідає вимогам до URL, визначеним Консорціумом Всесвітнього павутиння. Цей рядок починається з константного значення "https://bank.gov.ua/qr/", призначеного для можливості автоматичного запуску застосунків, призначених для оброблення даних QR-коду, для здійснення кредитових переказів, після якого додається рядок, який містить внутрішню структуру QR-коду в кодуванні.
28. Для генерації QR-коду версії формату 002 послідовно: формується структура відкритих даних; виконується кодування внутрішньої структури даних QR-коду за алгоритмом Base64URL; формується повна структура QR-коду шляхом додання методом конкатенації закодованих даних до константи, визначеної в полі "Код старту застосунку" таблиці 1 додатка 2 до Правил; формується графічне зображення QR-коду як кодування отриманого в результаті попередніх дій рядка URL зі встановленням оптимального рівня корекції помилок.
29. Для отримання структури відкритих даних QR-коду потрібно виконати декодування графічного QR-коду в рядок URL, відкинути поле "Код старту застосунку", декодувати за алгоритмом Base64URL частину рядка, яка залишиться після відкидання поля "Код старту застосунку". Після декодування отримані дані повинні відповідати структурі, наведеній у таблиці 1 додатка 2 до Правил.
IV. Приклади QR-кодів
Таблиця 3.1
Частина 1. Обслуговування в стоматологічній клініці
№ з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | | - | Код старту застосунку |
| 2 | BCD | 42 43 44 0A | Службова мітка |
| 3 | 002 | 30 30 32 0A | Версія |
| 4 | 2 | 32 0A | Кодування |
| 5 | UCT | 55 43 54 0A | Функція |
| 6 | | 0A | BIC |
| 7 | ТОВ "Стоматологія" | D2 CE C2 20 93 D1 F2 EE EC E0 F2 EE EB EE E3 B3 FF 94 0A | Найменування юридичної особи |
| 8 | UA783226690000026005012107358 | 55 41 37 38 33 32 32 36 36 39 30 30 30 30 30 32 36 30 30 35 30 31 32 31 30 37 33 35 38 0A | Номер рахунку |
| 9 | UAH1034.28 | 55 41 48 31 30 33 34 2E 32 38 0A | Сума/валюта |
| 10 | 40723824 | 34 30 37 32 33 38 32 34 0A | Код за ЄДРПОУ |
| 11 | | 0A | Ціль |
| 12 | | 0A | Reference |
| 13 | Стоматологічні послуги | D1 F2 EE EC E0 F2 EE EB EE E3 B3 F7 ED B3 20 EF EE F1 EB F3 E3 E8 0A | Призначення платежу |
| 14 | | 0A | Відображення (дисплей) |
Таблиця 3.2
Частина 2. Обслуговування в стоматологічній клініці
| Повна структура QR-коду |
№ з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | https://bank.gov.ua/qr/ | 68 74 74 70 73 3A 2F 2F 62 61 6E 6B 2E 67 6F 76 2E 75 61 2F 71 72 2F | Код старту застосунку |
| 2 | QkNECjAwMgoyClVD VAoK0s7CIJPR8u7s4PL u6-7js_- UClVBNzgzMjI2Njkw MDAwMDI2MDA1MD EyMTA3MzU4ClVBSD EwMzQuMjgKNDA3Mj M4MjQKCgrR8u7s4PLu 6-7j s_ftsyDv7vHr8-PoCg | 51 6B 4E 45 43 6A 41 77 4D 67 6F 79 43 6C 56 44 56 41 6F 4B 30 73 37 43 49 4A 50 52 38 75 37 73 34 50 4C 75 36 2D 37 6A 73 5F 2D 55 43 6C 56 42 4E 7A 67 7A 4D 6A 49 32 4E 6A 6B 77 4D 44 41 77 4D 44 49 32 4D 44 41 31 4D 44 45 79 4D 54 41 33 4D 7A 55 34 43 6C 56 42 53 44 45 77 4D 7A 51 75 4D 6A 67 4B 4E 44 41 33 4D 6A 4D 34 4D 6A 51 4B 43 67 72 52 38 75 37 73 34 50 4C 75 36 2D 37 6A 73 5F 66 74 73 79 44 76 37 76 48 72 38 2D 50 6F 43 67 | Закодований вміст відкритих даних |
Таблиця 4.1
Частина 1. Оплата комунальних послуг
| Внутрішня структура QR-коду |
№ з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | | - | Код старту застосунку |
| 2 | BCD | 42 43 44 0A | Службова мітка |
| 3 | 002 | 30 30 32 0A | Версія |
| 4 | 2 | 32 0A | Кодування |
| 5 | UCT | 55 43 54 0A | Функція |
| 6 | | 0A | BIC |
| 7 | ПрАТ АК "Водопостачання" | CF F0 C0 D2 20 C0 CA 20 93 C2 EE E4 EE EF EE F1 F2 E0 F7 E0 ED ED FF 94 0A | Найменування юридичної особи |
| 8 | UA783226690000026005012107132 | 55 41 37 38 33 32 32 36 36 39 30 30 30 30 30 32 36 30 30 35 30 31 32 31 30 37 31 33 32 0A | Номер рахунку |
| 9 | UAH576.45 | 55 41 48 35 37 36 2E 34 35 0A | Сума/валюта |
| 10 | 40723825 | 34 30 37 32 33 38 32 35 0A | Код за ЄДРПОУ |
| 11 | | 0A | Ціль |
| 12 | | 0A | Reference |
| 13 | Оплата за червень 2019, вул. Свободи 1, кв. 24, Петренко С.І. Показання лічильника 23578,3 | CE EF EB E0 F2 E0 20 E7 E0 20 F7 E5 F0 E2 E5 ED FC 20 32 30 31 39 2C 20 E2 F3 EB 2E 20 D1 E2 EE E1 EE E4 E8 20 31 2C 20 EA E2 2E 20 32 34 2C 20 CF E5 F2 F0 E5 ED EA EE 20 D1 2E 20 B2 2E 20 CF EE EA E0 E7 E0 ED ED FF 20 EB B3 F7 E8 EB FC ED E8 EA E0 20 32 33 35 37 38 2C 33 0A | Призначення платежу |
| 14 | | 0A | Відображення (дисплей) |
Таблиця 4.2
Частина 2. Оплата комунальних послуг
| Повна структура QR-коду |
№ з/п | Вміст поля | Назва поля |
| текст | НЕХ |
| 1 | 2 | 3 | 4 |
| 1 | https://bank.gov.ua/qr/ | 68 74 74 70 73 3A 2F 2F 62 61 6E 6B 2E 67 6F 76 2E 75 61 2F 71 72 2F | Код старту застосунку |
| 2 | QkNECjAwMgoyClVDVAoK z_DA0iDAyiCTwu7k7u_u8fL g9-Dt7f- UClVBNzgzMjI2NjkwMDAw MDI2MDA1MDEyMTA3MT MyClVBSDU3Ni40NQo0MD cyMzgyNQoKCs7v6- Dy4CDn4CD35fDi5e38IDIw MTksIOLz6y4g0eLu4e7k6CA xLCDq4i4gMjQsIM_l8vDl7er uINEuILIuIM_u6uDn4O3t_y Drs_fo6_zt6OrgIDIzNTc4LD MKCg | 51 6B 4E 45 43 6A 41 77 4D 67 6F 79 43 6C 56 44 56 41 6F 4B 7A 5F 44 41 30 69 44 41 79 69 43 54 77 75 37 6B 37 75 5F 75 38 66 4C 67 39 2D 44 74 37 66 2D 55 43 6C 56 42 4E 7A 67 7A 4D 6A 49 32 4E 6A 6B 77 4D 44 41 77 4D 44 49 32 4D 44 41 31 4D 44 45 79 4D 54 41 33 4D 54 4D 79 43 6C 56 42 53 44 55 33 4E 69 34 30 4E 51 6F 30 4D 44 63 79 4D 7A 67 79 4E 51 6F 4B 43 73 37 76 36 2D 44 79 34 43 44 6E 34 43 44 33 35 66 44 69 35 65 33 38 49 44 49 77 4D 54 6B 73 49 4F 4C 7A 36 79 34 67 30 65 4C 75 34 65 37 6B 36 43 41 78 4C 43 44 71 34 69 34 67 4D 6A 51 73 49 4D 5F 6C 38 76 44 6C 37 65 72 75 49 4E 45 75 49 4C 49 75 49 4D 5F 75 36 75 44 6E 34 4F 33 74 5F 79 44 72 73 5F 66 6F 36 5F 7A 74 36 4F 72 67 49 44 49 7A 4E 54 63 34 4C 44 4D 4B 43 67 | Закодований вміст відкритих даних |
Таблиця 5.1
Частина 1. Купівля товарів (QR-код із максимально заповненими полями)
| № з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | | - | Код старту застосунку |
| 2 | BCD | 42 43 44 0A | Службова мітка |
| 3 | 002 | 30 30 32 0A | Версія |
| 4 | 2 | 3 0A | Кодування |
| 5 | UCT | 55 43 54 0A | Функція |
| 6 | | 0A | BIC |
| 7 | ТОВ "Магазин спеціалізованих будівельних матеріалів "Гайда працювати!" | D2 CE C2 20 93 CC E0 E3 E0 E7 E8 ED 20 F1 EF E5 F6 B3 E0 EB B3 E7 EE E2 E0 ED E8 F5 20 E1 F3 E4 B3 E2 E5 EB FC ED E8 F5 20 EC E0 F2 E5 F0 B3 E0 EB B3 E2 20 22 C3 E0 E9 E4 E0 20 EF F0 E0 F6 FE E2 E0 F2 E8 21 22 94 0A | Найменування юридичної особи |
| 8 | UA783226690000026005012107133 | 55 41 37 38 33 32 32 36 36 39 30 30 30 30 30 32 36 30 30 35 30 31 32 31 30 37 31 33 33 0A | Номер рахунку |
| 9 | UAH124.45 | 55 41 48 31 32 34 2E 34 35 0A | Сума/валюта |
| 10 | 40723823 | 34 30 37 32 33 38 32 33 0A | Код за ЄДРПОУ |
| 11 | | 0A | Ціль |
| 12 | | 0A | Reference |
| 13 | Оплата за: цемент М500, сітка стягуюча 10 кв. м, плитка "Гармонія" 30 кв. м, рукавички садові 5 пар, комплектуючі до газонокосарки "Наталка-2000" | CE EF EB E0 F2 E0 20 E7 E0 20 3A 20 F6 E5 EC E5 ED F2 20 CC 35 30 30 2C 20 D1 B3 F2 EA E0 20 F1 F2 FF E3 F3 FE F7 E0 20 31 30 EA E2 2E EC 2E 2C 20 EF EB E8 F2 EA E0 20 22 C3 E0 F0 EC EE ED B3 FF 22 20 33 30 20 EA E2 2E EC 2E 2C 20 F0 F3 EA E0 E2 E8 F7 EA E8 20 F1 E0 E4 EE E2 B3 20 35 EF E0 F0 2C 20 EA EE EC EF EB E5 EA F2 F3 FE F7 B3 20 E4 EE 20 E3 E0 E7 EE ED EE EA EE F1 E8 EB EA E8 20 22 CD E0 F2 E0 EB EA E0 2D 32 30 30 30 22 0A | Призначення платежу |
| 14 | | 0A | Відображення (дисплей) |
Таблиця 5.2
Частина 2. Купівля товарів (QR-код із максимально заповненими полями)
| Повна структура QR-коду |
| № з/п | Вміст поля | Назва поля |
| текст | HEX |
| 1 | 2 | 3 | 4 |
| 1 | https://bank.gov.ua/qr/ | 68 74 74 70 73 3A 2F 2F 62 61 6E 6B 2E 67 6F 76 2E 75 61 2F 71 72 2F | Код старту застосунку |
| 2 | QkNECjAwMgoyClVDVAo K0s7CIJPM4OPg5- jtIPHv5faz4Ouz5- 7i4O3o9SDh8- Sz4uXr_O3o9SDs4PLl8LPg 67PiICLD4Onk4CDv8OD2_ uLg8ughIpQKVUE3ODMy MjY2OTAwMDAwMjYwM DUwMTIxMDcxMzMKVU FIMTI0LjQ1CjQwNzIzODIz CgoKzu_r4PLgIOfgIDog9u Xs5e3yIMw1MDAsINGz8ur gIPHy_- Pz_vfgIDEw6uIu7C4sIO_r6 PLq4CAiw- Dw7O7ts_8iIDMwIOriLuwu LCDw8- rg4uj36ugg8eDk7uKzIDXv4 PAsIOru7O_r5ery8_73syDk 7iDj4Ofu7e7q7vHg8OrgICL N4PLg6-rgLTIwMDAiCgo | 51 6B 4E 45 43 6A 41 77 4D 67 6F 79 43 6C 56 44 56 41 6F 4B 30 73 37 43 49 4A 50 4D 34 4F 50 67 35 2D 6A 74 49 50 48 76 35 66 61 7A 34 4F 75 7A 35 2D 37 69 34 4F 33 6F 39 53 44 68 38 2D 53 7A 34 75 58 72 5F 4F 33 6F 39 53 44 73 34 50 4C 6C 38 4C 50 67 36 37 50 69 49 43 4C 44 34 4F 6E 6B 34 43 44 76 38 4F 44 32 5F 75 4C 67 38 75 67 68 49 70 51 4B 56 55 45 33 4F 44 4D 79 4D 6A 59 32 4F 54 41 77 4D 44 41 77 4D 6A 59 77 4D 44 55 77 4D 54 49 78 4D 44 63 78 4D 7A 4D 4B 56 55 46 49 4D 54 49 30 4C 6A 51 31 43 6A 51 77 4E 7A 49 7A 4F 44 49 7A 43 67 6F 4B 7A 75 5F 72 34 50 4C 67 49 4F 66 67 49 44 6F 67 39 75 58 73 35 65 33 79 49 4D 77 31 4D 44 41 73 49 4E 47 7A 38 75 72 67 49 50 48 79 5F 2D 50 7A 5F 76 66 67 49 44 45 77 36 75 49 75 37 43 34 73 49 4F 5F 72 36 50 4C 71 34 43 41 69 77 2D 44 77 37 4F 37 74 73 5F 38 69 49 44 4D 77 49 4F 72 69 4C 75 77 75 4C 43 44 77 38 2D 72 67 34 75 6A 33 36 75 67 67 38 65 44 6B 37 75 4B 7A 49 44 58 76 34 50 41 73 49 4F 72 75 37 4F 5F 72 35 65 72 79 38 5F 37 33 73 79 44 6B 37 69 44 6A 34 4F 66 75 37 65 37 71 37 76 48 67 38 4F 72 67 49 43 4C 4E 34 50 4C 67 36 2D 72 67 4C 54 49 77 4D 44 41 69 43 67 6F | Закодований вміст відкритих даних |