From d17f76261ee7c807dd197ddd75f837e6f092d968 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 22 Mar 2024 18:32:50 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EA=B5=AC=EA=B8=80=20=EC=9D=B8=20=EC=95=B1?= =?UTF-8?q?=20=EA=B2=B0=EC=A0=9C=20=EA=B2=80=EC=A6=9D=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20-=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") From df690dae0e9fc86d301bc48006df759929125a49 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 22 Mar 2024 18:42:47 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EA=B5=AC=EA=B8=80=20=EC=9D=B8=20=EC=95=B1?= =?UTF-8?q?=20=EA=B2=B0=EC=A0=9C=20=EA=B2=80=EC=A6=9D=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20-=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 --- .../kr/co/vividnext/sodalive/can/charge/ChargeService.kt | 3 --- 1 file changed, 3 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 0c0e959..ff494da 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,7 +213,6 @@ 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 && @@ -233,8 +232,6 @@ class ChargeService( memberId = member.id!! ) ) - } else { - throw SodaException("결제정보에 오류가 있습니다.") } } else { throw SodaException("결제정보에 오류가 있습니다.") From 4023476685f0145c6bfdb16b0e9e9c8dfabdfc71 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 22 Mar 2024 18:54:03 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EA=B5=AC=EA=B8=80=20=EC=9D=B8=20=EC=95=B1?= =?UTF-8?q?=20=EA=B2=B0=EC=A0=9C=20=EA=B2=80=EC=A6=9D=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20-=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 --- .../kotlin/kr/co/vividnext/sodalive/can/charge/ChargeService.kt | 2 ++ 1 file changed, 2 insertions(+) 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 ff494da..46c9bc0 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 @@ -232,6 +232,8 @@ class ChargeService( memberId = member.id!! ) ) + } else { + throw SodaException("결제정보에 오류가 있습니다.") } } else { throw SodaException("결제정보에 오류가 있습니다.") From 34b5dcccfc0996b1805a4207888828de707b7cc4 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 22 Mar 2024 19:02:15 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EA=B5=AC=EA=B8=80=20=EC=9D=B8=20=EC=95=B1?= =?UTF-8?q?=20=EA=B2=B0=EC=A0=9C=20=EA=B2=80=EC=A6=9D=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20-=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 --- .../kotlin/kr/co/vividnext/sodalive/can/charge/ChargeService.kt | 1 + 1 file changed, 1 insertion(+) 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 46c9bc0..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 @@ -222,6 +222,7 @@ class ChargeService( .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 member.charge(charge.chargeCan, charge.rewardCan, "aos")