안드로이드 응용 프로그램에서 구매 영수증의 서버 쪽 유효성 확인을하고 싶습니다. node.js 백엔드를 사용하고 있습니다.android 결제 영수증 서버 쪽 유효성 검사 방법
현재 Google 구매 패키지에 대한 실시간 요청을 수행하는 가장 최신 모듈 인 google-play-purchase-validator 노드 모듈 (https://www.npmjs.org/package/google-play-purchase-validator)을 사용하여이를 시도하고 있습니다. .
Google developper 콘솔에서 Google 서비스 계정을 만든 다음 모듈에서 사용할 전자 메일과 키를 얻었으며이 서비스 계정을이 게시물 Use service account to verify Google InAppPurchase에서 설명한대로 응용 프로그램과 연결합니다. 불행히도 그것은 작동하지 않습니다. 그것은 노드 모듈에 의해 생성 된 jwt 토큰이 올바르게 서명되지 않은 것 같습니다 (나는 다음과 같은 오류가 발생합니다 : JWT를 서명하지 못했습니다, 키가 아마도 유효하지 않습니다). 여기
는 일부 코드입니다 : 개인 키가 난 다음 명령을 사용하여 구글에서 제공하는 .P12 파일에서 생성 할 수 있던 .PEM 파일에서 제공var Verifier = require('google-play-purchase-validator');
var options = {
email:'[email protected]',
key: 'myprivatekey',
};
var verifier = new Verifier(options);
verifier.verify(item.Receipt, function cb(err, response) {
if (err) {
console.log("there was an error validating the receipt");
console.log(err);
}
else{
console.log("sucessfully validated the receipt");
console.log(response);
}
:
openssl pkcs12 -in downloaded-key-file.p12 -out your-key-file.pem -nodes
google-play-purchase-validator 모듈은 다른 모듈 (google-oauth-jwt, request, crypto)을 기반으로합니다. 조금만 디버그하려했는데 모든 것이 올바르게 수행 된 것 같습니다.
어디서 잘못 생각하나요? 모듈의 Readme.md에 올바른 자격 증명을 얻는 방법에
폴
이 앱은 구독에서만 작동하며 obsoleote V2 API를 사용하면 누구나 Google Play 영수증을 확인할 수있는 다른 아이디어가 있습니까? – calmbird