Guide to Auto-Renewable Subscriptions in Swift

Anurag Pandey

AccuWeather Senior iOS Developer

June 4, 2021

Image

Auto-renewable subscription is an iOS purchase category that allows developers to monetize their apps by charging for the content or features. To offer subscriptions, you’ll need to implement StoreKit APIs in your app, configure your subscriptions in App Store Connect and assign them to a subscription group (a group of subscriptions with different access levels, prices, and durations).


So let's dive into implementing auto-renewable subscriptions and make some money.

Configure the Subscription Product

Step 1: Set up a subscription product in App Store Connect

Login to the iTunes Connect in-app purchases and create a subscription product as shown below:

In-App Purchases

Configure Your Subscription Product Here

Image

In-App Purchases

Configure Your Subscription Product Here

Image

In-App Purchases

Configure Your Subscription Product Here

Image

Step 2: Generate app-specific shared secret key

Now that you have set up the subscription product on iTunes Connect, you need a way to fetch subscription details on the app. Apple does not provide anything built into iOS or a REST API that gives you simple subscription details. Apple does have an API (receipt validation API) that when given a user's local receipt and a shared secret generated in iTunes Connect, it returns a JSON object of the user's purchase history for your app, including their current subscription information.

 

In order to access the receipt validation API, you need an app-specific shared secret key. Generate the shared secret key and never regenerate it if you have a live app and use it on the App Store.

App-Specific Shared Secret

This is where you Manage App-Specific Shared Secret

Image

App-Specific Shared Secret

This is where you Manage App-Specific Shared Secret

Image

Let's Dive Into Coding

Now we have all the configuration done, we can get into some coding.

Step 3: Create StorekitHandler

First, create a StoreKitHandler class that imports StoreKit. Here is a code sample of how to initialize StorekitHandler that pulls all the products from the App Store:
Image
StoreKitHandler needs to conform to SKPaymentTransactionObserver and SKProductsRequestDelegate. With our SKProductsRequest delegate set and the request started, we need a way to grab the response and implement the SKProductsRequest delegate method:
Image

Step 4: Initiate a purchase and restore a request

Now we are all set up to handle the purchase request, let’s get into how to initiate a purchase and restore a request:
Image

Step 5: Confirm request is successful

If your product request is successful, we just need to observe the purchase response SKPaymentTransactionObserver’s paymentQueue method. paymentQueue method contains a list of transactions and each transaction has transactionState as below:
Image
Your app may need to support multiple countries and is supposed to show the price in a localized currency. Apple has made that easy for us. SKProduct contains price details and can be accessed as below:
Image
A successful purchase event in the paymentQueue method doesn’t signify a successful purchase, because a successful purchase event means that purchase was done in the past. It doesn’t mean a subscription is valid. To verify the validity of a subscription product, we need to validate receipt.

Subscription Best Practices

Here are a few important best practices to work by:

 

    1. Never store subscription data such as prices and descriptions for example, in your app. Always rely on Apple for this latest data. This will give you the ability to change prices and make unique promotional offerings without releasing a new app version.

 

  1. Describe your subscription clearly so your users know exactly what they’re buying. Also a clear description is required from Apple to avoid any App Store rejections.

Anurag Pandey

Anurag Pandey

AccuWeather Senior iOS Developer

An iOS enthusiast with a passion to dive deeply into architectures, design patterns, standard principles and explore new technologies.

AccuWeather Enterprise Solutions, the world's leading commercial weather source partnering with more than 240 of Fortune 500 companies and thousands of businesses and government agencies worldwide, provides the most accurate, actionable weather data, forecasts, and intelligence that saves lives, protects property, drives revenue, minimizes risk, increases productivity, and more for clients worldwide. AccuWeather Enterprise Solutions has focused on the business impacts of weather for over 50 years, serving clients in all 50 states in the United States and worldwide including all of North America, Europe, Africa, Australia, South America and Asia. Clients across all industries rely on AccuWeather Enterprise Solutions for the most accurate weather information and insights to drive quantifiable business results. Government and emergency management agencies also rely on AccuWeather for the best forecasts of severe weather events - floods, tornadoes, hurricanes, cyclones and others - available from any source. By forecasting and communicating the weather the most accurately and effectively worldwide, focusing on impacts - telling people how, why, and what they need to do in order to save lives and minimize losses - AccuWeather has saved tens of thousands of lives and tens of billions of dollars in property damage.

Related Posts

Press Release

Back-to-Back Kona Storms and Destructive Flooding Result in Around $2 Billion in Total Damage and Economic Loss in Hawaii

AccuWeather's preliminary estimate accounts for damage to homes, businesses and infrastructure, tourism losses during peak spring break season, agricultural impacts and the costs of emergency response and recovery operations across O’ahu, Maui and the Big Island. > The worst flooding in Hawaii in more than 20 years was triggered by 30 to 60 inches of rainfall in some areas >...

Thu, 26 Mar 2026 17:48:41 GMT

Press Release

Atlantic Hurricane Season Forecast: 11-16 Named Storms Predicted by AccuWeather

AccuWeather® Global Weather Center - March 25, 2026 – AccuWeather hurricane experts are forecasting a near- to below-historical-average Atlantic hurricane season in 2026, but warn the risk of U.S. impacts remains elevated. > Preparedness is critical with 3-5 direct U.S. impacts predicted this year > Rapid intensification in very warm waters and ‘homegrown development' near the U.S. coastline are two key concerns this hurricane season...

Wed, 25 Mar 2026 10:11:05 GMT

Press Release

AccuWeather® Launches First of A Kind Weather App in ChatGPT

AccuWeather's Exclusive MinuteCast®, RealFeel® and RealFeel® Shade Temperature, Plus AccuWeather 10-Day Forecasts, Radar, Current Conditions and Government Weather Advisories All Now Available Directly in ChatGPT AccuWeather® Global Weather Center - March 24, 2026 – AccuWeather®, - the most trusted source of weather forecasts and warnings with proven Superior Accuracy™ - has launched its weather app in...

Tue, 24 Mar 2026 17:53:23 GMT