Skip to main content

Авторизация

Для начала работы с LIFE POS Checkout нужно выполнить авторизацию. В личном кабинете LIFE POS это называется активация рабочего места. Сделать это через Checkout можно двумя способами: вручную или по запросу из вашего приложения.

Чтобы активировать рабочее место вручную, запустите Checkout и укажите код активации полученный в СМС. Отправку кода активации выполняет администратор или владелец компании через ЛК LIFE POS.

Для активации рабочего места из вашего приложения, выполните запрос через intent. Для этого используйте операцию Активация рабочего места. Для получения кодов активации используйте API LIFE POS, метод GenerateActivationCodeOfWorkplace

Чтобы проверить необходимость активации рабочего месте, используйте операцию Получение статуса активации рабочего места.

Доступные операции:

Название операцииДействие (action)
Активация рабочего местаru.lifepay.checkout.auth.activate_workplace
Получение статуса активации рабочего местаru.lifepay.checkout.auth.get_workplace_activation_status

Активация рабочего места

Действие: ru.lifepay.checkout.auth.activate_workplace

Операция позволяет активировать рабочее место при помощи переданного кода активации. Если текущее рабочее место уже активировано, то данные о предыдущей активации удаляются и выполняется новая активация.

При успешном запросе Checkout возвращает resultCode = Activity.RESULT_OK (-1) и экземпляр класса Intent с действием action, которое было указано во входящем интенте.

При ошибке Checkout вернёт resultCode со значением отличным от Activity.RESULT_OK или intent будет содержать null.

Для определения факта успешной или неуспешной активации проверяйте значение параметра code:

  • значение 0 — рабочее место было успешно активировано;
  • значение отличное от 0 — произошла ошибка.

Параметры запроса

НазваниеТипОбязательностьЗначение/описание
activation_codeStringдаКод активации. Длина от 1 до 8 символов включительно. Только цифры.

Параметры ответа при успешной активации

НазваниеТипОбязательностьЗначение/описание
codeIntда0 - успешная активация рабочего места.

Значения полей можно извлекать из экземпляра класса Bundle, получаемого из свойства extras класса Intent при помощи методов extras.getInt(...) и extras.getString(...).

Параметры ответа при ошибке:

НазваниеТипОбязательностьЗначение/описание
codeIntдаОтличное от нуля значение. Означает, что произошла ошибка.
messageStringдаТекст ошибки для вывода пользователю.

Пример выполнения запроса

fun activationWorkplace(activationCode: String) {
sendRequest(
intent = Intent("ru.lifepay.checkout.auth.activate_workplace")
.putExtra("activation_code", activationCode)
)
}
try {
activity.startActivityForResult(intent, 5555) //число 5555 взято просто так, можно использовать другое число.
} catch (e: ActivityNotFoundException) {
errorCallback.invoke("Приложение LIFE POS Checkout не установлено на устройстве. Необходимо установить приложение.")
} catch (e: Throwable) {
errorCallback.invoke(e.message)
}

Получение статуса активации рабочего места

Действие: ru.lifepay.checkout.auth.get_workplace_activation_status

Операция позволяет узнать привязано ли данное устройство к рабочему месту. Запрос предназначен для использования в вашем приложении, чтобы определить необходимость активации рабочего места.

При успешном запросе Checkout возвращает resultCode = Activity.RESULT_OK (-1) и экземпляр класса Intent с действием action, которое было указано во входящем интенте.

При ошибке Checkout вернёт resultCode со значением отличным от Activity.RESULT_OK или intent будет содержать null.

Для определения факта успешного получения статуса активации рабочего места следует ориентироваться на значение параметра code, значение 0 означает, что статус получен, значение отличное от 0 соответствует ошибке.

Для определения факта успешного получения статуса проверяйте значение параметра code:

  • значение 0 — статус получен успешно. Для определения текущего статуса рабочего места проверяйте значение параметра status;
  • значение отличное от 0 — произошла ошибка.

Параметры запроса:

Отсутствуют

Параметры ответа при успешной активации:

НазваниеТипОбязательностьЗначение/описание
codeIntда0 - успешное получен статус активации рабочего места.
statusStringдаВозможные значения: authorized - рабочее место активировано, unauthorized - рабочее место не активировано
workplace_guidStringда, если рабочее место активированоИдентификатор рабочего места

Значения полей можно извлекать из экземпляра класса Bundle получаемого из свойства extras класса Intent при помощи методов extras.getInt(...) и extras.getString(...).

Параметры ответа при ошибке:

НазваниеТипОбязательностьЗначение/описание
codeIntдаОтличное от нуля значение. Означает, что произошла ошибка.
messageStringдаТекст ошибки для вывода пользователю.

Пример выполнения запроса

fun getActivationStatus() {
sendRequest(intent = Intent("ru.lifepay.checkout.auth.get_workplace_activation_status"))
}
try {
activity.startActivityForResult(intent, 5555) //число 5555 взято просто так, можно использовать другое число.
} catch (e: ActivityNotFoundException) {
errorCallback.invoke("Приложение LIFE POS Checkout не установлено на устройстве. Необходимо установить приложение.")
} catch (e: Throwable) {
errorCallback.invoke(e.message)
}