# Parâmetros da Requisição

Esta referência documenta a ação de Intent e as especificações de parâmetros necessárias para se comunicar com a aplicação Get Smart. Todos os parâmetros devem ser passados como extras do Intent utilizando o método `putExtra()`. As chaves dos parâmetros diferenciam maiúsculas de minúsculas e devem corresponder exatamente às especificações.

## Ação de Intent (Intent Action)

Para iniciar uma solicitação de transação, sua aplicação deve criar um Intent com a seguinte string de ação.

| Ação de Intent (Intent Action) |
| :---- |
| `es.android.redsys.mPOS.movil.tpvAndroid_PAYMENT_REQUEST` |

Esta única ação de Intent lida com todos os tipos de transação (vendas, estornos e resumos). A operação específica é determinada pelo parâmetro `type`.

## Parâmetros da Requisição

A tabela abaixo lista todos os parâmetros de requisição disponíveis. Use `intent.putExtra()` para incluir estes campos em sua solicitação.

| Parâmetro | Tipo | Obrigatório | Descrição |
| :---- | :---- | :---- | :---- |
| `amount` | double | Condicional | Valor da transação (ex: 12.50). Obrigatório para vendas e estornos. Não é necessário para resumos. |
| `type` | int | Sim | Identificador do tipo de operação. Veja [Tipos de Transação](#tipos-de-transação) para valores válidos. |
| `invoice` | String | Não | Identificador de referência do estabelecimento ou número do pedido para rastreamento interno. |
| `original_order` | String | Condicional | Obrigatório para operações de estorno. Deve corresponder ao valor ORDER ID retornado pelo Get Smart na transação de venda original. |
| `original_date` | String | Não | Data da transação original no formato DD/MM/AAAA. Usado apenas para operações de estorno para ajudar a identificar a transação original. |

## Tipos de Transação

O parâmetro `type` determina qual operação a aplicação Get Smart irá processar. Os seguintes valores são suportados:

| Valor de Type | Operação | Descrição | Parâmetros Obrigatórios |
| :---- | :---- | :---- | :---- |
| `1` | Venda | Processa uma transação de pagamento padrão. | `amount`, `type` |
| `2` | Estorno | Reverte uma transação de venda anterior e devolve os fundos ao cliente. | `amount`, `type`, `original_order` |
| `3` | Resumo | Aciona o fechamento de lote (totalização) para conciliar todas as transações do dia. | `type` |

### Transações de Venda

As transações de venda processam os pagamentos dos clientes e exigem o valor da transação. A aplicação Get Smart gerencia a interação com o cartão, a inserção do PIN e a comunicação com o gateway de pagamento. Após a conclusão, a aplicação retorna os detalhes da transação, incluindo o código de autorização e o ID do pedido.

### Transações de Estorno

As operações de estorno revertem uma venda anterior e exigem a referência da transação original. Você deve fornecer o valor de `original_order` que foi retornado na resposta da venda original. O valor do estorno pode ser igual ou inferior ao valor da transação original, permitindo estornos parciais. O parâmetro `original_date` é opcional, mas recomendado para ajudar a identificar a transação.

### Operações de Resumo

As operações de resumo fecham o lote diário de transações para fins de conciliação. Esta operação não processa transações individuais, mas aciona o processo de totalização do Get Smart. Não é necessário informar valor ou dados do pedido para resumos.

## Validação de Parâmetros

A aplicação Get Smart valida todos os parâmetros recebidos antes do processamento. Erros de validação comuns incluem:

* Ausência de parâmetros obrigatórios (`type` deve ser sempre fornecido)
* Valores de `type` inválidos (deve ser 1, 2 ou 3)
* Ausência de `amount` para vendas ou estornos
* Ausência de `original_order` para operações de estorno
* Tipos de dados incorretos para os parâmetros

<Callout type="note">

Sempre valide seus parâmetros antes de lançar o Intent para evitar erros de transação e proporcionar uma melhor experiência ao usuário.

</Callout>

## Recursos Relacionados

Para orientações de implementação e exemplos de código, consulte:

* [Parâmetros de Resposta](https://docs.globalgetnet.com/pt/products/local-processor-spain/get-smart-app2app?doc=getsmart-app2app-response-api-reference&section=qkm06zfrsmpvtjo093l3ddah) – Referência completa para os dados de resposta da transação
* [Criar um Pagamento de Etapa Única](/pt/get-smart/get-smart-app2app/transaction-guides/transactions/create-a-single-step-payment) – Guia passo a passo para implementar vendas
* [Estornar um Pagamento](/pt/get-smart/get-smart-app2app/transaction-guides/transactions/refund-a-payment) – Guia passo a passo para implementar estornos