Getnet DocsGetnet Docs

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)

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.

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.