Перейти к содержанию

Модуль Koshelek TOTP

Общие сведения

Модуль Koshelek TOTP реализует механизм аутентификации (проверки подлинности) мобильных карт лояльности при их предъявлении на кассе с экрана смартфона в приложении «Кошелёк».

Назначение модуля и механизм аутентификации

Для извлечения идентификатора лояльности и аутентификации пользователя в системе ритейлера используется механизм Time-Based One Time Password (TOTP):

  1. При предъявлении карты Кошелёк формирует одноразовый временный пароль на основе префикса и номера карты.
  2. Временный пароль выводится на экран Кошелька вместе с номером карты в формате штрихкода (ШК).
  3. Кассовое ПО считывает ШК, который затем проверяется в инфраструктуре ритейлера.

Таким образом, модуль решает следующие задачи:

  • Парсинг штрихкода карты лояльности, предъявляемой через Кошелёк.
  • Аутентификация пользователя в системе ритейлера.
  • Извлечение идентификатора лояльности.
  • Проверка подлинности карты лояльности.

Структура штрихкода TOTP, формируемого приложением «Кошелёк»:

Структура штрихкода TOTP

Если ТСП использует одномерные штрихкоды (например, формата code128), то максимальное значение любого штрихкода будет складываться из следующих данных:

  • prefix — префикс, не более 2-х символов (допустимы буквы латинского алфавита и цифры);
  • cardNumber — номер карты, не более 13 цифр при использовании префикса, или 16 цифр без использования префикса;
  • TOTP password — парольная часть TOTP, длина — от 3 до 8 цифр (на основе конфигурации TOTP-профиля партнера).

Если длина номера карты и префикса (вместе) превышает указанные лимиты, ТСП необходимо использовать двумерные штрихкоды, т.к. одномерный штрихкод бóльшей длины не сможет быть корректно отображен на экранах смартфонов для его считывания сканером.