> ## Documentation Index
> Fetch the complete documentation index at: https://docs.steppay.kr/llms.txt
> Use this file to discover all available pages before exploring further.

# 주문 상세 조회

> 주문 상세정보를 반환합니다.



## OpenAPI

````yaml /steppay_v1.json get /api/v1/orders/{orderIdOrCode}
openapi: 3.0.1
info:
  title: STEPPAY
  version: '1.0'
  contact:
    name: Steppay
    url: https://www.steppay.kr
    email: contact@steppay.kr
servers:
  - url: https://api.steppay.kr
    description: Generated server url
security:
  - Secret-Token: []
paths:
  /api/v1/orders/{orderIdOrCode}:
    get:
      tags:
        - 주문 API
      summary: 주문 상세 조회
      description: 주문 상세정보를 반환합니다.
      operationId: v1_getOrderDetail
      parameters:
        - name: orderIdOrCode
          in: path
          description: 주문 코드
          required: true
          schema:
            type: string
      responses:
        '200':
          description: 정상적으로 조회됨
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderV1DTO'
              examples:
                응답 예시:
                  value:
                    id: 1
                    orderId: 1
                    orderCode: order_AbCdEfGhI
                    type: RECURRING_INITIAL
                    paidAmount: 0
                    leftAmount: 0
                    returnedAmount: 0
                    items:
                      - id: 1
                        code: order_item_AbCdEfGhI
                        paidAmount: 0
                        currency: KRW
                        quantity: 0
                        price:
                          id: 1
                          code: price_AbCdEfGhI
                          price: 10000
                          unit: 개
                          planName: Basic Plan
                          planDescription: ''
                          type: FLAT
                          enabledFirstSalePrice: false
                          firstSalePrice: 0
                          claimMethodType: PRE
                          whenToClaimType: FIRST_PAYMENT
                          billingDate: 0
                          maximumPurchaseQuantity: 0
                          membershipExpirationDate: 0
                          membershipExpirationDateType: null
                          setupOption: null
                          options: []
                          volumes: []
                          additionalBilling: null
                          recurring:
                            id: 1
                            intervalCount: 1
                            aggregateUsageType: SUM
                            interval: MONTH
                            usageType: LICENSED
                          createdAt: '9999-01-01T00:00:00'
                          modifiedAt: '9999-01-01T00:00:00'
                          plan:
                            name: Basic Plan
                            description: ''
                            detailDescription: ''
                            isHiddenFromShop: false
                            adminName: null
                          firstSale:
                            enabled: false
                            price: 0
                          claim:
                            methodType: PRE
                            whenToClaimType: FIRST_PAYMENT
                            billingDate: 0
                            provideStartDay: null
                          basicServing: 0
                          bundlePrices: []
                          onetimeBundlePrice: 0
                          order: 0
                        product:
                          id: 1
                          code: product_AbCdEfGhI
                          type: SOFTWARE
                          status: SALE
                          name: Basic Product
                          subTitle: null
                          featuredImageUrl: ''
                          imageUrls: []
                          description: ''
                          summary: null
                          reasonOfReject: null
                          sku: null
                          quantity: null
                          combinedProducts: []
                          optionGroups: []
                          useCombination: true
                          optionCombinations: []
                          prices:
                            - id: 1
                              code: price_AbCdEfGhI
                              price: 10000
                              unit: 개
                              planName: Basic Plan
                              planDescription: ''
                              type: FLAT
                              enabledFirstSalePrice: false
                              firstSalePrice: 0
                              claimMethodType: PRE
                              whenToClaimType: FIRST_PAYMENT
                              billingDate: 0
                              maximumPurchaseQuantity: 0
                              membershipExpirationDate: 0
                              membershipExpirationDateType: null
                              setupOption: null
                              options: []
                              volumes: []
                              additionalBilling: null
                              recurring:
                                id: 1
                                intervalCount: 1
                                aggregateUsageType: SUM
                                interval: MONTH
                                usageType: LICENSED
                              createdAt: '9999-01-01T00:00:00'
                              modifiedAt: '9999-01-01T00:00:00'
                              plan:
                                name: Basic Plan
                                description: ''
                                detailDescription: ''
                                isHiddenFromShop: false
                                adminName: null
                              firstSale:
                                enabled: false
                                price: 0
                              claim:
                                methodType: PRE
                                whenToClaimType: FIRST_PAYMENT
                                billingDate: 0
                                provideStartDay: null
                              basicServing: 0
                              bundlePrices: []
                              onetimeBundlePrice: 0
                              order: 0
                          createdAt: '9999-01-01T00:00:00'
                          modifiedAt: '9999-01-01T00:00:00'
                          enabledDemo: false
                          demoPeriod: 7
                          demoPeriodUnit: DAY
                          categories: []
                          vendorUuid: 206992bb-6462-4b4f-9847-cf2f40d55b48
                          productOrder: 0
                          isOnetimePurchasable: false
                          eventBadge: []
                          notice: null
                          useWidget:
                            useDemo: false
                            useEventBadge: false
                            useOnetimePurchasable: false
                            useNotice: false
                          groupId: null
                          countrySetting: null
                          availableRegions: []
                        type: SKU
                        status: CREATED
                        featuredImageUrl: ''
                        selectedProductOptionLabel: ''
                        selectedProductOptionIds: []
                        createdAt: '9999-01-01T00:00:00'
                        canceledDateTime: null
                        orderItemCode: order_item_AbCdEfGhI
                        modifiedAt: '9999-01-01T00:00:00'
                        orderedProductType: SOFTWARE
                        orderedProductName: Basic Product
                        orderedPlanName: Basic Plan
                        discountName: null
                        relatedOrderItemId: null
                        priceSetupType: null
                        demoCycle: null
                        usedCount: null
                        usageFormula: null
                        deliveryCode: null
                        histories: null
                        unitChangeHistory: null
                        unitCount: null
                        minimumQuantity: 1
                        maximumQuantity: null
                        parentOrderItemCode: null
                    customer:
                      id: 1
                      uuid: 206992bb-6462-4b4f-9847-cf2f40d55b48
                      status: NORMAL
                      name: 테스트 고객
                      email: test@gmail.com
                      phone: '01012341234'
                      shipping: null
                      username: null
                      code: customer_AbCdEfGhI
                      marketingSms: false
                      marketingEmail: false
                      marketingKakao: false
                      attributes: {}
                      createdAt: '9999-01-01T00:00:00'
                    paymentDate: null
                    purchaseDeadline: '9999-01-01T00:00:00'
                    shipping: null
                    createdAt: '9999-01-01T00:00:00'
                    modifiedAt: '9999-01-01T00:00:00'
                    payment:
                      paymentMethod: CARD_BILL
                      paymentDate: null
                      amount: 10000
                      discount: 0
                      paymentReturn: null
                      paymentReceiptUrl: null
                      paymentGateway: UNKNOWN
                      cardNumber: null
                      vbankDTO: null
                      niceCmsDTO: null
                      customerDTO:
                        name: 테스트 고객
                        email: test@gmail.com
                        phone: '01012341234'
                      errorCode: null
                      errorMessage: null
                    orderLogs: []
                    code: order_AbCdEfGhI
                    subscriptions: []
                    parentSubscription: null
                    invoiceId: null
                    discountedAmount: 0
                    productName: Basic Product (Basic Plan)
                    paymentDueDate: null
                    idKey: 17042685431546CQ4BVZw22hzN1jn
                    relatedOrders: []
                    calculateStartDate: null
                    calculateEndDate: null
                    childOrders: []
                    exchangeRate: 1
                    region:
                      code: KR
                      currency: KRW
                      country: South Korea
                      countryCode: KR
                      state: null
                      language: ko
                    currency: KRW
                    baseCurrency: KRW
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ProductErrorresponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ProductErrorresponse'
        '404':
          description: 주문을 찾지 못 함
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderV1DTO'
components:
  schemas:
    OrderV1DTO:
      title: 주문 상세 정보
      required:
        - baseCurrency
        - currency
        - discountedAmount
        - exchangeRate
        - id
        - leftAmount
        - orderCode
        - orderId
        - orderLogs
        - paidAmount
        - productName
        - region
        - relatedOrders
        - returnedAmount
        - subscriptions
        - type
      type: object
      properties:
        id:
          type: integer
          description: 주문 번호
          format: int64
        orderId:
          type: integer
          description: 주문 번호 (이전 버전 호환)
          format: int64
        orderCode:
          type: string
          description: 주문 코드
        type:
          type: string
          description: 주문 타입
          enum:
            - RECURRING
            - ONE_TIME
            - PAYMENT_METHOD
            - RECURRING_INITIAL
            - ADD_USAGE
            - ADDITIONAL
            - ADD_PAYMENT_METHOD
        paidAmount:
          type: number
          description: 결제 금액
        leftAmount:
          type: number
          description: 남은 금액
        returnedAmount:
          type: number
          description: 환불 금액
        items:
          type: array
          description: 주문 항목들
          items:
            $ref: '#/components/schemas/OrderItemV1DTO'
        customer:
          $ref: '#/components/schemas/OrderCustomerV1DTO'
        paymentDate:
          type: string
          description: 결제 시점
          format: date-time
        purchaseDeadline:
          type: string
          description: 청구서 사용시, 구매 기한
          format: date-time
        shipping:
          $ref: '#/components/schemas/ShippingV1DTO'
        createdAt:
          type: string
          description: 생성된 시점
          format: date-time
        modifiedAt:
          type: string
          description: 수정된 시점
          format: date-time
        payment:
          $ref: '#/components/schemas/OrderPaymentV1DTO'
        orderLogs:
          type: array
          description: 주문 메모 목록
          items:
            $ref: '#/components/schemas/OrderLogV1DTO'
        code:
          type: string
        subscriptions:
          type: array
          description: 관련 구독 목록
          items:
            $ref: '#/components/schemas/OrderSubscriptionV1DTO'
        parentSubscription:
          $ref: '#/components/schemas/OrderSubscriptionV1DTO'
        invoiceId:
          type: integer
          description: 청구서 ID
          format: int64
        discountedAmount:
          type: number
          description: 할인 금액
        productName:
          type: string
          description: 상품 이름
        paymentDueDate:
          type: string
          description: 결제일 지정
          format: date-time
        idKey:
          type: string
          description: 결제 정보 조회용 idKey
        relatedOrders:
          type: array
          description: 관련 주문
          items:
            $ref: '#/components/schemas/RelatedOrderV1'
        calculateStartDate:
          type: string
          description: 합산 시작 시점
          format: date-time
        calculateEndDate:
          type: string
          description: 합산 끝 시점
          format: date-time
        childOrders:
          type: array
          description: 하위 벤더의 주문
          items:
            $ref: '#/components/schemas/OrderV1DTO'
        exchangeRate:
          type: number
          description: 주문에 적용된 환율
        region:
          $ref: '#/components/schemas/RegionV1DTO'
        currency:
          type: string
          description: 승인 통화
        baseCurrency:
          type: string
          description: 주문 생성 당시 기준 통화
      description: 관련 주문
    ProductErrorresponse:
      required:
        - errorCode
      type: object
      properties:
        traceId:
          type: string
        errorCode:
          type: string
        errorMessage:
          type: string
        details:
          $ref: '#/components/schemas/ReturnError'
    OrderItemV1DTO:
      title: 주문 항목 정보
      required:
        - code
        - createdAt
        - currency
        - id
        - minimumQuantity
        - modifiedAt
        - orderItemCode
        - orderedPlanName
        - orderedProductName
        - orderedProductType
        - paidAmount
        - quantity
        - selectedProductOptionIds
        - status
      type: object
      properties:
        id:
          type: integer
          description: 주문 항목 번호
          format: int64
        code:
          type: string
          description: 주문 항목 코드
        paidAmount:
          type: number
          description: 결제 금액
        currency:
          type: string
          description: 통화 코드
        quantity:
          type: integer
          description: 수량
          format: int32
        price:
          $ref: '#/components/schemas/PriceV1DTO'
        product:
          $ref: '#/components/schemas/ProductV1DTO'
        type:
          type: string
          description: 주문 항목 타입
          enum:
            - SKU
            - TAX
            - SHIPPING
            - DISCOUNT
            - OFFLINE
            - FEE
            - ADDS
            - INSTANT
            - USAGE
        status:
          type: string
          description: 주문 항목 상태
          enum:
            - CREATED
            - DEPOSIT_WAITING
            - CANCELLED
            - PAID
            - CANCELLATION_REQUEST
            - CANCELLATION_REQUEST_CANCELLED
            - CANCELLATION_REQUEST_DENIED
            - CANCELLATION_REFUNDING
            - CANCELLATION_REFUNDED
            - CANCELLATION_REFUNDED_PARTIALLY
            - ORDER_DELIVERY_PREPARING
            - ORDER_DELIVERY_SUSPENDED
            - ORDER_DELIVERY_ON_THE_WAY
            - ORDER_DELIVERY_COMPLETED
            - EXCHANGE_REQUEST
            - EXCHANGE_REQUEST_CANCELLED
            - EXCHANGE_REQUEST_REJECTED
            - EXCHANGE_COLLECTION_PREPARING
            - EXCHANGE_COLLECTION_ON_THE_WAY
            - EXCHANGE_COLLECTION_COMPLETED
            - EXCHANGE_DELIVERY_PREPARING
            - EXCHANGE_DELIVERY_ON_THE_WAY
            - EXCHANGE_DELIVERY_COMPLETED
            - EXCHANGE_REJECT_DELIVERY_PREPARING
            - EXCHANGE_REJECT_DELIVERY_ON_THE_WAY
            - EXCHANGE_REJECT_DELIVERY_COMPLETED
            - EXCHANGE_PENDING
            - EXCHANGE_REJECTED
            - RETURN_REQUEST
            - RETURN_REQUEST_CANCELLED
            - RETURN_REQUEST_REJECTED
            - RETURN_COLLECTION_PREPARING
            - RETURN_COLLECTION_ON_THE_WAY
            - RETURN_COLLECTION_COMPLETED
            - RETURN_REJECT_DELIVERY_PREPARING
            - RETURN_REJECT_DELIVERY_ON_THE_WAY
            - RETURN_REJECT_DELIVERY_COMPLETED
            - RETURN_PENDING
            - RETURN_REJECTED
            - RETURN_REFUNDING
            - RETURN_REFUNDED
            - RETURN_REFUNDED_PARTIALLY
            - PAYMENT_FAILURE
            - FINISHED_EXCHANGE_AVAILABLE
            - FINISHED_RETURN_AVAILABLE
            - FINISHED_SUCCESSFULLY
        featuredImageUrl:
          type: string
          description: 상품 이미지 URL
        selectedProductOptionLabel:
          type: string
          description: 선택한 상품 옵션
        selectedProductOptionIds:
          type: array
          description: 선택한 옵션 ID 목록
          items:
            type: integer
            description: 선택한 옵션 ID 목록
            format: int64
        createdAt:
          type: string
          description: 생성된 시점
          format: date-time
        canceledDateTime:
          type: string
          description: 취소 시점
          format: date-time
        orderItemCode:
          type: string
          description: 주문 항목 코드
        modifiedAt:
          type: string
          description: 수정된 시점
          format: date-time
        orderedProductType:
          type: string
          description: 주문 시점의 상품 타입
          enum:
            - BOX
            - SOFTWARE
            - BUNDLE
            - INVOICE
            - DRAFT
        orderedProductName:
          type: string
          description: 주문 시점의 상품 이름
        orderedPlanName:
          type: string
          description: 주문 시점의 가격 플랜 이름
        discountName:
          type: string
          description: 할인 타입(주문 항목 타입이 DISCOUNT인 경우)
        relatedOrderItemId:
          type: integer
          description: 연관된 주문 항목 (주문 항목 타입이 DISCOUNT인 경우)
          format: int64
        priceSetupType:
          type: string
          description: 기본료 주문 항목인 경우 1회 또는 정기적으로 구분하는 타입
          enum:
            - INITIALLY
            - PERIODIC
        demoCycle:
          $ref: '#/components/schemas/DemoCycleDTO'
        usedCount:
          type: number
          description: 사용량(사용량 기반 과금 상품인 경우)
        usageFormula:
          type: string
          description: 사용량 계산식
        deliveryCode:
          type: string
          description: 배송코드(매핑값)
        histories:
          type: array
          description: CS기록
          items:
            $ref: '#/components/schemas/CSItemDTO'
        unitChangeHistory:
          type: array
          description: 계정 수 변동 내역(계정 수 기반 과금 상품인 경우)
          items:
            $ref: '#/components/schemas/OrderItemUnitChangeHistoryV1DTO'
        unitCount:
          type: integer
          description: 계정 수(계정 수 기반 과금 상품인 경우
          format: int64
        minimumQuantity:
          type: integer
          description: 최소 구매 가능 수량
          format: int32
        maximumQuantity:
          type: integer
          description: 최대 구매 가능 수량
          format: int32
        parentOrderItemCode:
          type: string
          description: 파생 주문 아이템의 부모(번들) 주문 아이템 코드
        relatedSubscriptionItemId:
          type: integer
          description: 관련 구독 아이템 아이디
          format: int64
      description: 주문 항목들
    OrderCustomerV1DTO:
      type: object
      properties:
        name:
          type: string
        email:
          type: string
        phone:
          type: string
      description: 결제자 정보
    ShippingV1DTO:
      title: 배송지 정보
      required:
        - address1
        - address2
        - name
        - phone
        - postcode
      type: object
      properties:
        name:
          maxLength: 2147483647
          minLength: 1
          type: string
          description: 수령인 이름
        phone:
          maxLength: 2147483647
          minLength: 1
          type: string
          description: 수령인 전화번호
        postcode:
          maxLength: 2147483647
          minLength: 1
          type: string
          description: 우편번호
        address1:
          maxLength: 2147483647
          minLength: 1
          type: string
          description: 주소
        address2:
          maxLength: 2147483647
          minLength: 1
          type: string
          description: 세부 주소
        state:
          type: string
          description: 주 정보
        city:
          type: string
          description: 도시 정보
        countryCode:
          type: string
          description: 국가 코드
      description: 고객이 최근에 사용한 배송 정보 - 주소
    OrderPaymentV1DTO:
      title: 결제 상세 정보
      required:
        - amount
        - discount
      type: object
      properties:
        paymentMethod:
          type: string
          description: 결제 수단
          enum:
            - CARD
            - VBANK
            - BANK
            - BANK_TRANSFER
            - CELLPHONE
            - SIMPLE_PAY
            - CMS
            - CARD_BILL
            - CELLPHONE_BILL
            - CMS_BILL
            - PAYPAL
        paymentDate:
          type: string
          description: 결제 시점
          format: date-time
        amount:
          type: number
          description: 결제 금액
        discount:
          type: number
          description: 할인 금액
        paymentReturn:
          type: object
          additionalProperties:
            type: object
            description: PG사 반환값
          description: PG사 반환값
        paymentReceiptUrl:
          type: string
          description: 영수증 링크
        paymentGateway:
          type: string
          description: 사용한 PG
          enum:
            - NAVER
            - DANAL
            - KAKAO
            - KG
            - KCP
            - NICE
            - JT
            - GOOGLE
            - BANKPAY
            - BLUEWALNUT
            - KSNET
            - TOSS
            - EXIMBAY
            - SETTLE
            - DAOUDATA
            - WELCOME
            - NICE_V2
            - STRIPE
            - PAYPLE
            - PAYPLE_GLOBAL
            - KICC
            - EMPTY
            - STEPPAY
            - UNKNOWN
        cardNumber:
          type: string
          description: 결제 정보(카드 번호 등)
        vbankDTO:
          $ref: '#/components/schemas/VBankV1DTO'
        niceCmsDTO:
          $ref: '#/components/schemas/NiceCmsV1DTO'
        customerDTO:
          $ref: '#/components/schemas/OrderCustomerV1DTO'
        errorCode:
          type: string
          description: 에러 코드(결제 실패시)
        errorMessage:
          type: string
          description: 에러 메세지(결제 실패시)
      description: 결제 정보
    OrderLogV1DTO:
      title: 주문 메모 정보
      required:
        - content
        - createdAt
        - id
        - type
      type: object
      properties:
        id:
          type: integer
          description: 메모 번호
          format: int64
        type:
          type: string
          description: 메모 타입
          enum:
            - MANAGER
            - V1
            - RENEW
            - CUSTOMER
            - SYSTEM
            - PUBLIC
        content:
          type: string
          description: 메모 내용
        createdAt:
          type: string
          description: 생성된 시점
          format: date-time
      description: 주문 메모 목록
    OrderSubscriptionV1DTO:
      title: 주문 관련 구독 정보
      required:
        - id
        - interval
        - intervalCount
        - items
        - price
        - status
      type: object
      properties:
        id:
          type: integer
          description: 구독 번호
          format: int64
        status:
          type: string
          description: 구독 상태
          enum:
            - ACTIVE
            - UNPAID
            - PENDING_PAUSE
            - PAUSE
            - PENDING_CANCEL
            - EXPIRED
            - CANCELED
            - INCOMPLETE
            - QUEUEING
        items:
          type: array
          description: 구독 항목들
          items:
            $ref: '#/components/schemas/SubscriptionItemV1DTO'
        price:
          $ref: '#/components/schemas/PriceV1DTO'
        startDate:
          type: string
          description: 구독 시작 시점
          format: date-time
        lastPaymentDate:
          type: string
          description: 최근 결제 시점
          format: date-time
        nextPaymentDate:
          type: string
          description: 다음 결제 시점
          format: date-time
        endDate:
          type: string
          description: 구독 만료 시점
          format: date-time
        interval:
          type: string
          description: 구독 주기 단위
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
        intervalCount:
          type: integer
          description: 구독 주기
          format: int32
        trialEndDate:
          type: string
          description: 체험기간 종료 시점
          format: date-time
      description: 부모 구독 정보(갱신 결제일 경우)
    RelatedOrderV1:
      required:
        - code
        - createdAt
        - id
        - items
        - orderType
        - paidAmount
        - productName
      type: object
      properties:
        id:
          type: integer
          description: 주문 번호
          format: int64
        code:
          type: string
          description: 주문 코드
        orderType:
          type: string
          description: 주문 타입
          enum:
            - RECURRING
            - ONE_TIME
            - PAYMENT_METHOD
            - RECURRING_INITIAL
            - ADD_USAGE
            - ADDITIONAL
            - ADD_PAYMENT_METHOD
        productName:
          type: string
          description: 상품 이름
        paidAmount:
          type: number
          description: 결제 금액
        items:
          type: array
          description: 주문 항목
          items:
            $ref: '#/components/schemas/RelatedOrderItemV1'
        createdAt:
          type: string
          format: date-time
      description: 관련 주문
    RegionV1DTO:
      title: 판매국가 정보
      required:
        - code
        - country
        - countryCode
        - currency
      type: object
      properties:
        code:
          title: Region Enum Code
          type: string
        currency:
          title: 해당 국가에서 사용되는 대표 통화 코드
          type: string
        country:
          title: 국가 이름
          type: string
        countryCode:
          title: 국가 코드(ISO 3166 alpha-2)
          type: string
        state:
          title: 주 이름
          type: string
        language:
          title: 국가 언어 코드(ISO 639-1)
          type: string
      description: 판매 국가(주)
    ReturnError:
      type: object
    PriceV1DTO:
      title: 가격 플랜 정보
      required:
        - basicServing
        - billingDate
        - bundlePrices
        - code
        - enabledFirstSalePrice
        - firstSalePrice
        - id
        - maximumPurchaseQuantity
        - membershipExpirationDate
        - onetimeBundlePrice
        - options
        - order
        - price
        - type
        - volumes
      type: object
      properties:
        id:
          type: integer
          description: 가격 플랜 아이디
          format: int64
        code:
          type: string
          description: 가격 플랜 코드
        price:
          type: number
          description: 가격(기준통화)
        currencyPrice:
          type: object
          additionalProperties:
            type: number
            description: 통화별 가격(기준통화 외)
          description: 통화별 가격(기준통화 외)
        unit:
          type: string
          description: 단위
        planName:
          type: string
          description: 플랜명
          deprecated: true
        planDescription:
          type: string
          description: 플랜 설명
          deprecated: true
        type:
          type: string
          description: 플랜 타입
          enum:
            - ONE_TIME
            - FLAT
            - UNIT_BASED
            - USAGE_BASED
            - VOLUME_BASED
            - BUNDLE
        enabledFirstSalePrice:
          type: boolean
          description: 첫 구매 할인 적용 여부
          deprecated: true
        firstSalePrice:
          type: number
          description: 첫 구매 할인시 적용되는 할인 금액
          deprecated: true
        claimMethodType:
          type: string
          description: 선불인지 후불인지 여부
          enum:
            - PRE
            - POST
        whenToClaimType:
          type: string
          description: 후불인 경우, 언제 결제되는지
          enum:
            - FIRST_PAYMENT
            - DATE
        billingDate:
          type: integer
          description: 후불일 때 결제되는 날짜를 지정한 경우, 지정된 날짜
          format: int32
        maximumPurchaseQuantity:
          type: integer
          description: 최대 구매가능 수량
          format: int32
        membershipExpirationDate:
          type: integer
          description: 구독 만기 기간
          format: int32
        membershipExpirationDateType:
          type: string
          description: 구독 만기 기간 단위
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
        setupOption:
          $ref: '#/components/schemas/PriceSetupOptionV1DTO'
        options:
          type: array
          description: 옵션 정보
          deprecated: true
          items:
            $ref: '#/components/schemas/PriceOptionV1DTO'
        volumes:
          type: array
          deprecated: true
          items:
            $ref: '#/components/schemas/PriceVolumeV1DTO'
        additionalBilling:
          $ref: '#/components/schemas/PriceAdditionalBillingV1DTO'
        recurring:
          $ref: '#/components/schemas/PriceRecurringV1DTO'
        createdAt:
          type: string
          description: 생성된 시점
          format: date-time
        modifiedAt:
          type: string
          description: 수정된 시점
          format: date-time
        plan:
          $ref: '#/components/schemas/PlanV1DTO'
        firstSale:
          $ref: '#/components/schemas/FirstSaleV1DTO'
        claim:
          $ref: '#/components/schemas/ClaimV1DTO'
        basicServing:
          type: integer
          description: 기본 제공량 - 계정/사용량 기반 요금 사용시
          format: int32
        bundlePrices:
          type: array
          description: 번들 플랜 - 번들 상품 구성
          items:
            $ref: '#/components/schemas/PriceBundleV1DTO'
        onetimeBundlePrice:
          type: number
          description: 번들 플랜 - 단건 상품 금액
        order:
          type: integer
          description: 우선 순위
          format: int32
      description: 가격 플랜 정보
    ProductV1DTO:
      title: 상품 상세 정보
      required:
        - categories
        - code
        - combinedProducts
        - createdAt
        - demoPeriod
        - demoPeriodUnit
        - enabledDemo
        - eventBadge
        - id
        - isOnetimePurchasable
        - optionCombinations
        - optionGroups
        - prices
        - productOrder
        - status
        - useCombination
        - vendorUuid
      type: object
      properties:
        id:
          type: integer
          description: 상품 아이디
          format: int64
        code:
          type: string
          description: 상품 코드
        type:
          type: string
          description: 상품 타입
          enum:
            - BOX
            - SOFTWARE
            - BUNDLE
            - INVOICE
            - DRAFT
        status:
          type: string
          description: 상품 상태
          enum:
            - SALE
            - OUT_OF_STOCK
            - UNSOLD
            - WAITING_APPROVAL
            - REJECTED
        name:
          type: string
          description: 상품 이름
        subTitle:
          type: string
          description: 부제목
        featuredImageUrl:
          type: string
          description: 상품 대표 이미지 URL
        imageUrls:
          type: array
          description: 상품 이미지 URL
          items:
            type: string
            description: 상품 이미지 URL
        description:
          type: string
          description: 상품 설명
        summary:
          type: string
          description: 상품 요약
        reasonOfReject:
          type: string
          description: 상품 승인 거절 사유
        sku:
          type: string
          description: SKU
          deprecated: true
        quantity:
          type: integer
          description: 재고 수량
          format: int32
        combinedProducts:
          type: array
          description: 번들 상품 정보
          items:
            $ref: '#/components/schemas/BundleProductV1DTO'
        optionGroups:
          type: array
          description: 옵션 그룹 정보
          items:
            $ref: '#/components/schemas/ProductOptionGroupV1DTO'
        useCombination:
          type: boolean
          description: 조합형 옵션 사용 여부
        optionCombinations:
          type: array
          description: 옵션 조합
          items:
            $ref: '#/components/schemas/OptionCombinationV1DTO'
        prices:
          type: array
          description: 가격 플랜 목록
          items:
            $ref: '#/components/schemas/PriceV1DTO'
        createdAt:
          type: string
          description: 생성 시점
          format: date-time
        modifiedAt:
          type: string
          description: 수정 시점
          format: date-time
        enabledDemo:
          type: boolean
          description: 체험기간 활성화 여부
        demoPeriod:
          type: integer
          description: 체험 기간
          format: int32
        demoPeriodUnit:
          type: string
          description: 체험 기간 단위
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
        categories:
          type: array
          description: 카테고리
          items:
            $ref: '#/components/schemas/ProductCategoryV1DTO'
        vendorUuid:
          type: string
          description: 가맹점 UUID
          format: uuid
        productOrder:
          type: integer
          description: 순서
          format: int32
        isOnetimePurchasable:
          type: boolean
          description: 활성 구독 제한
          deprecated: true
        eventBadge:
          type: array
          description: 이벤트 뱃지
          deprecated: true
          items:
            $ref: '#/components/schemas/ProductEventBadgeV1DTO'
        notice:
          type: string
          description: 유의 사항
          deprecated: true
        useWidget:
          $ref: '#/components/schemas/ProductWidgetV1DTO'
        groupId:
          type: integer
          description: 그룹 ID
          format: int64
          deprecated: true
        countrySetting:
          $ref: '#/components/schemas/CountrySettingV1DTO'
        availableRegions:
          type: array
          description: 판매 가능 국가
          items:
            $ref: '#/components/schemas/RegionV1DTO'
      description: 상품 정보
    DemoCycleDTO:
      required:
        - num
        - type
      type: object
      properties:
        num:
          type: integer
          format: int32
        type:
          type: string
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
      description: 무료체험이 적용됐는지 적용 여부 및 기간
    CSItemDTO:
      required:
        - actor
        - category
        - createdAt
        - status
      type: object
      properties:
        actor:
          type: string
          enum:
            - SYSTEM
            - SELLER
            - BUYER
        category:
          type: string
          enum:
            - CANCELLATION
            - EXCHANGE
            - RETURN
        status:
          type: string
        reason:
          type: string
        createdAt:
          type: string
          format: date-time
      description: CS기록
    OrderItemUnitChangeHistoryV1DTO:
      title: 계정 수 변동 내역
      required:
        - changedCount
        - days
      type: object
      properties:
        changedCount:
          type: integer
          description: 계정 수 증감량
          format: int64
        days:
          type: integer
          description: 요금 계산 기준 날짜
          format: int64
      description: 계정 수 변동 내역(계정 수 기반 과금 상품인 경우)
    VBankV1DTO:
      required:
        - accountName
        - accountNumber
        - bankDate
        - bankName
      type: object
      properties:
        bankCode:
          type: string
        bankName:
          type: string
        accountNumber:
          type: string
        accountName:
          type: string
        bankDate:
          type: string
          format: date-time
      description: 가상 계좌 정보 (paymentMethod가 VBANK 일 때
    NiceCmsV1DTO:
      required:
        - bankAccount
        - bankCode
        - companyName
        - corporateManager
        - date
        - status
      type: object
      properties:
        corporateManager:
          type: string
        companyName:
          type: string
        companyRegistrationNumber:
          type: string
        bankCode:
          type: string
        bankAccount:
          type: string
        date:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - ACCOUNT_PENDING
            - ACCOUNT_FAIL
            - ACCOUNT_SUCCESS
            - WITHDRAW_PENDING
            - WITHDRAW_FAIL
            - WITHDRAW_SUCCESS
        errorReturn:
          type: string
      description: NICE CMS 정보
    SubscriptionItemV1DTO:
      title: 구독 항목 정보
      required:
        - claimMethodType
        - featuredImageUrl
        - hasOptions
        - id
        - isAdditional
        - isOnetimePurchasable
        - keepWhenRenew
        - plan
        - price
        - priceType
        - productName
        - productType
        - quantity
        - selectedOptions
        - selectedProductOptionIds
        - selectedProductOptionPrice
        - type
      type: object
      properties:
        id:
          type: integer
          description: 구독 항목 번호
          format: int64
        code:
          type: string
          description: 구독 항목 코드
        productName:
          type: string
          description: 상품명
        productType:
          type: string
          description: 상품 타입
          enum:
            - BOX
            - SOFTWARE
            - BUNDLE
            - INVOICE
            - DRAFT
        isOnetimePurchasable:
          type: boolean
          description: 활성구독 제한 여부
        featuredImageUrl:
          type: string
          description: 이미지 URL
        selectedProductOptionLabel:
          type: string
          description: 선택한 옵션 정보
        selectedProductOptionIds:
          type: array
          description: 선택한 옵션들의 ID
          items:
            type: integer
            description: 선택한 옵션들의 ID
            format: int64
        selectedProductOptionPrice:
          type: number
          description: 선택한 옵션 추가 금액
        plan:
          $ref: '#/components/schemas/PlanV1DTO'
        price:
          type: number
          description: 가격
        quantity:
          type: integer
          description: 수량
          format: int32
        isAdditional:
          type: boolean
          description: 추가 구매 상품인지 여부
        keepWhenRenew:
          type: boolean
          description: 갱신될 때 유지되는 항목인지 여부
        hasOptions:
          type: boolean
          description: 옵션이 존재하는지 여부
        maximumPurchaseQuantity:
          type: integer
          description: 최대 구매 가능 수량
          format: int32
        productCode:
          type: string
          description: 상품 코드
        priceCode:
          type: string
          description: 가격 플랜 코드
        type:
          type: string
          description: 항목 타입
          enum:
            - SKU
            - TAX
            - SHIPPING
            - DISCOUNT
            - OFFLINE
            - FEE
            - ADDS
            - INSTANT
            - USAGE
        claimMethodType:
          type: string
          description: 선불인지 후불인지 정보
          enum:
            - PRE
            - POST
        priceType:
          type: string
          description: 가격 플랜 타입
          enum:
            - ONE_TIME
            - FLAT
            - UNIT_BASED
            - USAGE_BASED
            - VOLUME_BASED
            - BUNDLE
        selectedOptions:
          type: array
          description: 선택된 옵션
          items:
            type: integer
            description: 선택된 옵션
            format: int64
        parentSubscriptionItemCode:
          type: string
          description: 파생 구독 아이템의 부모(번들) 아이템 코드
      description: 구독 항목들
    RelatedOrderItemV1:
      title: 관련 주문 항목 상세정보
      required:
        - amount
        - code
        - orderItemId
        - plan
        - priceType
        - productName
        - status
      type: object
      properties:
        orderItemId:
          type: integer
          description: 주문 아이템 번호
          format: int64
        code:
          type: string
          description: 주문 아이템 코드
        productName:
          type: string
          description: 상품명
        plan:
          $ref: '#/components/schemas/PlanV1DTO'
        status:
          type: string
          description: 주문 항목 상태
          enum:
            - CREATED
            - DEPOSIT_WAITING
            - CANCELLED
            - PAID
            - CANCELLATION_REQUEST
            - CANCELLATION_REQUEST_CANCELLED
            - CANCELLATION_REQUEST_DENIED
            - CANCELLATION_REFUNDING
            - CANCELLATION_REFUNDED
            - CANCELLATION_REFUNDED_PARTIALLY
            - ORDER_DELIVERY_PREPARING
            - ORDER_DELIVERY_SUSPENDED
            - ORDER_DELIVERY_ON_THE_WAY
            - ORDER_DELIVERY_COMPLETED
            - EXCHANGE_REQUEST
            - EXCHANGE_REQUEST_CANCELLED
            - EXCHANGE_REQUEST_REJECTED
            - EXCHANGE_COLLECTION_PREPARING
            - EXCHANGE_COLLECTION_ON_THE_WAY
            - EXCHANGE_COLLECTION_COMPLETED
            - EXCHANGE_DELIVERY_PREPARING
            - EXCHANGE_DELIVERY_ON_THE_WAY
            - EXCHANGE_DELIVERY_COMPLETED
            - EXCHANGE_REJECT_DELIVERY_PREPARING
            - EXCHANGE_REJECT_DELIVERY_ON_THE_WAY
            - EXCHANGE_REJECT_DELIVERY_COMPLETED
            - EXCHANGE_PENDING
            - EXCHANGE_REJECTED
            - RETURN_REQUEST
            - RETURN_REQUEST_CANCELLED
            - RETURN_REQUEST_REJECTED
            - RETURN_COLLECTION_PREPARING
            - RETURN_COLLECTION_ON_THE_WAY
            - RETURN_COLLECTION_COMPLETED
            - RETURN_REJECT_DELIVERY_PREPARING
            - RETURN_REJECT_DELIVERY_ON_THE_WAY
            - RETURN_REJECT_DELIVERY_COMPLETED
            - RETURN_PENDING
            - RETURN_REJECTED
            - RETURN_REFUNDING
            - RETURN_REFUNDED
            - RETURN_REFUNDED_PARTIALLY
            - PAYMENT_FAILURE
            - FINISHED_EXCHANGE_AVAILABLE
            - FINISHED_RETURN_AVAILABLE
            - FINISHED_SUCCESSFULLY
        amount:
          type: number
          description: 가격
        priceType:
          type: string
          description: 가격 플랜 타입
          enum:
            - ONE_TIME
            - FLAT
            - UNIT_BASED
            - USAGE_BASED
            - VOLUME_BASED
            - BUNDLE
        parentOrderItemCode:
          type: string
          description: 부모 아이템 코드
      description: 주문 항목
    PriceSetupOptionV1DTO:
      title: 기본료 정보
      required:
        - name
        - type
      type: object
      properties:
        id:
          type: integer
          description: 기본료 번호
          format: int64
        name:
          type: string
          description: 기본료 이름
        type:
          type: string
          description: 기본료 타입
          enum:
            - INITIALLY
            - PERIODIC
        price:
          type: number
          description: 기본료 금액(기준통화)
        currencyPrice:
          type: object
          additionalProperties:
            type: number
            description: 통화별 기본료 금액(기준통화 외)
          description: 통화별 기본료 금액(기준통화 외)
        claimMethodType:
          type: string
          description: 기본료가 선불인지 후불인지 여부
          enum:
            - PRE
            - POST
      description: 기본료 정보
    PriceOptionV1DTO:
      title: 가격 플랜 옵션 정보
      required:
        - id
        - price
      type: object
      properties:
        id:
          type: integer
          description: 옵션 번호
          format: int64
        name:
          type: string
          description: 옵션 이름
        productCode:
          type: string
          description: 연관 상품 코드
        type:
          type: string
          description: 옵션 타입
          enum:
            - INITIALLY
            - PERIODIC
        price:
          type: integer
          description: 가격
          format: int64
        priceCode:
          type: string
          description: 연관 가격플랜 코드
        priceName:
          type: string
          description: 연관 가격플랜 이름
        productType:
          type: string
          description: 연관 상품 타입
          enum:
            - BOX
            - SOFTWARE
            - BUNDLE
            - INVOICE
            - DRAFT
        recurringDTO:
          $ref: '#/components/schemas/PriceRecurringV1DTO'
      description: 옵션 정보
      deprecated: true
    PriceVolumeV1DTO:
      required:
        - id
        - max
        - min
        - price
      type: object
      properties:
        id:
          type: integer
          format: int64
        min:
          type: integer
          format: int64
        max:
          type: integer
          format: int64
        price:
          type: integer
          format: int64
      deprecated: true
    PriceAdditionalBillingV1DTO:
      title: 추가 과금 정보
      required:
        - id
        - ranges
        - type
      type: object
      properties:
        id:
          type: integer
          description: 추가 과금 번호
          format: int64
        type:
          type: string
          description: 추가 과금 타입
          enum:
            - USAGE_BASED_WITH_RANGE
            - USAGE_BASED_WITH_RANGE_AND_FIXED_PRICE
        ranges:
          type: array
          description: 추가 과금 범위 정보
          items:
            $ref: '#/components/schemas/PriceAdditionalBillingRangeV1DTO'
      description: 추가 과금 정보
    PriceRecurringV1DTO:
      title: 구독 주기 정보
      required:
        - id
        - intervalCount
      type: object
      properties:
        id:
          type: integer
          description: 주기 정보 번호
          format: int64
        intervalCount:
          type: integer
          description: 주기
          format: int32
        aggregateUsageType:
          type: string
          deprecated: true
          enum:
            - SUM
            - LAST_DURING_PERIOD
            - LAST_EVER
            - MAX
        interval:
          type: string
          description: 주기 단위
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
        usageType:
          type: string
          deprecated: true
          enum:
            - LICENSED
            - METERED
      description: 구독 주기 정보
    PlanV1DTO:
      title: 가격 플랜 정보
      required:
        - description
        - isHiddenFromShop
        - name
      type: object
      properties:
        name:
          type: string
          description: 플랜 이름
        description:
          type: string
          description: 플랜 설명
        detailDescription:
          type: string
          description: 자세히 보기
        isHiddenFromShop:
          type: boolean
          description: 플랜 사용 여부
        adminName:
          type: string
          description: 어드민 플랜 이름
      description: 가격 플랜 정보
    FirstSaleV1DTO:
      title: 첫 구매 할인 정보
      required:
        - currencyPrice
        - enabled
        - price
      type: object
      properties:
        enabled:
          type: boolean
          description: 첫 구매 할인 적용 여부
        price:
          type: number
          description: 첫 구매 할인시 적용되는 할인 금액(기준통화)
        currencyPrice:
          type: object
          additionalProperties:
            type: number
            description: 통화별 첫구매 할인 금액(기준통화 외)
          description: 통화별 첫구매 할인 금액(기준통화 외)
      description: 첫 구매 할인 정보
    ClaimV1DTO:
      title: 청구 방식 정보
      required:
        - billingDate
        - methodType
        - whenToClaimType
      type: object
      properties:
        methodType:
          type: string
          description: 선불인지 후불인지 여부
          enum:
            - PRE
            - POST
        whenToClaimType:
          type: string
          description: 후불인 경우, 언제 결제되는지
          enum:
            - FIRST_PAYMENT
            - DATE
        billingDate:
          type: integer
          description: 후불일 때 결제되는 날짜를 지정한 경우, 지정된 날짜
          format: int32
        provideStartDay:
          type: integer
          description: 서비스 제공기간 시작일
          format: int32
      description: 청구 방식 정보
    PriceBundleV1DTO:
      required:
        - price
        - product
      type: object
      properties:
        product:
          $ref: '#/components/schemas/ProductV1DTO'
        price:
          $ref: '#/components/schemas/PriceV1DTO'
      description: 번들 플랜 - 번들 상품 구성
    BundleProductV1DTO:
      title: 번들 상품 정보
      type: object
      properties:
        code:
          type: string
          description: 상품 코드
        type:
          type: string
          description: 상품 타입
          enum:
            - BOX
            - SOFTWARE
            - BUNDLE
            - INVOICE
            - DRAFT
        status:
          type: string
          description: 상품 상태
          enum:
            - SALE
            - OUT_OF_STOCK
            - UNSOLD
            - WAITING_APPROVAL
            - REJECTED
        name:
          type: string
          description: 상품 이름
        description:
          type: string
          description: 상품 설명
        options:
          type: array
          description: 상품 옵션 목록
          items:
            $ref: '#/components/schemas/ProductOptionGroupV1DTO'
        prices:
          type: array
          description: 상품 가격플랜 목록
          items:
            $ref: '#/components/schemas/PriceV1DTO'
        createdAt:
          type: string
          description: 생성된 시점
          format: date-time
        modifiedAt:
          type: string
          description: 수정된 시점
          format: date-time
      description: 번들 상품 정보
    ProductOptionGroupV1DTO:
      title: 상품 옵션 그룹 정보
      required:
        - id
        - name
        - options
      type: object
      properties:
        id:
          type: integer
          description: 옵션 그룹 번호
          format: int64
        name:
          type: string
          description: 옵션 그룹 이름
        options:
          type: array
          items:
            $ref: '#/components/schemas/ProductOptionV1DTO'
        depth:
          type: integer
          format: int32
      description: 옵션 그룹 정보
    OptionCombinationV1DTO:
      required:
        - id
        - status
      type: object
      properties:
        id:
          type: array
          items:
            type: integer
            format: int64
        quantity:
          type: integer
          format: int32
        price:
          type: number
        status:
          type: string
          enum:
            - SALE
            - OUT_OF_STOCK
            - HIDDEN
      description: 옵션 조합
    ProductCategoryV1DTO:
      required:
        - categoryId
        - name
      type: object
      properties:
        categoryId:
          type: integer
          format: int64
        name:
          type: string
      description: 카테고리
    ProductEventBadgeV1DTO:
      title: 첫 구매 할인 정보
      required:
        - event
      type: object
      properties:
        event:
          type: string
        startDateTime:
          type: string
          description: 시작 시점
          format: date-time
        endDateTime:
          type: string
          description: 끝 시점
          format: date-time
      description: 이벤트 뱃지
      deprecated: true
    ProductWidgetV1DTO:
      type: object
      properties:
        useDemo:
          type: boolean
        useEventBadge:
          type: boolean
        useOnetimePurchasable:
          type: boolean
        useNotice:
          type: boolean
      description: 상품 위젯 사용 여부
      deprecated: true
    CountrySettingV1DTO:
      required:
        - countryCode
        - currencyCode
        - id
        - isDefault
        - taxRate
        - timezoneName
      type: object
      properties:
        id:
          type: integer
          format: int64
        countryCode:
          type: string
        timezoneName:
          type: string
        currencyCode:
          type: string
        isDefault:
          type: boolean
        taxRate:
          type: number
      description: 국가 설정 정보
    PriceAdditionalBillingRangeV1DTO:
      title: 추가 과금 범위 정보
      required:
        - id
        - price
        - until
      type: object
      properties:
        id:
          type: integer
          description: 추가 과금 범위 번호
          format: int64
        until:
          type: integer
          description: 범위가 어디까지인지
          format: int64
        price:
          type: number
          description: 범위에 적용되는 금액
      description: 추가 과금 범위 정보
    ProductOptionV1DTO:
      title: 옵션 정보
      required:
        - id
        - name
        - price
      type: object
      properties:
        id:
          type: integer
          description: 옵션 번호
          format: int64
        name:
          type: string
          description: 옵션 이름
        quantity:
          type: integer
          description: 수량
          format: int32
        price:
          type: number
          description: 가격
        parent:
          type: integer
          format: int64
  securitySchemes:
    Secret-Token:
      type: apiKey
      in: header
      name: Secret-Token

````