# Parámetros de la solicitud

Esta referencia documenta la acción del Intent y las especificaciones de los parámetros necesarios para comunicarse con la aplicación Get Smart. Todos los parámetros deben pasarse como extras del Intent utilizando el método `putExtra()`. Las claves de los parámetros distinguen entre mayúsculas y minúsculas y deben coincidir exactamente con las especificaciones.

## Acción del Intent (Intent Action)

Para iniciar una petición de transacción, tu aplicación debe crear un Intent con la siguiente cadena de acción.

| Acción del Intent (Intent Action)                         |
| :-------------------------------------------------------- |
| `es.android.redsys.mPOS.movil.tpvAndroid_PAYMENT_REQUEST` |

Esta única acción de Intent gestiona los dos tipos de transacción. La operación específica se determina mediante el parámetro `type`.

## Parámetros de la petición

La siguiente tabla enumera todos los parámetros de petición disponibles. Utiliza `intent.putExtra()` para incluir estos campos en tu petición.

| Parámetro        | Tipo   | Requerido   | Descripción                                                                                                                                             |
| :--------------- | :----- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `amount`         | double | Sí          | Importe de la transacción (ej. 12.50).                                            |
| `type`           | int    | Sí          | Identificador del tipo de operación. Consulta [Tipos de Transacción](#tipos-de-transacción) para conocer los valores válidos.                           |
| `invoice`        | String | No          | Identificador de referencia del comercio o número de pedido para el seguimiento interno.                                                                |
| `original_order` | String | Condicional | Requerido para operaciones de devolución. Debe coincidir con el valor de `ORDER` devuelto por Get Smart en la transacción de venta original.                    |
| `original_date`  | String | No          | Fecha de la transacción original. Se utiliza solo en operaciones de devolución. Si no la informas, la app busca en los últimos 30 días. |

## Tipos de transacción

El parámetro `type` determina qué operación procesará la aplicación Get Smart. Se admiten los siguientes valores:

| Valor de Type | Operación  | Descripción                                                                             | Parámetros Requeridos              |
| :------------ | :--------- | :-------------------------------------------------------------------------------------- | :--------------------------------- |
| `1`           | Venta      | Procesa una transacción de pago estándar.                                               | `amount`, `type`                   |
| `2`           | Devolución | Revierte una transacción de venta anterior y devuelve los fondos al cliente.            | `amount`, `type`, `original_order` |

### Transacciones de venta

Las transacciones de venta procesan los pagos de los clientes y requieren el importe de la transacción. La aplicación Get Smart gestiona la interacción con la tarjeta, la introducción del PIN y el procesamiento del pago. Al finalizar, la aplicación devuelve los detalles de la transacción, incluyendo el código de autorización y el ID del pedido.

### Transacciones de devolución

Las operaciones de devolución revierten una venta anterior y requieren una referencia a la transacción original. Debes proporcionar el valor `original_order` que se devolvió en la respuesta de la venta original. El parámetro `original_date` es opcional pero se recomienda para ayudar a identificar la transacción.

## Recursos relacionados

Para obtener guías de implementación y ejemplos de código, consulta:

* [Parámetros de Respuesta](https://docs.globalgetnet.com/es/products/local-processor-spain/get-smart-app2app?doc=getsmart-app2app-response-api-reference\&section=qkm06zfrsmpvtjo093l3ddah) – Referencia completa de los datos de respuesta de la transacción
* [Crear un pago](/es/get-smart/get-smart-app2app/transaction-guides/transactions/create-a-single-step-payment) – Guía paso a paso para implementar ventas
* [Devolver un Pago](/es/get-smart/get-smart-app2app/transaction-guides/transactions/refund-a-payment) – Guía paso a paso para implementar devoluciones