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_POLICIES
unless 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 upgrade policy types for Google are:
Upgrade Policy
Description
ENABLE_ALL_POLICIES
All policies are open. Users can upgrade or downgrade their products
DISABLE_ALL_POLICIES
All policies are closed. Users can not upgrade or downgrade their products.
ENABLE_ONLY_UPGRADE
Users can only upgrade their products
ENABLE_ONLY_DOWNGRADE
Users can only downgrade their products
Google Proration Types are:
Proration Type
Description
DEFERRED
Replacement takes effect when the old plan expires, and the new price will be charged at the same time.
IMMEDIATE_AND_CHARGE_PRORATED_PRICE
Replacement takes effect immediately, and the billing cycle remains the same.
IMMEDIATE_WITHOUT_PRORATION
Replacement takes effect immediately, and the new price will be charged on next recurrence time.
IMMEDIATE_WITH_TIME_PRORATION
Replacement takes effect immediately, and the remaining time will be prorated and credited to the user.
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.
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