Search code examples
iosswiftstorekitswiftystorekit

Check if an Auto-Renewable Subscription is still valid


I would like to check the Auto Renewable Subscription status whenever I open the app.

This is to make sure that the user is still subscribed to the service. How do I achieve this?

Any thoughts? Thank you

P.S.: I am using SwiftyStoreKit


Solution

  • Here is several ways to do receipt validation to check is user granted to subscription. Here is two ways of doing it correctly:

    1. Do receipt validation locally as it is written here.
    2. Do receipt validation remotely as it is written here. It is mentioned that receipt should not be sent to App Store within an app. Short summary:

      • Your app sends receipt to your backend.
      • Your backend sends receipt to Apple backend for validation.
      • Your backend gets response from the apple.
      • Your backend sends result back to your app is receipt valid or invalid.

    In both ways you will get list of in-app purchases. It will contain expired subscriptions as well. You would need to go through all subscriptions and check expiration dates. If it is still valid you must grant user with subscription.

    As I understand you are using SwiftyStoreKit and here is open task for local receipt validation.