All articles
Playbook7 min read

Google Play lets you issue a partial refund yourself, and the App Store leaves every refund to Apple

On Google Play you can refund part of an order from the Console, by percentage or by amount, and share the loss with Google's fee. On the App Store you can issue no refund at all. Here is how a partial refund works on each store, and what one costs you.

A paper receipt torn in half beside a small stack of coins, illustrating a partial refund on Google Play

Key takeaways

  • Google Play lets a developer issue a partial refund from Order management, entered as a percentage below 100 percent or a pre-tax amount below the order total. The App Store gives the developer no refund control at all, because Apple issues every App Store refund.
  • A Google Play partial refund is proportional. Refund 50 percent of an order and Google returns 50 percent of your payout and 50 percent of its own service fee to the buyer, so you and Google share the reduction in the same ratio you shared the sale.
  • You can stack multiple partial refunds on one Google Play order, but the running total can never reach or exceed the order total, and orders older than three years cannot be refunded at all.
  • The Google Play Developer API orders.refund method is full-refund only. Partial amounts live in the Console. The API's revoke flag decides whether access ends immediately and, for a subscription, whether future renewals stop.
  • Apple refunds are for the full transaction and come out of your future proceeds. The only partial amount Apple ever returns on its own is the prorated credit when a customer upgrades an auto-renewable subscription mid-cycle, and that fires no REFUND notification.
  • A partial refund is a developer-initiated tool, not a reply to either evidence flow. The two flows that ask you for evidence before money moves are Apple's CONSUMPTION_REQUEST, with a 12-hour window, and Google Play's chargeback review through orders.reviewrefund, with a 24-hour window.

You can hand a customer part of their money back on Google Play, and you cannot do it on the App Store. On Google Play a partial refund is a real control the developer holds: open Order management, pick an order, and refund a slice of it by percentage or by a fixed amount. On the App Store there is no refund button for you at all. Apple decides and processes every refund, always for the full transaction, and the amount is taken out of your future proceeds. That single difference changes how you handle an unhappy customer, a brief outage, or a dispute that is heading toward a chargeback. Here is exactly how a partial refund works on Google Play, why Apple gives you nothing like it, and what each path costs you once you follow the money.

What a partial refund is, and which store offers one

A partial refund returns some of an order's price to the buyer while you keep the rest of the sale. It is the tool you reach for when a full refund is too much and doing nothing is too little: a customer who used most of a service but hit a bad week, an outage that spoiled part of a subscription month, a goodwill gesture to close a support thread without losing the whole sale. Only one of the two stores gives the developer that dial.

Google Play, where you set the amount

Google Play treats refunds as something you can do yourself, and partial refunds are built into the Console. In Order management you find the Partial refunds switch, turn it on, and enter either a percentage below 100 percent or a pre-tax amount below the order total. You can issue more than one partial refund against the same order over time, as long as the running total never reaches or exceeds the full order value. One hard limit sits on top of all of it: an order older than three years cannot be refunded, in full or in part.

For a subscription, position matters. Refunding the most recent order in a subscription removes the subscription immediately. Refunding an older order in the same subscription leaves the subscription active, because you are unwinding a period that already closed, not the one the customer is in now.

The App Store, where the developer has no lever

Apple runs the other model. As the developer you cannot issue a refund of any size, partial or full. Every App Store refund is decided and processed by Apple, and customers request one through Apple directly at reportaproblem.apple.com. When Apple grants a refund it is for the full transaction, and the amount is deducted from your future proceeds. There is no Console screen where you refund half of a purchase to smooth over a complaint.

The one place Apple returns a partial amount is not a tool you operate. When a customer upgrades an auto-renewable subscription to a higher tier mid-cycle, Apple charges the new price immediately and automatically refunds the unused portion of the old subscription, prorated. That prorated credit is Apple's own accounting for the switch. It sends no REFUND notification, and you never choose the amount.

Refund capabilityGoogle PlayApp Store
Developer can issue a refundYes, from Order management or the APINo, Apple issues all refunds
Partial refund by percentage or amountYes, in the ConsoleNo
Multiple partial refunds on one orderYes, until the total nears the order valueNot applicable
Time limit to refund an orderThree yearsSet by Apple's own policy
Where the refunded money comes fromYour payout and Google's fee, proportionallyYour future proceeds, full amount
Only automatic partial amountNot applicableProrated credit on a subscription upgrade

How to issue a partial refund on Google Play

The Console path is short. Open Play Console, go to Order management, and find the order you want to adjust. Turn on the Partial refunds switch, then choose how to express the amount: a percentage of the order below 100 percent, or a pre-tax figure below the order total. Confirm, and Google returns that slice to the buyer.

Two behaviors are worth knowing before you click. First, the refund is proportional across the whole order, not carved out of your side alone. Second, for subscriptions the effect on access depends on which order you refund, as above: the latest order ends the subscription, an older one does not.

Doing it at scale with the orders.refund API

If you refund from code rather than by hand, the Google Play Developer API exposes orders.refund, which refunds a user's subscription or in-app purchase order. Read one line of its contract carefully: the API refunds the full order. Partial amounts are a Console feature, not an API parameter. What the API does give you is a revoke flag. Set revoke to true and access to the item is terminated immediately, and for a recurring subscription all future payments stop as well. Leave it off and the refund clears the money without pulling entitlement. The same three-year age limit applies: the API will not refund an order older than three years.

Two uneven piles of coins on a slate surface, standing in for a partial refund that splits an order's value between the developer and the store

What a partial refund costs you, and what it saves

Here is the money, because a partial refund is a money decision before it is a support decision. On Google Play the refund is proportional, which means you are not the only one giving money back. Google's help documentation is explicit: if you refund 50 percent of an order, 50 percent of your payout and 50 percent of the service fee Google took are both refunded to the user. You share the loss with Google in the same split you shared the sale.

