what's changed with in app purchases?

Asked on 06/11/2025

1 search

There have been several updates to in-app purchases as presented at WWDC:

  1. StoreKit 2: The original API for in-app purchases is deprecated starting with iOS 18. Developers are encouraged to update their apps to use StoreKit 2, which offers improvements such as automatic cryptographic validation, access to customer transaction history, and the use of modern language features like Swift's async/await pattern (What’s new in StoreKit and In-App Purchase).

  2. Transaction History: Starting in iOS 18, the transaction history APIs now include finished consumable transactions. This means developers no longer need to manually track finished consumables, as the framework provides transactions for all consumables regardless of their finished state (What’s new in StoreKit and In-App Purchase).

  3. New Fields in Transaction and Renewal Info: New fields such as currency and renewal price have been added to provide additional transaction-level information. These fields are available when building apps with Xcode 16 and are back-deployed to older OS versions (What’s new in StoreKit and In-App Purchase).

  4. Offer Codes: Offer codes are now available for consumables, non-consumables, and non-renewing subscriptions. Developers can generate free and discount offer codes for all types of in-app purchases and subscriptions (What’s new in App Store Connect).

  5. App Store Server Notifications: New notification types, such as the one-time charge notification, are available to track every single in-app purchase made in an app. This includes notifications for refund requests for auto-renewable subscriptions (Explore App Store server APIs for In-App Purchase).

These updates aim to enhance the in-app purchase experience for both developers and users by providing more robust tools and features.