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 |
| All policies are open. Users can upgrade or downgrade their products |
| All policies are closed. Users can not upgrade or downgrade their products. |
| Users can only upgrade their products |
| Users can only downgrade their products |
Google Proration Types are:
Proration Type | Description |
| Replacement takes effect when the old plan expires, and the new price will be charged at the same time. |
| Replacement takes effect immediately, and the billing cycle remains the same. |
| Replacement takes effect immediately, and the new price will be charged on next recurrence time. |
| 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 :
TroubleshootingLast updated