LOGO

Apple StoreKit 2: Easier Subscriptions & Refunds for Apps

June 10, 2021
Apple StoreKit 2: Easier Subscriptions & Refunds for Apps

Managing iOS App Subscriptions: New Tools from Apple

If you've previously purchased an iOS app subscription and subsequently sought to cancel it, modify its tier, or request a reimbursement, you might have encountered difficulties navigating the process. Many users still mistakenly believe that deleting an app from their iPhone will halt subscription charges. Others may search unsuccessfully within their iPhone’s Settings or the App Store for refund options.

StoreKit 2: Simplifying the Process

With the updates to StoreKit 2 announced during Apple’s Worldwide Developers Conference, the experience for app customers is poised to become more streamlined. StoreKit is Apple’s framework for developers to manage in-app purchases, an area that has grown in complexity as apps increasingly offer subscription-based models with varying tiers and features.

Currently, subscription management and cancellation are handled through the App Store or iPhone Settings. However, some users struggle to locate the relevant section within Settings, which requires tapping on their Apple ID (displayed as their name and profile picture). Navigating the App Store can also present challenges for those unfamiliar with its interface.

Requesting Refunds: Existing Methods

There are several existing avenues for requesting refunds on in-app subscriptions. Users can search their email inbox for the Apple receipt and utilize the included “Report a Problem” link to initiate a refund request when issues arise. This is particularly useful for accidental purchases or when promised features are not functioning correctly.

Apple also maintains a dedicated website for direct refund requests for apps and content. This resource is often prominently displayed in search results when users query terms like “request a refund apple.”

The Need for In-App Management

Many users would find it most convenient to manage subscriptions and request refunds directly within the app itself. Consequently, many developers proactively include links within their apps to guide customers to Apple’s subscription management and refund pages.

StoreKit 2 introduces new tools designed to facilitate the implementation of these features more easily for developers.

New APIs for Enhanced Control

A key addition is the Manage Subscriptions API, enabling developers to display the subscription management page directly within their app, eliminating the need for redirection to the App Store. Developers can also optionally present a “Save Offer” screen, offering a discount to encourage subscription continuation, or an exit survey to gather feedback on cancellation reasons.

Customers will see a familiar interface within the app, mirroring the experience on the App Store for cancellation or modification. Following cancellation, a confirmation screen will display the details and service expiration date.

Streamlined Refund Requests

The new Refund Request API allows customers to initiate refund requests directly within the app, without being redirected. Users can select the item for which a refund is sought and specify the reason for the request. Apple will then process the request and notify the developer of the approval or denial.

Developer Perspectives and Limitations

Some developers contend that these changes don’t go far enough, desiring greater programmatic control over subscription management and refunds. Furthermore, Apple’s refund request processing time of up to 48 hours can cause confusion. StoreKit 2 aims to mitigate this by sending email confirmations acknowledging the request and providing updates upon completion.

“They’ve made the process a bit smoother, but developers still can’t initiate refunds or cancellations themselves,” notes RevenueCat CEO Jacob Eiting. “It’s a step in the right direction, but could actually lead to more confusion between developers and consumers about who is responsible for issuing refunds.”

The increased accessibility of these forms within apps may lead customers to believe developers are handling refunds, when Apple retains control of the process.

Addressing Remaining Scenarios

Developers have also pointed out that certain scenarios remain unaddressed. For example, users who have uninstalled the app or no longer possess the device will still need to utilize existing refund request methods.

Benefits for Consumers

For consumers, these tools mean more developers are likely to integrate subscription management and refund options directly into their apps, creating a more user-friendly experience. Apple anticipates this will lead to improved customer retention, engagement, and App Store reviews.

Additional StoreKit 2 Features

The StoreKit 2 updates extend beyond subscription and refund management.

A new Invoice Lookup API allows developers to retrieve in-app purchase information, validate invoices, and identify any existing refunds. The Refunded Purchases API provides access to a list of all refunds issued to a customer.

Renewal Extensions and Consumption Tracking

The Renewal Extension API enables developers to extend subscription renewal dates in cases of service outages, such as during customer support issues. This extension can be applied up to twice per calendar year, with a maximum duration of 90 days each time.

A new Consumption API allows developers to share information about a customer’s in-app purchase usage with the App Store, aiding in the refund decision process. The API indicates whether the user consumed the purchase partially, fully, or not at all.

Automatic Purchase Restoration

A significant improvement addresses the need for manual “restore purchases” when reinstalling apps or downloading them on new devices. StoreKit 2 will automatically fetch purchase information, ensuring apps are immediately up-to-date with the user’s paid content.

Apple’s Control and Future Considerations

While these changes represent a substantial update to the StoreKit framework, Apple’s reluctance to grant developers greater control over subscriptions reflects its desire to maintain oversight of in-app purchases. This caution stems from past experiences, such as the Hulu incident where a subscription API was misused to circumvent App Store policies.

Maintaining control also allows Apple to mitigate fraud perpetrated by both customers and developers. Furthermore, a centralized subscription management system provides a consistent experience for customers.

The Importance of Subscription Revenue

These changes are significant because subscription revenue constitutes a substantial portion of Apple’s App Store business. In 2020, digital goods and services sales on the App Store reached $86 billion, a 40% increase year-over-year. As of earlier this year, Apple has distributed over $230 billion to developers since the App Store’s launch in 2008.

#StoreKit 2#apple subscriptions#app refunds#apple developer#in-app purchases