'Google Play refunds on in-app consumables fraud?

One of my Android apps has an in-app item that is essentially a token which people can buy and use at a later time.

I see that some people buy it and then refund it later. While implementing purchases I used the standard guide from Java section of the docs that Google provides on the topic, plus I do verify the purchases on my backend server.

All that said, I'm still not sure that it can't potentially lead to some kind of fraud. Generally speaking, is it possible for the user to buy this "token" use it and then refund it in a matter of few minutes? I didn't look into it yet, but it doesn't seem that Google would bother to send a refund callback to my backend..

Basically, how to handle these things correctly to prevent fraud?

Edit: to be more clear, I do the acknowledgePurchase() and I get valid sales that don't get refunded, not after a while, not ever. I just wonder how is it so happens that from time to time I see a purchase made, then after some time (which differs in length) it does become "refunded" (but not all of them, only some).



Solution 1:[1]

Please make sure after purchasing you did BillingClient.acknowledgePurchase() in your app. You can find details about this Here

Solution 2:[2]

If your code, when handling a purchase, does not call acknowledgePurchase() and neither call consumeAsync() then the purchase is refunded after a short time period

The only real way to verify the authenticity of a document is by verifying its signature, the same happens with in-app purchases.

A purchase token can be faked but a signature can not.

Look at this : https://stackoverflow.com/a/48531877/7690376

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Naveen Rao
Solution 2 from56