Skip to main content
Solved

PlayStore purchases registered, but not triggering webhook

  • 12 August 2021
  • 1 reply
  • 175 views

Forum|alt.badge.img+5

Testing in Sandbox we’ve encountered the following issue: 
Upon making a purchase on Android we see the following behavior:

  • Play Store (on device) - Gets success confirmation 
  • PlayStore console order manager shows the order 
    Purchase shows up on PlaySore order manager
  • RevenueCat Dashboard has a record of that exact purchase (matching transaction_id) 

     

  • However there’s no record of webhook that’s being triggered for INITIAL_PURCHASE (see image above)

Is this an issue with RevenueCat SDK or the RevenueCat service?
Please advise

Best answer by ryan

Hi @Houzz!

 

I was able to take a look at that event ID in our system and confirm that was a backfilled event, which means it was actually created in RevenueCat at the same time as a future transaction, and only the latest transaction would dispatch a webhook or integration event. 

 

The most common case for backfilled events are customers that had a subscription previously then migrated to RevenueCat. RevenueCat will start seeing renewals, and try to backfill any historical renewals back to the initial purchase - but only the latest transaction dispatches events to integrations / webhooks.

 

In this case, it looks like this is a SANDBOX transaction so it’s possible to see a backfilled event even if the purchase was initiated through RevenueCat if there was some failure on the initial purchase. An example of how this could occur would be:

  1. Purchase initiated through RevenueCat SDK
  2. Initial purchase is not recorded in RevenueCat. On a test device especially there could be a lot of reasons for this so I wouldn’t be able to tell you exactly what happened. Maybe the test device lost connection, there was some issue with your configuration that was later fixed, or the Google sandbox server was having issues.
  3. A few minutes later (because in sandbox) the first renewal happen and RevenueCat successfully detects that. It also sees there was an initial purchase so that now gets recorded.
  4. An event is only dispatched for the latest transaction

 

Due to the 5min renewal cycles and the less reliable nature of sandbox environments, I would still expect this to be rare but wayyyy more common in sandbox than production. 

 

Hope this helps!

View original
Did this post help you find an answer to your question?

1 reply

ryan
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • 391 replies
  • Answer
  • August 12, 2021

Hi @Houzz!

 

I was able to take a look at that event ID in our system and confirm that was a backfilled event, which means it was actually created in RevenueCat at the same time as a future transaction, and only the latest transaction would dispatch a webhook or integration event. 

 

The most common case for backfilled events are customers that had a subscription previously then migrated to RevenueCat. RevenueCat will start seeing renewals, and try to backfill any historical renewals back to the initial purchase - but only the latest transaction dispatches events to integrations / webhooks.

 

In this case, it looks like this is a SANDBOX transaction so it’s possible to see a backfilled event even if the purchase was initiated through RevenueCat if there was some failure on the initial purchase. An example of how this could occur would be:

  1. Purchase initiated through RevenueCat SDK
  2. Initial purchase is not recorded in RevenueCat. On a test device especially there could be a lot of reasons for this so I wouldn’t be able to tell you exactly what happened. Maybe the test device lost connection, there was some issue with your configuration that was later fixed, or the Google sandbox server was having issues.
  3. A few minutes later (because in sandbox) the first renewal happen and RevenueCat successfully detects that. It also sees there was an initial purchase so that now gets recorded.
  4. An event is only dispatched for the latest transaction

 

Due to the 5min renewal cycles and the less reliable nature of sandbox environments, I would still expect this to be rare but wayyyy more common in sandbox than production. 

 

Hope this helps!


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