diff --git a/src/main/java/com/yolo/keyborad/config/SaTokenConfigure.java b/src/main/java/com/yolo/keyborad/config/SaTokenConfigure.java index de67f7c..c79bcd8 100644 --- a/src/main/java/com/yolo/keyborad/config/SaTokenConfigure.java +++ b/src/main/java/com/yolo/keyborad/config/SaTokenConfigure.java @@ -98,7 +98,9 @@ public class SaTokenConfigure implements WebMvcConfigurer { "/products/detail", "/products/inApp/list", "/products/subscription/list", - "/purchase/handle" + "/purchase/handle", + "/apple/notification", + "/apple/receipt" }; } diff --git a/src/main/java/com/yolo/keyborad/controller/AppleReceiptController.java b/src/main/java/com/yolo/keyborad/controller/AppleReceiptController.java index 6dd3e50..e964350 100644 --- a/src/main/java/com/yolo/keyborad/controller/AppleReceiptController.java +++ b/src/main/java/com/yolo/keyborad/controller/AppleReceiptController.java @@ -8,15 +8,18 @@ import com.yolo.keyborad.exception.BusinessException; import com.yolo.keyborad.model.dto.AppleReceiptValidationResult; import com.yolo.keyborad.service.ApplePurchaseService; import com.yolo.keyborad.service.AppleReceiptService; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import lombok.extern.slf4j.Slf4j; import java.util.Map; @RestController -@RequestMapping("/api/apple") +@RequestMapping("/apple") +@Slf4j public class AppleReceiptController { private final AppleReceiptService appleReceiptService; @@ -28,11 +31,11 @@ public class AppleReceiptController { this.applePurchaseService = applePurchaseService; } -// @PostMapping("/validate-receipt") -// public AppleReceiptValidationResult validateReceipt(@RequestBody Map body) { -// String receipt = body.get("receipt"); -// return appleReceiptService.validateReceipt(receipt); -// } + @PostMapping("/receipt") + public AppleReceiptValidationResult validateReceipt(@RequestBody Map body) { + String receipt = body.get("receipt"); + return appleReceiptService.validateReceipt(receipt); + } @PostMapping("/validate-receipt") public BaseResponse handlePurchase(@RequestBody Map body) { @@ -46,6 +49,11 @@ public class AppleReceiptController { return ResultUtils.success(Boolean.TRUE); } - + @PostMapping("/notification") + public BaseResponse receiveNotification(@RequestBody Map body, HttpServletRequest request) { + log.info(request.getQueryString()); + log.info("Apple server notification: {}", body); + return ResultUtils.success(Boolean.TRUE); + } }