Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Billing Grace Period Explained: How It Works and Why It Matters

Users with auto-renewable subscriptions can enter a billing grace period if their automatic payment failed. In this period, they can continue their premium access to your app, while Apple will do its best to help the user fix their payment issues.

While it sounds like common sense and a great feature, I discovered it’s not enabled by default. This is reason enough to write this article and point you in the right direction for enabling a billing grace period for your app’s subscriptions.

What is a billing grace period?

Apple offers a billing grace period for auto-renewable subscriptions. When a user’s payment fails—whether due to an expired credit card, insufficient funds, or another issue—they’re not immediately cut off from your app’s premium features. Instead, Apple gives them time to resolve the problem while maintaining access to their subscription.

I’ve enabled this feature for RocketSim with a payment recovery window of 28 days. This means that users with a failed payment can continue to use RocketSim Pro for 28 days until they’ve fixed their payment issue.

During this period, Apple continues to retry the payment in the background. If the user manages to fix their payment method in time, they’re seamlessly transitioned back to an active paid state, without ever losing access. If they don’t resolve the issue, their subscription eventually lapses, and they lose access just as they would in a normal cancellation flow.

Here’s Apple’s explanation of the feature:

A billing grace period lets subscribers retain access to your app’s paid content even after their subscription expires due to a billing issue. If Apple successfully recovers the subscription during this grace period, you will not experience any interruption in your revenue.

How do you stay current as a Swift developer?

Let me do the hard work and join 20,373 developers that stay up to date using my weekly newsletter:

Why you should consider enabling a Billing Grace Period

A billing grace period is a safety net designed to reduce churn and keep users from dropping off due to temporary payment hiccups. If you don’t enable this feature, the user’s subscription access will be paused immediately, and they won’t be able to reaccess it until Apple successfully processes the payment.

You should do anything to keep your users in their premium flow and offer them a seamless payment experience by letting Apple do what it does best. But—and this is important—it’s only available if you explicitly enable it in App Store Connect.

Enabling Billing Grace Period in App Store Connect

Follow these steps to enable Billing Grace Period for auto-renewable subscriptions for your apps.

  1. Open App Store Connect

  2. Select your app

  3. In the sidebar, click subscriptions

  4. Navigate to and click Set Up Billing Grace Period

    You can enable Billing Grace Period for your auto-renewable subscriptions inside App Store Connect.

  5. Configure your preferences

    Note that these settings might differ depending on the length of your subscription. Also, make sure to enable both the production and sandbox environments.You can configure several settings for a billing grace period.

  6. Click Next and turn on

    Enabling may take some time. Even for sandbox testing, it could take up to an hour for product metadata to be updated. For more information, read Apple’s documentation.

Conclusion

Enabling a Billing Grace Period for your auto-renewable subscriptions is a great way to reduce churn and keep more users in your premium offering. The feature isn’t enabled by default, but it is easy to set up by following a few steps inside App Store Connect.

If you’re keen on increasing in-app conversions too, I highly encourage you to read my article App onboarding funnel optimization to increase conversions.

Thanks!

 
Antoine van der Lee

Written by

Antoine van der Lee

iOS Developer since 2010, former Staff iOS Engineer at WeTransfer and currently full-time Indie Developer & Founder at SwiftLee. Writing a new blog post every week related to Swift, iOS and Xcode. Regular speaker and workshop host.

Are you ready to

Turn your side projects into independence?

Learn my proven steps to transform your passion into profit.