Архитектура сервиса
Принципы работы Cardsmobile TOTP Service
Документация перемещена
Информация на этой странице не обновляется и может быть устаревшей. Наиболее полная и актуальная версия документации для разработчиков доступна по новому адресу:
Механизм аутентификации
Для аутентификации карты в системе эмитента используется механизм Time-Based One Time Password (TOTP): при предъявлении карты Кошелёк формирует одноразовый временный пароль на основе номера карты. Временный пароль выводится на экран Кошелька вместе с номером карты в формате штрихкода, который считывается кассовым ПО и проверяется в инфраструктуре партнера.
Библиотека «Passcode Verify»
Проверка одноразового пароля, сформированного Кошельком при предъявлении карты, выполняется компонентом Passcode Verify — библиотекой, поставляемой Cardsmobile проектной команде партнёра в формате AAR, JAR, DLL или SO, в зависимости от используемой партнером платформы. Библиотека может быть встроена партнером непосредственно в кассовое ПО, или в backend-сервис серверного ПО.
Библиотека проверяет значение пароля, поступающего на вход, и возвращает результат проверки, после чего ПО партнера обрабатывает результат в соответствии с внутренней логикой (например, выполняет списание баллов по программе лояльности и выводит результат на экран кассового терминала).
Вызов библиотеки
Для проверки TOTP-пароля необходимо вызвать библиотеку Passcode Verify и передать ей значения параметров barcode
, key
, prefix
, interval
, passLength
. Все параметры являются обязательными, любые изменения констант предварительно согласовываются с Cardsmobile:
Значение, считанное сканером с экрана приложения «Кошелёк» или введенное кассиром вручную при предъявлении карты. Полное значение штрихкода содержит в себе статическую часть (префикс и номер карты лояльности) и закрывающую динамическую часть (одноразовый временный пароль TOTP).
Можно передать библиотеке полное считанное значение штрихкода (barcode
) или с разбиением на части, предварительно отделив номер карты и пароль TOTP (cardNumber
, passCode
).
Обработав входные данные, библиотека Passcode Verify возвращает однозначный результат проверки подлинности пароля («да» / «нет»), который далее обрабатывается ПО партнера в соответствии с внутренней логикой.
Пример использования TOTP для применения бонусов к клиенту при оплате приведен на диаграмме ниже.
Last updated