Grow your app's
revenue by stopping
unfair refunds
RefundHalt is an automatic refund protection service for iOS and Android apps. It answers every refund request and chargeback with real usage evidence, so the revenue you earned stays with you.
- No SDK required
- 2-minute setup
- Helped decline about 76% of refund requests
Customer requested a refund
premium.yearly · $39.99
RefundHalt replies with usage evidence
Sent to the store in seconds
Refund rate
11.8%
LIVE
We have helped apps keep
$1,213,214.03
of revenue that refund requests and chargebacks tried to take back. Counted from real cases in the RefundHalt ledger.
refundhalt ledger · live
$0
kept in the last 30 days
0%
answered before the deadline
0%
of requests helped declined
0
requests answered
3.7s
median response time
Happening now
every request answered automatically
Linguarypro.yearly
Declined · 1,240 flashcards reviewed
$59.99
responded in 4.0s
HabitHivepremium_yearly
Declined · 64 habits completed
$34.99
responded in 4.3s
CalmNestplus.yearly
Evidence sent · 18 meditation sessions
$19.99
responded in 3.1s
FitStreakpremium.yearly
Declined · 126 workouts logged since purchase
$39.99
responded in 2.4s
Built on the official refund surfaces of both stores
Developer references
Clear answers from official store documentation
Sourced guides and a transparent revenue model for teams deciding how to protect app income.
Apple developer guide
Understand the 12-hour Apple evidence window
See the exact CONSUMPTION_REQUEST flow, evidence fields, setup steps, and limits in one sourced reference.
Read the referenceGoogle Play developer guide
Know which chargebacks you can answer
Learn when Google asks for a suggestion, why the first reply counts, and how the managed setup works.
Read the referenceOriginal 2026 report
Model the revenue tied to eligible cases
Use a transparent calculator with editable inputs, reproducible formulas, and no fabricated customer outcomes.
Read the referenceHOW IT WORKS
Stop losing money to refunds. Setup takes 2 minutes.
No SDK, no server changes, no Google Cloud account. If you can copy and paste, you can be protected before your coffee cools.
App Store refund request
Play chargeback review
policy + evidence, answered in seconds
Add your app
Just paste your app's store link. For Android we instantly provision a dedicated notification pipeline in our cloud, you never touch Google Cloud.
Paste two values in the store console
iOS: point App Store Server Notifications at your RefundHalt URL and upload your In-App Purchase key. Android: paste our topic name and invite our service account in Play Console.
We answer every refund request
Apple's CONSUMPTION_REQUEST gives you 12 hours. Google's chargeback review gives you 24. RefundHalt responds in seconds with consumption evidence, and logs the outcome.
FOR DEVELOPERS
An API you'd build yourself, if you had a spare quarter
Everything the dashboard does, over a clean REST API with keys, filterable lists and signed webhooks. Streaming usage is optional.
# Optional. We ask your server how much a customer used:
# POST https://yourapp.com/webhooks/refundhalt
# { "type": "usage.lookup", "user_id": "b48c1f22-...-uuid" }
# Reply with anything you have, or skip it entirely:
{ "consumption": 72 }
# → We answer with or without it, inside the store deadline.THE SCOREBOARD
Know exactly what refunds cost you, and what we saved
Every request, response, and outcome lands in one ledger. Filter by app, platform, country, product, reason, or time.
$0
Saved this month
$0
Contested
0%
Save rate
0
Refund requests
Saved this month · 12 weeks
Refund reasons
- Unsatisfied with purchase41%
- Unintended purchase27%
- Chargeback14%
- Fulfillment issue10%
- Other8%
Top countries
- US38%
- GB17%
- DE12%
- BR9%
- JP7%
PRICING
Three plans. Everything automatic.
Pick a plan, connect your apps, and every refund request is answered for you.
Starter
For your first apps. Try it on real refunds.
$7.00/mo
$9.99Save 30%
- Unlimited refund responses
- Automatic policy engine and custom rules
- AI-assisted dispute statements
- Up to 3 apps across both stores
- Usage data integration
- Unlimited analytics history
- Webhooks and notification forwarding
- Priority processing
Cancel anytime
Standard
For indie developers and small catalogs.
$19.99/mo
$29.99Save 33%
- Unlimited refund responses
- Automatic policy engine and custom rules
- AI-assisted dispute statements
- Up to 20 apps across both stores
- Usage data integration
- Unlimited analytics history
- Webhooks and notification forwarding
- Priority processing
Cancel anytime
Unlimited
For studios and growing portfolios.
$29.99/mo
$39.99Save 25%
- Unlimited refund responses
- Automatic policy engine and custom rules
- AI-assisted dispute statements
- Unlimited apps across both stores
- Usage data integration
- Unlimited analytics history
- Webhooks and notification forwarding
- Priority processing
Cancel anytime
Every plan includes both platforms, encrypted credential storage, and the deadline-safety fallback. 14-day free trial on each. Prices exclude VAT.
QUESTIONS
Frequently asked questions
App Store Commerce Engineer
Jun ’24
Apple
To respond to CONSUMPTION_REQUEST notifications, you should call the Send Consumption Information endpoint: https://developer.apple.com/documentation/appstoreserverapi/send_consumption_information/
Whether you call the endpoint and provide consumption information or not, the refund may be granted or denied. However any data you provide via the endpoint will be considered in the refund decisioning process, so it’s generally recommended you call the endpoint to provide data if possible.
Updates to refund protection and chargeback cost responsibility
Google Play is committed to continuously strengthening the protection of the platform. In 2025, Google Play successfully prevented US$3.4B of fraud and abuse. In 2026, we are implementing additional enhanced guardrails and fraud detections to reduce potential refund abuse, further protecting users and developers on Google Play.
Additionally, to align with industry standards, Google Play and developers will begin sharing chargeback costs for orders placed after August 3, 2026. Chargebacks are disputes initiated by users directly with their financial institutions. When a chargeback occurs, the costs is split as follows:
- Developer responsibility: The purchase price (less Play’s service fee) and the associated chargeback fees from the financial institution.
- Google Play’s responsibility: We will continue to cover the service fee cost for that transaction.
To help you take an active role in managing chargebacks ahead of these changes taking effect, a new optional Review Refund API is now available. This lets you to share key transaction information with Google Play, such as order delivery state and item consumption status. With this information, Google Play can better identify and contest illegitimate chargebacks on your behalf.
THE FULL ARSENAL
Everything a refund needs to meet on its way out
RefundHalt is not a dashboard bolted onto a webhook. It is a complete decision engine wired into Apple's and Google's official refund machinery.
Answered before every deadline
Apple's CONSUMPTION_REQUEST is answered inside the 12-hour window with the full ConsumptionRequest V2 payload. Every case is matched to the buyer, scored against your policy, and answered in seconds. If your data is missing or your server is down, a fallback still answers before the window closes. You never forfeit by silence.
Google chargeback reviews
When Google asks for evidence on a chargeback, we respond within the 24-hour window with usage events, timestamps and IP addresses via orders.reviewrefund.
Your rules, your usage data
Optionally set the rules and the units customers burn in your app, image generations, credits, minutes. Feed us the real numbers and consumption becomes the evidence, not a time estimate. Skip it and battle-tested defaults still decide every case.
Notification forwarding
Apple allows one server notifications URL per app. Point it at RefundHalt and we relay every raw signed event to up to 10 destinations: your backend, RevenueCat, Adapty, or Apphud. Already on one of those platforms? Keep it primary and forward its raw events to us instead.
Cross-store analytics
Amount contested, amount saved, save rate, refund reasons, countries, products, repeat refunders, one ledger across the App Store and Google Play.
Outbound webhooks
Stripe-style signed webhooks for every event: request received, response sent, refund declined, money saved. Pipe it into Slack, your CRM, or your data warehouse.
Encrypted by default
Store credentials are sealed with AES-256-GCM envelope encryption and a rotatable key ring. Webhook deliveries are OIDC-verified. Your keys never leave the vault.
FROM DEVELOPERS
Developers have had enough of unfair refunds
Daniel R.Verified customerDid not expect much, then a Google chargeback on a $59.99 annual plan got contested overnight without me lifting a finger. RefundHalt pulled the order and usage history, sent the evidence, and had it answered before I woke up. First time a refund fight actually went my way.
Ben K.Verified customerSet it up on a Tuesday, forgot about it, and checked back a month later. It had quietly kept about $1,100 that would have walked out the door.
Marco T.Verified customerWe sell yearly plans, and refund abuse was quietly costing us about $900 a month. People would use the app for three weeks and then ask for everything back. Since we turned RefundHalt on, those requests get answered with real usage evidence, and most of them now get declined. It is the first tool we added this year that visibly changed our revenue line.
Tom W.Verified customerSetup took about five minutes on a coffee break. I dropped in the key, pointed Apple's notifications at the webhook, and that was the whole job. It has quietly answered every consumption request since, and I have not had to think about it once.
Aaron D.Verified customerSetup really was two minutes. We pasted the topic name into Play Console, invited the service account, and that was it. No SDK, nothing to deploy, no code review. It just started working the next day.
Kenji M.Verified customerFinally someone built this for Google Play chargebacks. With Google sharing chargeback costs with developers from August, ignoring this was about to get expensive. The evidence goes out automatically and every outcome lands in one place.