应用内购买对象{消息:"结算未初始化",代码:-3,errorCode:-3}

时间:2016-08-24 13:52:02

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

我正在使用应用内购买插件" cordova-plugin-inapppurchase" (https://github.com/AlexDisler/cordova-plugin-inapppurchase)。

当我要求' inAppPurchase.buy(productId)' ,我收到错误"对象{消息:"帐单未初始化",代码:-3,errorCode:-3}"

我的代码是:



inAppPurchase
  .buy('com.myapp.prod1')
  .then(function (data) {
    console.log(data);
})
  .catch(function (err) {
    console.log(err);
  });




3 个答案:

答案 0 :(得分:1)

Ionic Information 对于ios,这非常简单,但是对于android,您需要转到Google Playstore,开发工具,服务和api,然后复制base 64许可密钥。 在您的离子项目的src目录中创建一个名为manifest.json的文件,然后以以下格式在文件内部添加密钥。

    def ad_registration(request):
        context= {}
        if request.method == "POST":
            form = AdForm(request.POST or None)
            if form.is_valid():
                form.save()
            else:
                form.save()
            return render(request, "ad_registration.html", {})
        else:
            return render(request, "ad_registration.html", {})

通过将路径添加到在项目的根文件夹中找到的angular.json文件中的路径,将文件添加到ionic项目的www文件夹中,如下所示。 Sample of angular.json file

在购买或订阅之前先调用getproducts方法以初始化商店。

    <form enctype="multipart/form-data" class="form-signin" method="post" action="/ad_registration">
        {% csrf_token %}
        
        <div class="d-flex flex-column pb-3">
            <img class="img-fluid mx-auto d-block" src= "/static/logo.png" alt="Logo of our school" width=23% height=23%>
        </div>
      <h1 class="h3 mb-3 font-weight-normal">Register your ad</h1>
      
      <input type="url" name="ad_link" id="inputurl" class="form-control" placeholder="URL of your ad" required>
     
      <label for="inputimage">File of Ad:</label>

      <input type="file" class="form-control-file" id="inputimage" name="image" accept="image/*" required>
      
        
        
        

      <button class="btn btn-lg btn-primary btn-block" type="submit">Register</button>

    </form>

按照此处(https://github.com/AlexDisler/cordova-plugin-inapppurchase)的其余说明进行操作,即可正常使用。谢谢。

答案 1 :(得分:0)

得到了同样的错误但是,我可以看到它有帮助:

inAppPurchase
          .getProducts([
            'product.id'
          ])
          .then(function (products) {
            $log.debug(products);
          })
          .catch(function (err) {
            $log.error(err);
          });

即使您从dbs获取产品,

答案 2 :(得分:0)

在我调用&#34;恢复购买后,错误(结算未初始化)消息消失了#34;第一。 我现在可以看到Google Play&#34; BUY&#34;弹出屏幕。