Интеграция с LIFE POS Checkout

Документация по интеграции с приложением LIFE POS Checkout.

Чтобы подключить терминал qPOS и попробовать оплату с исходным приложением, вам понадобится логин и пароль (6 цифр) от учетной записи LifePay. Если вы хотите протестировать платеж и не получили эти данные раньше, обратитесь к вашему менеджеру.

Исходники приложения для демонстрации интеграции

Настройка проекта

В build.gradle файле проекта прописать maven репозиторий:

allprojects {
    repositories {
        maven { 
            url 'https://lifepaycloudplatform.pkgs.visualstudio.com/Common/_packaging/external/maven/v1' 
        }
    }
}

В build.gradle файле модуля приложения подключить зависимости:

implementation "ru.lifepay.periphery:periphery-models:$peripheryVersion"
implementation "com.jakewharton.threetenabp:threetenabp:1.2.4"

Используемая версия моделей:

ext {
    peripheryVersion = "5.3.17"
}

Запуск LIFE POS Checkout

Чтобы отправить запрос в приложение LIFE POS Checkout необходимо создать в своем приложении экземпляр класса Intent, указав действие (action) соответствующее операции, которую необходимо выполнить. Список поддерживаемых операций и соответствующих им действий перечислены в разделе операции доступные в LIFE POS Checkout.

kotlin

val lifeposCheckoutIntent = Intent(action)

java

Intent lifeposCheckoutIntent = new Intent(action);

Для отправки запроса в приложение LIFE POS Checkout необходимо использовать метод startActivityForResult(...) класса Activity:

kotlin

startActivityForResult(lifeposCheckoutIntent, 5555)

java

startActivityForResult(lifeposCheckoutIntent, 5555);

Для получения результата операции необходимо перегрузить метод onActivityResult(...) класса Activity:

kotlin

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    //обработка
}

java

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    //обработка
}

Параметры запроса необходимо передавать при помощи метода putExtra(...) класса Intent. Например:

kotlin

lifeposCheckoutIntent.putExtra("request_id", requestId)

java

lifeposCheckoutIntent.putExtra("request_id", requestId);

Операции доступные в LIFE POS Checkout

Операции авторизации

Подробное описание протокола операций авторизации смотреть по ссылке.

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

Операции с периферийными устройствами

Подробное описание протокола операций с периферийными устройствами смотреть по ссылке.

Название операции Действие (action)
Управление подключенными устройствами ru.lifepay.checkout.periphery.manage_connected_devices

Операции платежного терминала

Подробное описание протокола операций платежного терминала смотреть по ссылке.

Название операции Действие (action)
Оплата ru.lifepay.checkout.payment_terminal.transaction.pay
Возврат ru.lifepay.checkout.payment_terminal.transaction.refund
Отмена ru.lifepay.checkout.payment_terminal.transaction.cancel
Получение результата оплаты/возврата/отмены ru.lifepay.checkout.payment_terminal.transaction.get_result
Сверка итогов ru.lifepay.checkout.payment_terminal.close_shift

Операции по СБП

Подробное описание протокола операций по СБП смотреть по ссылке.

Название операции Действие (action)
Оплата ru.lifepay.checkout.quick_payments_terminal.pay
Возврат ru.lifepay.checkout.quick_payments_terminal.refund