I'm using the Google Play Billing Library. The documentation for BillingClient.queryPurchases
says:
Get purchases details for all the items bought within your app. This method uses a cache of Google Play Store app without initiating a network request.
Some customer support tickets have come in with receipts showing that they've purchased, and the Google Play Order Management console confirms this, but queryPurchases
says that they haven't purchased.
I'm guessing that the problem is the cache of purchase details. Is there a way to refresh that cache in code?
(For that matter, is there a way for users to manually refresh the cache? Reinstalling the app and even rebooting the phone apparently doesn't fix it.)
The solution is not very good but you have to ask your users to clear data of the Google Play Store app, not your app.
Go to Settings -> Apps -> Storage.
And click on the Clear Data button.
Refer to this answer for more details.