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

# Refunds

> Return money from a completed collection back to the original payer. Choose full or partial — each collection can only be refunded once.

# Refunds

A refund returns money from a completed collection to the original payer. The refund amount is debited from your **business wallet**.

## Rules

* **Full or partial**: choose `FULL` (entire net amount) or `PARTIAL` (custom amount up to net amount)
* **One refund only**: each collection can only be refunded once — there is no second refund after a partial refund
* **Non-refundable fee**: the original collection processing fee is not returned; the maximum refundable amount is the net amount
* **Reason required**: use a predefined reason code from `GET /refunds/reasons`

## Statuses

| Status      | Description           |
| ----------- | --------------------- |
| `PENDING`   | Processing            |
| `COMPLETED` | Successfully refunded |
| `FAILED`    | Failed to process     |

## Fees

No additional fee is charged to process a refund. The original collection fee is simply not returned to you.

| Original Amount | Collection Fee | Net Received | Max Refundable |
| --------------- | -------------- | ------------ | -------------- |
| \$100.00        | \$3.00         | \$97.00      | \$97.00        |

## Best Practices

* **Choose mode carefully**: you only get one refund per collection — decide whether partial or full is appropriate before submitting
* **Check wallet balance**: ensure your business wallet has sufficient funds before issuing a refund
* **Communicate**: notify your customer once the `refund.completed` webhook is received

## Error Codes

| Code                   | Cause                           | Resolution                                 |
| ---------------------- | ------------------------------- | ------------------------------------------ |
| `ALREADY_REFUNDED`     | Collection already has a refund | Only one refund is allowed per collection  |
| `INVALID_STATUS`       | Collection is not `COMPLETED`   | Only completed collections can be refunded |
| `INSUFFICIENT_BALANCE` | Wallet balance too low          | Top up your business wallet                |

## Endpoints

* `POST /collections/{id}/refund` — Create refund
* `GET /refunds` — List refunds
* `GET /refunds/reasons` — Get available refund reason codes
