12. Получение информации о чеке
Доступность:
- c версии 8.63.0 для "Печать чека (без UI)"
- c версии 8.66.0 для "Печать чека"
Данный интерфейс позволяет по id чека получить информацию о чеке, который ранее был отправлен на печать с помощью интерфейса "Печать чека (без UI)" или интерфейса "Печать чека" и был успешно зарегистрирован.
-
Если чек с заданным id
был
найден, то вернется информация о чеке в виде структуры Check, содержащая:-
Данные, которые пользователь указывал при печати чека через интерфейс "Печати чека (без UI)".
-
Соответствующую фискальную информацию чека FiscalInfo, которая возвращается после успешной регистрации чека.
-
-
Если чек с заданным id
не был
найден, то вернется ошибка с соответствующим сообщением.
Перед поиском чека необходимо запросить разрешение "ru.modulkassa.pos.permission.PRINT_CHECK"
у пользователя и подключиться к сервису МодульКассы.
Теперь можно искать информацию об оплаченном чеке по его checkId
, то есть по id чека, который зарегистрировался одним из способов ("Печать чека (без UI)" или "Печать чека") :
-
CheckInfoRequest
- запрос с указанием идентификатора документаcheckId
data class CheckInfoRequest(
var checkId: String
)
-
GetCheckInfoAction
- команда для получения информации о чеке c указанием соответствующегоCheckInfoRequest
getCheckInfo.setOnClickListener {
modulkassa?.let {
GetCheckInfoAction(
CheckInfoRequest(checkId = "90206213-7ac8-4cm0-bd4f-37a12345abcd")
).execute(it, object : ActionCallback<Check> {
override fun succeed(result: Check?) {
runOnUiThread {
Toast.makeText(this@MainActivity, "Check Info: $result", Toast.LENGTH_LONG).show()
}
}
override fun failed(message: String, extra: Map<String, Any>?) {
runOnUiThread {
Toast.makeText(this@MainActivity, "$message", Toast.LENGTH_LONG).show()
}
}
})
}
}
Внимание!
- При регистрации через "Печать чека (без UI)" данный интерфейс позволяет получить информацию только по последним 1000 чекам, к-е были зарегистрированы и сохранены. Например, если уже зарегистрировано/хранится 1000 чеков и регистрируется/сохраняется новый 1001-ый чек, то самый старый чек будет удален из хранилища - тем самым будет поддерживаться лимит в 1000 чеков, к-е могут единовременно хранится.
- При регистрации через "Печать чека" данный интерфейс позволяет получить информацию о чеках, зарегистрированные за последние полгода.
- Также стоит учесть, что получать информацию данным способом можно
- для "Печать чека (без UI)", начиная с версии 8.63.0
- для "Печать чека", начиная с версии 8.66.0
- Если чек с заданным id
уже регистрировался
одним из способов ("Печати чека (без UI)" или "Печать чека" ), то повторная регистрация любого чека с таким id вернет ошибку с соответствующим сообщением.