Walk a concrete order. Say a customer paid 10 units for an in-app product and Google's service fee on that sale was 30 percent, so your payout was 7 and Google's fee was 3. Issue a 50 percent partial refund and the buyer gets 5 back: 3.50 of that comes off your payout and 1.50 comes off Google's fee. You are out 3.50, not the full 7 a complete refund would have cost you. A partial refund is the only lever that lets you settle a complaint for a fraction of the sale instead of the whole thing.

Action on a 10-unit order (30 percent fee)Buyer receivesYou loseGoogle loses
No refund000
50 percent partial refund53.501.50
Full refund1073
Chargeback (bank-final)10Price plus a flat bank feeIts fee, and from Aug 3 2026 it shifts to you

A small partial refund can be cheaper than a chargeback

The row that should catch your eye is the last one. A chargeback is not a refund you control. The customer's bank pulls the full price and adds a flat fee that does not scale with the purchase, and the decision is final with no appeal. From August 3, 2026, Google Play shifts the chargeback purchase price plus the bank fees onto the developer, so on Android a dispute you lose now costs you more than the sale was ever worth. Against that, a partial refund that keeps a wavering customer from calling their bank is often the cheapest outcome on the board. Settling a complaint for 3.50 beats losing the price plus a bank fee you cannot contest.

When a partial refund is the right call, and when it is not

A partial refund earns its place as a de-escalation and goodwill tool. A customer who genuinely used part of what they bought, a service interruption that cost them a few days of a monthly plan, a support thread you want to close before it turns into a one-star review or a chargeback: these are the cases where returning a slice, not the whole sale, is the honest and the cheaper answer. Because you and Google share the reduction, a modest gesture costs you even less than its face value.

It is not a substitute for the flows that actually decide contested money, and it is not a fix for abuse. Handing a serial refunder a partial credit teaches them to ask again. Reserve partial refunds for real goodwill, and track who receives them the same way you track full refunds, keyed to a stable account id.

Partial refunds are not the consumption or chargeback flow

Keep the developer-initiated tool separate from the two flows that ask you for evidence. A partial refund is something you choose to give. It is not a response to Apple's CONSUMPTION_REQUEST, which asks for your usage data within 12 hours and is answered with the Send Consumption Information call, and it is not a response to Google Play's chargeback review, which asks you to weigh in within 24 hours through orders.reviewrefund. Those two flows move money based on evidence and deadlines. A partial refund moves money because you decided to. Confusing the two, and treating a goodwill credit as if it settled a dispute, leaves the real clock running.

A short checklist for partial refunds

  • On Google Play, issue a partial refund from Order management by percentage below 100 percent or a pre-tax amount below the order total.
  • Remember the refund is proportional: a 50 percent partial refund returns 50 percent of your payout and 50 percent of Google's fee to the buyer.
  • You can stack partial refunds on one order, but never up to the order total, and never on an order older than three years.
  • Use the orders.refund API for automation, but know it is full-refund only, and set revoke deliberately to control access and future renewals.
  • On the App Store, plan for the fact that you cannot issue any refund. Apple decides, always in full, out of your proceeds.
  • Keep partial refunds separate from CONSUMPTION_REQUEST and orders.reviewrefund, which are evidence flows on their own 12-hour and 24-hour clocks.

The stores split on a simple question: who holds the refund dial. Google Play hands it to you and lets you turn it a little or all the way, and it splits the cost with its own fee when you do. Apple keeps the dial, turns it only in full, and takes the money from your next payout. Knowing which world you are in tells you whether a partial refund is even an option, and when it is, it is often the cheapest way to keep a customer and avoid a dispute you would lose.

Frequently asked questions

Can you issue a partial refund on Google Play?
Yes. In Play Console Order management, turn on the Partial refunds switch and enter either a percentage below 100 percent or a pre-tax amount below the order total. You can issue multiple partial refunds on one order as long as the running total stays below the order value, and orders older than three years cannot be refunded.
Can an App Store developer issue a partial refund?
No. Apple issues every App Store refund, and the developer cannot issue a refund of any size, partial or full. Customers request refunds from Apple at reportaproblem.apple.com, Apple decides case by case, and a granted refund is for the full transaction and comes out of your future proceeds.
Does a Google Play partial refund reduce Google's service fee too?
Yes, proportionally. Google's documentation states that a 50 percent partial refund returns 50 percent of your payout and 50 percent of the service fee to the buyer. You and Google give money back in the same ratio you split the original sale, so a partial refund costs you only your share of the refunded slice.
Can you issue a partial refund through the Google Play Developer API?
No. The orders.refund method in the Google Play Developer API refunds the full order only. Partial amounts are a Play Console feature, not an API parameter. The API does expose a revoke flag that, when true, ends access immediately and stops future renewals for a recurring subscription.
Is there a time limit to refund a Google Play order?
Yes. Orders older than three years cannot be refunded, in full or in part, through the Console or the orders.refund API. Within that window you can issue full and partial refunds and stack multiple partial refunds on one order, up to but never reaching the order total.
Is a partial refund the same as answering a refund request or a chargeback?
No. A partial refund is a refund you choose to issue. It is separate from Apple's CONSUMPTION_REQUEST, which wants your usage data within 12 hours, and from Google Play's chargeback review through orders.reviewrefund, which wants your input within 24 hours. Those flows decide contested money on their own clocks, while a partial refund is a goodwill or de-escalation gesture you control.

Sources and further reading

RefundHalt

The refund autopilot for the App Store and Google Play

Keep reading

The next refund request is already on its way.

Set up RefundHalt in the time it takes to read another support email about a refund you didn't get to contest.