Skip to main content

We’ve been dealing with a support query from a customer who purchased the wrong annual subscription, then immediately bought the correct monthly subscription (for access to different products), but didn’t get access to the products the new subscription entitles them to.

Our support log from 12 Nov 2021 at 15:53 shows that the original annual subscription is still active:

Purchases.PurchaserInfo.activeSubscriptions

TPBDYhAnnually 4 Oct 2022 at 06:39

TPBDInNoMonthly 4 Dec 2021 at 06:43

iTunes shows the customer was given a refund from Apple for the first subscription:

Other transactions greyed for confidentiality

 

But the customer details screen doesn’t show a refund event:

 

The customer has called Restore Subscriptions option several times now (which calls Purchases.shared.restoreTransactions), and we have also asked them to delete and reinstall the app to force generation of a new alias - none of this works.

We’ve temporarily kept the customer happy by granting them a free annual that expires at a later date than the annual that is “blocking”, but obviously want to understand what is going on here!

Regards, James

Hey James!

I looked at the iOS receipt for that customer, and it appears that the change from Annual to Monthly was treated as a product upgrade. From the Apple receipt, those expiration dates you shared are correct. The “refund” text in the screenshot you shared could be referring to a partial refund that was granted do to a product change, this is different than the refund event that RevenueCat tracks when a customer cancels and refunds their subscription through Apple support.

 

How are you unlocking access to features? Since the expiration date for the product is in the future I would expect they should have access to the underlying entitlement that it unlocks.


Hi Ryan, thanks for the prompt reply.

It could easily be a “partial” refund you’re right, the confusion is that £7.99 is the full price of the annual subscription they switch from - but as they switched immediately I guess Apple refunded the full amount.

I do have some custom code to treat this edge case - my customers need to be able to move freely between subscriptions at any time, I can do this on Google easily enough but because of Apple’s bizarre implementation I had to set annual->monthly up as an upgrade, and hand-crank some code to work out the resulting entitlements.

The app should be unlocking both sets (i.e. treating both subscriptions as valid) until the annual expires, then just the monthly, effectively giving the customer a freebie because they’ve actually had a refund for the annual.

It seems that this may be an “edge-case on an edge-case” - the code has always worked before, but this may be the first time the yearly->month switch has been done almost immediately and where the two entitlements don't overlap. I think I need to do some deeper digging!

It certainly helps that you’ve checked the IOS receipt, I know where to focus my investigation now.

The customer is happy BTW, we broke the deadlock by giving them a free annual that now overrides the others, having a later expiry date.

Cheers!


Reply