본문으로 건너뛰기
버전: 0.3.0

구글 영수증 검증

구글 인앱결제 진행 후 발행된 영수증이 유효한지 확인하는 함수입니다.
인앱결제 진행에 대한 자세한 설명은 뒤끝베이스의 뒤끝펑션에서 인앱결제 검증하기 문서를 참고해 주세요.

IsValidateGooglePurchase(string productId, string token, string receiptDescription, bool isSubscription = false) -> BackendReturnObject

// example
var bro = Backend.Receipt.IsValidateGooglePurchase("pid", "token", "pid 영수증 검증", false);

Parameters

ValueTypeDescription
productIdstring인앱결제를 진행한 제품의 ID
tokenstring인앱결제 후 생성된 영수증 token 값
receiptDescriptionstring영수증 검증 내역에서 추가로 확인하고자 하는 내용
isSubscriptionbool구독 결제 여부

Return Cases

성공한 경우(일반 상품)
statusCode : 201
message : Success
returnValue : {"usedDate":"2018-10-15T05:17:49Z"}

성공한 경우(구독 상품)
statusCode : 200
message : Success
returnValue : 아래 참고

{
"kind":"androidpublisher#subscriptionPurchase",
"startTimeMillis":"1583722491833",
"expiryTimeMillis":"1583722908247",
"autoRenewing":true,
"priceCurrencyCode":"KRW",
"priceAmountMicros":"1000000000",
"countryCode":"KR",
"developerPayload":"{\"developerPayload\":\"\",\"is_free_trial\":false,\"has_introductory_price_trial\":false,\"is_updated\":false}",
"paymentState":1,
"orderId":"주문 Id",
"purchaseType":0,
"acknowledgementState":1
}

이미 사용한 영수증 토큰
statusCode : 409
errorCode : UsedReceipt
message : This receipt has already been used. usedDate: 2018-02-15T04:01:50.000Z

이미 사용하거나 취소된 구독 상품의 영수증을 검증한 경우
statusCode : 409
errorCode : DuplicatedParameterException
message : Duplicated receipt, 중복된 receipt 입니다

환불/취소된 영수증
statusCode : 402
errorCode : AbnormalReceipt
message : This receipt has changed status. purchaseState: cancelled

유효하지 않은 영수증 토큰
statusCode : 400
errorCode : BadParameterException
message : bad token, 잘못된 token 입니다

3번 항목의 JWT 권한의 확인이 필요합니다.
권한을 제대로 설정했는데도 bad token 에러가 발생할 경우 JWT를 재발급하고, 재발급 후에도 에러가 발생할 경우 JWT를 새로 생성한 후 다시 시도해야 합니다.
JWT 수정 여부는 바로 적용이 안될 수 있어 1~2시간 후에 다시 시도하는 것을 권장합니다.