From 9440b1589f1aaf4016f0acc921647cb9fc3b2bad Mon Sep 17 00:00:00 2001 From: hyeonjeongs Date: Sun, 10 Sep 2023 23:56:44 +0900 Subject: [PATCH] =?UTF-8?q?YEL-154=20[feat]=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EB=B6=84=EA=B8=B0=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/domain/purchase/service/PurchaseManagerImpl.java | 3 ++- .../server/domain/purchase/service/PurchaseService.java | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/yello/server/domain/purchase/service/PurchaseManagerImpl.java b/src/main/java/com/yello/server/domain/purchase/service/PurchaseManagerImpl.java index ec32e4d7..7c9a669c 100644 --- a/src/main/java/com/yello/server/domain/purchase/service/PurchaseManagerImpl.java +++ b/src/main/java/com/yello/server/domain/purchase/service/PurchaseManagerImpl.java @@ -75,10 +75,11 @@ public AppleNotificationPayloadVO decodeApplePayload(String signedPayload) { String subType = (jsonPayload.get("subType")!=null) ? jsonPayload.get("subType").toString() : null; Map data = (Map) jsonPayload.get("data"); + + System.out.println(data + " ??????ddddd"); String notificationUUID = (jsonPayload.get("notificationUUID")!=null) ? jsonPayload.get("notificationUUID") .toString() : null; - ; ApplePayloadDataVO payloadVO = objectMapper.convertValue(data, ApplePayloadDataVO.class); diff --git a/src/main/java/com/yello/server/domain/purchase/service/PurchaseService.java b/src/main/java/com/yello/server/domain/purchase/service/PurchaseService.java index a1820cee..7dd82e41 100644 --- a/src/main/java/com/yello/server/domain/purchase/service/PurchaseService.java +++ b/src/main/java/com/yello/server/domain/purchase/service/PurchaseService.java @@ -295,6 +295,12 @@ public void appleNotification(AppleNotificationRequest request) { AppleNotificationPayloadVO payloadVO = purchaseManager.decodeApplePayload(request.signedPayload()); + + if (payloadVO.data().signedRenewalInfo()==null || payloadVO.data().signedTransactionInfo() + .isEmpty()) { + return; + } + String transactionId = purchaseManager.decodeAppleNotificationData(payloadVO.data().signedTransactionInfo()); Purchase purchase = purchaseRepository.findByTransactionId(transactionId)