# Refund automation with policy and Slack approvals

> Decide every refund with a versioned policy and AI reasoning, approve exceptions in the dashboard, Slack or by phone, then execute on Stripe or PayPal.

- Canonical URL: https://lumtry.com/solutions/refund-decisions
- Last updated: 2026-09-24

## Decide every refund by your rules, not by the loudest ticket

A versioned policy decides first, a model explains the edge cases, and a person approves what needs one.

- Policy decides, a model only explains
- Every decision pinned to a published version
- A full trace and audit record per case

## What Lumtry watches

- Refund requests from Shopify, WooCommerce, BigCommerce, Amazon Returns, eBay and helpdesk tickets
- Order value, reason, history and the signals your policy conditions on
- Cases your policy routes to a person, and how long they wait
- Processor outcomes from Stripe and PayPal, including failures

## What you get

- A deterministic, versioned policy with shadow mode before it acts
- Approvals in the dashboard, Slack, Gorgias, Zendesk or by phone
- Execution with explicit compensation when a step fails
- A decision trace and append-only audit record for every case

## Four steps from request to recorded refund

- **Capture the request**: Storefront, marketplace, helpdesk and API requests land as one case type.
- **Apply the policy**: The published policy version decides approve, deny or ask a person.
- **Route the approval**: People who need to decide get the case in the channel they already use.
- **Execute and record**: The refund runs through your processor and every step lands in the audit log.

## Built for the people who own refunds

- **Owners and ops leads**: Set the rules once and see which ones fire, without reading every ticket.
- **CX leads**: Give agents clear outcomes and keep judgment calls for the cases that need them.
- **Finance**: Reconcile refunds against processor records with a trail an auditor can follow.

## One damaged order, from request to refund

A sample case on a Shopify store with Stripe payments. Under 20 minutes end to end, and most of that was waiting for a person.

Arrived damaged

Refunded

- **Request received**: The Shopify refund request lands as one case with the order, the items and the shopper's photos.
- **Policy v7 evaluated**: The amount is above the auto-approve limit for damaged items, so the rule asks a person.
- **Model explains the case**: An advisory summary lists the photos, the order history and the rule that fired. It cannot approve or deny.
- **Approved in Slack**: An operator approves from a single-use Slack link, and Lumtry re-checks the case before it acts.
- **Refund sent through Stripe**: The refund runs once, under an idempotency key, and every step lands in the audit log.

## Questions, answered

### Does a model decide refunds on its own?

No. A deterministic policy makes the decision. Model-assisted reasoning summarizes context and suggests rules, and anything your policy routes to a person waits for that person.

### Can I test a policy before it moves money?

Yes. Shadow mode shows what the policy would have decided on real cases without executing anything, and backtests replay past cases against a draft version.

### What happens when I change the policy?

Publishing creates a new version. Cases already in progress keep the version they started with, so a change never rewrites a decision halfway through.

### Where do approvals happen?

In the Lumtry dashboard, in Slack, inside Gorgias or Zendesk, or by voice call through Twilio or Telnyx. The dashboard stays the source of truth.

### Which payment processors are supported?

Stripe and PayPal. If a step fails after money moves, Lumtry runs the matching compensation or parks the case for a person.

### What does the audit trail record?

Every decision, approval and processor call, with who or what acted, the policy version used and a correlation ID. Audit records are append-only.

## Put your refund policy in charge

Try it on the sample workspace, then connect your store in shadow mode.

## Related

- [Home](https://lumtry.com/index.md): Decide refunds by a versioned policy, send the exceptions to your team in Slack or the dashboard, and keep every step on the record. Start free.
- [Solutions](https://lumtry.com/solutions.md): Four ways Lumtry puts policy, approvals and an audit trail around the money you give back: refunds, returns and labels, chargebacks, retention and abuse.
- [Returns and labels](https://lumtry.com/solutions/returns-and-labels.md): Issue EasyPost or Shippo return labels, offer QR, label-free and returnless options, run a shopper returns portal and release refunds when items arrive.
- [Disputes and chargebacks](https://lumtry.com/solutions/disputes-and-chargebacks.md): Answer Stripe and PayPal chargebacks with evidence Lumtry already holds: the refund decision, return records and a drafted narrative you review first.
- [Retention and abuse](https://lumtry.com/solutions/retention-and-abuse.md): Offer store credit, exchanges or partial refunds before a full refund, and score return abuse with Abuse Shield and an opt-in fraud network. See how.
- [Pricing](https://lumtry.com/pricing.md): Lumtry plans by case volume and seats, from Free to Enterprise, with add-ons and capped outcome fees. Start free or hear when billing opens.
- [MCP server](https://lumtry.com/developers/mcp.md): Connect an AI assistant or your own agent to your refund workspace through the Model Context Protocol. Read cases and propose actions, never move money.
- [Trust](https://lumtry.com/trust.md): How Lumtry secures merchant data, keeps AI inside a deterministic refund policy, lists every sub-processor and explains data flow and retention. Review it.
- [llms.txt](https://lumtry.com/llms.txt)
