Detecção de cartão
Detecção de Cartão
Faz-se uso da classe SmartPOSCardDetectionRequestBuilder
.
Cartão inserido
Request para verificar que o cartão foi inserido.
Uma vez que este request é realizado, roda uma tarefa em segundo plano consultando o momento que o cartão é inserido, sendo interrompido de duas maneiras:
- sendo cancelado explicitamente
request.cancel()
; - ou no momento que o cartão é inserido.
Exemplo
val request = SmartPOSPlugin.createCardDetectionRequestBuilder()
.callback(object: Callback<SmartPOSCardDetectionResponse>() {
override fun onSuccess(response: SmartPOSCardDetectionResponse) {
if (response.cardWasDetected) {
handleCardWasDetected()
}
}
override fun onFail(error: Throwable) {
}
})
.build()
Zoop.post(request!!)
Cartão removido
Request para verificar, ao fim de uma transação, que o cartão está inserido, e mandar remover, caso necessário. Uma vez que o cartão não esteja presente, será lançado o callback onComplete
.
Uma vez que este request é realizado, roda uma tarefa em segundo plano consultando o momento que o cartão é removido, sendo interrompido de duas maneiras:
- sendo cancelado explicitamente
request.cancel()
; - ou no momento que o cartão é removido.
Informação
Caso o cartão não esteja presente no momento do request, onComplete
é chamado imediatamente.
Exemplo
val request = SmartPOSPlugin.createCardDetectionRequestBuilder()
.cardDetectionType(CardDetectionTypeRequestField.CardDetectionType.REMOVED)
.callback(object: Callback<SmartPOSCardDetectionResponse>() {
override fun onSuccess(response: SmartPOSCardDetectionResponse) {
CoroutineScope(Dispatchers.Main).launch {
if (response.cardWasDetected) {
handleCardStillInserted()
}
}
}
override fun onFail(error: Throwable) {
}
override fun onComplete() {
handleCardIsNotInserted()
}
})
.build()
Zoop.post(request)