QR-код НБУ
Foppy формує платіжні QR-коди у форматі, визначеному Постановою НБУ № 97
(стандарт BCD/001/1/UCT).
QR-код містить не сам текст payload, а офіційне посилання НБУ, яке банківські застосунки (Приват24, monobank, Raiffeisen, ПУМБ) розпізнають і декодують самостійно:
https://bank.gov.ua/qr/<base64url(payload)>Структура payload
payload — це 13 рядків, розділених символом нового рядка (\n), із завершальним \n.
Перед вставкою в посилання payload кодується у Base64URL (RFC 4648 §5, без доповнення):
BCD0011UCT
<Назва отримувача><IBAN>UAH<Сума><Код отримувача (ЄДРПОУ/РНОКПП)>
<Призначення платежу>| Рядок | Значення | Приклад |
|---|---|---|
| 1 | Service tag | BCD |
| 2 | Версія | 001 |
| 3 | Кодування | 1 (UTF-8) |
| 4 | Функція | UCT |
| 6 | Назва отримувача | ФОП Іванов І.І. |
| 7 | IBAN | UA12... |
| 8 | Сума | UAH5000 |
| 9 | Код отримувача (ЄДРПОУ/РНОКПП) | 12345678 |
| 12 | Призначення | Оплата за послуги... |
Сума вказується з префіксом UAH: для цілих значень — без копійок (UAH5000), для
дробових — із двома десятковими знаками (UAH5000.50).
QR-код рендериться з рівнем корекції помилок M.