Я использую модуль node.js iab_verifier для подтверждения получения IAP Android.Я получаю квитанцию json и подпись на стороне клиента.
const IABVerifier = require('iab_verifier');
let googleSignature = signtureFromClient;
let googleReceipt = receiptFromClient;
const googleplayVerifier = new IABVerifier(googlePublicKey);
const testiap = () => {
console.log(googleReceipt);
let isValid = googleplayVerifier.verifyReceipt(googleReceipt, googleSignature);
if(isValid) {
console.log('valid');
} else {
console.log('not valid');
}
}
Это подпись.
{
"orderId": "GPA.3356-2312-7091-22296",
"packageName": "com.sidequest.notification",
"productId": "test_gem_tier1",
"purchaseTime": 1536913771825,
"purchaseState": 0,
"developerPayload": {
"developerPayload": "",
"is_free_trial": false,
"has_introductory_price_trial": false,
"is_updated": false
},
"purchaseToken": "bfhdplbkhmclhlbjegjimndg.AO-J1OxEGEU74dKpSJNLXDK0Y39FB3aWQmcGNcTKi6TMYKEZZAetHSi-GMV-FTUCrG0hprKmihryGJ7rMazkhL-pSnvVei0JArFe--UrY0gVB4KkKJqmaJyx0aGuXaHWfk9FbKvy0M75"
}
Я не знаю почему всегдавернуть недействительное сообщение.