> ## Documentation Index
> Fetch the complete documentation index at: https://docs.avanttifinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reembolsar

> Solicite o reembolso total ou parcial de uma transação

## Visão geral

Este endpoint permite reembolsar uma transação já paga, total ou parcialmente. Reembolsos via Pix são processados quase instantaneamente; reembolsos de cartão podem levar alguns dias úteis para aparecer na fatura do cliente.

## Endpoint

<CodeGroup>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.avanttifinance.com/v1/transactions/{transaction_id}/refund \
    --header "Authorization: Bearer SEU_TOKEN_DE_ACESSO" \
    --header "Content-Type: application/json" \
    --data '{
      "amount": 15000,
      "reason": "solicitação do cliente"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://api.avanttifinance.com/v1/transactions/" + transactionId + "/refund",
    {
      method: "POST",
      headers: {
        Authorization: \`Bearer \${accessToken}\`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        amount: 15000,
        reason: "solicitação do cliente",
      }),
    }
  );

  const refund = await response.json();
  console.log(refund);
  ```

  ```python Python theme={null}
  import requests

  url = f"https://api.avanttifinance.com/v1/transactions/{transaction_id}/refund"
  headers = {
      "Authorization": f"Bearer {access_token}",
      "Content-Type": "application/json",
  }
  payload = {
      "amount": 15000,
      "reason": "solicitação do cliente",
  }

  response = requests.post(url, headers=headers, json=payload)
  print(response.json())
  ```
</CodeGroup>

## Parâmetros de path

<ParamField path="transaction_id" type="string" required>
  Identificador único da transação a ser reembolsada.
</ParamField>

## Parâmetros do corpo

<ParamField body="amount" type="integer">
  Valor a ser reembolsado, em centavos. Se omitido, reembolsa o valor total da transação.
</ParamField>

<ParamField body="reason" type="string">
  Motivo do reembolso, para fins de registro e auditoria.
</ParamField>

## Resposta

<ResponseField name="id" type="string">
  Identificador único do reembolso.
</ResponseField>

<ResponseField name="transaction_id" type="string">
  Identificador da transação reembolsada.
</ResponseField>

<ResponseField name="amount" type="integer">
  Valor reembolsado, em centavos.
</ResponseField>

<ResponseField name="status" type="string">
  Status do reembolso: `pending`, `completed` ou `failed`.
</ResponseField>

### Exemplo de resposta

```json theme={null}
{
  "id": "ref_5a6b7c8d9e",
  "transaction_id": "txn_8f3a1b2c9d",
  "amount": 15000,
  "status": "completed",
  "created_at": "2026-06-11T10:00:00Z"
}
```

<Warning>
  Reembolsos não podem ser revertidos. Verifique cuidadosamente o valor e a transação antes de confirmar a operação.
</Warning>

## Erros comuns

| Código HTTP | Significado                                                  |
| ----------- | ------------------------------------------------------------ |
| 400         | Valor de reembolso maior que o saldo disponível da transação |
| 401         | Token de autenticação inválido ou ausente                    |
| 404         | Transação não encontrada                                     |
| 409         | Transação já reembolsada totalmente                          |

## Próximos passos

<CardGroup cols={2}>
  <Card title="Listar reembolsos" icon="list" href="/listar-reembolsos">
    Consulte o histórico de reembolsos da sua conta.
  </Card>

  <Card title="Ver transação" icon="eye" href="/ver-transacao">
    Consulte os detalhes de uma transação específica.
  </Card>
</CardGroup>
