Upgrade not working like intended on Android SDK

  • 6 August 2021
  • 1 reply

Badge +5

Currently using com.revenuecat.purchases:purchases:4.2.1

When a user goes to upgrade a product in the same offering, I’m using UpgradeInfo to do that. 

new UpgradeInfo(currentProduct,1) //1 = IMMEDIATE_WITH_TIME_PRORATION

But the user is showing that the upgrade will start at a later date . Am I doing something wrong?




Best answer by Andy 11 August 2021, 15:44

View original

1 reply

Userlevel 4
Badge +8

Hi! Sorry for the delay in the response.

I think this is actually the expected behavior for IMMEDIATE_WITH_TIME_PRORATION, although it’s not particularly intuitive.

  • user got charged on Aug 3rd, $9.99
  • next renew date was for Sep 3rd.
  • new price is $19.99, so the already-paid amount would amount for 1/2 month, instead of a full one, so they now renew on the 20th

From Google’s docs:

Replacement takes effect immediately, and the remaining time will be prorated and credited to the user. This is the current default behavior.

This means that after accepting, they won’t be charged right away because they’ve already paid for ½ month, but they’ll be able to access the higher tier service.

I believe you might have expected the behavior to be like the one in  IMMEDIATE_AND_CHARGE_PRORATED_PRICE:

Replacement takes effect immediately, and the billing cycle remains the same. The price for the remaining period will be charged.


Hope that makes sense! Let me know if you have any questions.