# Restablecimiento del POS

La operación de restablecimiento (reset) se utiliza para borrar todos los datos de la app, las configuraciones y las sesiones activas dentro de la app Tap on Phone.

Debes realizar un restablecimiento cuando desees cambiar a un usuario o comercio diferente. También puedes utilizar un restablecimiento para forzar a la app a actualizar su configuración. Tras un restablecimiento exitoso, la app vuelve a un estado `None`, y debes inicializarla de nuevo antes de procesar cualquier transacción nueva.

## Paso 1: Registrar un `BroadcastReceiver`

Al igual que la solicitud de estado, la operación de restablecimiento se produce en segundo plano. Debes registrar un `BroadcastReceiver` para saber cuándo la app Tap on Phone finaliza el proceso de restablecimiento.

Puedes escuchar la acción de respuesta predeterminada (`com.dejamobile.cbp.sps.RESET_BROADCAST_RESPONSE`) o definir tu propia acción 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">

El broadcast de respuesta de restablecimiento no contiene ningún extra del intent. La recepción del broadcast confirma que el proceso de restablecimiento ha finalizado.

</Callout>

## Paso 2: Enviar el broadcast de restablecimiento

Construye y envía el intent de broadcast para activar el restablecimiento. Debes dirigirte a la clase `ResetBroadcastReceiver` dentro de la app 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 pasos

Tras restablecer el POS, no podrás realizar ninguna transacción hasta que vuelvas a inicializar la app con un usuario y comercio válidos.

* Consulta el [Quick Start: Tu Primera Inicialización](/es/get-tap-on-phone/first-steps/quick-start-your-first-initialization) para inicializar la app para el nuevo usuario.  
* Aprende a procesar pagos en [Procesar una Transacción de Compra](/es/get-tap-on-phone/transaction-guides/process-a-purchase-transaction).