Cordova InAppBilling只能购买一次

时间:2014-12-23 19:12:11

标签: cordova in-app-purchase cordova-plugins

我正在使用Cordova和这个插件,我目前正在Google Play上测试In-App_购买。

这是插件网址:

LINK HERE

使用时效果很好:

function buy(){
    // make the purchase
   inappbilling.buy(successHandler, errorHandler,"myProduct");
}

但是,它只让我购买产品一次......第一次购买后,如果我再试一次,我会收到错误:

"ERROR: Error purchasing: labResult: Unable to buy item. (response 7:Error)

所以,我现在正在尝试:

function consumePurchase(){

   inappbilling.consumePurchase(successHandler, errorHandler, "myProduct");

}

但这也给了我一个错误:

"ERROR: myProduct is not owned so it cannot be consumed"

希望我能得到它,这样我可以多次购买同样的产品吗?

1 个答案:

答案 0 :(得分:3)

这有点疯狂,因为看不到有关您产品的详细信息,但您的产品似乎是非消费品。关于消耗品和非消耗品,请参阅here(在副标题非消耗品和消耗品应用内商品中),其中包含以下内容:

非消费品

  

通常,您不会为应用内商品实现消费   只能在您的申请中购买一次,并提供一个   永久的利益。一旦购买,这些物品将永久存在   与用户的Google帐户相关联。一个例子   非消费类应用程序内产品是高级升级或等级包。

消耗品

  

相反,您可以为可以制作的项目实现消费   可多次购买。通常,这些项目提供   某些临时效果。例如,用户的游戏中角色   可能会获得生命值或在他们的库存中获得额外的金币。   在您的产品中分配所购商品的优点或效果   应用程序称为配置应用程序内产品。你是   负责控制和跟踪应用内商品的运作方式   提供给用户。

<强>推理

为什么您的产品目前似乎不属于消耗品?当您尝试购买产品第二时,它会给您error code 7。此错误代码是

BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED: Failure to purchase since item is already owned

仅适用于非消耗品,根据定义,只能购买一次。

虽然这些非消费品不能一次购买,但也不能按照名称所示消费。这会导致您发出关于无法使用该产品的第二条错误消息。

如何修复

简单:将您想要消耗的物品更改为消耗品而不是非消耗品。如果您无法找到如何操作,请告诉我。我可以告诉你的一切(因为我之前从未读过关于应用内结算的信息)是应该在 Google Play开发者控制台中完成,例如指定的here

  

您可以为应用内结算应用指定这些类型的产品 - 托管&gt;应用内商品和订阅。 Google Play会根据每个用户的帐户处理和跟踪您的应用中的应用内&gt;产品和订阅的所有权。