All articles
Deep dive8 min read

Cancelling a subscription and getting a refund are two different things, and only one gives your customer money back

Cancel a subscription and the store just stops the next charge, the customer keeps access to the end of the period, and no money moves. A refund reverses a payment that already cleared and pulls the access with it. Here is where the two split, what each costs you, and why only a refund ever reaches your server.

A smartphone on a warm-lit desk showing a subscription toggle being switched off, with a small stack of coins left untouched beside it, illustrating that cancelling a subscription is not a refund

Key takeaways

  • Cancelling a subscription and refunding one are different events. A cancellation stops the next renewal and returns nothing. A refund reverses a payment that already cleared and hands the money back.
  • When a customer cancels, they keep access until the end of the period they already paid for. Google Play states a yearly plan bought on January 1 and cancelled on July 1 still works through December 31, with no charge the following January.
  • A cancellation costs you nothing to defend. It is future revenue you will not earn, not a clawback on a booked sale, and it never opens an evidence window on your server.
  • A refund is the clawback. The store returns its commission to the customer along with your net proceeds, the customer loses access, and the compute, API calls, storage, and payouts you already spent stay gone.
  • Past subscription charges are usually not refundable at all. Google Play says past subscriptions cannot be refunded outside its stated exceptions, and Apple reviews every refund request individually and can decline it.
  • Only a refund can ever reach you for evidence, and only on some products. Since the WWDC24 update a refund on an auto-renewable subscription fires Apple's CONSUMPTION_REQUEST with a 12-hour window. A cancellation fires nothing.
  • Counting cancellations inside your refund numbers hides the truth. A cancellation is a retention signal and a refund is a cost event, so measure them apart or your refund rate lies to you.

Cancelling a subscription and asking for a refund feel like the same move to your customer, and they are not. Cancel a subscription and the store simply stops the next charge. The customer keeps what they already paid for until the period runs out, and no money changes hands. Ask for a refund and the store reverses a payment that already cleared, hands the money back, and pulls the access along with it. One is churn you never book as a loss. The other is a clawback that takes real proceeds off a sale you already recorded. Here is exactly where the two split, what each does to your revenue, and why only a refund ever reaches your server as something you can answer.

Why cancelling a subscription does not trigger a refund

A cancellation is a single, narrow action: it turns off the next automatic renewal. It does not reverse the payment the customer already made, and it does not cut their access on the spot. Both stores are explicit about this, because the confusion is so common that they answer it on the first help page a customer reaches.

Google Play spells it out with an example. Cancel a yearly plan you bought on January 1 and, in Google's words, you keep access to the subscription until December 31 and are not charged the following January. Apple works the same way: cancelling stops the renewal, and the subscription runs to the end of its current period before it stops. Neither store treats the cancellation itself as a refund, and neither returns any part of what the customer already paid.

The customer keeps what they already paid for

This is the part that surprises people. A cancellation is forward-looking. It ends the relationship at the next billing date, not today. Google Play puts it plainly: when you cancel, you can still use the subscription for the time you have already paid. The money for the current period stays with the sale, and the customer keeps the access it bought. Nothing about that transaction reverses.

A free trial is the one place cancellation timing bites

The free trial is where a cancellation and a charge collide. A trial converts to a paid subscription automatically unless the customer cancels before it ends. Apple's own guidance is to cancel a free trial at least 24 hours before it finishes, because a cancellation that lands after the trial has already converted does not undo the charge. At that point the customer no longer has a cancellation question. They have a refund question, and the answer runs on refund rules, not cancellation ones.

What a refund actually reverses, and what it does not

A refund is the flow that moves money. When a store grants one, it reverses the payment, returns the funds to the customer, and revokes the item. Google Play states it directly: if a refund is issued, the customer loses access to the item. A refund is not a courtesy layered on top of a cancellation. It is a separate request with its own window, its own decision-maker, and its own consequences for your books.

The windows are short and the decision is not yours. Google Play offers a self-service refund only within 48 hours of purchase, and after that the request routes to the developer. Google also limits a self-service return to once per app, and warns that it does not give refunds for most Play purchases. Apple keeps refunds entirely in its own hands: a customer files at reportaproblem.apple.com, Apple reviews each request individually, and Apple can decline it. Past subscription charges are the hardest case of all. Google Play says past subscriptions cannot be refunded outside its stated exceptions, such as an unused prepaid plan.

EventMoney returnedAccessWho decidesReaches your server
CancellationNoneKept until end of paid periodThe customerNo
RefundYes, the payment is reversedRevoked when the refund is grantedThe store, Apple or GoogleYes, as a refund notification
ChargebackYes, and bank-finalRevoked, and the dispute is with the bankThe customer's bankYes, with a review window

The money, and why a cancellation and a refund cost you completely different things

The two events land on your finances in opposite ways. Treating them as the same number is how a healthy business talks itself into a panic, and how a leaking one hides its real problem.

