fluttersubscription

How to Implement Upgrade and Downgrade Subscription Plans Using Superwall Paywall in Flutter?


I'm using the Superwall Paywall for subscription management in my Flutter app, and I need to implement functionality for upgrading and downgrading subscription plans. Here's the current setup:

Does Superwall provide built-in support for this, or do I need to handle some aspects (e.g., billing updates, user state management) manually? If anyone has experience with this or can provide guidance, it would be greatly appreciated!

Flutter SDK version: 3.22.0 Superwall Paywall version: superwallkit_flutter: ^1.3.9

What I Tried:


Solution

  • Superwall dev rel here. Let me try to help.

    Displaying the correct options on the paywall for active subscribers

    You can show the correct subscription options based on the user's current plan. There a lot of ways to check that depending on your setup (using a purchase controller, your own logic, superwall delegate, etc) - but you could either make different paywalls depending on the plans, or pass a placement parameter to your paywall to change what shows (I have a YouTube video on that here: https://www.youtube.com/watch?v=7KT9FfKLByA)

    when i tried to upgrade/downgrade using paywall it creates multiple active plan in play store instead of upgrade/downgrade plan

    Right, if they are in the different subscription groups on the App Store - users can sub to more than one plan by design. I believe Google Play works similarly. Superwall itself doesn’t directly manage subscription upgrades or downgrades — that’s handled by the app stores' billing systems.

    Let me know if I can help answer anything else 🚀