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

# Tratar reembolso

> Receba o pedido de reembolso, veja as respostas do quiz e aprove ou recuse pela API.

**1. Receba o pedido**

Assine `refund_requested`. Ele chega quando o comprador pede o reembolso, antes de o dinheiro sair. O `transaction.id` diz qual venda.

**2. Ache a solicitação**

Liste as pendentes e pegue a da venda:

```bash cURL theme={"system"}
curl -s "https://api.ephra.io/v1/refund-requests?status=pending&page=1&pageSize=20" \
  -H "Authorization: Bearer $TOKEN"
```

```javascript Node theme={"system"}
const res = await fetch("https://api.ephra.io/v1/refund-requests?status=pending&page=1&pageSize=20", {
  headers: {
    Authorization: `Bearer ${token}`,
  },
});
const json = await res.json();
```

```python Python theme={"system"}
import requests

res = requests.get(
    "https://api.ephra.io/v1/refund-requests?status=pending&page=1&pageSize=20",
    headers={
        "Authorization": f"Bearer {token}",
    },
)
data = res.json()
```

Se o produto tem quiz de reembolso, as respostas do comprador estão em `GET /v1/refund-quiz-attempts`.

**3. Decida**

Aprovar estorna na hora e é irreversível:

```bash cURL theme={"system"}
curl -s -X POST https://api.ephra.io/v1/refund-requests/48127/approve \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"reason": "Comprador relatou falha de acesso."}'
```

```javascript Node theme={"system"}
const res = await fetch("https://api.ephra.io/v1/refund-requests/48127/approve", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${token}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "reason": "Comprador relatou falha de acesso."
  }),
});
const json = await res.json();
```

```python Python theme={"system"}
import requests

res = requests.post(
    "https://api.ephra.io/v1/refund-requests/48127/approve",
    headers={
        "Authorization": f"Bearer {token}",
    },
    json={
        "reason": "Comprador relatou falha de acesso."
    },
)
data = res.json()
```

Recusar manda o motivo para o comprador:

```bash cURL theme={"system"}
curl -s -X POST https://api.ephra.io/v1/refund-requests/48127/reject \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"reason": "Prazo de garantia encerrado."}'
```

```javascript Node theme={"system"}
const res = await fetch("https://api.ephra.io/v1/refund-requests/48127/reject", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${token}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "reason": "Prazo de garantia encerrado."
  }),
});
const json = await res.json();
```

```python Python theme={"system"}
import requests

res = requests.post(
    "https://api.ephra.io/v1/refund-requests/48127/reject",
    headers={
        "Authorization": f"Bearer {token}",
    },
    json={
        "reason": "Prazo de garantia encerrado."
    },
)
data = res.json()
```

**4. Tire o acesso**

Quando o estorno concluir, chega `transaction_refunded`. É o momento de remover o acesso ao conteúdo.

Veja o [guia de reembolsos](https://docs.ephra.io/guias/reembolsos.md) para filtros, exportação e o quiz de retenção.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.