ГОСТ Р 56042-2014. Национальный стандарт Российской Федерации. Стандарты финансовых операций. Двумерные символы штрихового кода для осуществления платежей физических лиц
5.5. Указания по использованию стандарта для организаций, принимающих платежи с использованием двумерных символов штрихового кода
Для размещения в двумерном символе штрихового кода используется строка двоичного типа (тип binary) и ее разбор осуществляется непосредственно программным обеспечением принимающей организации. Следовательно, взаимодействие между устройством считывания двумерных символов штрихового кода и программным обеспечением должно происходить с использованием интерфейса, позволяющего передавать считанные двоичные данные без дополнительных преобразований и/или искажений. Таким образом, для взаимодействия не рекомендуется режим имитации клавиатуры (USB HID и т.п.), так как он преобразует данные, имитируя нажатия кнопок клавиатуры.
Получив строку двоичных данных из устройства считывания двумерных символов штрихового кода, принимающая сторона выполняет ее разбор по алгоритму, приведенному в таблице 4.
Таблица 4
Последовательность разбора строки,
закодированной в двумерном символе штрихового кода
Шаг разбора |
1. Считываются первые 2 байта, если они не равны "ST", то прекращается разбор по данному стандарту. |
2. Считываются следующие 4 байта и проверяется версия стандарта, если принимающая сторона поддерживает данную версию, то разбор продолжается. См. также раздел 0 "Поддержка предыдущих версии стандарта". |
3. Считывается признак набора кодированных знаков и знак-разделитель. |
4. Разбирается оставшаяся часть строки согласно используемому набору кодированных знаков. |
5. Считывается блок обязательных реквизитов (5 шт.). Проверяется, что все обязательные реквизиты заполнены. По ним определяется поставщик услуг, а также определяется, имеет ли он договор с данной принимающей организацией. |
6. Считывается блок дополнительных реквизитов: оставшаяся часть строки. Каждый дополнительный реквизит представляет собой пару псевдоним-значение со знаком-разделителем между ними. Если в блоке получены реквизиты с одинаковыми псевдонимами (без учета регистра букв в наименовании псевдонимов), то берется значение последнего из них. Если поставщик услуг договорной, то значения дополнительных реквизитов разбираются согласно договору (помещаются во внутренние переменные, разносятся в реестры). Если поставщик не договорной, то: - дополнительные реквизиты, регулируемые [5] (см. также Приложение А), помещаются в соответствующие поля платежного поручения; - значения прочих дополнительных реквизитов (без псевдонимов) объединяются через пробел в одну строку в порядке следования и передаются поставщику услуг в поле "Назначение платежа" платежного поручения с ограничением на количество знаков (лишние знаки обрезаются) <6>. |
7. Проводится платеж. |
--------------------------------
<6> Максимальная длина поля на момент написания документа составляет 210 знаков. Данное значение регулируется [5].
Пример разбора элементов строки, содержащей данные о платеже, приведен в Приложении Д.