Search code examples
iosstorekit

How to identify that a user changed subscription in manage->setting?


We support subscriptions in our apps and now users can change the subscription from the settings->manage subscriptions button on their ios devices.

How can we find out about these kind of changes in the app?

I was expecting to see a transaction on this change in the SKPaymentQueue or see indication for it when validating the receipt but I could not find anything when I changed from one subscription level to another (in the same subscription group).

Apple documentation on the storeKit (https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html#//apple_ref/doc/uid/TP40008267-CH7-SW6) mention cancellation but not subscription change. How can the application (client side or server side) can be notified when a user changed his subscription?


Solution

  • By Validating Receipts With the App Store on monthly periodically basis just before user plan going to renew, you can check in Product Identifier

    The product identifier of the item that was purchased.

    ASN.1 Field Type 1702

    ASN.1 Field Value UTF8STRING

    JSON Field Name product_id

    JSON Field Value string

    This value corresponds to the productIdentifier property of the SKPayment object stored in the transaction’s payment property.