Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -164,13 +164,13 @@ ResponseEntity<PaymentConfirmResponse> confirmPayment(
취소 사유는 요청 본문에 포함됩니다.

## Path Variable
- `paymentKey`: PG사에서 받은 결제
- `paymentId`: 결제 고유 ID
"""
)
@PostMapping("/{paymentKey}/cancel")
@PostMapping("/{paymentId}/cancel")
ResponseEntity<PaymentCancelResponse> 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
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,13 @@ public ResponseEntity<PaymentConfirmResponse> confirmPayment(
return ResponseEntity.ok(response);
}

@PostMapping("/{paymentKey}/cancel")
@PostMapping("/{paymentId}/cancel")
public ResponseEntity<PaymentCancelResponse> cancelPayment(
@PathVariable(value = "paymentKey") final String paymentKey,
@PathVariable(value = "paymentId") final Integer paymentId,
@RequestBody @Valid final PaymentCancelRequest request,
@AccessToken final String accessToken
) {
List<PaymentCancel> paymentCancels = paymentService.cancelPayment(accessToken, paymentKey,
List<PaymentCancel> paymentCancels = paymentService.cancelPayment(accessToken, paymentId,
request.cancelReason());
PaymentCancelResponse response = PaymentCancelResponse.from(paymentCancels);
return ResponseEntity.ok(response);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<PaymentCancel> cancelPayment(String accessToken, String paymentKey, String cancelReason);
List<PaymentCancel> cancelPayment(String accessToken, Integer paymentId, String cancelReason);
PaymentResponse getPayment(String accessToken, Integer paymentId);
}
6 changes: 3 additions & 3 deletions src/main/java/in/koreatech/payment/service/TossService.java
Original file line number Diff line number Diff line change
Expand Up @@ -177,10 +177,10 @@ public PaymentConfirmResponse confirmPayment(String accessToken, String paymentK
}

@Transactional
public List<PaymentCancel> cancelPayment(String accessToken, String paymentKey, String cancelReason) {
public List<PaymentCancel> 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());
}
Expand All @@ -201,7 +201,7 @@ public List<PaymentCancel> 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());
Expand Down
Loading