wuyxhero / marketbilling

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

Adding second google play account brakes all in-app billing purchases #76

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
STEPS TO REPRODUCE:
1. Make a phone full wipe, hard reset
2. Download application from google play that has in-app billing
3. Make a managed item purchase from this application
4. Add another google play account
5. Open application, make RESTORE_TRANSACTIONS to get list of all purchases 
made for this app.
6. Response for RESTORE_TRANSACTIONS contains no purchases previously made.

After that:
7. Try to purchase again the same item from this app
8. Google play billing page is opened, where credit card could be selected
9. Account displayed in that page is the second one, not the one that was 
registered from the very beginning. 

EXPECTED OUTPUT:
Google play account should not be changed even if second account is added. This 
is what this page says 
http://developer.android.com/guide/google/play/billing/billing_testing.html

" If the primary account on your device is not a test account, you must do a 
factory reset of the device and then sign in with one of your test accounts. To 
perform a factory reset, do the following:
Open Settings on your device.
Touch Privacy.
Touch Factory data reset.
Touch Reset phone.
After the phone resets, be sure to sign in with one of your test accounts 
during the device setup process."

ACTUAL OUTPUT:
Even when adding second google account, RESTORE_TRANSACTIONS should returns all 
previously purchased items with first account

AFFECTED ORDER IDS (IF RELEVANT):

OS VERSION:

MARKET/MYAPPS VERSION:

DEVICE:

OUTPUT FROM ADB BUGREPORT ATTACHED:
No output, because this defect was reported by end user

NOTES:

Original issue reported on code.google.com by sergei.l...@gmail.com on 8 Sep 2012 at 7:18

GoogleCodeExporter commented 8 years ago
Actually, I think the account used for in-app billing should be linked to 
either the active account in Google Play or the account used to download the 
app. Right now, the same account is always used by in-app billing regardless of 
the active one in Google Play and with no way to change it from within the app 
or payment dialog.

It appears that the only way to change the in-app billing account is to go to 
Settings and completely delete the account used by default. Then in-app billing 
will start using one of the other remaining accounts.

This is affecting one of our users who somehow bought the full version of our 
app with an account different from the one currently being used by in-app 
billing. So now the app does not find the full version purchase when 
re-installed.

Please note that this is with IAB version 2. I think there is a way to select 
the account with IAB 3, but considering the fact that a lot of apps still use 
IAB 2, I think it is worth addressing this issue.

Original comment by nicolas...@gmail.com on 5 Apr 2013 at 1:58

GoogleCodeExporter commented 8 years ago
I think it should be selectable. For example you could have a work account and 
personal account on the device and want to choose which account to use for 
different apps.

Original comment by da...@dannytsang.co.uk on 4 Sep 2013 at 8:51

GoogleCodeExporter commented 8 years ago
Been searching Google for this issue and not finding any helpful info so I 
guess I should put my $0.02 in the jar also. Here it goes.

I am having this exact issue but it seems to be random. MY primary account that 
I use on all my Android devices is the only account I make purchases with. I 
have a handful of gmail accounts I use on the device which is not linked to any 
type of payment method and I don't use to make any app purchases or in-app 
purchases. But randomly on my devices when I go to do an in app purchase it 
will try and use one of my other accounts that isn't the the primary account on 
the device and I can't change it. Most times a power cycle on the device will 
resolve this and other times I have to remove all my extra accounts to resolve 
this. It is very frustrating and it seems Google is not wanting to resolve this 
as this bug was reported back in 2012 and it is now 2014...

Would be nice to be able to select which account to use the IAP like you can 
chose which account to use in the play store. I only use my primary account to 
do any purchases but I know some who may use a few for whatever the reason is. 
Why not allow us to either have a choice which account to use or a way to mark 
to only use this account which would then be the default account regardless if 
it is the primary account or not.

Original comment by jay.gottschalk on 26 Jan 2014 at 9:34

GoogleCodeExporter commented 8 years ago
This is starting it irritate both me and my customers. We have a lot of problem 
with multiple Google accounts, and I need to refund my customers because they 
have purchased IAPs that doesn't work anymore, or that never worked since the 
app and iap account seems to be different.

