From 6974418cef2fead1215e4da0729c1004fe2d7fc7 Mon Sep 17 00:00:00 2001 From: pricelees Date: Wed, 1 Oct 2025 10:51:38 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9E=84=EC=9D=98=EC=9D=98=20=EA=B2=B0?= =?UTF-8?q?=EC=A0=9C=20=EC=A0=95=EB=B3=B4=EB=A5=BC=20=EB=B0=98=ED=99=98?= =?UTF-8?q?=ED=95=98=EB=8A=94=20API=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tosspaymock/web/TosspayController.kt | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/web/TosspayController.kt diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/web/TosspayController.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/web/TosspayController.kt new file mode 100644 index 00000000..6895f39f --- /dev/null +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/web/TosspayController.kt @@ -0,0 +1,35 @@ +package com.sangdol.tosspaymock.web + +import com.sangdol.tosspaymock.business.TosspayService +import com.sangdol.tosspaymock.web.dto.PaymentCancelRequest +import com.sangdol.tosspaymock.web.dto.PaymentConfirmRequest +import com.sangdol.tosspaymock.web.dto.PaymentResponse +import org.springframework.http.ResponseEntity +import org.springframework.web.bind.annotation.* + +@RestController +@RequestMapping("/v1/payments") +class TosspayController( + private val tosspayService: TosspayService +) { + + @PostMapping("/confirm") + fun confirmPayment( + @RequestBody request: PaymentConfirmRequest + ): ResponseEntity { + val response = tosspayService.confirm(request) + + + return ResponseEntity.ok(response) + } + + @PostMapping("/{paymentKey}/cancel") + fun cancelPayment( + @PathVariable("paymentKey") paymentKey: String, + @RequestBody request: PaymentCancelRequest + ): ResponseEntity { + val response = tosspayService.cancel(paymentKey, request) + + return ResponseEntity.ok(response) + } +}