# Cancelar ou estornar um pagamento

Este guia explica como processar cancelamentos e estornos de pagamentos previamente autorizados usando o Getnet Web Checkout. 

Este documento se aplica aos seguintes países:
Argentina |
---|

## Cancelamento
Para configurar um cancelamento, a API do Getnet Web Checkout espera receber o `payment_id` (extraído da notificação do webhook) no parâmetro do caminho intermediário e a seguinte propriedade no corpo da requisição.

| Atributo | Tipo | Descrição | Exemplo |
|---|---|---|---|
|`payment_id`| String | ID do pagamento a ser cancelado ou estornado | `44c1206c-fcfc-11ea-adc1-0242ac120002`

Requisição para: 
```json
POST {{host_getnet_api}}/digital-checkout/v1/payments/{payment_id}/cancellation
```

Para verificar se a requisição foi válida, você receberá uma **resposta HTTP 201**, que indica um cancelamento bem-sucedido:

**Resposta**
Exemplo de resposta de cancelamento bem-sucedido:

```json
{
  "payment_id": "06f256c8-1bbf-42bf-93b4-ce2041bfb87e",
  "generated_by": "77d2306c-fcfc-11ea-adc1-0242ac120003",
  "status": "Cancelled",
  "transaction_datetime": "1997-07-16T19:20:30.45+01:00",
  "authorization_code": "840358"
}
```

## Estorno

Para configurar um estorno, a API do Getnet Web Checkout espera receber o `payment_id` (extraído da notificação do webhook) no parâmetro do caminho intermediário. 
E a propriedade `amount` deve conter o valor do estorno. Se nenhum valor for informado, a transação será estornada pelo valor total.

| Atributo | Tipo | Descrição | Exemplo |
|---|---|---|---|
|`payment_id`| String | ID do pagamento a ser cancelado ou estornado | `44c1206c-fcfc-11ea-adc1-0242ac120002` |
|`amount` | Integer | Valor do estorno em formato inteiro, onde os últimos 2 dígitos representam os centavos | `100` |

**Requisição**
O bloco de código a seguir mostra um exemplo de requisição de estorno:

```json
curl 
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "amount": 100
}'
```

Para verificar se a requisição foi válida, você receberá uma **resposta HTTP 201**, que indica um estorno bem-sucedido:

**Resposta**
Exemplo de resposta de estorno bem-sucedido:

```json
{
  "payment_id": "06f256c8-1bbf-42bf-93b4-ce2041bfb87e",
  "authorization_code": "840358",
  "status": "Refunded",
  "transaction_datetime": "1997-07-16T19:20:30.45+01:00",
  "generated_by": "77d2306c-fcfc-11ea-adc1-0242ac120003"
}
```

Para mais detalhes, consulte:

[Referência da API - cancelamento](https://docs.globalgetnet.com/en/products/online-payments/web-checkout/swagger#tag/payment/POST/payments/{payment_id}/cancellation)
[Referência da API - estorno](https://docs.globalgetnet.com/en/products/online-payments/web-checkout/swagger#tag/payment/POST/payments/{payment_id}/refund)