# Gestionar los resultados de la transacción

Esta guía te muestra cómo gestionar los resultados de las transacciones devueltos por la aplicación Get Mini. Aprenderás a registrar el resultado de la transacción, comprobar el código de resultado y extraer los datos de la transacción de la respuesta.

## Requisitos

Antes de seguir los pasos, asegúrate de tener:

* Completada una transacción utilizando [Procesar un pago](https://docs.globalgetnet.com/es/products/local-processor-spain/get-mini?doc=getmini-app2app-processing-a-payment), [Devolver un pago](https://docs.globalgetnet.com/es/products/local-processor-spain/get-mini?doc=getmini-app2app-processing-a-refund) u [Operaciones de consulta](/es/get-mini/get-mini-app2app/transaction-guides/transactions/query-operations)
* `ActivityResultLauncher` correctamente registrado en tu Activity o Fragment

<Callout type="tip">

Registra siempre tu result launcher antes de iniciar cualquier intent de transacción.

</Callout>

## Proceso de gestión de resultados

Esta sección te guía en la implementación del resultado para procesar las respuestas de transacción de la aplicación Get Mini.

### Paso 1: Registrar el Activity Result Launcher

Registra un `ActivityResultLauncher` en el método `onCreate()` de tu Activity o en la inicialización del Fragment. Este launcher recibirá el resultado cuando la aplicación Get Mini complete la transacción.

El siguiente código muestra cómo registrar el launcher:

```java
ActivityResultLauncher<Intent> paymentLauncher = registerForActivityResult(
    new ActivityResultContracts.StartActivityForResult(),
    result -> {
        // Handle the result here
        handleTransactionResult(result);
    }
);
```

### Paso 2: Comprobar el código de resultado

Cuando la aplicación Get Mini devuelve el control a tu aplicación, comprueba primero el código de resultado. Un código de resultado de `RESULT_OK` indica que la operación se completó correctamente, mientras que `RESULT_CANCELED` indica que se canceló o falló.

```java
private void handleTransactionResult(ActivityResult result) {
    if (result.getResultCode() == Activity.RESULT_OK) {
        // Transaction successful
        processSuccessfulTransaction(result.getData());
    } else if (result.getResultCode() == Activity.RESULT_CANCELED) {
        // Transaction cancelled or failed
        processFailedTransaction(result.getData());
    }
}
```

### Paso 3: Extraer los datos de la transacción

Extrae los datos relevantes de los extras del intent según el tipo de operación. Para pagos exitosos, recibirás números de autorización y la ruta del ticket certificado. Para fallos, recibirás mensajes de error y el código de resultado (STATE).

```java
private void processSuccessfulTransaction(Intent data) {
    if (data != null) {
        String authNumber = data.getStringExtra("AUTHORIZATION_NUMBER");
        String order = data.getStringExtra("ORDER");
        String state = data.getStringExtra("STATE");

        // Display success message
        showSuccessMessage("Payment approved. Auth: " + authNumber);
    }
}

private void processFailedTransaction(Intent data) {
    if (data != null) {
        String errorMsg = data.getStringExtra("ERROR_MSG");
        String state = data.getStringExtra("STATE");

        // Display error message
        showErrorMessage("Transaction failed: " + errorMsg);
    }
}
```

<Callout type="warning">

Incluso cuando el código de resultado es `RESULT_CANCELED`, los extras del intent a menudo contienen información valiosa de depuración en los campos ERROR_MSG y STATE. Analiza siempre los extras para proporcionar comentarios significativos al usuario.

</Callout>

### Próximos pasos

Ahora que sabes cómo gestionar los resultados de la transacción, puedes:

* Revisar [Códigos de resultado y errores](/es/get-mini/get-mini-app2app/reference/result-codes-and-errors) para obtener una lista completa de los campos de respuesta
* Obtener información sobre [Gestión del ticket](/es/get-mini/get-mini-app2app/core-concepts/receipt-management) para mostrar la boleta de la transacción
* Implementar [Gestionar la disponibilidad de la aplicación](/es/get-mini/get-mini-app2app/transaction-guides/response-handling/handle-app-availability) para comprobar si la aplicación Get Mini está instalada