Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.7k views
in Technique[技术] by (71.8m points)

in app purchase - Android In-App Billing failure, saying "You already have a pending order for this item."

I've implemented in-app billing and I'm running into an issue with it. Here is what I see.

  1. Place an order for an item
  2. Wait for a little while for the order to go through
  3. If the purchase is taking a while, the user hits the back button to cancel the purchase
  4. My app gets notified that the purchase was canceled and it confirms this
  5. The user and myself both get an email stating that the purchase was canceled
  6. When the user attempts to purchase the item again, the Market throws an error saying "You already have a pending order for this item."
  7. The response code is "Service Unavailable"
  8. Restore transactions yields no transactions
  9. You can't ever purchase this item with this account

I have found some information about this on the web. http://www.google.com/support/forum/p/Android+Market/thread?tid=375490c831e02ab5&hl=en http://code.google.com/p/marketbilling/issues/detail?id=39

I contacted Google and got an autobot response that they are looking into this.

However, I'm wondering if there is anything I could be doing to cause this.

Oh, and I've also made sure my PendingIntent is good. I have had successful orders.

Update: Here is my stock e-mail to customers that see this. It seems the Android Market has been getting better, as I get fewer and fewer of these now anyhow.

Hello,

This "pending order" error is unfortunately a bug in the Android Market that I cannot control.

To help them raise the priority of this issue, please contact Google at the following web form. http://www.google.com/support/androidmarket/bin/request.py?contact_type=market_phone_tablet

You can tell them to reference bug 5126349, which is their internal tracking number for this.

question from:https://stackoverflow.com/questions/7422676/android-in-app-billing-failure-saying-you-already-have-a-pending-order-for-thi

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

While there are issues with in-app billing like the links presented here (i was active commenter on issue 39), there are some worthwhile things to check on as well that can cause a 500 response from google.

Namely, "restore transactions" and abusing that call. Abuse of that call is done on a per user basis and i've seen a google account get blocked with a 500 for a few days, which can certainly happen during development to you depending on how you implement.

Best advice here is to expand your testers to more users (or devices with different primary google accounts), running different versions of the android market. If you can get one positive response from someone, then more than likely you're good to go and the rest is at google's door.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...