QR-код для оплаты: что можно сделать самому, а что дает банк
Код с квитанции ЖКХ собирается своими руками из строки по ГОСТу, а код на кассе выдает банк. Что из платежных кодов можно сделать самому, как его напечатать и почему ему нужно 4–5 см.
«Сделать QR-код для оплаты» это на деле три разные задачи. Прием денег через СБП: код выдает банк, самому такой не собрать. Перевод по реквизитам: строка по ГОСТу, вы собираете ее сами и печатаете листом. Оплата по ссылке: банк или приложение отдают адрес, из него получается обычный код со ссылкой.
Общее у всех трех одно. Код печатают один раз и вешают на виду, поэтому ошибка в реквизитах или в ссылке обходится в целый тираж. Выбора банка и тарифов тут не будет, только техника.
Прием через СБП: код выдает банк
Код для приема оплаты через СБП выдает банк, и только если у вас подключен прием платежей по СБП. Собрать такой код самому нельзя, внутри лежит идентификатор торговой точки, который присваивается при подключении. Как забрать готовый код, банк описывает у себя, обычно это картинка в личном кабинете.
Кодов у банка два вида. Статический привязан к точке и не меняется, клиент сканирует его, вбивает сумму сам и подтверждает перевод. Динамический выпускается под конкретный заказ, сумма в нем уже зашита, и действует он ограниченное время. Печатать динамический незачем, пока лист доедет от принтера до кассы, код уже не годится. На бумагу идет только статический, а сумму клиенту называет кассир.
Что делать с полученным кодом, зависит от того, что банк отдал. Картинку печатайте по его инструкции. Чужой платежный код мы не перерисовываем, генератор собирает коды из данных и не пересобирает готовые изображения. Если банк дал платежную ссылку, вставьте ее в форму, возьмите тип «ссылка», напишите подпись и скачайте лист. Такой код печатается как любая другая табличка с QR-кодом на стол. Для кассы и стола есть табличка для оплаты по QR: код на весь лист, заголовок «Оплата по QR» и пояснение под ним.
Код по реквизитам своими руками
Это тот самый код с квитанции ЖКХ и со счета на оплату. Внутри лежит не ссылка, а строка с реквизитами по ГОСТ Р 56042-2014. Банковское приложение читает ее и подставляет в форму перевода получателя и счет, человеку остается вписать сумму и нажать кнопку.
Строка начинается с ST00012, дальше поля через вертикальную черту, каждое в виде «имя=значение». ST00012 означает кодировку UTF-8. ST00011 это та же строка в Windows-1251, берите первый вариант, кириллица в UTF-8 читается предсказуемее. Обязательных полей пять:
- Name это наименование получателя;
- PersonalAcc это номер счета получателя;
- BankName это название банка;
- BIC это БИК банка;
- CorrespAcc это корреспондентский счет.
За ними идут необязательные, из них чаще всего нужны PayeeINN с ИНН получателя и Purpose с назначением платежа. Полный перечень лежит в тексте ГОСТа. Порядок после первых пяти свободный. Пример строки с вымышленными реквизитами:
ST00012|Name=ООО "Ромашка"|PersonalAcc=40702810138250123017|BankName=АО "Банк"|BIC=049999999|CorrespAcc=30101810900000000999|PayeeINN=7799999999|Purpose=Оплата услуг по договору 12-2026
Отдельной закладки под платежные коды у нас нет, и не нужно, строка ГОСТа это обычный текст. Код делается типом «текст», строка вставляется целиком, без переносов. Потолок текстового типа 500 знаков, пример выше занимает 185. Эту строку мы прогнали через генератор и отсканировали результат: вернулась та же строка байт в байт, кавычки и кириллица прочитались верно.
Второе ограничение текстового типа: подписи под кодом нет. В текст пишут что угодно, включая пробелы, и отделить от него подпись нечем. Заголовок «Оплата по реквизитам» печатают на самой табличке. Чем текстовый тип отличается от остальных, разобрано в статье виды QR-кодов.
Purpose стоит заполнять всегда, хотя поле необязательное. Без назначения в выписке будет общая формулировка, и платеж потом ищут по сумме и дате. Если у каждого клиента свое назначение, а код один на всех, вписывайте общее «Оплата по счету».
В коде по реквизитам нет ни короткой ссылки, ни посредника, реквизиты записаны в самом коде. Пока они не поменялись, код остается актуальным.
Так делают там, где оплата идет переводом на счет: код ставят на счет, на квитанцию и на табличку у стойки. Клиент не перебивает руками счет, БИК и корсчет. Реквизиты одни на всех, так что напечатайте код по реквизитам листом A4 и режьте по рамкам.
Самозанятому: код из платежной ссылки
Самозанятому строку собирать не нужно. Если приложение банка или «Мой налог» дают ссылку на оплату, ее и превращают в код: тип «ссылка», подпись до 100 знаков вида «Оплата за занятие». Печатают такой код визиткой или наклейкой на папку. Ссылка перестанет работать, если закрыть ее в приложении, поэтому до тиража откройте ее с чужого телефона: открыться должна форма оплаты, а не страница входа.
Печать и проверка
Код по реквизитам плотнее обычного. Строка из примера дает 69 модулей в ряду, строка из одних обязательных полей 57, а ссылка на страницу укладывается в 29–33. На стороне 3 см модуль такого кода получается 0,43 мм, и камере этого мало.
Правило десятой части дистанции дает на кассе, где сканируют с 30–40 см, сторону 3–4 см. Коду по реквизитам этого не хватает, закладывайте 4–5 см: на 4,5 см модуль вырастает до 0,65 мм. Числа для остальных дистанций собраны в статье размер QR-кода для печати.
Проверять платежный код надо строже, чем обычный. Отсканируйте его своим банковским приложением и посмотрите, что подставилось в форму перевода: получатель, счет, БИК, назначение. Потом попросите проверить кого-нибудь с другим банком. Одно приложение подставит назначение платежа, другое оставит поле пустым. Кавычки в названии организации читают тоже не все.
Остальные правила печати обычные, только соблюдать их надо строже. Темный код на светлом фоне, пустое поле вокруг матрицы, лазерный принтер вместо струйника с подсевшим картриджем. На рыхлой бумаге мелкие модули расплываются, поэтому проверяйте по пробному оттиску.
FAQ
Как сделать QR-код для оплаты?
Смотря какой. Код приема через СБП выдает банк, самому такой не собрать. Код по реквизитам собирается строкой по ГОСТу и печатается типом «текст». Код на платежную ссылку делается типом «ссылка» за минуту.
Как создать QR-код для оплаты по реквизитам?
Соберите строку вида ST00012|Name=...|PersonalAcc=...|BankName=...|BIC=...|CorrespAcc=..., вставьте ее целиком в поле типа «текст» и скачайте готовый лист. Потолок текстового типа 500 знаков, пример из статьи занимает 185.
Как сделать QR-код для оплаты самозанятому?
Возьмите ссылку на оплату из приложения, вставьте ее в поле типа «ссылка», добавьте подпись и печатайте. Отдельного формата для самозанятых нет, это обычный код со ссылкой.
Что такое статический QR-код для оплаты?
Постоянный код, который не меняется от платежа к платежу: реквизиты или постоянная платежная ссылка. Его печатают один раз и вешают надолго. Динамический выпускают под конкретную сумму, срок его действия задает продавец, и на бумагу он не идет.
Можно ли распечатать QR-код для оплаты?
Да. Банковский код печатают по инструкции банка, свой по реквизитам или по ссылке нашим листом A4.
Следующий шаг
Есть реквизиты счета: соберите строку ST00012 и посмотрите ее на превью. Есть ссылка из приложения: она станет кодом за минуту. В обоих случаях отсканируйте превью прямо с экрана, до того как печатать тираж. Остальные печатные сценарии лежат в базе знаний.
Соберите лист с кодами оплаты: тип «текст» для реквизитов, тип «ссылка» для платежных ссылок. Бесплатно и без регистрации.
Соберите свой лист с QR-кодами
Вставьте список ссылок или загрузите файл: разложим коды по листам A4 с подписями и отдадим PDF, SVG или PNG.
Открыть генератор