Skip to content
Google In-app Billing과 Apple In-App Purchase 영수증을 검증하는 서비스
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
src
.gitignore
.node-version
.prettierrc
README.md
package-lock.json
package.json
shellwork.ts
tsconfig.json
tslint.json

README.md

인앱 영수증 결제 검증 웹 서비스

간단한 구글, 애플 인앱결제 영수증 검증

개발 방법

  • nodejs 10.16 인스톨
  • google 영수증 검증을 위해서 key.json 파일을 root 경로에 추가해야함

개발 모드 시작

$ npm run dev

./src 폴더 내의 *.ts 파일에 변화가 생기면 서버가 재시작된다.

배포

packing 스크립트를 실행한 뒤 aws beanstalk 환경에 해당 파일을 업로드한다.

$ npm run packing

사용방법

uri의 [hostname]부분을 자신의 주소로 치환하여 요청한다.

단, 꼭 RawReceipt를 body에 함께 요청해야한다.

구글 인앱 영수증 요청

POST [hostname]/validation/iap/google

body 포함 내용

  • RawReceipt : json 형식으로 작성된 영수증

구글 RawReceipt 예시

{ 
   "orderId":"12999763169054705758.1371079406387615", 
   "packageName":"com.example.app",
   "productId":"exampleSku",
   "purchaseTime":1345678900000,
   "purchaseState":0,
   "developerPayload":"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ",
   "purchaseToken":"rojeslcdyyiapnqcynkjyyjh"
 }

애플 인앱영수증 요청

POST [hostname]/validation/iap/apple

body 포함 내용

  • RawReceipt : json 형식으로 작성된 영수증

애플 RawReceipt 예시

{
    "verification-state": 0,
    "transaction-receipt": "MIISiAYJKoZIh=",
    "product-identifier": "yoyo",
    "transaction-identifier": "8FXXX",
    "quantity": 1,
    "transaction-state": 1,
    "error": ""
}
You can’t perform that action at this time.