# Como criar uma reembolso de uma cobrança usando a API?

> Como criar o reembolso total ou parcial de uma cobrança Pix via API da Woovi, com o correlationID de idempotência do reembolso.

Para criar uma novo reembolso de uma cobrança usando a API, você deverá fazer uma chamada POST para o _endpoint_ `/api/v1/charge/{correlationID}/refund` usando `correlationID` da cobrança.

Você pode acessar [aqui](/api#tag/charge-refund/POST/api/v1/charge/{id}/refund) a documentação referente a esse _endpoint_.

Como parte do `BODY` da requisição, esperamos o envio dos seguintes itens:

:::caution
O `correlationID` enviado no BODY da requisição **não** é o correlationID identificador da cobrança.  
Trata-se, na verdade, de um **ID de idempotência**, que **você deve gerar** para controlar reembolsos de forma segura e consistente no seu sistema.
:::

- **`correlationID`**: O correlationID do reembolso a ser criado. Este campo é usado para [idempotencia](../concepts/idempotence.md) de reembolsos de cobranças.

O body também aceita outros campos **opcionais**:

- **`value`**: O valor em centavos do reembolso a ser criado. Se não informado será usado o valor total da cobrança ou o valor restante da cobrança que ainda não foi reembolsado.
- **`comment`**: O comentário do reembolso a ser criado. Não deve ser maior que 140 caracteres.

## Exemplo

O body da sua requisição será semelhante a este exemplo:

```json
{
  "correlationID": "aafee9f5-94b3-4e3d-ab6a-416d0a1218cb",
  "value": 100,
  "comment": "Comentário do reembolso"
}
```

Após efetuar a requisição, se tudo ocorreu bem, o _status code_ da requisição será `2xx` e no `body` da resposta, retornaremos o reembolso criada.

Retornarmeros a seguinte resposta de exemplo:

```json
{
  "refund": {
    "status": "IN_PROCESSING"
    "value": 100
    "correlationID": "aafee9f5-94b3-4e3d-ab6a-416d0a1218cb"
    "endToEndId": "E23114447202304181826HJNwY577YDX"
    "time": "2023-03-02T17:28:51.882Z",
    "comment": "Comentário do reembolso"
  }
}
```

### Exemplos em código

  

**Shell + cURL**

```sh
 curl --request POST \
     --url https://api.woovi.com/api/v1/charge/{correlationID}/refund \
     --header 'Authorization: AUTHORIZATION' \
     --header 'content-type: application/json' \
     --data '{"correlationID": "aafee9f5-94b3-4e3d-ab6a-416d0a1218cb","value": 100,"comment": "Comentário do reembolso"}'
```

  
  

**JavaScript + Fetch**

```js
fetch('https://api.woovi.com/api/v1/charge/{correlationID}/refund', {
  method: 'POST',
  body: JSON.stringify({
    correlationID: 'aafee9f5-94b3-4e3d-ab6a-416d0a1218cb',
    value: 100,
    comment: "Comentário do reembolso"
  }),
  headers: {
    Authorization: 'AUTHORIZATION',
    'Content-Type': 'application/json',
  },
}).then((res) => res.json());
```