It should be easy and clear for the user which account is used for the app 
download and which is used for IAPs, and it should also probably be select-able 
from within the IAP purchase dialog when that opens up. I get bad reviews and 
loss of sales because no-one is taking care of this problem (FYI, its been 
going on for 2 years now without even an official comment from Google)

Original comment by Mazy...@gmail.com on 31 Jan 2014 at 6:42

GoogleCodeExporter commented 8 years ago
I have a similar issue using IAB 3. It is possible I am missing something. My 
app supports multiple Google accounts so that each user can be identified with 
his data both on- and offline. I would like to send an Intent to Google Play 
when purchasing so that I can inform it which account to use. 

Basically my support for multiple accounts on my app is useless without that 
option because the user might be logged in as 'user1' and when he does an in 
app purchase it is done with his 'user2' account.

I cannot even get the account back from Google Play that made the purchase so 
in my app I don't know which account to update. Flagging all the accounts has 
having made a purchase is not an option for me.

Original comment by florisws...@gmail.com on 23 Jun 2014 at 10:17

GoogleCodeExporter commented 8 years ago
This is crazy. App store purchases are being done seemingly 
randomly-differently from in-app purchases. What is going on at Google?

Customers are downloading an app with one account and buying it with another 
without realizing it. What a nightmare.

Original comment by lumin...@gmail.com on 31 Jul 2014 at 5:46

GoogleCodeExporter commented 8 years ago
I reinstalled an app with my private account and lost all my game progress, but 
when I want to by the game (in app) there is only my business account which I 
can't use for buying games.
Solution: no buy 
And that is a nightmare for developers

Original comment by r...@egotec.com on 8 Jan 2015 at 7:30

GoogleCodeExporter commented 8 years ago
It would be great to be able to reference specific accounts when making billing 
requests. The process for assisting users in getting our app to reference the 
correct account to restore their purchases is extremely confusing to explain 
and doesn't always work when users do follow all the steps.

Original comment by cornwe19@gmail.com on 13 Jan 2015 at 9:27

GoogleCodeExporter commented 8 years ago
I think I've figured out the problem.  Hopefully this helps Google fix it:
The IAP code tries to determine which account to use when it bills or checks 
billing.  It determines which account by looking at:
1)  The account logged in when the app was downloaded from the Play Store 
then
2)  The first account on the device, alphabetically

The problem is with people who install with one account and want to purchase 
with another.  Also, big problem for people who install an app from somewhere 
other than the play store.  

My recommendation would be to allow people to choose the account when making 
purchases, or allow a setting in Play Store, or at least check which account is 
"primary" on the Play Store.

Thanks,
Ryan

Original comment by gotc...@gmail.com on 4 Mar 2015 at 4:33

GoogleCodeExporter commented 8 years ago
Unfortunately https://code.google.com/p/marketbilling/ says this project is 
dead, and there's no way to report problems? I somehow doubt android developers 
read the Stackoverflow link mentioned there.

Maybe this problem is fixed in the latest Android? I don't know. It's certainly 
a bad problem for a small number of people.

Original comment by lumin...@gmail.com on 4 Mar 2015 at 4:38

GoogleCodeExporter commented 8 years ago
The marketbilling samples are now part of the SDK.  Stackoverflow has nothing 
to do with the bug tracking.

The problem is not fixed yet and very much needs to be fixed.

Original comment by ospreysy...@gmail.com on 4 Mar 2015 at 7:27

GoogleCodeExporter commented 8 years ago
Oh I'm having head ache I did think I miss something when I stumble on this 
page; however the billing account is selected I believe we should have a say to 
which account is to be used when encountering multi-account device, so the 
transaction is to the intended account.

Appreciating Ryan's forensic tracing, but I don't think that is correct since 
it was contradictory to what I witnessed, but we are back to square one and 
Google didn't even state which account is selected for IAB.

Original comment by actsa...@gmail.com on 3 May 2015 at 4:54