generated from pricelees/issue-pr-template
36 lines
1.5 KiB
Kotlin
36 lines
1.5 KiB
Kotlin
package roomescape.payment.docs
|
|
|
|
import io.swagger.v3.oas.annotations.Operation
|
|
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
|
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
|
import jakarta.validation.Valid
|
|
import org.springframework.http.ResponseEntity
|
|
import org.springframework.web.bind.annotation.RequestBody
|
|
import org.springframework.web.bind.annotation.RequestParam
|
|
import roomescape.auth.web.support.CurrentUser
|
|
import roomescape.auth.web.support.UserOnly
|
|
import roomescape.common.dto.CurrentUserContext
|
|
import roomescape.common.dto.response.CommonApiResponse
|
|
import roomescape.payment.web.PaymentCancelRequest
|
|
import roomescape.payment.web.PaymentConfirmRequest
|
|
import roomescape.payment.web.PaymentCreateResponse
|
|
|
|
interface PaymentAPI {
|
|
|
|
@UserOnly
|
|
@Operation(summary = "결제 승인", tags = ["로그인이 필요한 API"])
|
|
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
|
fun confirmPayment(
|
|
@RequestParam(required = true) reservationId: Long,
|
|
@Valid @RequestBody request: PaymentConfirmRequest
|
|
): ResponseEntity<CommonApiResponse<PaymentCreateResponse>>
|
|
|
|
@UserOnly
|
|
@Operation(summary = "결제 취소", tags = ["로그인이 필요한 API"])
|
|
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
|
fun cancelPayment(
|
|
@CurrentUser user: CurrentUserContext,
|
|
@Valid @RequestBody request: PaymentCancelRequest
|
|
): ResponseEntity<CommonApiResponse<Unit>>
|
|
}
|