A refund on Apple's monthly subscription with a 12-month commitment can end the whole year, or just one month of it
Apple's monthly subscription with a 12-month commitment splits refunds in two. Refund a past month and billing carries on. Refund the current month and the commitment ends on the spot. Here's how each case reaches your server, what it costs, and what to send Apple.

Key takeaways
- On Apple's monthly subscription with a 12-month commitment, a refund for a prior billing period revokes only that month's transaction, and the customer stays subscribed with billing on schedule.
- When Apple refunds the current billing period of a monthly subscription with a 12-month commitment, the commitment ends immediately and the remaining monthly payments are never billed.
- A customer who cancels a 12-month commitment plan cancels the renewal of the commitment, not the remaining payments, so Apple keeps billing every month and sends EXPIRED only after the 12th period.
- Billing Grace Period doesn't apply to monthly subscriptions with a 12-month commitment. Apple tells developers to revoke access on DID_FAIL_TO_RENEW and restore it on DID_RENEW with subtype BILLING_RECOVERY.
- If Apple can't recover a failed monthly payment on a 12-month commitment plan within 90 days, the commitment ends and the revocation is final.
- A refund request on a commitment plan triggers a CONSUMPTION_REQUEST, and Apple asks for consumption data and a refund preference for that billing period within 12 hours.
- Upgrading from a 12-month commitment plan to a higher tier ends the commitment immediately, and the customer may receive a prorated refund for the unused part of the current period.
One approved refund on Apple's monthly subscription with a 12-month commitment can take back a single payment or cancel every payment left in the year. Which one happens depends on a detail most server code never checks: whether the refunded month is the current one. Apple's documentation spells it out. A refund for a past billing period leaves the commitment running. A refund for the current period ends it immediately. Treat both the same way and you'll either cut off a customer who's still paying or keep serving one who isn't.
How Apple's 12-month commitment plan bills
Apple launched the option in April 2026. It isn't a new product type. You add a monthly billing plan to an existing one-year auto-renewable subscription in App Store Connect, and the product ID stays the same. The customer pays every month, has committed to 12 payments, and the commitment renews into another 12 months when the last payment completes, unless they cancel first.
| Rule | What Apple's documentation says |
|---|---|
| Where it's sold | Every storefront except the United States and Singapore |
| Devices and SDK | OS 26.4 or later, not watchOS, in apps built with the 26.5 SDK or later |
| Price limits | The 12-month total must be at least the upfront annual price and no more than 1.5 times it |
| Prerequisite | Upfront annual availability must be set up in a country before monthly billing can be offered there |
| How it appears in data | billingPlanType is MONTHLY, and commitmentInfo carries billingPeriodNumber, totalBillingPeriods, commitmentExpiresDate and commitmentPrice |
| If you remove the option | Existing customers don't renew at the end of their commitment, and new customers can't choose it |
Each billing period produces its own transaction and grants one month of access. That detail is what makes refunds behave the way they do. Apple refunds transactions, and on a commitment plan every month is a separate transaction.
What a refund does to a 12-month commitment
Apple's guide to the commitment life cycle splits refunds into two cases. The difference is which billing period the refund applies to.
| Refund applies to | What happens to the commitment | Where you see it | What your server should do |
|---|---|---|---|
| A prior billing period | Continues unaffected. Billing stays on schedule | revocationDate on that period's transaction | Revoke that transaction only. Keep the subscription active |
| The current billing period | Ends immediately | revocationDate on the latest transaction | End access. No further payments will come |
| An upgrade to a higher tier | Ends immediately and the new plan starts | DID_CHANGE_RENEWAL_PREF, subtype UPGRADE | Switch the entitlement. A prorated refund for the unused period may follow |
Does a refund in month two cancel the rest of the year?
No, as long as month two is in the past. Say a customer is in month five and Apple refunds their month-two payment. Apple revokes the month-two transaction, and the customer stays subscribed. Billing for months six through twelve continues. Apple's guidance is explicit here: check the revocationDate on the affected transaction, but don't interpret it as a commitment cancellation.
When a refund ends the commitment
If the refund applies to the current billing period, the commitment ends right away. The signal is a revocationDate on the latest transaction. Its presence means the current period has been revoked and there are no more payments coming, so access ends too.
Upgrades can refund money too
Apple notes that customers may receive a refund after changing their plan, not only after asking for one. An upgrade from a commitment plan to a higher-tier subscription is immediate. The commitment ends, the new plan starts, and the customer may get a prorated refund for the unused part of the commitment's current period. Downgrades work the other way. They wait until the 12-month commitment completes.
Cancelling isn't a refund
A customer who taps Cancel on a 12-month commitment plan hasn't stopped paying. Apple says they're cancelling the renewal of the commitment, not the remaining payments in the current term. Here's what reaches your server.
- Apple sends DID_CHANGE_RENEWAL_STATUS with subtype AUTO_RENEW_DISABLED.
- The commitment's auto-renew status drops to 0, so the commitment won't renew when the term ends.
- The subscription renewal info still shows willAutoRenew as 1, because monthly billing continues.
- DID_RENEW notifications keep arriving for each remaining month. EXPIRED comes after the 12th period, and that's when access ends.
Apple tells developers to check the billing plan type before running their usual cancellation logic. If it's MONTHLY, don't revoke anything. Honor every remaining billing period.
There's one regional exception. App Store Connect Help says a customer who cancels keeps paying until the commitment is complete, except in certain regions, and links to Apple's page on cancelling subscriptions in Germany, Israel, South Africa and Türkiye. In those four countries, customers have the right to cancel a subscription with immediate effect and get a prorated refund at any time.
Failed payments end access right away
Commitment plans drop a safety net you may rely on elsewhere. Billing Grace Period doesn't apply. When a monthly renewal fails, Apple tells you to revoke access while the subscription sits in billing retry and to restore it only if the payment recovers.
| Notification | What it tells you | What to do |
|---|---|---|
| DID_FAIL_TO_RENEW | isInBillingRetryPeriod is true | Revoke access now |
| DID_RENEW, subtype BILLING_RECOVERY | commitmentExpiresDate shifts to reflect the recovery date | Restore access and store the new end date |
| EXPIRED, subtype BILLING_RETRY | Apple couldn't recover the payment within 90 days | The commitment is over. Your earlier revocation is final |
After a recovery, read commitmentExpiresDate from the latest transaction. It won't match the original end date, and every later renewal follows the shifted schedule.

