# Parámetros de Intent y Bundle

Esta referencia documenta las cadenas de acción (action strings) de Intent y las especificaciones de parámetros de Bundle utilizadas para la integración App2App con la aplicación Get Mini. Todos los parámetros deben pasarse como extras del Intent utilizando el método `putExtra()`.

<Callout type="note">

Esta referencia se aplica únicamente a la integración App2App. Si está utilizando la integración directa del SDK, consulta la [Referencia de métodos del SDK](/es/get-mini/android-sdk/reference/methods-library) en su lugar.

</Callout>

## Cadenas de acción (Intent Actions)

Para iniciar una transacción o una petición de consulta, tu aplicación debe crear un Intent con una de las siguientes cadenas de acción.

| Tipo de Operación | Cadena de Acción (Action String) |
| :---- | :---- |
| Transacción de Pago | `es.redsys.paysys.mPOSRedsys_PAYMENT_REQUEST` |
| Operación de Consulta | `es.redsys.paysys.mPOSRedsys_QUERY_REQUEST` |
| Transacción de Devolución | `es.redsys.paysys.mPOSRedsys_REFUND_REQUEST` |

Cada acción de Intent gestiona un tipo de operación específico. La aplicación Get Mini procesa la entrada y devuelve los resultados a través del callback `onActivityResult`.

## Parámetros de petición

Añade estos parámetros a tu Intent utilizando `putExtra()` antes de lanzar la aplicación Get Mini. Todas las claves distinguen entre mayúsculas y minúsculas y deben coincidir exactamente.

### Parámetros de pago (PAYMENT_REQUEST)

| Clave de Extra | Tipo | Obligatorio | Descripción |
| :---- | :---- | :---- | :---- |
| `amount` | double | Sí | El importe total a cobrar (ej. 25.50). |
| `invoice` | String | No | Número o identificador del pedido. |

### Parámetros de consulta (QUERY_REQUEST)

| Extra Key | Tipo | Obligatorio | Descripción |
| :---- | :---- | :---- | :---- |
| `dateFrom` | String | Sí | Fecha inicial del rango de la consulta. |
| `dateUntil` | String | Sí | Fecha final del rango de la consulta. |

### Parámetros de devolución (REFUND_REQUEST)

| Clave de Extra | Tipo | Obligatorio | Descripción |
| :---- | :---- | :---- | :---- |
| `amount` | double | Sí | El importe a devolver. |
| `date` | String | Sí | Fecha del pago original en formato AAAAMMDD (ej. 20240116). |
| `authorization` | String | Sí | Número de autorización de la transacción original. |
| `order` | String | Sí | ID del número de pedido de la transacción original. |

## Parámetros de respuesta

El Intent de resultado contiene los detalles de la transacción almacenados como extras. Utiliza `getStringExtra()` o `getIntExtra()` para recuperarlos.

| Clave de Extra | Tipo | Siempre Presente | Descripción |
| :---- | :---- | :---- | :---- |
| `TICKET_IMAGE` | String | Sí | URL del pdf generado con el ticket certificado. |
| `Intent.getData()` | Uri | No | Uri del pdf generado, versiones Android superiores a Android Q. |
| `STATE` | String | Sí | Código resultado de la operación. En una operación denegada lleva el código de denegación. |
| `ERROR_MSG` | String | No | Explicación amigable del error o denegación. |
| `ORDER` | String | No | Número de pedido único asignado por el sistema. |
| `AUTORIZATION_NUMBER`| String | No | Código de autorización del host (Nota: falta la 'H' en la clave). |
| `IDENTIFIER_RTS` | String | No | Identificador de la transacción. |

### Notas sobre el acceso a parámetros

- **Clave de Autorización**: La clave es literalmente `"AUTORIZATION_NUMBER"`. La implementación debe reflejar esta ortografía exacta.
- **Facturas**: En Android Q y superiores, utiliza `intent.getData()` para recuperar el URI de la factura. Para versiones anteriores, utiliza el extra `TICKET_IMAGE` (el manual también lo denomina `EXTRA_TICKET_URL` en la sección Boleta).

## Códigos de resultado de la actividad

El código de resultado de Android indica si la aplicación Get Mini completó su flujo de trabajo.

| Código de Resultado | Constante | Significado |
| :---- | :---- | :---- |
| -1 | `RESULT_OK` | Operación realizada correctamente. Verifica `STATE` o `RESULT` para el desenlace. |
| 0 | `RESULT_CANCELED` | El usuario salió o la aplicación no pudo iniciar el flujo. |