- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
事情是这样的 - 我的 Android 应用程序有一个 node.js 后端服务器。我正在使用 Google Play 结算库,并使用后端按照 Google 文档的建议验证购买。
现在,关于此错误的所有其他答案似乎都指向一个一致的问题。
我的后端有时会进行验证,有时会返回此错误,表明实际上我的服务帐户已链接(如我的控制台中所示)。
我尝试了两个不同的第三方库,但遇到了同样的问题。有时一个会回复验证成功,而另一个会说我的帐户未链接。有时它们都是负面的,有时都是正面的。
看起来不一致。
var platform = 'google';
var payment = {
receipt: purchaseToken, // always required ... this is google play purchaseToken
productId: subID, // my subscription sku id
packageName: 'com.xxxxxx', // my package name
keyObject: key, // my JSON file
subscription: true, // optional, if google play subscription
};
var promise2 = iap.verifyPayment(platform, payment, function (error, response) {
/* your code */
if (error) {
console.log('error with iap, ' , error);
return true;
} else {
console.log('success with iap, response is: ', response);
return true;
}
});
我也尝试了不同的库,得到了相同的结果:
var receipt = {
packageName: "com.xxxx",
productId: subID, // sku subscription id
purchaseToken: purchaseToken // my purchase token
};
var promise = verifier.verifySub(receipt, function cb(err, response) {
if (err) {
console.log('within err, was there a response? : ', response);
console.log('there was an error validating the subscription: ', err);
//console.log(err);
return true;
} else {
console.log('sucessfully validated the subscription');
// More Subscription info available in “response”
console.log('response is: ', response );
return true;
}
});
// return promises later.
还有其他人遇到过这个问题吗?
最佳答案
TLDR;创建新的产品 ID。
我终于找到了答案。问题不在于我的代码,也不在于 Google 开发者控制台或 Google Play 控制台中的权限。除了一件事之外,一切都设置正确。
之前,在 Google Play 管理中心设置测试许可证帐户之前,我已在我的产品 ID“X”上用真钱进行了实际的订阅购买。
然后,在添加购买订阅的同一 Google 帐户作为测试用户后,我继续测试同一订阅(productID“X”)的结果。
即使我取消了真正的购买,实际的到期日期还不到一个月。
因此,我相信有时 Google 在我购买/取消购买时会感到困惑 - 将测试订阅与真实订阅混淆。
创建一个新的产品 ID,并且仅使用它就解决了我的问题,并且购买得到了一致的验证。
关于node.js - 不一致 - "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52214075/
我是一名优秀的程序员,十分优秀!