Чтобы закрыть смену банковского терминала:
В манифесте укажите разрешение на закрытие cмены банковского терминала:
<uses-permission android:name="ru.evotor.permission.CLOSE_BANK_SESSION" />
Создайте команду закрытия смены и вызовите метод .process:
 // id банковского терминала, можно получить через PaymentSystemApi
 // можно не передавать или передать null, тогда будет использован пинпад, выбранный по умолчанию
 val paymentSystemAccountId: Int? = null
 // uuid пользователя, можно получить через UserApi
 // можно не передавать или передать null, тогда будет использован текущий авторизованный пользователь на терминале
 val userUuid: String? = null
 CloseBankSessionCommand(paymentSystemAccountId, userUuid).process(context, callback)
Обработка результата. В параметры метода .process передайте следующий callback:
val callback = IntegrationManagerCallback { future ->
            if (future.result?.type == IntegrationManagerFuture.Result.Type.OK) {
                // Смена банковского терминала успешно закрыта
                val result = CloseBankSessionCommandResult.create(future.result.data)
                // В ответ присылается массив строк отчёта, который был отдан банковским терминалом в ответ на закрытие смены
                val slipLines = result?.slipLines
            } else if (future.result?.type == IntegrationManagerFuture.Result.Type.ERROR) {
                when (future.result.error.code) {
                    CloseBankSessionCommandResult.ERROR_CODE_KKM_IS_BUSY -> {
                        // ККМ в данный момент выполняет другую операцию
                    }
                    CloseBankSessionCommandResult.ERROR_CODE_NO_AUTHENTICATED_USER -> {
                        // Нет авторизованного пользователя на терминале
                        // Ошибку возможно получить только если в параметры команды не был передан userUuid
                    }
                    CloseBankSessionCommandResult.ERROR_CODE_NO_PERMISSION -> {
                        // У приложения нет необходимого разрешения (permission)
                        // Добавьте в манифест строчку <uses-permission android:name="ru.evotor.permission.CLOSE_BANK_SESSION" />
                    }
                    CloseBankSessionCommandResult.ERROR_CODE_CLOSE_PINPAD_SESSION_ERROR -> {
                        // Ошибка закрытия смены банковского терминала
                    }
                    CloseBankSessionCommandResult.ERROR_CODE_USER_NOT_FOUND -> {
                        // Пользователь не найден на терминале
                        // В параметры команды передан несуществующий userUuid
                    }
                    CloseBankSessionCommandResult.ERROR_CODE_PINPAD_NOT_FOUND -> {
                        // Платежная система по умолчанию или с заданным accountId не найдена
                    }
                }
            }
        }
Печать отчёта.
Если вам требуется распечатать отчёт, полученный при закрытии смены банковского терминала, то воспользуйтесь возможностью работы с принтером.