I've followed the training about "In-App Billing v3" of Google. I get to do a buy of a item but I've a problem.
https://developer.android.com/training/in-app-billing/index.html
I've canceled and refunded the buy but the app detect the buy as true. I can't continue testing my app because always I detect as purchased the item.
The only error that I've found in logCat is the next:
[3687] InAppBillingService.logResponseBundle: Bundle does not contain a response code
Appears after launching mHelper.queryInventoryAsync(mGotInventoryListener).
Any idea?
p.s. - this suggests it just takes time for the refund to be updated
http://code.google.com/p/marketbilling/issues/detail?id=88#makechanges
But I'm not convinced - I realise they're caching purchase data on the device but 24h is a long time...
Updated to add that more than 24 hours after I cancelled 'test' transactions, those accounts are still licensed!!
Updated again - after 36 hours the app was STILL licensed. I uninstalled and reinstalled and it was STILL licensed!!
Updated AGAIN! - I factory-reset the device, logged-in, installed the app and it was unlicensed...
AND another update - a reply from Google suggests that refunds are processed 'automatically' but can take 'upto 72 hours' to be refreshed on the device - there is no other route to detect a refund, so players get upto 3 days of stuff 'for free' if they refund - erm, OK this is In-App and not App purchase but still, that seems a BIT excessive?