2014-11-15 2 views
2

안드로이드 응용 프로그램에서 구매 영수증의 서버 쪽 유효성 확인을하고 싶습니다. 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에 올바른 자격 증명을 얻는 방법에

+0

이 앱은 구독에서만 작동하며 obsoleote V2 API를 사용하면 누구나 Google Play 영수증을 확인할 수있는 다른 아이디어가 있습니까? – calmbird

답변

3

그냥 추가 지침을 제공합니다.

https://www.npmjs.org/package/google-play-purchase-validator

또는 여기에서 찾을 :

    (이 역할은을 수행 할 수있는 유일 계정의 기본 관리자로 Google Play 개발자 콘솔로 이동하여 시작하세요
  1. 다음 단계들).
  2. Google 개발자 프로젝트를이 계정에 연결하려면 '설정 -> API 액세스'로 이동하십시오.
  3. "새로운 프로젝트 만들기"를 선택하십시오.
  4. 이제 더 많은 옵션이 제공됩니다. "서비스 계정 만들기"를 선택하십시오.
  5. 하여 구글 개발자 콘솔에 연결하고 프로젝트
  6. 클릭에 따라
  7. 클릭하는 대신 컴퓨터에 다운로드됩니다 .P12 파일을 무시하고 새 클라이언트 ID를 만들 수있는 "새로운 클라이언트 ID 만들기" "생성 새 JSON 키 "를 선택하십시오.
  8. JSON 파일을 컴퓨터에 다운로드합니다. 잠시 후에 그 파일로 돌아갈 것입니다.
  9. 이제 Play 스토어 게시자 계정으로 돌아가서 '완료'를 클릭하십시오. 새로운 생성 사용자가 여기에 표시됩니다.
  10. "액세스 권한 부여"를 클릭하고 프로젝트를 읽을 수있는 권한을 사용자에게 부여하십시오.
  11. 이제이 모듈을 사용하여 Node.JS 프로젝트를 설정하고이 모듈의 옵션으로 json 파일에있는 전자 메일 주소와 개인 키를 제공하십시오.
+0

답장을 보내 주셔서 감사합니다. 적어도 몇 시간은 절약되었습니다! – Shide