# Códigos de resultado y estructuras de datos

Esta página documenta los códigos de estado y las estructuras de datos que devuelve la Getnet Payment App mediante deeplinks de App2App.

## Códigos de resultado

Valores devueltos en el campo `result` por la mayoría de los deeplinks (Pago, Devolución, Polling, Reimpresión, Reportes, Turno, Preautorización):

| Código | Estado | Significado |
| :--- | :--- | :--- |
| `"0"` | Éxito | La operación se completó con éxito. |
| `"1"` | Rechazada | Transacción rechazada por el emisor o la marca de tarjeta. |
| `"2"` | Cancelada | El comando se abortó (por ejemplo, por una solicitud de Cancelar operación). |
| `"3"` | Error | Falla técnica durante el procesamiento. |
| `"4"` | Desconocido | Estado incierto. Verifica el estado de la transacción. |

<Callout type="note">

el deeplink Cancelar operación devuelve `"6"` (**operación cancelada con éxito**) en su propia respuesta. El comando que aborta (Pago, Devolución o Preautorización) devuelve `"2"` (**Cancelada**). Consulta [Cancela una operación en curso](https://docs.globalgetnet.com/es/products/in-store-payments/app2app-integration?doc=cancel-an-operation-in-progress).

</Callout>

## Códigos de consulta de estado

El deeplink `getnet://payment/v1/transaction-check-status` usa un conjunto **diferente** de valores en su campo `result`, que refleja el estado actual de la transacción:

| Código | Estado | Significado |
| :--- | :--- | :--- |
| `"0"` | APPROVED | Transacción aprobada. |
| `"1"` | AUTHORIZED | Transacción autorizada. |
| `"2"` | REFUNDED | Transacción devuelta. |
| `"3"` | CANCELED | Transacción cancelada. |
| `"4"` | REVERSED | Transacción revertida. |
| `"5"` | NOT_FOUND | No se encontró ninguna transacción para el `callerId` indicado. |
| `"6"` | UNKNOWN | Se devolvió un valor inesperado. |

## Estructuras de datos

Deeplinks específicos devuelven los siguientes objetos como cadenas en formato JSON.

### CommerceData

Objeto devuelto por `getnet://payment/v1/commerce-data` en el campo `commerceData`:

| Campo | Tipo | Descripción |
| :--- | :--- | :--- |
| `legalName` | String | Razón social del comercio. |
| `commerceNumber` | String | Número de identificación del comercio. |
| `commerceCuit` | String | Número de identificación fiscal del comercio: CUIT en Argentina, CNPJ en Brasil o RUT en Chile. |
| `branchName` | String | Nombre de la sucursal. |
| `littleBranchName` | String | Nombre corto de la sucursal. |
| `branchNumber` | String | Número de la sucursal. |
| `branchAddress` | String | Dirección de la sucursal. |
| `branchDistrict` | String | Distrito o zona de la sucursal. |
| `terminalId` | String | Código identificador del terminal. |
| `serialNumber` | String | Número de serie del terminal POS. |

### Información del terminal

Objeto devuelto por `getnet://payment/v1/get-info`. Algunos valores pueden ser cadenas vacías cuando no están disponibles.

| Campo | Tipo | Descripción |
| :--- | :--- | :--- |
| `terminalId` | String | Identificador que distingue de forma única el terminal en la infraestructura del comercio. |
| `serialNumber` | String | Número de serie del terminal asignado por el fabricante. |
| `terminalModel` | String | Modelo físico del terminal. |
| `os` | String | Versión del sistema operativo instalado en el terminal. |
| `emvModule` | String | Versión o identificador del módulo EMV. |
| `appVersionName` | String | Versión de la Payment Application. |
| `communicationUrl` | String | Endpoint usado para comunicarse con el backend del adquirente. |
| `primaryIp` | String | Dirección IP principal usada para la conectividad de red. |
| `company` | String | Nombre del proveedor de servicio (SPN) de la SIM. |
| `apn` | String | Nombre del punto de acceso (APN) para la conexión de datos móviles. |
| `simId` | String | Identificador de la tarjeta SIM instalada en el terminal. |
| `communicationType` | String | Método de comunicación actual: `Wi-Fi` o `GPRS`. |
| `wifi` | String | Nombre de la red de la conexión Wi-Fi actual. |
| `certificateStatus` | Boolean | `true` si el certificado del SDK es válido. |
| `tipEnabled` | Boolean | `true` si la propina está habilitada. |
| `receipt` | Boolean | `true` si el recibo está habilitado. |
| `salesperson` | Boolean | `true` si el código de vendedor está habilitado. |
| `installmentCommerce` | Boolean | `true` si el comercio permite pagos en cuotas. |
| `issuerInstallments` | Boolean | `true` si el emisor de la tarjeta ofrece cuotas. |

### Operation

Objeto de transacción individual dentro del reporte detallado de ventas (`reportType="0"`) que devuelve `getnet://payment/v1/reports`:

| Campo | Tipo | Descripción |
| :--- | :--- | :--- |
| `paymentId` | String | ID interno del pago. |
| `paymentType` | String | Tipo de pago (actualmente una cadena vacía). |
| `opReasonMessageStatus` | String | Mensaje de estado de la operación. |
| `capturedState` | String | Estado de captura (actualmente una cadena vacía). |
| `timestamp` | String | Marca de tiempo de la operación en ISO8601 con zona horaria. |
| `brandType` | String | Marca de tarjeta. |
| `cardLastNumber` | String | Últimos 4 dígitos de la tarjeta usada. |
| `operationValue` | String | Valor de la operación. |
| `operation` | String | Tipo de operación: `credit`, `debit`, `voucher`, `qrcode` o `cancellation`. |
| `opDescription` | String | Descripción de la operación (actualmente una cadena vacía). |

### Respuesta de Turno

Campos devueltos por `getnet://payment/v1/shift`:

| Campo | Tipo | Descripción |
| :--- | :--- | :--- |
| `result` | String | Código de resultado de la operación. |
| `resultDetails` | String | Mensaje detallado del resultado de la operación de turno. |
| `totalOfShifts` | String | Cantidad actual de turnos. Se devuelve solo cuando `shiftOperation` es `"3"`. |