Так вот в чем дело - у меня есть серверный узел node.js для моего приложения для Android. Я использую платежную библиотеку Google Play и проверяю покупку с помощью бэкенда, как рекомендуют Документы Google.
Теперь все остальные ответы об этой ошибке, похоже, относятся к постоянной проблеме.
Мой бэкэнд SOMETIMES проверяет, и SOMETIMES возвращается с этим как ошибка, указывающая, что на самом деле моя учетная запись службы связана (как показано в моих консолях).
Я пробовал две разные сторонние библиотеки, и у меня та же проблема. Иногда один из них ответит успешным подтверждением, а другой скажет, что моя учетная запись не связана. Иногда они оба отрицательны, иногда оба положительны.
Кажется противоречивым.
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.
Кто-нибудь еще сталкивался с этой проблемой?