A refund policy followed to the letter.
Define your rules once, as clear steps. Every request follows them in order, and each decision records its version.

See the impact before you publish.
Replay a draft on past requests and their original data. See which cases change, with totals per currency.
- Draft against live totals
- Every changed case
- Reasons in plain language

Handle exceptions without writing code.
Combine the plan, connection, amount or refund history. Advanced conditions stay available as expressions.
- Conditions joined with AND
- Amounts in each currency
- Custom expressions kept
Rule: annual plans go to the team
// what the builder writes tx.plan == "annual" && tx.amount_minor > 20000
Every decision is tied to the policy that made it.
Each publish is a version with a note and author. Decisions keep their version; any version can be restored.
- A note with every publish
- Changes in plain language
- One-click restore
Frequently asked questions
See every question merchants ask, or ask us when you request access.
All questionsRequest early access01Can a team member go beyond the policy?
Yes, with the override permission and a fresh two-factor code, on the record. Emergency stops, the refundable amount and frequency limits never yield.
02What if a payment is in another currency?
Set limits per currency. Without one, Chargeless uses the settlement amount your provider recorded, or hands off. It never converts at its own rate.
03Do I need to write code?
No. Steps, presets and the rules builder cover most policies. Advanced users can also edit the policy document as JSON.
Related
Start with low limits. Raise them when the record shows it works.
Start in test mode, run your policy against your own history, and go live when the results meet your standards.
- 1A test workspace on your provider’s test mode
- 2Your past requests replayed against your policy
- 3Live with low limits, raised as the record allows