Skip to main content
Question

Unexpected Resubscribe Flow

  • 18 January 2024
  • 6 replies
  • 60 views

Forum|alt.badge.img+6

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:


But the events that came via the webhook are in this order:

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?

6 replies

Forum|alt.badge.img+6
  • Author
  • Dedicated Member
  • 28 replies
  • January 18, 2024

In case you are able to see the customer ID is zFJvdHtkE2evnc9fnhtGVNLcDt52

Also what is confusing is that the customer page for this ID has the entitlement listed.. Does it mean it’s active?
 


Because the Active Customers screen does not list this user…
So where is the final truth about if the customer should have the entitlement enable at this moment in time live?


wes_clark
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 221 replies
  • January 22, 2024

Hi! Thank you for reaching out. I looked into this internally and I think I have the explanation as to what is going on. The renewal event is listed as having occurred on 01-12 in the Customer History, but if you click on the event itself and take a look at the event_timestamp_ms, it actually occurred on 01-18 and RevenueCat backdated it to have occurred when the grace period had started as the “effective” renewal date going forward. Google itself still considered the re-subscription within its window of counting as a renewal, and thus, that is why it was generated as a renewal, rather than an initial purchase like the documentation that you cited states. Because the expiration still occurred within that time before the re-subscription, we still include that expiration event in the Customer History. We will be looking into how to illustrate this potential flow within the documentation. Thank you for bringing this example to us and I apologize for the confusion that it has caused. Since the user did resubscribe, it is correct for them to currently have the entitlement. 


Forum|alt.badge.img+6
  • Author
  • Dedicated Member
  • 28 replies
  • January 30, 2024

I guess I am still confused. We can set aside what the RC portal shows on the customer history page for now and just look at the webhook events (which match what you have in the RC dashboard once you click each historical event).

31 days after the purchase we got the billing issue with the cancellation. I assume this is where auto-renewal failed. this is when grace period started (I have it set for 3 days in Play Console). 3 days later we got the expiration which seems correct since the grace period elapsed. now 3 more days later we got the renewal. this is where I think it should have been a purchase no? since it is way past the grace period. Could you tell me why you think Google considered Jan 18th event within the grace period? I thought grace starts when the subscription month elapses.
I also now have a SUBSCRIPTION_PAUSED event that seems new and I would like to know if this is indeed from the user or something to look into.

Thank you again for looking into this.

 


Forum|alt.badge.img+6
  • Author
  • Dedicated Member
  • 28 replies
  • March 3, 2024

Hi just following up on this item


Forum|alt.badge.img+6
  • Author
  • Dedicated Member
  • 28 replies
  • December 30, 2024

Hi again on this


Forum|alt.badge.img+8
  • RevenueCat Staff
  • 421 replies
  • January 3, 2025

Hi ​@cube20ever20, apologies for the delay in response here. 

Could you tell me why you think Google considered Jan 18th event within the grace period? I thought grace starts when the subscription month elapses.

The grace period for a Google Play subscription should start when a renewal payment is declined. In the grace period event for this user, the grace_period_expiration_at_ms was for 2024-01-15 so at the time that event was generated that is what Google sent us in the receipt. This is correct which you can see by the expiration event in the customer history being at 2024-01-15. 

 

I also now have a SUBSCRIPTION_PAUSED event that seems new and I would like to know if this is indeed from the user or something to look into.

This event is from the user, see our docs here for more details: https://www.revenuecat.com/docs/integrations/webhooks/event-flows#subscription-paused-flow-android-only


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings