Detecção de cartão
Detecção de cartão
- Faz-se uso da classe
SmartPOSCardDetectionRequestBuilder
.
Métodos disponíveis
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()
. - 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()
. - No momento que o cartão é removido.
obs.: Caso o cartão não esteja presente no momento do request, onComplete
é retornado instantaneamente.
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)