Upgrades and Downgrades

Learn how to manage subscription upgrades, downgrades or crossgradse

For iOS Apps

Users can choose to upgrade, downgrade, or crossgrade between subscriptions if they want and do it directly on the App Store, and nothing is required from developers to support upgrades, downgrades, and crossgrades for iOS subscriptions in their apps.

For Android Apps

For Android apps, app developers can decide to support upgrade, downgrade or both in their apps by selecting their upgrade policy via Deepwall. You should use the setProductUpgradePolicy method to set the upgrade policy for the first time and you can use the updateProductUpgradePolicy method for updates on the policy.

Deepwall by default uses DISABLE_ALL_POLICIESunless a different policy is selected.

Once a policy has been set, that selection will remain valid until it is updated again

Set Upgrade Policy

You should use the setProductUpgradePolicy method to set the product upgrade policy for Google Play apps.

DeepWall.setProductUpgradePolicy(
  prorationType = ProrationType.IMMEDIATE_WITHOUT_PRORATION,
  upgradePolicy = PurchaseUpgradePolicy.ENABLE_ALL_POLICIES
)

Deepwall upgrade policy types for Google are:

Google Proration Types are:

For detailed information about Proration Types, you can see this document https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.ProrationMode

Once a policy has been set, that selection will remain valid until it is updated again

Update Upgrade Policy

You can use the updateProductUpgradePolicy method to update the product upgrade policy within the app workflow before requesting paywalls.

DeepWall.updateProductUpgradePolicy(
    prorationType = ProrationType.IMMEDIATE_WITHOUT_PRORATION,
    upgradePolicy = PurchaseUpgradePolicy.ENABLE_ALL_POLICIES)

Important Note

You need to set/update upgrade the policy before requesting a paywall for the selected upgrade policy change to take place for the purchases from the opened paywall.

You can also check out the following guide for troubleshooting the most common errors while setting up the in-app purchases and Deepwall SDK :

Last updated