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

# Manage Refunds

> Handle refund requests, set refund policies, and track refund status

## What You'll Learn

How to manage the refund process from your Dashboard:

* Review and process refund requests
* Understand refund types and policies
* Track refund status
* Handle subscription cancellations with refunds

***

## Refund Types

| Type               | Description                      | When to Use                                     |
| ------------------ | -------------------------------- | ----------------------------------------------- |
| **Full Refund**    | Refund the entire payment amount | Customer dissatisfied, product not as described |
| **Partial Refund** | Refund part of the payment       | Partial service delivered, goodwill gesture     |

***

## Step 1: Review Refund Requests

Customers can submit refund requests through the Customer Portal. These appear in your Dashboard.

<Steps>
  <Step title="Go to Payments">
    Navigate to **Payments** in the sidebar to see all payments, including those with refund requests.

    <Frame>
      <img src="https://mintcdn.com/waffo/5dRlk76Jm-9Zm6Tj/images/guides/payments-refund.png?fit=max&auto=format&n=5dRlk76Jm-9Zm6Tj&q=85&s=a593df3123cbab1999990d9e394e6d73" alt="Payments page with refund requests" width="1440" height="900" data-path="images/guides/payments-refund.png" />
    </Frame>
  </Step>

  <Step title="View Refund Details">
    Click on a payment to see the refund request details:

    * Customer's reason for the refund
    * Requested amount
    * Request date
    * Payment details (amount, date, product)
  </Step>
</Steps>

***

## Step 2: Process Refunds

### Approve or Reject

For each refund request, you can:

* **Approve**: The refund is processed and the customer is notified
* **Reject**: The request is declined with an optional note to the customer

<Frame>
  <img src="https://mintcdn.com/waffo/5dRlk76Jm-9Zm6Tj/images/guides/refund-action.png?fit=max&auto=format&n=5dRlk76Jm-9Zm6Tj&q=85&s=ab5370c8d9875942e812d1ea36f2b498" alt="Refund approval dialog" width="1440" height="900" data-path="images/guides/refund-action.png" />
</Frame>

### What Happens After Approval

1. The refund amount is deducted from your balance
2. The customer receives a refund confirmation email
3. Funds are returned to the customer's original payment method
4. The payment status updates to reflect the refund

<Warning>
  Refunds are permanent. Once approved, they cannot be reversed. Review each request carefully before approving.
</Warning>

***

## Step 3: Track Refund Status

Refund tickets go through these statuses:

| Status       | Meaning                                              |
| ------------ | ---------------------------------------------------- |
| `pending`    | Customer submitted request, awaiting your review     |
| `processing` | Refund approved, being processed by payment provider |
| `succeeded`  | Refund completed, funds returned to customer         |
| `rejected`   | Request rejected by you                              |
| `failed`     | Refund failed during processing (rare)               |

You can filter and track all refunds in the **Payments** section of your Dashboard.

***

## Refund Policies

### Setting Expectations

We recommend establishing clear refund policies and communicating them to customers:

| Policy Element   | Recommendation                             |
| ---------------- | ------------------------------------------ |
| **Time window**  | 7–30 days after purchase                   |
| **Conditions**   | Product not as described, technical issues |
| **Exclusions**   | Consumed services, customized products     |
| **Process time** | 5–10 business days for funds to appear     |

<Tip>
  Display your refund policy clearly on your checkout page and product pages. Clear policies reduce disputes and build customer trust.
</Tip>

***

## Subscription Refunds

### When a Subscriber Requests a Refund

For subscription products, consider these options:

1. **Refund + Cancel**: Refund the current period and cancel the subscription
2. **Refund only**: Refund the current period but keep the subscription active
3. **Cancel only**: Cancel the subscription without a refund (customer keeps access until period ends)

### Recommended Approach

For most cases, **refund + cancel** is the cleanest approach. The customer gets their money back, and the subscription is terminated.

***

## Business Scenarios

### Scenario 1: Digital Product Refund

**Customer says:** "The course didn't cover what was advertised."

**Recommended action:**

1. Review the refund request in Dashboard
2. If within your refund window (e.g., 14 days), approve the full refund
3. Customer receives confirmation and funds are returned

### Scenario 2: Subscription First-Month Refund

**Customer says:** "I didn't realize I'd be charged after the trial."

**Recommended action:**

1. Approve the refund for the first payment
2. Cancel the subscription
3. Consider improving trial-to-paid communication

### Scenario 3: Partial Refund for Service Issue

**Customer says:** "The service was down for a week."

**Recommended action:**

1. Calculate the proportional refund (e.g., 25% for 1 week of a month)
2. Issue a partial refund
3. Optionally extend the current period as a goodwill gesture

***

## Going Further: Code Integration

### Webhooks for Refunds

If you use webhooks, you can automate post-refund actions:

| Event              | Automated Action                           |
| ------------------ | ------------------------------------------ |
| `refund.succeeded` | Revoke product access, update database     |
| Refund approved    | Send internal notification to support team |

### API Refunds

For programmatic refund processing, see the [API Reference — Refunds](/api-reference/endpoints/refunds).

***

## Best Practices

1. **Respond quickly**: Review refund requests within 24–48 hours
2. **Be fair**: When in doubt, lean toward the customer's side
3. **Keep records**: Document the reason for each refund decision
4. **Learn from patterns**: If many refunds cite the same reason, fix the underlying issue
5. **Communicate clearly**: Always explain refund decisions to customers

***

## Checklist

* [ ] Refund policy established and communicated
* [ ] Customer Portal enabled for self-service refund requests
* [ ] Refund review process in place for your team
* [ ] Webhook events configured for refund notifications (if using code integration)
* [ ] Refund policy displayed on checkout/product pages

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Set Up Webhooks" icon="webhook" href="/guides/webhooks">
    Automate post-refund actions
  </Card>

  <Card title="Sell Digital Products" icon="download" href="/guides/one-time-payments">
    Set up products with clear refund expectations
  </Card>
</CardGroup>
