I can’t seem to find my flaw that just happened documented (looked here). What I think I have happened in production is this flow, but data tells a slight different story.
The revenue cat dashboard for the customer has this order of events:
![](https://uploads-us-west-2.insided.com/revenuecat-en/attachment/cedd4e79-e0b4-469c-b481-faa4999b82bf.png)
But the events that came via the webhook are in this order:
![](https://uploads-us-west-2.insided.com/revenuecat-en/attachment/be37925c-8e4e-4273-87ca-05b3b05fd66b.png)
These 2 don’t seem to match exactly.
How do I tell what happened and if the customer should or not have entitlements at the moment?
Also this means that after an EXPIRATION event, it is possible to receive a RENEWAL event for Play Store as well? The documentation seems to say that this is only for iOS and that Google will always send INITIAL_PURCHASE after an EXPIRATION happened (documented here).
Should I always grant back entitlements to a user when I received a RENEWAL regardless of anything else?