Android In-App Billing 失败,提示“您已经有此商品的待处理订单”。

Posted

技术标签:

【中文标题】Android In-App Billing 失败,提示“您已经有此商品的待处理订单”。【英文标题】:Android In-App Billing failure, saying "You already have a pending order for this item." 【发布时间】:2011-11-17 08:54:15 【问题描述】:

我已实施应用内结算,但遇到了问题。这是我看到的。

    下订单 稍等片刻让订单通过 如果购买需要一段时间,用户点击后退按钮取消购买 我的应用收到购买已取消的通知并确认了这一点 用户和我都收到一封电子邮件,说明购买已取消 当用户再次尝试购买该商品时,市场会抛出一条错误消息,提示“您已经有该商品的挂单。” 响应代码为“服务不可用” 恢复交易不会产生交易 您永远无法使用此帐户购买此商品

我在网上找到了一些关于此的信息。 http://www.google.com/support/forum/p/android+Market/thread?tid=375490c831e02ab5&hl=en http://code.google.com/p/marketbilling/issues/detail?id=39

我联系了 Google,得到了汽车人的回复,他们正在调查此事。

但是,我想知道是否有什么我可以做的。

哦,我还确保我的 PendingIntent 是好的。我有成功的订单。

更新: 这是我给看到这个的客户的库存电子邮件。 Android Market 似乎越来越好,反正我现在买的越来越少了。

你好,

不幸的是,这个“挂单”错误是我无法控制的 Android Market 中的错误。

为帮助他们提高此问题的优先级,请通过以下网络表单与 Google 联系。 http://www.google.com/support/androidmarket/bin/request.py?contact_type=market_phone_tablet

您可以告诉他们参考错误 5126349,这是他们的内部跟踪号。

【问题讨论】:

如果您认为您的代码是正确的,您可以随时在code.google.com/p/android/issues/list 提交错误我也会在我自己的应用程序上尝试上述操作,看看会发生什么。 【参考方案1】:

虽然应用内计费存在问题,例如此处提供的链接(我是问题 39 的活跃评论者),但也有一些值得检查的事情可能会导致 google 的 500 响应。

即“恢复交易”并滥用该调用。该调用的滥用是针对每个用户进行的,我已经看到一个 google 帐户被 500 阻止了几天,这在开发过程中肯定会发生在你身上,具体取决于你的实施方式。

这里的最佳建议是将您的测试人员扩展到更多用户(或具有不同主要谷歌帐户的设备),运行不同版本的 android 市场。如果你能从某人那里得到一个积极的回应,那么你很可能会去,剩下的就在谷歌的门口。

【讨论】:

我已经阅读了太多关于调用“恢复事务”的帖子。但是,我的用户正在/正在看到这一点,并且我已将我的应用程序编程为仅在新安装时恢复交易。因此,除非他们卸载并重新安装 500 次,否则他们不会看到此错误。正如我在更新中所述,我看到这种情况越来越少,因此希望应用内结算日趋成熟。

以上是关于Android In-App Billing 失败,提示“您已经有此商品的待处理订单”。的主要内容,如果未能解决你的问题,请参考以下文章

Android In-App Billing:订单取消后购买状态保持“已购买”

SDK接入之Android Google Play内支付(in-app Billing)接入

android in-app billing v3 api中的开发者有效负载应该是多少?

如何使用 Java (Servlet) 验证来自 In-App Billing Android Market 的签名数据

android in-app billing v3 api中的开发人员有效负载应该是啥?

In-App Billing v3 - 不检测退款