在消费该物品后未能购买物品(已拥有)

时间:2014-05-13 14:43:46

标签: android in-app-purchase

我正在开发支持应用内购买的Android应用程序。

我将已签名的APK上传到播放控制台作为草稿(不向公众发布)并创建了一些项目。

我成功购买了一件商品,并在核实收据后确实已经消费了该商品。

String purchaseToken = (new JSONObject(purchaseData)).getString("purchaseToken");
int result = mService.consumePurchase(3, getPackageName(), purchaseToken);

消费结果为0.

但是,当我再次购买消耗品时,它会响应7(已经拥有)

Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(), productId, "inapp", payLoad);
if (buyIntentBundle.getInt("RESPONSE_CODE") == 0){
  PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
  startIntentSenderForResult(...Skiped);
} else {
  Log.e(LOG_TAG, "Response = " + buyIntentBundle.getInt("RESPONSE_CODE"));
  // The logcat shows 7(Already owned)
} 

即使我在Google电子钱包中取消订单,或者将Consume()中的purchaseToken更改为“inapp:com.packageName:android.test.purchased”,我也无法再购买该商品了(所有其他令牌值都会返回错误代码5)

我的消费功能有什么问题吗? 提前谢谢

  

更新

     

我发现我应该总是上传最新的APK来玩商店草稿进行测试。    getBuyIntent 现在返回成功,我可以 startIntentSenderForResult

     

但是,弹出对话框(由Android创建)仍然显示“已经拥有”

  

再次更新。

     

这个问题只存在于我的第一个开发设备中.... !!!   它在其他测试设备上运行良好。

1 个答案:

答案 0 :(得分:0)

Google Play开发人员支持最近做了一些更改,现在应用必须发布,而不是草稿模式。 Alpha或Beta很好,但在Alpha草案或Beta草案模式下无法测试购买。