How to handle refund requests in your game
"I want my money back" is the message small teams dread most. Sometimes the player is right, sometimes the purchase simply didn't arrive, and sometimes the store is the only one who can refund anyway. Here's who can refund what on each platform, what to try before a refund, and how to answer without making promises your team can't keep.
Published 31 October 2026 by the Inngame team. We build in-game support with refund tools for Stripe, Google Play and the App Store, so this guide sticks to what each store actually allows.
Who can refund what
| Where the player paid | Who refunds | What you can do |
|---|---|---|
| App Store (iPhone, iPad, Mac) | Apple only | Show Apple's refund request sheet from your app (StoreKit, iOS 15+) or send the player to reportaproblem.apple.com. Apple decides, usually within 48 hours. |
| Google Play | You (or Google, for requests made to them) | Refund the order from the Play Console or the Play Developer API, and revoke the item if needed. |
| Steam | Valve | Point the player to Steam support. Steam refunds purchases made in the last 14 days with under two hours of playtime, and reviews other cases individually. |
| Your own web shop (Stripe, Paddle…) | You | Refund fully or partly from your payment provider. |
The first useful question in any refund conversation is therefore where did you buy it? If your support tool already knows the platform and the purchase, you don't even have to ask.
What to check before talking about money
Many refund requests aren't really about wanting the money back:
- The purchase didn't arrive. The most common case on mobile. A "Restore purchases" button, or checking the receipt on your server, fixes it without any refund.
- A bug cost them progress or currency. Giving back what was lost, plus a small gift, usually ends the conversation better than a refund would.
- An accidental purchase, often by a child. A real refund case. On the App Store, only Apple can do it; say so kindly and show the sheet.
- Subscription surprise. The player forgot a free trial would renew. Explain how to cancel in their store settings, and refund if your policy allows it.
- Unhappy with the game. Store policies apply; be honest about what you can and can't do.
Answering without promising
Whoever answers first, a teammate, a community moderator or an AI assistant, should never write "we'll refund you" before someone who can approve it has decided. A few rules that keep it clean:
- Acknowledge and collect. Platform, date, item, and what went wrong. Context attached automatically (platform, app version, purchase history) saves two rounds of questions.
- Fix what can be fixed now. Restore the purchase or grant the missing item, if your tools allow it.
- Propose, then decide. If a refund is warranted, one person with the right access makes the call, and the player hears the outcome from your team.
- Close the loop. Tell the player what happens next and when. With Apple, that means "Apple will email you, usually within two days".
How Inngame handles it
Here's how the rules above are built into Inngame:
- Refunds are human-only. A signed-in admin refunds Stripe payments (full or partial) and Google Play orders (optionally revoking the item) from the conversation. The AI assistant and API keys used by coding agents can only propose a refund, with the reason, for an admin to approve.
- Apple's sheet from the chat. An admin sends a card that opens Apple's official refund request for a transaction; Apple takes it from there.
- Restore and compensate first. Cards in the chat can trigger "Restore purchases" in your game, or a one-time claimable item that your game grants. Gifts are created by humans only, and each can be claimed once.
- Purchases in context. With RevenueCat, Adapty, Superwall or the store notifications connected, subscription events update the player's profile, so you know whether they're a subscriber before replying, and automations can react to a cancellation or a refund.
- Everything is logged. Who proposed, who refunded, how much, from which conversation.
Questions
Can a developer refund an App Store purchase?
No. Only Apple refunds App Store purchases. You can show the player Apple's refund request sheet from inside the app (StoreKit's beginRefundRequest, iOS 15 and later), or send them to reportaproblem.apple.com. Apple decides, usually within 48 hours.
Can I refund a Google Play purchase myself?
Yes. Developers can refund Google Play orders from the Play Console or through the Google Play Developer API, and can revoke the purchase at the same time so the item leaves the player's account.
Who refunds Steam purchases?
Valve. Players request refunds through Steam support, and Steam's policy grants them for purchases made in the last 14 days with less than two hours of playtime, with exceptions reviewed case by case.
Should I give items instead of a refund?
Often it's what the player actually wants. If a purchase didn't arrive or a bug cost them progress, restoring the purchase or granting a compensation item solves the problem in minutes and keeps the money where it is. Offer it, don't force it.
Can an AI support agent issue refunds?
It shouldn't. Let the AI collect the details and propose a refund, and keep the decision with a person. In Inngame, refunds are only possible from a signed-in human admin; AI and API keys can only propose.
Related: Respond to App Store reviews · What to let an AI handle · Support players in every language · Support chat in a Unity game · Handle player data requests · Refund setup