Question

iOS upgrade with duration change results in 2 active subscriptions and inconsistent data

  • 22 February 2022
  • 1 reply
  • 254 views

Badge +5

A real customer in our production iOS app reached out to my team today after upgrading their subscription and saw inconsistent results. We investigated and reproduced the issue in the sandbox. Based on the data we receive from RevenueCat, we display to our customers info about their active subscription(s). In this case we (my team + customer) are seeing that the customer is currently subscribed to two subscriptions in the same iOS Subscription Group.

 

We are waiting on the customer to send us a screenshot of their active subscription for our app from the App Store - Manage Subscriptions screen and waiting for confirmation if they received a prorated refund from their previous subscription from Apple. We suspect (and hope) that the screenshot will show the customer is only subscribed to the upgraded Tier 1 subscription which matches the validated apple receipt data that indicates the Tier 3 subscription was upgraded (is_upgraded: true).

 

Details

 

We have 4 iOS subscriptions right now. In our Tier 3: 1 month & 6 month. Tier 1 + 2 both have just a 1 month subscription. Tier 1 & Tier 2 were added recently (Dec 28 in our dev app, Jan 12 in prod testflight, and publicly available Feb 2nd) and we have confirmed these are configured in the correct order in AppStoreConnect in a single Subscription Group.

 

The customer upgraded their existing 6 month - Tier 3 subscription to a 1 month - Tier 1 subscription in the same Subscription Group through our iOS app. The existing 6 month subscription was a bit less than half done, purchased Dec 7 2021 and set to expire in June 2022.

 

In the their RC Customer Profile, we see in Customer History the Renewal Preference Change to the Tier 1 subscription & Renewal for the Tier 1 subscription immediately (Feb 21) as expected based on RC + Apple Documentation. However, their entitlements only reflect their original 6 month subscriptions's expiration date and the additional entitlements granted by their upgraded Tier 1 subscription are missing.

 

Inspecting the results from the RC subscriber endpoint we see that the additional entitlements are indeed granted by the correct Tier 1 subscription and set to expire correctly in 1 month; however, the entitlement from the previous Tier 3 subscription indicates it is still granted by the previous Tier 3 subscription and shows the original June 2022 expiration instead of being associated with the Tier 1 subscription and expiring in 1 month. The data from the endpoint also shows both Subscriptions with valid future expiration dates.

 

We received the RC webhooks for PRODUCT_CHANGE & RENEWAL, as well as Apple webhooks for DID_CHANGE_RENEWAL_STATUS & INTERACTIVE_RENEWAL (which we forward to RC). The webhook data shows the upgrade from Tier 3 to Tier 1; so, we were able to grant the benefits to the customer immediately, but the subscription expiration dates are incorrect and we pass that along to the customer.

 

We reproduced this scenario in the sandbox by subscribing to the 6 month Tier 3, validating the RC dashboard + api were correct, both showed an expiration in 30 minutes. Then upgraded to the Tier 1 - 1 month subscription and received all the correct webhooks, but inspecting the RC Customer Profile & API we saw the same issue as above. The Tier 1 subscription renewed several times and yet the RC Profile displayed just the Tier 3 entitlement + 6 month expiration. After 30 minutes had elapsed, the RC Profile correctly displayed the entitlements + expiration for the Tier 1 subscription. If this is the case, we won’t see valid data for several months in our customer’s profile.

 

I found a potentially related issue in this thread https://community.revenuecat.com/dashboard-tools-52/issue-with-a-subscription-upgrade-after-a-period-change-in-sandbox-423. Our Tier 1 subscription does not have a trial, but the customer did receive a Promotional offer that discounted their upgrade to Tier 1 for the first month. The subscription they upgraded from was neither on a trial nor promotional offer.

 

Thank you for your time and we very much appreciate your guidance.


1 reply

Userlevel 5
Badge +9

Hey Mark,

Again, thanks for the detailed reproduction steps. I was able to reproduce this myself, but I’m unsure if this behavior is coming from Apple or RevenueCat, and moreover if there’s anything we can do here. I wrote up a bug report for our engineering team to look into and will update with more info.

Reply