Getnet DocsGetnet Docs

Redefinindo o POS

Você usa a operação de reset para limpar todos os dados do aplicativo, configurações e sessões ativas dentro do aplicativo Tap on Phone.

Você deve realizar um reset quando desejar mudar para um usuário ou lojista diferente. Você também pode usar um reset para forçar o aplicativo a atualizar sua configuração. Após um reset bem-sucedido, o aplicativo retorna para um estado None, e você deve inicializá-lo novamente antes de processar quaisquer novas transações.

Passo 1: Registrar um Broadcast Receiver

Assim como a solicitação de status, a operação de reset ocorre em segundo plano. Você deve registrar um BroadcastReceiver para saber quando o aplicativo Tap on Phone conclui o processo de reset.

Você pode escutar a ação de resposta padrão (com.dejamobile.cbp.sps.RESET_BROADCAST_RESPONSE) ou definir sua própria ação personalizada.

// Define your broadcast action (default or custom)
val resetResponseAction = "com.dejamobile.cbp.sps.RESET_BROADCAST_RESPONSE"

val receiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context?, intent: Intent?) {
        println("The Tap on Phone application has been successfully reset.")

        // The POS is now in a "None" state. You must initialize it again.

        // Unregister the receiver once handled
        context?.unregisterReceiver(this)
    }
}

// Register the receiver
val filter = IntentFilter(resetResponseAction)
registerReceiver(receiver, filter)

O broadcast de resposta de reset não contém nenhum extra do intent. O recebimento do broadcast confirma que o processo de reset está concluído.

Passo 2: Enviar o Broadcast de Reset

Construa e envie o intent de broadcast para acionar o reset. Você deve direcionar à classe ResetBroadcastReceiver dentro do aplicativo Tap on Phone.

val intent = Intent().apply {
    action = "com.dejamobile.cbp.sps.RESET_BROADCAST"
    component = ComponentName(
        "com.dejamobile.cbp.sps.app",
        "com.dejamobile.cbp.sps.app.broadcast.ResetBroadcastReceiver"
    )
    addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)

    // Optional: Specify your custom response action
    // putExtra("ResponseAction", resetResponseAction)
}

// Send the broadcast
sendBroadcast(intent)

Próximos Passos

Após redefinir o POS, você não poderá realizar nenhuma transação até inicializar o aplicativo novamente com um usuário e lojista válidos.