From d17f76261ee7c807dd197ddd75f837e6f092d968 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 22 Mar 2024 18:32:50 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B5=AC=EA=B8=80=20=EC=9D=B8=20=EC=95=B1=20?= =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EA=B2=80=EC=A6=9D=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?-=20=ED=98=84=EC=9E=AC=20:=20=EA=B5=AC=EB=A7=A4=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=ED=99=95=EC=9D=B8=20=ED=9B=84=20=EC=B6=A9=EC=A0=84?= =?UTF-8?q?=20=EC=99=84=EB=A3=8C=20=EC=B2=98=EB=A6=AC=20-=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20:=20=EA=B5=AC=EB=A7=A4=EC=83=81=ED=83=9C=EC=99=80?= =?UTF-8?q?=20=EC=86=8C=EB=B9=84=EC=83=81=ED=83=9C=EB=A5=BC=20=ED=99=95?= =?UTF-8?q?=EC=9D=B8=20=ED=9B=84=20=EC=86=8C=EB=B9=84=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EC=95=98=EC=9C=BC=EB=A9=B4=20=EC=86=8C=EB=B9=84=20?= =?UTF-8?q?=ED=9B=84=20=EC=B6=A9=EC=A0=84=20=EC=99=84=EB=A3=8C=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/vividnext/sodalive/can/charge/ChargeService.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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..0c0e959 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 @@ -214,8 +214,15 @@ class ChargeService( .get("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 + 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("결제정보에 오류가 있습니다.") + charge.payment?.method = "구글(인 앱 결제)" charge.payment?.status = PaymentStatus.COMPLETE member.charge(charge.chargeCan, charge.rewardCan, "aos")