Russian
Архитектура сервиса
Принципы работы Cardsmobile TOTP Service

Механизм аутентификации

Для аутентификации карты в системе эмитента используется механизм Time-Based One Time Password (TOTP): при предъявлении карты «Кошелёк» формирует одноразовый временный пароль на основе номера карты. Временный пароль выводится на экран «Кошелька» вместе с номером карты в формате штрихкода, который считывается кассовым ПО и проверяется в инфраструктуре партнера.

Библиотека "Passcode Verify"

Проверка одноразового пароля, сформированного «Кошельком» при предъявлении карты, выполняется компонентом Passcode Verify — библиотекой, поставляемой Cardsmobile партнеру в формате JAR, DLL или SO, в зависимости от используемой партнером платформы. Библиотека может быть встроена партнером непосредственно в кассовое ПО, или в backend-сервис серверного ПО.
Библиотека проверяет значение пароля, поступающего на вход, и возвращает результат проверки, после чего ПО партнера обрабатывает результат в соответствии с внутренней логикой (например, выполняет списание баллов по программе лояльности и выводит результат на экран кассового терминала).

Вызов библиотеки

Для проверки TOTP-пароля необходимо вызвать библиотеку Passcode Verify и передать ей значения параметров barcode, key, prefix, interval, passLength. Все параметры являются обязательными, любые изменения констант предварительно согласовываются с Cardsmobile:
barcode
key
prefix
interval
passLength
Значение, считанное сканером с экрана Кошелька или введенное кассиром вручную при предъявлении карты. Полное значение штрихкода содержит в себе статическую часть (префикс и номер карты лояльности) и закрывающую динамическую часть (одноразовый временный пароль TOTP).
Можно передать библиотеке полное считанное значение штрихкода (barcode), или с разбиением на части, предварительно отделив номер карты и пароль TOTP (cardNumber, passCode).
Пример А (barcode):
1
CM2775599991258853
Copied!
Пример Б (cardNumber, passCode):
1
2775599991258, 853
Copied!
Секретный ключ партнера (HEX-строка, 16 байт, константа). Значение предварительно передается безопасным способом представителю Cardsmobile.
Пример:
1
70ac89d41ee665408409ffdb1b6596e0
Copied!
Префикс штрихкода (константа) указывает на то, что карта предъявляется из «Кошелька». Мы рекомендуем использовать короткий префикс CM (сокр. от "Cardsmobile").
Пример:
1
CM
Copied!
Время жизни пароля TOTP в секундах. Константа, рекомендуемое значение — 300.
Пример:
1
300
Copied!
Длина пароля TOTP в символах. Константа, рекомендуемое значение — 3.
Пример:
1
3
Copied!
Обработав входные данные, библиотека Passcode Verify возвращает однозначный результат проверки подлинности пароля («да» / «нет»), который далее обрабатывается ПО партнера в соответствии с внутренней логикой.
Пример использования TOTP для применения бонусов к клиенту при оплате приведен на диаграмме ниже.
Использование Cardsmobile TOTP для аутентифтикации карты лояльности
Last modified 1yr ago