# Códigos de resultado e estruturas de dados

Esta página é a referência dos códigos de status e das estruturas de dados retornados pelo Getnet Payment App pelos deeplinks App2App.

## Códigos de resultado

Valores retornados no campo `result` pela maioria dos deeplinks (Pagamento, Reembolso, Polling, Reimpressão, Relatórios, Turno, Pré-autorização):

| Código | Status | Significado |
| :--- | :--- | :--- |
| `"0"` | Sucesso | Operação concluída com sucesso. |
| `"1"` | Negada | Transação rejeitada pelo emissor ou pela bandeira do cartão. |
| `"2"` | Cancelada | O comando foi abortado (por exemplo, por uma requisição de Cancelar operação). |
| `"3"` | Erro | Falha técnica durante o processamento. |
| `"4"` | Desconhecido | Estado incerto. Verifique o status da transação. |

<Callout type="note">

O deeplink de Cancelar operação retorna `"6"` (**operação cancelada com sucesso**) na própria resposta. O comando abortado (Pagamento, Reembolso ou Pré-autorização) retorna `"2"` (**Cancelada**). Veja [Cancele uma operação em andamento](https://docs.globalgetnet.com/pt/products/in-store-payments/app2app-integration?doc=cancel-an-operation-in-progress).

</Callout>

## Códigos da Consulta de status

O deeplink `getnet://payment/v1/transaction-check-status` usa um conjunto **diferente** de valores no campo `result`, refletindo o status atual da transação:

| Código | Status | Significado |
| :--- | :--- | :--- |
| `"0"` | APPROVED | Transação aprovada. |
| `"1"` | AUTHORIZED | Transação autorizada. |
| `"2"` | REFUNDED | Transação reembolsada. |
| `"3"` | CANCELED | Transação cancelada. |
| `"4"` | REVERSED | Transação revertida. |
| `"5"` | NOT_FOUND | Nenhuma transação foi encontrada para o `callerId` informado. |
| `"6"` | UNKNOWN | Um valor inesperado foi retornado. |

## Estruturas de dados

Os objetos a seguir são retornados por deeplinks específicos como strings em formato JSON.

### CommerceData

Objeto retornado por `getnet://payment/v1/commerce-data` no campo `commerceData`:

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `legalName` | String | Razão social do estabelecimento. |
| `commerceNumber` | String | Número de identificação do estabelecimento. |
| `commerceCuit` | String | Número de identificação fiscal do estabelecimento: CUIT na Argentina, CNPJ no Brasil ou RUT no Chile. |
| `branchName` | String | Nome da filial da loja. |
| `littleBranchName` | String | Nome curto da filial da loja. |
| `branchNumber` | String | Número da filial da loja. |
| `branchAddress` | String | Endereço da filial. |
| `branchDistrict` | String | Bairro ou região da filial da loja. |
| `terminalId` | String | Código identificador do terminal. |
| `serialNumber` | String | Número de série do terminal POS. |

### Informações do terminal

Objeto retornado por `getnet://payment/v1/get-info`. Alguns valores podem ser strings vazias quando não estiverem disponíveis.

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `terminalId` | String | Identificador que distingue o terminal de forma única na infraestrutura do estabelecimento. |
| `serialNumber` | String | Número de série do terminal atribuído pelo fabricante. |
| `terminalModel` | String | Modelo físico do terminal. |
| `os` | String | Versão do sistema operacional instalada no terminal. |
| `emvModule` | String | Versão ou identificador do módulo EMV. |
| `appVersionName` | String | Versão do Payment App. |
| `communicationUrl` | String | Endpoint usado para comunicação com o backend da adquirente. |
| `primaryIp` | String | Endereço IP principal usado para a conectividade de rede. |
| `company` | String | Service Provider Name (SPN) do SIM. |
| `apn` | String | Access Point Name da conexão de dados móveis. |
| `simId` | String | Identificador do cartão SIM instalado no terminal. |
| `communicationType` | String | Método de comunicação atual: `Wi-Fi` ou `GPRS`. |
| `wifi` | String | Nome da rede da conexão Wi-Fi atual. |
| `certificateStatus` | Boolean | `true` se o certificado do SDK for válido. |
| `tipEnabled` | Boolean | `true` se a gorjeta estiver habilitada. |
| `receipt` | Boolean | `true` se o recibo estiver habilitado. |
| `salesperson` | Boolean | `true` se o código de vendedor estiver habilitado. |
| `installmentCommerce` | Boolean | `true` se o estabelecimento permitir pagamentos parcelados. |
| `issuerInstallments` | Boolean | `true` se o emissor do cartão oferecer parcelamento. |

### Operation

Objeto de transação individual dentro do relatório detalhado de vendas (`reportType="0"`) retornado por `getnet://payment/v1/reports`:

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `paymentId` | String | ID interno do pagamento. |
| `paymentType` | String | Tipo de pagamento (atualmente uma string vazia). |
| `opReasonMessageStatus` | String | Mensagem de status da operação. |
| `capturedState` | String | Estado capturado (atualmente uma string vazia). |
| `timestamp` | String | Data e hora da operação em ISO8601 com fuso horário. |
| `brandType` | String | Bandeira do cartão. |
| `cardLastNumber` | String | Últimos 4 dígitos do cartão usado. |
| `operationValue` | String | Valor da operação. |
| `operation` | String | Tipo de operação: credit, debit, voucher, qrcode ou cancellation. |
| `opDescription` | String | Descrição da operação (atualmente uma string vazia). |

### Resposta de Turno

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

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `result` | String | Código de resultado da operação. |
| `resultDetails` | String | Mensagem detalhada do resultado da operação de turno. |
| `totalOfShifts` | String | Valor do turno atual. Retornado somente quando `shiftOperation` é `"3"`. |