Search code examples
storekitswiftystorekit

How to change from paid version to free version with subscriptions in iOS / StoreKit 2


I have an existing app on the app store since many years. Users had to pay to download the app. Now I want to shift to a freemium model by implementing in-app purchases. And I want to be fair to previous-purchasers of my app.

I searched and read a lot about this topic and it is still intimidating to me, mostly because it always comes down to parse the original transaction receipt and "parse out" encrypted stuff like "Original App Version Field" ... I was so hoping, the new StoreKit 2 offers more options for this very common problem, but couldn't find it.

So here I am asking: Is there a more easy way within StoreKit 2 to retrieve more 'readable' data from the original purchase?

Any hint would be appreciated.đŸ‘đŸ»


Solution

  • According to Apple:

    Use the Original API to Support Certain Features

    You may need to use the original in-app purchase API if your app depends on any of the following features:

    • To provide support for the Volume Purchase Program (VPP). For more information, see Device Management.

    • To provide app pre-orders.

    • Your app changed from a premium to a freemium model, or vice versa. Use the original API for existing and legacy apps.

    https://developer.apple.com/documentation/storekit/choosing_a_storekit_api_for_in-app_purchase

    So, apparently, there is no way to retrieve that information with StoreKit 2, at least as of now, with iOS 15.