ssawchenko / marketbilling

Automatically exported from code.google.com/p/marketbilling
0 stars 0 forks source link

Refunding a purchase using billing version 3 does not remove it from the purchases returned with queryInventory #92

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
STEPS TO REPRODUCE:
1. purchase an in-app product
2. refund the purchase in the Google Checkout console
3. call queryInventory and examine the returned purchases

EXPECTED OUTPUT:
the purchases returned by queryInventory should not include the refunded product

ACTUAL OUTPUT:
the refunded product exists in the inventory of purchases

OS VERSION:
tested on 4.2

DEVICE:
Nexus 7, Galaxy Tab 10

Original issue reported on code.google.com by mike@prime31.com on 18 Dec 2012 at 6:51

GoogleCodeExporter commented 8 years ago
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?

Original comment by ashug...@gmail.com on 4 Jan 2013 at 10:47

GoogleCodeExporter commented 8 years ago
I noticed that after a while the refunded purchases are not returned with by 
queryInventory. I'm assuming that it takes a little while for the Google Play 
app to update it's cache. 

I tested the in app billing on my wife's phone, issues a refund, and the item 
was still showing as purchased. I was using her phone a couple of weeks later 
and the item was no longer showing purchased.

Original comment by danjohns...@gmail.com on 15 Jan 2013 at 11:42

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
My experience is that the caching responsible for this delay is on the server 
side, not in the Google Play app.  I found this out by:

1) Purchasing the premium item on my Nexus 7 tablet using my modified version 
of TrivialDrive that checks the purchase type

2) Canceling the order using Checkout

3) Waiting 15 hours

4) Trying again on the Nexus 7 and finding that the purchase type was still 
Purchase (=0)

5) Installing TrivialDrive for the FIRST TIME on my Nexus One phone.

6) Running TrivialDrive on the Nexus One and finding that the purchase type was 
STILL Purchase 

So, this seems to be pretty conclusive evidence that this problem is not due to 
caching on the device.

The latency mentioned in a number of places is 72 hours, so it could take as 
long as three days for this change to trickle down to your user's device.

Original comment by goalst...@gmail.com on 20 Jan 2013 at 4:09

GoogleCodeExporter commented 8 years ago

Original comment by b...@google.com on 5 Feb 2013 at 1:34