
marketbilling - issue #88
Refunded orders take too long to revert to "not owned" state in getPurchases()
STEPS TO REPRODUCE: 1. Buy a in-app non compsumable managed item 2. In developer console cancel the buy and refund the money 3. Open app and check for buyed items
EXPECTED OUTPUT: Refund items aren't available
ACTUAL OUTPUT: Refunded items are returned by the Google Play (8 hours since refund) :(
AFFECTED ORDER IDS (IF RELEVANT):
OS VERSION: 4.1.2
MARKET/MYAPPS VERSION: com.ryosoftware.cputweaks (com.ryosoftware.cputweaks.pro)
DEVICE: Galaxy Note
OUTPUT FROM ADB BUGREPORT ATTACHED: (Note: The output from "adb bugreport" is required for all bug reports.)
D/IabHelper( 1500): Got sku details: SkuDetails:{"title":"CPU Adjuster - PRO","price":"1,22 €","type":"inapp","description":"Remove Ads\nUnlimited number of profiles\nMake app functional after trial period","productId":"com.ryosoftware.cputweaks.pro"} D/CPUTweaks( 1500): d: Billing: Query inventory finished without errors
NOTES:
Comment #1
Posted on Dec 11, 2012 by Massive KangarooSorry, I'm refer to IAB v3
Comment #2
Posted on Dec 12, 2012 by Massive KangarooAfter 24 hours (more or less) the pro in-app item that i've refund bia developer console, appears cancelled in the client play store. seems to me that 24 hours is too many time! :( but you can close this issue
Comment #3
Posted on Dec 21, 2012 by Happy WombatHiw the app gets notified? Is SKU just not listed in purchased items (getPurchases() result) ?
Comment #4
Posted on Dec 21, 2012 by Happy CatIt is - even 3 days after I cancelled the (test) purchase - that's the problem.
I need to know how the 'refund' or 'cancellation' is reported to the app - as it stands now, it appears that the app caches the 'purchased' state (of the SKU) and it's not updated.
I uninstall and reinstalled the app - still in getPurchases() after that.
The only thing which appears to have reset it - is Factory Resetting my (test) phone - I doubt customers will do that!!
v2 of Billing had a notification system for Refunds - does v3 not have that - is there a way to force v3 to check a purchase is still valid?
JP
Comment #5
Posted on Jan 11, 2013 by Swift BearMuch like issue 92, and I quote something from there "It's not really clear in the sample code, but shouldn't you check the "purchase state" of the purchases returned by queryInventory and only regard the ones "purchased" or "refunded" as purchased, and "cancelled" as not purchased?"
Comment #6
Posted on Jan 11, 2013 by Happy CatThey keep coming back as 'purchased' is the main issue I think...
It does appear that they will, eventually, be cancelled - but it takes DAYS for this to happen...
Comment #7
Posted on Jan 11, 2013 by Swift BearThat is most likely due to Google Play's Local Caching, http://developer.android.com/google/play/billing/api.html#caching
The amount of time it takes depends on when Google Play refreshes it's cache. We would need to receive an IN_APP_NOTIFY (which I'm not sure if this even exists in API3) and manually synchronize the Google Play cache. Can we hear from a dev?
Comment #8
Posted on Feb 5, 2013 by Grumpy DogIssue 92 has been merged into this issue.
Comment #9
Posted on Feb 5, 2013 by Grumpy DogIssue 94 has been merged into this issue.
Comment #10
Posted on Feb 5, 2013 by Grumpy Dog(No comment was entered for this change.)
Comment #11
Posted on Feb 5, 2013 by Grumpy Dog(No comment was entered for this change.)
Comment #12
Posted on Feb 5, 2013 by Grumpy Dog(No comment was entered for this change.)
Comment #13
Posted on Feb 5, 2013 by Happy CatI think the problem comes with Checkout. My experience: 1.- Purchased and Refunded few hours later -> in 2 or 3 days item is not owned. It's too much time but finally user gives up using the app for free. 2.- Purchased and Refunded few days later -> item is owned indefinitely, at least 1.5 months (state = 0)
In second case item appears as Shipped on Checkout
Comment #14
Posted on Feb 14, 2013 by Happy HorseHi,
Is this issue occurs with consumable items? As I am going to have consumable items in my App so just want to confirm. Did anybody try for consumable items?
Comment #15
Posted on Feb 14, 2013 by Happy CatHi lina
I don't think so, because a consumible item can't be refunded just consumed, but I haven't tried it
Unexpectedly, one of the items now appears as not purchased. It also agreed that in Checkout, the order no longer appears as shipped. 16 days after the manual refund/cancel, the Checkout system has "unshipped" the order automatically and the user doesn't own the item.
If this is not an Checkout issue.....
Comment #16
Posted on Feb 14, 2013 by Happy ElephantWhen I was testing this, I did try consuming the purchased item. This worked immediately and then allowed the user to repurchase without delay.
Comment #17
Posted on Feb 15, 2013 by Happy HorseBut what if before consume call the internet connection is lost? And before restarting my application my order is cancelled at check out?
Comment #18
Posted on Feb 20, 2013 by Happy OxI would like to add that the same issue plagues IAB v2 as well. It's been 2 days since I received email notification of refund. However IAB server keeps returning PURCHASED rather than REFUNDED doing a restore transactions operation.
Testing these purchases is a nightmare. Not only do we have to use real credit cards, the store won't even revert the purchase in a timely manner!
Comment #19
Posted on Mar 15, 2013 by Massive GiraffeComment deleted
Comment #20
Posted on Oct 9, 2013 by Quick HippoI have made a refund, but the app still shows the item as PURCHASED even after 8 days. I'm referring to IAB v3. I've already rebooted the phone, uninstalled and reinstalled the app but still no luck. I understand it can take up to 72 hours but its now more than 3 days.
Comment #21
Posted on Oct 7, 2014 by Grumpy BearI am seeing this issue right now (my cancelled items are still showing as being purchased). Because of this my UI cannot correctly update to indicate that the subscription has been cancelled, which will lead to a poor user experience.
I would like to second the comment regarding how hard it has been to test out in app subscriptions. So many headaches.
Comment #22
Posted on Dec 12, 2014 by Helpful HippoComment deleted
Comment #23
Posted on Apr 9, 2015 by Massive HorseWe are experiencing this issue in subscriptions. If users cancels subscription, it still thinks that user is subscribed. It is not because of the billing cycle, because we are waiting for cycle to end and then it still says user is subscribed. Then we clean the Play Store and Play Services cache. Voala, it works like it should.
Comment #24
Posted on May 17, 2015 by Helpful GiraffeI'm also using IAB v3 and only after reboot device, that I believe the cache will be cleaned then it worked.
Status: Accepted
Labels:
Type-Defect
Priority-Medium
Google-8134928