# Estornar um Pagamento

Este guia orienta você no processamento de uma operação de estorno para reverter uma transação de pagamento anterior. Você aprenderá como referenciar a transação original e iniciar o estorno usando a integração Get Mini App2App.

## Requisitos

Antes de seguir os passos, certifique-se de ter:

* O **aplicativo Get Mini** instalado no dispositivo Android
* Um **dispositivo PIN pad compatível** emparelhado e conectado
* **Detalhes da transação original**, incluindo número de autorização, ID do pedido e data
* O **ActivityResultLauncher** devidamente registrado em sua Activity ou Fragment

<Callout type="warning">

Você deve ter os detalhes exatos da transação original para processar um estorno. Eles são retornados na resposta do pagamento.

</Callout>

## Processo de Estorno

Esta seção orienta você na criação de um Intent de estorno com os detalhes da transação original. O aplicativo Get Mini validará as informações e processará a reversão.

### Passo 1: Criar o Intent de Estorno

Crie um Intent com a ação `es.redsys.paysys.mPOSRedsys_REFUND_REQUEST` e inclua todos os parâmetros necessários da transação original. O valor do estorno pode ser igual ou menor que o valor do pagamento original, permitindo estornos parciais.

A tabela abaixo lista os campos obrigatórios:

| Parâmetro | Tipo | Obrigatório | Descrição |
| :---- | :---- | :---- | :---- |
| `amount` | double | Sim | O valor a ser estornado. |
| `date` | String | Sim | Data do pagamento original (formato AAAAMMDD). |
| `authorization` | String | Sim | Número de autorização do pagamento original. |
| `order` | String | Sim | Número do pedido do pagamento original. |

<Callout type="note">

Os valores de `date`, `authorization` e `order` devem corresponder exatamente à transação original. Discrepâncias farão com que o estorno seja recusado.

</Callout>

O código a seguir mostra como criar e iniciar o Intent de estorno:

```java
// Create the Intent
Intent intent = new Intent("es.redsys.paysys.mPOSRedsys_REFUND_REQUEST");

// Add required parameters from the original transaction
intent.putExtra("amount", 10.50);
intent.putExtra("date", "20240116");
intent.putExtra("authorization", "123456");
intent.putExtra("order", "ORD-12345");

// Launch the Get Mini app
refundLauncher.launch(intent);
```

### Passo 2: Lidar com o Resultado do Estorno

Após processar o estorno, o aplicativo Get Mini retorna o controle para o seu aplicativo com o resultado. Verifique o código de resultado e extraia os detalhes do estorno dos extras do Intent, incluindo o novo status da transação e as informações do recibo.

Para obter detalhes completos sobre o tratamento de respostas, consulte [Lidar com os resultados da transação](/pt/get-mini/get-mini-app2app/transaction-guides/response-handling/handle-transaction-results).

### Próximos Passos

Agora que você processou um estorno, você pode explorar outras operações:

* [Processar um pagamento](https://docs.globalgetnet.com/pt/products/local-processor-spain/get-mini?doc=getmini-app2app-processing-a-payment) - Saiba como processar transações de pagamento
* [Operações de consulta](/pt/get-mini/get-mini-app2app/transaction-guides/transactions/query-operations) - Recupere o histórico de transações, incluindo estornos
* [Códigos de resultado e erros](/pt/get-mini/get-mini-app2app/reference/result-codes-and-errors) - Referência para todos os campos de resposta