Closed GoogleCodeExporter closed 9 years ago
Hi,
we experience exactly the same issues. We haven't published the App yet (the
In-App products are published) and had the same problems as you described above
while doing a final round of testing:
* 'automatically' cancelled transactions
* despite the products are 'managed per user account' we can buy it twice (and the user is billed twice when we checked the checkout account).
* we never receive the IN_APP_NOTIFY message
* a RESTORE_TRANSACTIONS returns only an empty list of orders, despite the (test-)users are billed for it.
Before the weekend, it used to work like a charm. There goes our release today
:(
Let us know if we can supply additional informations to help resolve this issue.
Original comment by si...@lachinger.org
on 14 Jun 2011 at 8:11
I now have a complete debug log of the issue happening on another phone. Here
are the relevant lines to the market transaction that seems to have failed, but
then succeeded (charged the CC) later, without my app being notified.
06-14 20:21:48.143: INFO/ActivityManager(96): Displayed activity
com.android.vending/.billing.InAppBuyPageActivity: 546 ms (total 546 ms)
[...]
06-14 20:21:49.313: DEBUG/vending(5875): [1]
BaseBuyPageActivity.onPostResponse(): {PurchaseResult=ERROR_GAIA_AUTH,
PurchaseInfo=PurchaseInfo=, SignupStatus=NEW_USER, TId=null, ShoppingCart=null,
RefundPolicy=[], ErrorFields=[]}
06-14 20:21:49.313: DEBUG/vending(5875): [1]
BaseBuyPageActivity.onPostResponse(): Invalid checkout token:
{DQAAAOgAAABKcD5Q-[truncated, NOT my public key]-o5Pn590N6NU}
06-14 20:21:49.453: DEBUG/GoogleLoginService(271): onBind: Intent {
act=android.accounts.AccountAuthenticator
mp=com.google.android.gsf/.loginservice.GoogleLoginService }
[...]
06-14 20:21:51.623: DEBUG/vending(5875): [1]
BaseBuyPageActivity.onPostResponse(): {PurchaseResult=OK,
PurchaseInfo=PurchaseInfo=, SignupStatus=SIGNED_UP, TId=673828659801454,
ShoppingCart=[ItemPrice=AU$3.99, TaxInclusive=, TaxExclusive=, Total=AU$3.99,
HasTaxMessage=false, TaxMessage=null, HasFooterMessage=false,
FooterMessage=null], RefundPolicy=This in-app purchase cannot be refunded.
<br/> <a
href="http://market.android.com/support/bin/answer.py?answer=1061913">More
info</a><br/><a
href="http://www.google.com/mobile/android/disclaimer-au.html">AU-Notice</a>,
Instruments=[[Id=852812502358443, Name=VISA xxx-2740 Invalid=false
Type=CREDIT_CARD] [Id=256887422074780, Name=VISA xxx-2740 Invalid=true
Type=CREDIT_CARD] ], DefaultBillingInstrument=852812502358443, ErrorFields=[]}
06-14 20:21:51.643: DEBUG/vending(5875): [1]
BaseBuyPageActivity.shouldAddCarrierBilling(): isProvisioned(): false
isSavedonServer(): false radio available? true
06-14 20:21:51.643: DEBUG/vending(5875): [1]
BaseBuyPageActivity.shouldAddCarrierBilling(): isProvisioned(): false
isSavedonServer(): false radio available? true
[...]
06-14 20:22:10.963: DEBUG/vending(5875): [1]
BaseBuyPageActivity.onOrderResponse(): state: CART_PURCHASE response:
[PurchaseResult=OK]
Not sure what to make of this, but the first vending message seems odd with the
"PurchaseInfo=PurchaseInfo=", looks like a bad response.
Today has been a horrible today as an Android developer and I'm seriously
considering ripping all this in-app billing out and using PayPal... not sure
I'd recommend in-app billing to new developers.
Original comment by rejeanpo...@gmail.com
on 14 Jun 2011 at 10:53
Hi,
the log output from our App is exactly the same:
06-14 12:55:26.749: DEBUG/vending(981): [124]
LocalAssetCache.updateOnePackage(): No local info for com.[...]
06-14 12:55:35.601: DEBUG/vending(981): [126]
LocalAssetCache.updateOnePackage(): No local info for com.[...]
06-14 12:56:01.765: DEBUG/vending(981): [1]
BaseBuyPageActivity.onPostResponse(): {PurchaseResult=ERROR_GAIA_AUTH,
PurchaseInfo=PurchaseInfo=, SignupStatus=NEW_USER, TId=null, ShoppingCart=null,
RefundPolicy=[], ErrorFields=[]}
06-14 12:56:01.765: DEBUG/vending(981): [1]
BaseBuyPageActivity.onPostResponse(): Invalid checkout token: {DQAAA-[...]-SVg}
06-14 12:56:04.449: DEBUG/vending(981): [1]
BaseBuyPageActivity.onPostResponse(): {PurchaseResult=OK,
PurchaseInfo=PurchaseInfo=, SignupStatus=SIGNED_UP, TId=768296573358262,
ShoppingCart=[ItemPrice=3,99 €, TaxInclusive=, TaxExclusive=,
Total=3,99 €, HasTaxMessage=false, TaxMessage=null, HasFooterMessage=false,
FooterMessage=null], RefundPolicy=Der Betrag für diesen In-App-Kauf kann nicht
erstattet werden. <br/> <a
href="http://market.android.com/support/bin/answer.py?answer=1061913">Weitere
Informationen</a><br/><a
href="http://www.google.com/mobile/android/fsa-notification.html">Geregelt
durch Financial Services Authority (FSA, britische Bankenaufsichtsbehörde),
Großbritannien</a>, Instruments=[[Id=107222246370128, Name=VISA xxx-6842
Invalid=false Type=CREDIT_CARD] ], DefaultBillingInstrument=107222246370128,
ErrorFields=[]}
06-14 12:56:04.472: DEBUG/vending(981): [1]
BaseBuyPageActivity.shouldAddCarrierBilling(): isProvisioned(): false
isSavedonServer(): false radio available? true
06-14 12:56:04.472: DEBUG/vending(981): [1]
BaseBuyPageActivity.shouldAddCarrierBilling(): isProvisioned(): false
isSavedonServer(): false radio available? true
06-14 12:56:06.699: DEBUG/vending(981): [1]
BaseBuyPageActivity.onOrderResponse(): state: CART_PURCHASE response:
[PurchaseResult=OK]
I also posted to the google groups mailing list, is there another place to get
support / answers?
Thx!
Original comment by n.trie...@gmail.com
on 14 Jun 2011 at 11:06
The problem seems to be releated to the user accounts. We created new gmail
accounts today, those seem to work, even with the same credit card...
Original comment by n.trie...@gmail.com
on 14 Jun 2011 at 6:16
[deleted comment]
I am facing the similar problem. My phone has someone@gmail.com (A) (i can
share this account id if needed) as the primary account. The account I am
commenting on this issue (B) is a test account.
(B) is also the account which is my android market account.
My phone is upgraded market app to 2.3.6, but yet I get a
mBillingService.checkBillingSupported() return as false.
I have blogged about my issues and solutions, please find the time to go thru.
http://mcondev.wordpress.com/2011/06/12/securityexception-binder-invocation-to-a
n-incorrect-interface/
Original comment by mcon...@gmail.com
on 14 Jun 2011 at 6:26
I had my INTERNET permission incorrectly set. But now I am getting a false on
boolean bindResult = bindService(
new Intent(Consts.MARKET_BILLING_SERVICE_ACTION),
this, // ServiceConnection.
Context.BIND_AUTO_CREATE);
Original comment by mcon...@gmail.com
on 14 Jun 2011 at 6:42
One more question.
The sample code has a file IMarketBillingService.aidl, eclipse auto generates a
java file IMarketBillingService.java
But the developer.android.com site
(http://developer.android.com/guide/market/billing/billing_integrate.html)
refers to the following code
new Intent("com.android.vending.billing.MarketBillingService.BIND")
Question is, how is the bindService going to find MarketBillingService if it
actually should be looking for a IMarketBillingService right ?
Or am I getting this wrong ? Please clarify.
Original comment by mcon...@gmail.com
on 14 Jun 2011 at 7:13
My androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0" package="com.mcondev1.dungeons">
<!-- Required permission to use in-app billing. -->
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="com.mcondev1.dungeons.Dungeons"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="com.mcondev1.dungeons.BillingService" />
<receiver android:name="com.mcondev1.dungeons.BillingReceiver">
<intent-filter>
<action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
<action android:name="com.android.vending.billing.RESPONSE_CODE" />
<action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="4" />
</manifest>
Original comment by mcon...@gmail.com
on 14 Jun 2011 at 7:49
Ok... we found a solution:
* we removed the email addresses from the list of test users in the Android Market developer home
* saved
* re-added those accounts
* it worked :)
No idea how and what caused the issue, but it works...
Original comment by si...@lachinger.org
on 15 Jun 2011 at 8:11
As discussed, this work around didn't work for my test users. More importantly,
I've had this happen to many live customers as well. Many double-billed
transactions today in fact. Who knows if the single-billed ones actually
succeeded. You can't know unless the customer writes you (or you spam each
customer through the temporary merchant email given)
Original comment by rejeanpo...@gmail.com
on 15 Jun 2011 at 9:51
I have the same problem as comment #2 above.
Billing is going through, but response is not coming back from the market.
Same strange:
BaseBuyPageActivity.onPostResponse(): {PurchaseResult=OK,
PurchaseInfo=PurchaseInfo=, SignupStatus=.....
Original comment by sdk...@gmail.com
on 15 Jun 2011 at 8:54
Attached is the test project which I am trying to run. Unable to run it on my
account mcondev at gmail dot com.
Original comment by jagtiani...@gmail.com
on 16 Jun 2011 at 2:14
Attachments:
i'm very disappointed with such bad quality service from google, damn
Original comment by thy.ri...@gmail.com
on 16 Jun 2011 at 3:01
I was going to release an application today as well but all of a sudden I
cannot get any in-app purchases to go through. I also tried with the Dungeons
Example and get the same result. It just sits there at "Authorizing Purchase"
until that dialog goes away. I never receive final confirmation of the
purchase.
Original comment by st...@dogsbyte.net
on 17 Jun 2011 at 1:51
Yup, that's what my customers are getting too, still broken today. I don't know
if it's something wrong with the Dungeons example that's not supported on the
back-end anymore, but most people's code was based off that and now it no
longer works.
Original comment by rejeanpo...@gmail.com
on 17 Jun 2011 at 1:57
Same thing here ---- still broken for 3 days.
I'm thinking of not doing the In-App billing at all now. With no word from
Google about the LodSys patent lawsuits, I'm not sure I even want to mess with
it.
If if it's this fragile AND we might get sued, where's the up-side???
Original comment by sdk...@gmail.com
on 17 Jun 2011 at 4:39
I've been at this all day and can't figure it out. This was working fine
during testing about two weeks ago. Now it just sits at "Authorizing Purchase"
forever... the market never responds even though my merchant account shows the
purchase.
Original comment by st...@dogsbyte.net
on 17 Jun 2011 at 5:03
Okay, this bug report has gotten out of hand. I count at least 4 different bug
reports scattered throughout the comments (if not more). Also, "What's wrong
with in-app billing today?" is not an acceptable summary. This is not a
discussion board.
That being said, there are two issues that likely caused the issues the
original poster was describing:
- Earlier in the week our payment gateway had a brief outage. Any order that
takes longer than ~3 minutes to process is automatically canceled by Market.
This has been resolved.
- We are currently tracking an issue that allows users to purchase managed
items more than once. We're working on fixing this.
Since this bug is already way off-topic, I'm going to close it this as invalid.
We're still working on the duplicate purchase issue, and if somebody wants to
open a bug for that, that's fine. If you're experiencing other issues and are
sure they're not user error, feel free to open bugs on those too. (And if
you're not sure, then please ask on one of the mailing lists first.)
Original comment by trevorjohns@google.com
on 17 Jun 2011 at 7:15
Trevor, I am able to purchase a managed item over and over repeatedly. If I
request to restore transactions, the market reports no purchases. Is this
related to the issue you are tracking? Any ETA? Is it only affecting certain
accounts? I have an app ready for market but in-app billing stopped working.
Do I wait for you to fix it or scrap it and go another route?
Original comment by st...@dogsbyte.net
on 17 Jun 2011 at 7:59
Yes, this sounds like the issue we're tracking.
I do not have an ETA at this time, nor can I accurately say which accounts are
affected. (It's quite likely that it's any account using managed purchases.)
As a short term work-around, I recommend disabling your "buy" button until you
get some sort of response from market, either confirming or canceling the
order. That won't fix the problem with restoreTransactions(), but it does avoid
double-billing.
(Disabling the buy button in this case is a good idea anyway. It's much easier,
from a computational perspective, for your app to check a local db to see if an
item has been purchased then to make an RPC call to Market and have us pull up
the user's account.
Also worth noting: At the time I'm writing this, the response code for an
attempted duplicate purchase of a managed item, assuming everything is working
properly, is RESULT_OK, which gives you limited error handling options. There
is a feature request open to change this behavior, but it hasn't been decided
when, or if, this will be implemented.)
Original comment by trevorjohns@google.com
on 17 Jun 2011 at 8:19
Trevor, apologies for the bad summary. I agree it was more of a discussion
board topic that a bug report. At the time (which was probably during the
outage) it wasn't JUST double billing, it was a page full of failed
transactions, double billing and other random issues hence the general
(although bad) title.
As for off-topic responses, that's not in my control is it? I can't moderate
and remove posts, so please don't punish the rest of us trying to find
something in common with our issues because of someone asking for help
integrating market tutorials. Without any word from you for days, and angry
customers piling up, the best we can do is try and suggest workarounds to each
other.
I'll file issues for specific issue if they don't already exist because I'd
like to be notified when this is fixed.
It looks like you're already aware of what's causing this, but if you need
duplicate order numbers, I'm sure between us we have quite a few to submit if
that can help.
Original comment by rejeanpo...@gmail.com
on 17 Jun 2011 at 10:53
When are these issues going to be fixed?
I am still getting double (even triple) purchases, as well as orders that are
automatically cancelled.
My users give me bad reviews because of all this behavior.
Original comment by w...@cybernited.be
on 21 Dec 2011 at 6:30
Original issue reported on code.google.com by
rejeanpo...@gmail.com
on 14 Jun 2011 at 7:13