A cancellation is forfeited future revenue, not a loss on the books

A cancellation costs you nothing you had already earned. The proceeds from the periods the customer paid for stay yours. What you lose is the revenue you would have collected if they had kept renewing, which is a lifetime-value question, not a clawback. There is no store commission to reverse, no fee attached, and no spend to write off, because the sales that already happened are still real. A cancellation is a retention problem to solve with product and pricing, and it never once asks you for evidence.

A refund takes proceeds you already booked, plus the spend behind them

A refund is the expensive event. When a store grants one, it reverses its own commission along with the sale, so you lose your net proceeds rather than the full sticker price. That is the only good news, and it stops there. The compute you paid for is spent. The API calls billed per request or per token are spent. The files still sitting in storage still cost you to hold. If the purchase funded a creator payout or a prize pool, that money already left. A refund pulls back the sale and leaves every one of those costs exactly where they were.

A chargeback is the heaviest version of a refund

A chargeback is a refund the customer routes through their bank instead of the store, and a completed one is bank-final. For Google Play orders placed on or after August 3, 2026, a lost chargeback bills the developer the purchase price less Play's service fee, plus the bank's chargeback fee, a flat charge the card network sets. Google Play routes that dispute to you for review through orders.reviewrefund with a 24-hour window. It is the only Google flow that asks for your evidence, and it can land on a subscription the customer could simply have cancelled for free.

One open hand sliding a single coin back across a warm-lit desk while a larger stack of coins stays in place, illustrating that a refund reverses a payment while a cancellation does not

Which of the three ever reaches your server

This is the line that matters for how you build. A cancellation never arrives as anything you answer. It shows up in your subscription state as a renewal that will not happen, and there is no window, no evidence request, and nothing to contest, because nothing was taken from you.

A refund is different, and only on some products. Since the WWDC24 update and App Store Server Notifications version 2.11, a refund request on an auto-renewable subscription fires Apple's CONSUMPTION_REQUEST, and you have up to 12 hours to send consumption data. On Google Play, a chargeback on any product opens the orders.reviewrefund review with 24 hours. Those two windows are the entire surface where a subscription problem becomes something your server can respond to, and a plain cancellation never opens either one. Separately, Google Play auto-refunds a purchase your app fails to acknowledge within 72 hours, which is a refund you never got to influence at all.

How to treat cancellations and refunds in your own data

You cannot stop a customer from cancelling, and you should not try to treat every cancellation like a refund to defend. The work is telling the two apart cleanly.

  • Count cancellations and refunds as separate metrics. A cancellation belongs in churn and retention. A refund belongs in cost of revenue. Blend them and your refund rate reads high for a reason that is really just churn.
  • Never build defense around cancellations. They open no window and take back no booked money, so evidence has nowhere to go. Spend that effort on the two flows that actually ask.
  • Record delivery and consumption at the moment of the sale, not after a dispute lands. The refunds that do open a window reward telemetry you already hold and punish the reconstruction you scramble for under a 12-hour or 24-hour clock.
  • Answer the two windows automatically. A CONSUMPTION_REQUEST and an orders.reviewrefund review cannot wait for someone to read an inbox, and they do not extend for time zones or weekends.

None of this is about talking a customer out of leaving. It is about knowing which departures cost you money and which only cost you a renewal. RefundHalt answers the auto-renewable CONSUMPTION_REQUEST and the Google Play orders.reviewrefund review automatically, inside the window, with the delivery and usage evidence you recorded at the time of sale, and it keeps cancellations out of your refund ledger, so the number you judge yourself by stays honest.

Frequently asked questions

If I cancel a subscription, do I get a refund?
No. Cancelling a subscription only stops the next renewal. It does not reverse the payment you already made, and both Apple and Google let you keep access until the end of the period you paid for. A refund is a separate request with its own rules, and for a past subscription charge it is often declined.
Does cancelling a subscription stop my access immediately?
No. A cancellation is forward-looking. You keep the subscription until the end of the current billing period, then it stops renewing. Google Play gives the example of a yearly plan bought on January 1 and cancelled on July 1 that still works through December 31.
Can I get a refund after I cancel a subscription?
Cancelling and refunding are separate actions, so cancelling first does not start a refund. You would still have to request the refund, and past subscription charges are usually not refundable. Google Play limits self-service refunds to 48 hours after purchase, and Apple reviews each request individually and can decline it.
Does a cancellation reach the developer's server like a refund does?
No. A cancellation shows up only as a renewal that will not happen, with no evidence window and nothing to contest. A refund can reach your server, and on an auto-renewable subscription a refund fires Apple's CONSUMPTION_REQUEST with a 12-hour window since the WWDC24 update.
Why should my app count cancellations and refunds separately?
Because they cost you different things. A cancellation is forfeited future revenue and belongs in churn. A refund is a clawback of proceeds you already booked, plus the spend behind them, and belongs in cost of revenue. Blending them inflates your refund rate with what is really churn.

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.