# 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)
```

<Callout type="note">

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.

</Callout>

## 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.

* Consulte o [Quick Start: Sua Primeira Inicialização](/pt/get-tap-on-phone/first-steps/quick-start-your-first-initialization) para inicializar o aplicativo para o novo usuário.  
* Aprenda como processar pagamentos em [Processar uma Transação de Compra](/pt/get-tap-on-phone/transaction-guides/process-a-purchase-transaction).