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 180cf5b..82a5867 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 @@ -213,8 +213,15 @@ class ChargeService( val response = androidPublisher.purchases().products() .get("kr.co.vividnext.sodalive", request.productId, request.purchaseToken) .execute() ?: throw SodaException("결제정보에 오류가 있습니다.") + if ( + response.purchaseState == 0 && + response.consumptionState == 0 && + charge.payment?.status == PaymentStatus.REQUEST + ) { + androidPublisher.purchases().products() + .consume("kr.co.vividnext.sodalive", request.productId, request.purchaseToken) + .execute() ?: throw SodaException("결제정보에 오류가 있습니다.") - if (response.purchaseState == 0 && charge.payment?.status == PaymentStatus.REQUEST) { charge.payment?.receiptId = response.purchaseToken charge.payment?.method = "구글(인 앱 결제)" charge.payment?.status = PaymentStatus.COMPLETE