Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

1. Включите в шаблоне касс функциональность работы с юридическими лицами.

2. Перейдите в Интеграция → Внешние процессинги → кликните .

...

Настройки плагина будут отправлены на кассы. Перезагрузите кассы в линейке.Image Removed

Начиная с версии 10.3.3.0 длина номера карты = 12 символов.

Image Added

Категория карт на сервере

...

  1. Клиент (владелец карты) в мобильном приложении QP5 Club формирует динамический QR-код для идентификации. 
  2. Сгенерированный QR-код состоит из 16 цифр (эти же цифры дублируются под QR-кодом на случай, если не удалось отсканировать код и его требуется ввести вручную):
    1. Первые 12 цифр - номер карты.
    2. Последние четыре цифры - это преобразованный хеш, вычисленный по определенному алгоритму, описанному ниже.
  3. Кассир сканирует QR-код или вводит его вручную на кассе.
  4. Все дисконтные карты загружаются из мастер-системы клиента (ERP) в SetRetail10, используя веб-сервис для импорта дисконтных карт (Импорт дисконтных карт и анкет клиентов из ERP в SetRetail10).
  5. При этом из входного json-файла (ERP) загружаются следующие данные:
    1. card_number (номер карты) должен быть загружен в поле number экземпляра внутренних карт “<internal-card>”.
      1. Пример: number="770000000070", формат - “Long“.
    2. org_id (идентификатор юридического лица) должен быть загружен в поле debitor-number контрагента внутренних карт (юридического лица) <counterparty>.
      1. Пример: debitor-number="3079bb8c-6ce8-11ea-80d1-005056b2f60f“, тип данных - “String“.
  6. Плагин на основании загруженных данных и времени сканирования QR-кода формирует проверочные 4 цифры:
    1. Конкатенация (склеивание) строк:
      1. Номер карты лояльности.
      2. Идентификатор юр. лица.
      3. Время сканирования QR-кода в UTC Unix Time, т. е. округленное текущее время до интервала 3 часа в меньшую сторону, например 16:46:30 → 15:00:00. Следует иметь в виду, что время преобразуется UTC Unix Time из GMT, а не из GMT+3.
    2. Полученная объединенная строка хешируется алгоритмом SHA1.
    3. Результирующий хеш преобразуется по алгоритму:
      1. Берутся первые 4 символа хеша.
      2. От каждого символа получается код символа ASCII.
      3. От каждого полученного кода символа берется первая цифра.
      4. Склеиваются символы в строку из 4 цифр.
  7. Полученные 4 цифры сверяются с проверочными цифрами (последние 4 цифры отсканированного QR-кода).
  8. Если проверочные цифры совпали, то карта добавляется в чек.
  9. Если проверочные цифры не совпали, то проверяется предыдущий трехчасовой интервал по такому же алгоритму, т. е. меняется время сканирования с 15:00:00 на 12:00:00.
  10. Если новые вычисленные цифры совпали с проверочными, добавляеться карта в чек, в противном случае карта не добавляется.
  11. Следует учесть, что карта после идентификации добавляется в чек только в том случае, если она активна (это стандартное поведение).
  12. Пример для проверки.
    1. Время сканирования QR-кода (считается до миллисекунд) “1625495251725“, что соответствует 05.07.2021 14:27:31.725 GMT.
    2. Номер карты – “770000000070“.
    3. Идентификатор юридического лица – “3079bb8c-6ce8-11ea-80d1-005056b2f60f“.
    4. Округленное время сканирования до интервала 3 часов в меньшую сторону – “1625486400000“ (05.07.2021 12:00:00.000 GMT).
    5. Таким образом, получаем строку для вычисления хеша – “7700000000703079bb8c-6ce8-11ea-80d1-005056b2f60f1625486400000“.
    6. Хеш для строки – “8c40dff0f28c8ea33a36df65d3d458fcbbc0bca6“.
    7. По алгоритму, описанному выше, получаем 4 цифры – “5954“.
    8. Сравниваем с последними четырьмя цифрами QR-кода, видим, что они совпали, поэтому добавляем карту в чек (если она активна).

Запрет добавление карты без проверочного кода

Устаревшая версия Jira
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySR-5127

...