Несовместимо - "Идентификатор проекта, используемый для вызова API разработчика Google Play, не был связан в консоли разработчика Google Play".
Итак, вот в чем дело - у меня есть серверный узел 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.
Кто-нибудь еще испытывает эту проблему?
1 ответ
Я в конце концов нашел ответ. Проблема была не с моим кодом, не с разрешениями в консоли разработчика Google ИЛИ в консоли Google Play. Все было настроено правильно, кроме одного.
Ранее, перед настройкой тестовых учетных записей в Google Play Console, я совершил фактическую покупку по подписке за реальные деньги на свой идентификатор продукта "X".
Затем, добавив ту же учетную запись Google, которая купила подписку в качестве тестового пользователя, я продолжил тестировать результаты для той же подписки, productID "X".
Несмотря на то, что я отменил РЕАЛЬНУЮ покупку, фактическая дата истечения срока была не в течение другого месяца.
Поэтому я считаю, что иногда Google путался, когда я покупал / отменял покупку - путая тестовую подписку с реальной подпиской.
Создание нового идентификатора продукта и только его использование решило мою проблему, и покупки были проверены последовательно.