What a commitment plan refund costs you
Here's the money, using example prices. Say your upfront annual plan costs €59.99 and the monthly commitment option costs €6.99, which totals €83.88 over 12 months. That sits inside Apple's limit of 1.5 times the upfront price.
| Scenario, customer in month 4 | Payments refunded | Future payments lost | Commitment value gone |
|---|---|---|---|
| Apple refunds month 2 | €6.99 | None. Months 5 to 12 still bill | €6.99 |
| Apple refunds month 4, the current period | €6.99 | €55.92, eight payments never billed | €62.91 |
| Customer cancels, no refund | None | None. Months 5 to 12 still bill | €0 |
| Customer in Germany cancels | A prorated share of month 4 | €55.92 | Up to €62.91 |
Those are customer prices. What you actually lose is your share of each payment. Apple pays 70% of the subscription price, minus applicable taxes, during a subscriber's first year of paid service, and 85% after that or for members of the App Store Small Business Program.
The refund is only half the bill. A month of access isn't free to serve. If your app runs AI generations, calls paid third-party APIs, or stores customer files, you paid for that compute, those calls and that storage during the refunded month. A past-month refund hands the payment back and leaves those costs with you. A current-month refund does the same and also deletes the rest of the year from your forecast.
How to answer the CONSUMPTION_REQUEST for a commitment plan
This is the one point where you get a say. When a customer requests a refund on a commitment plan, Apple sends a CONSUMPTION_REQUEST to your App Store Server Notifications V2 endpoint. You answer with Send Consumption Information, and Apple asks you to respond within 12 hours. The response carries consumption data and your refund preference for that billing period, not for the whole commitment.
- Send data only if the customer consented. Apple's documentation says that without consent, you shouldn't respond to the request at all.
- Leave consumptionPercentage out. The API returns ConsumptionPercentageAutoRenewableSubscriptionError when you send it for an auto-renewable subscription.
- Base your refund preference on that month's usage. A customer who ran 300 paid generations in the disputed month left a record of real costs. One who never opened the app didn't.
- Look at which period the request covers. A request on the current period, if Apple approves it, ends the commitment. A request on a past period doesn't.
What your server needs to handle
- Read billingPlanType on every transaction and renewal notification. MONTHLY means commitment rules apply.
- Grant access from the transaction's expirationDate. Apple says commitmentInfo's expiration date is for showing progress, not for deciding access.
- On a refund, check whether the latest transaction carries a revocationDate before ending the subscription.
- On cancellation, keep access until EXPIRED arrives after the 12th period.
- On DID_FAIL_TO_RENEW, revoke at once. Don't wait for a grace period that won't come.
- Store commitmentExpiresDate again after every BILLING_RECOVERY.
Apple decides every App Store refund, so the CONSUMPTION_REQUEST is your only chance to put usage in front of it. RefundHalt answers those requests automatically inside the 12-hour window and records which billing period each refund hit, so a past-month refund never gets mistaken for a lost subscriber.
Frequently asked questions
- What happens when Apple refunds one payment of a monthly subscription with a 12-month commitment?
- It depends on the billing period. A refund for a prior period revokes only that month's transaction, and the commitment continues with billing on schedule. A refund for the current period ends the commitment immediately, so the remaining payments are never billed.
- Can customers cancel Apple's monthly subscription with a 12-month commitment early?
- They can cancel, but cancelling stops the commitment from renewing, not the remaining payments. Billing continues through all 12 periods and access continues with it. App Store Connect Help notes exceptions in certain regions, and Apple's support page says customers in Germany, Israel, South Africa and Türkiye can cancel with immediate effect and get a prorated refund.
- Does Billing Grace Period apply to 12-month commitment plans?
- No. Apple says Billing Grace Period doesn't apply to monthly subscriptions with a 12-month commitment. Revoke access when DID_FAIL_TO_RENEW arrives, restore it on DID_RENEW with subtype BILLING_RECOVERY, and treat EXPIRED with subtype BILLING_RETRY after 90 days as final.
- Do I get a CONSUMPTION_REQUEST for a 12-month commitment plan?
- Yes. A refund request on a commitment plan sends a CONSUMPTION_REQUEST to your App Store Server Notifications V2 endpoint. Respond within 12 hours with consumption data and your refund preference for that billing period, and only if the customer consented to sharing data with Apple.
- Is the monthly subscription with a 12-month commitment available in the United States?
- No. Apple offers it on every App Store storefront except the United States and Singapore, on OS 26.4 or later, excluding watchOS, in apps built with the 26.5 SDK or later.
Sources and further reading
- Apple Developer News: Now Available: Monthly Subscriptions with a 12-Month Commitment (April 27, 2026)
- Apple Developer Documentation: Managing the life cycle of monthly subscriptions with a 12-month commitment
- Apple Developer Documentation: Supporting monthly subscriptions with a 12-month commitment
- App Store Connect Help: Set availability for an auto-renewable subscription (monthly with 12-month commitment)
- Apple Support: About canceling subscriptions in Germany, Israel, South Africa, or Türkiye
- Apple Developer Documentation: Send Consumption Information
- Apple Developer Documentation: App Store Server Notifications notificationType
- Apple Developer: Auto-renewable subscriptions (net revenue after one year of paid service)
- Apple Developer: What's new in Apple In-App Purchase (WWDC26)
RefundHalt
The refund autopilot for the App Store and Google Play
Keep reading
Your app refund policy can't overrule Apple or Google, so write the one that matches what really happens
An app refund policy only binds you where you actually issue refunds. Apple refunds every App Store purchase itself, while Google Play hands refunds to you after 48 hours. Here's what each agreement says, what a careless promise costs, and the clauses worth writing.
How you respond to a refund request decides whether it ends as a refund or a chargeback
When a customer emails you or leaves a review asking for their money back, how you respond to a refund request depends on which store sold it. Here's who decides, the deadlines that bind you, what each outcome costs, and replies that close the case.