Query through old in-app purchases or keep track in another way

I want the users to purchase premium membership without using subscriptions because users are more likely to purchase if there is no auto renewable billing.

Let's say the user buys 30 days premium membership, the only way I know how to keep track of the purchases is through queryPurchasesAsync but it only show them as long as they are not consumed using consumeAsync. But when consumeAsync isn't used, then the purchase will be auto refunded after some time.

The problem is that when I use consumeAsync and give the user the 30 days membership, which is stored in sharedPreferences, it will be deleted when the user deletes app data. I know I can force them to create an account but I want the users to have it as easy as possible to purchase it.

So is there a way how I could keep track of the purchase without forcing the user to create an account? Is there an Google API in which consumed purchases can be queried? I've seen this: Android In app billing purchase history query and it says there isn't a way. But this answer is old so maybe there is now? Maybe backend somehow? I have a server with PHP on it.


  • If you want to provide a time-limited premium membership without auto-renewing, Google offers so called prepaid plans, which I believe fits best in your case.