diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeService.kt index 82a5867..cbc4a14 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeService.kt @@ -210,18 +210,18 @@ class ChargeService( ?: throw SodaException("로그인 정보를 확인해주세요.") if (charge.payment!!.paymentGateway == PaymentGateway.GOOGLE_IAP) { + androidPublisher.purchases().products() + .consume("kr.co.vividnext.sodalive", request.productId, request.purchaseToken) + .execute() + val response = androidPublisher.purchases().products() .get("kr.co.vividnext.sodalive", request.productId, request.purchaseToken) .execute() ?: throw SodaException("결제정보에 오류가 있습니다.") if ( response.purchaseState == 0 && - response.consumptionState == 0 && + response.consumptionState == 1 && charge.payment?.status == PaymentStatus.REQUEST ) { - androidPublisher.purchases().products() - .consume("kr.co.vividnext.sodalive", request.productId, request.purchaseToken) - .execute() ?: throw SodaException("결제정보에 오류가 있습니다.") - charge.payment?.receiptId = response.purchaseToken charge.payment?.method = "구글(인 앱 결제)" charge.payment?.status = PaymentStatus.COMPLETE