如何使用Google-Play-Purchase-Validator验证购买快递服务器

kod*_*dos 6 android unity-game-engine node.js express

我想将Google Play应用内结算集成到已经获得payLoad json的统一项目中。我有一个Node.js服务器,并希望获得Google Play购买响应的价值,以便进行服务器端验证。

我在Google Play开发者控制台上列出的产品是create productId,但出现错误:

[错误:订阅购买令牌与订阅ID不匹配。]

在我的节点服务器的index.js文件中,我有一个像这样的段:

var Verifier = require('google-play-purchase-validator');
var options = {
    email: '#############-compute@developer.gserviceaccount.com',
    key: '-----BEGIN PRIVATE KEY-----##some private key##-----END PRIVATE KEY-----',
    keyFile: './Google Play Android Developer-############.json'
};
var verifier = new Verifier(options);
var receipt = {
    packageName:"com.natekgames.######",
    productId:"com.natekgames.######.diamond_48",
    purchaseToken:"ihfeaepjoppolibmeknoghmo.AO-J1OxbHPDa8QLVAU3OqvIa-ZgaAGWhrBhs8DyCEfFbbdTCH8ecvEXQlZtjkqaowPXujb0Osn_aOWBPMT0OpTMcivoQalEtOZmMhS2lDA7oH868NjZP2LgdE9ODafujNM7O9QQr3-hq"
};
verifier.verify(receipt, function cb(err, response){
    if(err){
        console.log("there was an error validating the receipt");
        console.log(err);
    }
    console.log("sucessfully validated the receipt");
    res.send(response);
});
Run Code Online (Sandbox Code Playgroud)

Bab*_*yan 1

  1. 确保您正在调用订阅端点以进行订阅,并调用购买端点以进行应用内购买。不要混合它们,否则您会收到此错误。
  2. 确保productId参数的编写方式与 Google Play 开发者控制台中的编写方式完全相同。