How to remove entitlement when lifetime purchase is refunded?

  • 7 October 2021
  • 6 replies

Userlevel 1
Badge +5

Your documentation has the following paragraph:

If you wanted to add a 'Lifetime Unlock' purchase option to your app, it is recommended to create a new non-consumable IAP, add the product to your offering, and add the product to your entitlement. This works well in many contexts, such as alongside other subscription packages, or just as a standalone package in your offering.


We noticed that this scenario breaks when a user requests a refund for this IAP, as RevenueCat treats the Entitlement as unlocked forever.

It would be great when there was an option in the dashboard to at least manually remove an Entitlement (maybe I have missed it?)

6 replies

Userlevel 5
Badge +9

Apple refunds should remove the Entitlement, and Google refunds initiated through the RevenueCat dashboard or UI should remove the Entitlement 🤔. What case are you seeing where the Entitlement is not removed? 

Userlevel 1
Badge +5

@ryan Thank you for looking into this!

I’m testing this on Android and after a refund (through RC), the Entitlement is still visible in the dashboard for the test user.

I can confirm that on the device, the Entitlement isn’t working anymore, but subsequent tries to start a subscription with the same Entitlement don’t work.

The Entitlement is neither in purchaserInfo.Entitlements.Active nor is it recorded in purchaserInfo.Entitlements.All

Please let me know when you want to take a look at the account in RC, and I’m happy to send you more details via e-mail.

Badge +4

I am getting this too. The customer id is $RCAnonymousID:349f27e989cf46fa8c65ec88d4a733a5.

I also see that it shows in the Customer History as two purchases (double the revenue) instead of one purchase and one refund (with a net zero)

Userlevel 5
Badge +9

Hey @Kiwi! I’m seeing two unique valid Google purchase tokens for that customer, so it would appear that they made two purchases from their Google account. Was the refund granted through RevenueCat? 

Badge +4

Hi @ryan. No, the refund was done by them through Google. So it looks like they bought it a second time by mistake, then refunded the second one themselves. 

Is it the case that RC doesn’t get notified of refunds  through Google?

Badge +6

Can some one answer this? So if someone buys a lifetime purchase, and then Google refunds them via CS or we do, then they still will have access to the entitlement? this does not make any sense