PIN Pad
Exibição de mensagem
É possível exibir uma mensagem personalizada no PIN pad. Para isto é necessário que o PIN pad esteja aberto, estado no qual ele se encontra após toda transação (pagamento ou estorno) finalizada com aprovação.
É por meio da função ScopeProvider.displayOnPinpadScreen() que uma solicitação de exibição de texto ocorre.
ScopeProvider.displayOnPinpadScreen()
fun ScopeProvider.displayOnPinpadScreen(context: Context, message: String): ScopeReturnCodes
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
context | Context | Contexto para execução da função. |
message | String | Mensagem de até 32 caracteres, sendo 16 caracteres por linha, que será exibida no visor do PIN pad. |
Retorno
data class ScopeReturnCodes(
val code: Int,
val message: String,
val operationStatus: OperationStatus
)
| Campo | Tipo | Descrição |
|---|---|---|
code | Int | Código de retorno. |
message | String | Mensagem descrevendo o resultado da operação. |
operationStatus | OperationStatus | Enumeração indicando sucesso ou falha da operação. |
Possíveis códigos de retorno
| Código | Mensagem | OperationStatus |
|---|---|---|
0 | Sucesso na operação! | OperationStatus.SUCCESS |
209 | PIN-Pad não configurado. | OperationStatus.SUCCESS |
210 | Display não permitido neste momento ou situação. | OperationStatus.SUCCESS |
211 | PinPad não foi aberto pela aplicação. | OperationStatus.FAILED |
outros | Erro desconhecido | OperationStatus.FAILED |
Exemplo de uso
class MainActivity : AppCompatActivity() {
private val scopeProvider = ScopeProvider(/* Configurações */)
override fun onCreate() {
//...
binding.btnDisplayMessageOnPinpad.setOnClickListener {
lifecycleScope.launch {
val resultCode = scopeProvider.displayOnPinpadScreen(this@MainActivity, " UPDATE SCREEN ")
Log.d("MainActivity", resultCode.toString())
Toast.makeText(
this@MainActivity,
"'displayOnPinpadScreen()' retornou $resultCode",
Toast.LENGTH_LONG
).show()
}
}
}
}