From e95acae7dd57520eda9ad5c64c00c8c9a1f3739d Mon Sep 17 00:00:00 2001 From: soyeon <102381857+soyeon1806@users.noreply.github.com> Date: Wed, 15 Jul 2026 23:18:55 +0900 Subject: [PATCH 1/2] =?UTF-8?q?del:=20=EA=B2=B0=EC=A0=9C=20=ED=81=B4?= =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EC=96=B8=ED=8A=B8=EC=9D=98=20=EC=8B=9C?= =?UTF-8?q?=ED=81=AC=EB=A6=BF=ED=82=A4=20+=20=EC=9D=B8=EC=A6=9D=20?= =?UTF-8?q?=ED=97=A4=EB=8D=94=20+=20=EC=9D=91=EB=8B=B5=20=EC=A0=84?= =?UTF-8?q?=EB=AC=B8=20=EB=A1=9C=EA=B9=85=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/roome/domain/payment/service/PaymentService.java | 7 +++---- .../roome/domain/payment/service/TossPaymentClient.java | 8 +------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/roome/src/main/java/com/roome/domain/payment/service/PaymentService.java b/roome/src/main/java/com/roome/domain/payment/service/PaymentService.java index 0ae25c0e..27014492 100644 --- a/roome/src/main/java/com/roome/domain/payment/service/PaymentService.java +++ b/roome/src/main/java/com/roome/domain/payment/service/PaymentService.java @@ -143,12 +143,11 @@ public PaymentResponseDto verifyPayment(Long userId, PaymentVerifyDto verifyDto) LocalDateTime approvedAt; try { ResponseEntity response = tossPaymentClient.requestConfirm(verifyDto); - log.info("✅ Step 6: Toss API 응답 수신 - Status={}, Body={}", - response.getStatusCode(), response.getBody()); + // 응답 전문에는 카드 및 구매자 정보가 포함될 수 있어 body를 로깅 x + log.info("✅ Step 6: Toss API 응답 수신 - Status={}", response.getStatusCode()); if (!response.getStatusCode().is2xxSuccessful()) { - log.error("❌ Step 7: 결제 승인 실패 - Status={}, Response={}", - response.getStatusCode(), response.getBody()); + log.error("❌ Step 7: 결제 승인 실패 - Status={}", response.getStatusCode()); throw new BusinessException(ErrorCode.PAYMENT_VERIFICATION_FAILED); } diff --git a/roome/src/main/java/com/roome/domain/payment/service/TossPaymentClient.java b/roome/src/main/java/com/roome/domain/payment/service/TossPaymentClient.java index cc8f4245..4370197b 100644 --- a/roome/src/main/java/com/roome/domain/payment/service/TossPaymentClient.java +++ b/roome/src/main/java/com/roome/domain/payment/service/TossPaymentClient.java @@ -56,10 +56,6 @@ public ResponseEntity requestConfirm(PaymentVerifyDto verifyDto) { headers.setContentType(MediaType.APPLICATION_JSON); headers.set("Authorization", encodeSecretKey()); - log.info("Toss API 요청 URL: {}", requestUrl); - log.info("Toss API 요청 Headers: {}", headers); - log.info("Toss API 요청 Body: {}", requestBody); - HttpEntity> requestEntity = new HttpEntity<>(requestBody, headers); try { @@ -181,10 +177,8 @@ public static LocalDateTime parseTossDateTime(String isoDateTime) { } } - // Secret Key를 Base64 인코딩하여 반환 + // Secret Key를 Base64 인코딩하여 반환 (시크릿키는 절대 로깅 x) private String encodeSecretKey() { - log.info("현재 사용 중인 Toss Secret Key: {}", secretKey); - if (secretKey == null || secretKey.isEmpty()) { throw new RuntimeException("Toss Secret Key가 설정되지 않았습니다."); } From 950840711987c8e7f14e94a7dd81163cb30a556f Mon Sep 17 00:00:00 2001 From: soyeon <102381857+soyeon1806@users.noreply.github.com> Date: Wed, 15 Jul 2026 23:23:39 +0900 Subject: [PATCH 2/2] =?UTF-8?q?del:=20=20=EC=A3=BD=EC=9D=80=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/service/TossPaymentService.java | 37 ------------------- 1 file changed, 37 deletions(-) delete mode 100644 roome/src/main/java/com/roome/domain/payment/service/TossPaymentService.java diff --git a/roome/src/main/java/com/roome/domain/payment/service/TossPaymentService.java b/roome/src/main/java/com/roome/domain/payment/service/TossPaymentService.java deleted file mode 100644 index 5cc1c2d8..00000000 --- a/roome/src/main/java/com/roome/domain/payment/service/TossPaymentService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.roome.domain.payment.service; - -import org.springframework.http.*; -import org.springframework.web.client.RestTemplate; -import java.util.Base64; -import java.util.Map; - -public class TossPaymentService { - private static final String BASE_URL = "https://api.tosspayments.com/v1/payments"; - private static final String SECRET_KEY = "test_sk_vZnjEJeQVxGkg7xlkaAO3PmOoBN0"; // 운영 환경에서는 live_sk_YOUR_LIVE_KEY - - public Map requestPayment(String orderId, int amount) { - RestTemplate restTemplate = new RestTemplate(); - - // 요청 데이터 설정 - Map request = Map.of( - "amount", amount, - "orderId", orderId, - "orderName", "테스트 결제", - "successUrl", "http://localhost:8080/api/payments/verify", // 백엔드 검증 API - "failUrl", "http://localhost:8080/api/payments/fail/" + orderId // 결제 실패 처리 API - ); - - // 인증 정보 (Basic Auth) - String authHeader = "Basic " + Base64.getEncoder().encodeToString((SECRET_KEY + ":").getBytes()); - - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_JSON); - headers.set("Authorization", authHeader); - - HttpEntity> entity = new HttpEntity<>(request, headers); - - ResponseEntity response = restTemplate.exchange(BASE_URL, HttpMethod.POST, entity, Map.class); - - return response.getBody(); - } -}