From cff175a4609d335a7d5010f46c70a1992027be02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Wed, 13 Aug 2025 20:15:30 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EA=B2=B0=EC=A0=9C=EC=B7=A8=EC=86=8C=20A?= =?UTF-8?q?PI=20PathVariable=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/in/koreatech/payment/controller/PaymentsApi.java | 8 ++++---- .../koreatech/payment/controller/PaymentsController.java | 6 +++--- .../java/in/koreatech/payment/service/PaymentService.java | 2 +- .../java/in/koreatech/payment/service/TossService.java | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/in/koreatech/payment/controller/PaymentsApi.java b/src/main/java/in/koreatech/payment/controller/PaymentsApi.java index 190d76b..b235b2f 100644 --- a/src/main/java/in/koreatech/payment/controller/PaymentsApi.java +++ b/src/main/java/in/koreatech/payment/controller/PaymentsApi.java @@ -164,13 +164,13 @@ ResponseEntity confirmPayment( 취소 사유는 요청 본문에 포함됩니다. ## Path Variable - - `paymentKey`: PG사에서 받은 결제 키 + - `paymentId`: 결제 고유 ID """ ) - @PostMapping("/{paymentKey}/cancel") + @PostMapping("/{paymentId}/cancel") ResponseEntity cancelPayment( - @Parameter(description = "결제 키", example = "5EnNZRJGvaBX7zk2yd8ydw26XvwXkLrx9POLqKQjmAw4b0e1") - @PathVariable(value = "paymentKey") final String paymentKey, + @Parameter(description = "결제 고유 ID", example = "1") + @PathVariable(value = "paymentId") final Integer paymentId, @RequestBody @Valid final PaymentCancelRequest request, @AccessToken final String accessToken ); diff --git a/src/main/java/in/koreatech/payment/controller/PaymentsController.java b/src/main/java/in/koreatech/payment/controller/PaymentsController.java index 39b65e1..2fa2eff 100644 --- a/src/main/java/in/koreatech/payment/controller/PaymentsController.java +++ b/src/main/java/in/koreatech/payment/controller/PaymentsController.java @@ -61,13 +61,13 @@ public ResponseEntity confirmPayment( return ResponseEntity.ok(response); } - @PostMapping("/{paymentKey}/cancel") + @PostMapping("/{paymentId}/cancel") public ResponseEntity cancelPayment( - @PathVariable(value = "paymentKey") final String paymentKey, + @PathVariable(value = "paymentId") final Integer paymentId, @RequestBody @Valid final PaymentCancelRequest request, @AccessToken final String accessToken ) { - List paymentCancels = paymentService.cancelPayment(accessToken, paymentKey, + List paymentCancels = paymentService.cancelPayment(accessToken, paymentId, request.cancelReason()); PaymentCancelResponse response = PaymentCancelResponse.from(paymentCancels); return ResponseEntity.ok(response); diff --git a/src/main/java/in/koreatech/payment/service/PaymentService.java b/src/main/java/in/koreatech/payment/service/PaymentService.java index d555885..9c99a42 100644 --- a/src/main/java/in/koreatech/payment/service/PaymentService.java +++ b/src/main/java/in/koreatech/payment/service/PaymentService.java @@ -12,6 +12,6 @@ public interface PaymentService { String createTemporaryDeliveryPayment(String accessToken, TemporaryDeliveryPaymentSaveRequest request); String createTemporaryTakeoutPayment(String accessToken, TemporaryTakeoutPaymentSaveRequest request); PaymentConfirmResponse confirmPayment(String accessToken, String paymentKey, String orderId, Integer amount); - List cancelPayment(String accessToken, String paymentKey, String cancelReason); + List cancelPayment(String accessToken, Integer paymentId, String cancelReason); PaymentResponse getPayment(String accessToken, Integer paymentId); } diff --git a/src/main/java/in/koreatech/payment/service/TossService.java b/src/main/java/in/koreatech/payment/service/TossService.java index 421e68c..32caba8 100644 --- a/src/main/java/in/koreatech/payment/service/TossService.java +++ b/src/main/java/in/koreatech/payment/service/TossService.java @@ -177,10 +177,10 @@ public PaymentConfirmResponse confirmPayment(String accessToken, String paymentK } @Transactional - public List cancelPayment(String accessToken, String paymentKey, String cancelReason) { + public List cancelPayment(String accessToken, Integer paymentId, String cancelReason) { Integer userId = jwtTokenResolver.getUserId(accessToken); User user = userRepository.getById(userId); - Payment payment = paymentRepository.getByPaymentKey(paymentKey); + Payment payment = paymentRepository.getById(paymentId); if (payment.getPaymentStatus().isCanceled()) { throw PaymentAlreadyCanceledException.withDetail("paymentId : " + payment.getId()); } @@ -201,7 +201,7 @@ public List cancelPayment(String accessToken, String paymentKey, .build() )); - PaymentCancelResponse response = tossPaymentClient.requestCancel(paymentKey, cancelReason, + PaymentCancelResponse response = tossPaymentClient.requestCancel(payment.getPaymentKey(), cancelReason, paymentIdempotencyKey.getIdempotencyKey()); if (!PaymentStatus.valueOf(response.status()).isCanceled()) { throw PaymentCancelException.withDetail("paymentStatus : " + response.status());