Search code examples
androidin-app-purchasein-app-billing

Refund to In App Purchase on Android


I have an in app purchase that unlocks part of the app for a year. Its setup as Annual Subscription.

Temporarily running a promotion unlocking premium as one-time purchase.

One of the users emailed me and wanted to take advantage of the promotion. So I'm thinking Cancel / Refund his Subscription, and ask him to purchase again as one-time purchase.

My question is what happens after I cancel / refund his subscription order, does IAB still consider it a valid purchase or not ?

What happens when you queryInventory, is it no longer returned as his purchase or is it stilled returned and I have to handle the status somewhere in code?


Solution

  • You have to do it in your Google Wallet Merchant. Read this Google Documentation:

    Once an order is refunded - on a non-rooted device - the order will be invalid if queried. IAB considers it as a purchaseState==2 (2 is refunded according to Table 4 in here). Note that the developer will be in charge to handle refunded items. Read this question.