openapi: 3.0.3
info:
  title: PortOne API
  version: 1.16.0
servers:
  - url: 'https://api.portone.io'
    description: 운영환경 서버
paths:
  '/b2b/bulk-tax-invoices/{bulkTaxInvoiceId}':
    get:
      summary: 일괄 세금계산서 조회
      description: |-
        일괄 세금계산서 조회

        등록된 일괄 세금계산서를 일괄 세금계산서 아이디로 조회합니다.
      operationId: getB2bBulkTaxInvoice
      parameters:
        - name: bulkTaxInvoiceId
          in: path
          description: 일괄 세금계산서 아이디
          required: true
          schema:
            type: string
          x-portone-title: 일괄 세금계산서 아이디
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/B2bBulkTaxInvoice'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError'
        '404':
          description: '* `B2bBulkTaxInvoiceNotFoundError`: 일괄 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 일괄 세금계산서 조회
      x-portone-description: 등록된 일괄 세금계산서를 일괄 세금계산서 아이디로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError'
  /b2b/companies/business-info:
    post:
      summary: 사업자등록 정보 조회
      description: |-
        사업자등록 정보 조회

        요청된 사업자등록번호 리스트에 해당하는 사업자등록 정보를 조회합니다.
        해당 API 사용을 위해서는 별도 문의가 필요합니다.
      operationId: getB2bBusinessInfos
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetB2bBusinessInfosBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 사업자등록 정보조회 결과 리스트를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBusinessInfosResponse'
          x-portone-description: 성공 응답으로 사업자등록 정보조회 결과 리스트를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBusinessInfosError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBusinessInfosError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBusinessInfosError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bBusinessInfosError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.company
      x-portone-title: 사업자등록 정보 조회
      x-portone-description: |-
        요청된 사업자등록번호 리스트에 해당하는 사업자등록 정보를 조회합니다.
        해당 API 사용을 위해서는 별도 문의가 필요합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bBusinessInfosError'
  '/b2b/counterparties/{brn}/certificate/registration-url':
    get:
      summary: 사업자 인증서 등록 URL 조회
      description: |-
        사업자 인증서 등록 URL 조회

        연동 사업자의 인증서를 등록하기 위한 URL을 조회합니다.
      operationId: getB2bCounterpartyCertificateRegistrationUrl
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
        - name: brn
          in: path
          description: 사업자등록번호
          required: true
          schema:
            type: string
          x-portone-title: 사업자등록번호
      responses:
        '200':
          description: 성공 응답으로 URL을 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlResponse
          x-portone-description: 성공 응답으로 URL을 반환합니다.
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError
        '404':
          description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 사업자 인증서 등록 URL 조회
      x-portone-description: 연동 사업자의 인증서를 등록하기 위한 URL을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError'
  '/b2b/counterparties/{brn}/certificate/validate':
    post:
      summary: 사업자 인증서 유효성 검증
      description: |-
        사업자 인증서 유효성 검증

        연동 사업자가 등록한 인증서의 유효성을 검증합니다.
      operationId: validateB2bCounterpartyCertificate
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
        - name: brn
          in: path
          description: 사업자등록번호
          required: true
          schema:
            type: string
          x-portone-title: 사업자등록번호
      responses:
        '200':
          description: 성공 응답으로 유효성 검증 결과를 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ValidateB2bCounterpartyCertificateResponse
          x-portone-description: 성공 응답으로 유효성 검증 결과를 반환합니다.
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError'
        '404':
          description: |-
            * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우
            * `B2bCertificateUnregisteredError`: 인증서가 등록되어 있지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 사업자 인증서 유효성 검증
      x-portone-description: 연동 사업자가 등록한 인증서의 유효성을 검증합니다.
      x-portone-error:
        $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError'
  '/b2b/counterparties/{brn}/certificate':
    get:
      summary: 인증서 조회
      description: |-
        인증서 조회

        연동 사업자의 인증서를 조회합니다.
      operationId: getB2bCounterpartyCertificate
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
        - name: brn
          in: path
          description: 사업자등록번호
          required: true
          schema:
            type: string
          x-portone-title: 사업자등록번호
      responses:
        '200':
          description: 성공 응답으로 인증서 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/B2bCertificate'
          x-portone-description: 성공 응답으로 인증서 객체를 반환합니다.
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyCertificateError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyCertificateError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyCertificateError'
        '404':
          description: |-
            * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우
            * `B2bCertificateUnregisteredError`: 인증서가 등록되어 있지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyCertificateError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyCertificateError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 인증서 조회
      x-portone-description: 연동 사업자의 인증서를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bCounterpartyCertificateError'
  '/b2b/counterparties/{counterpartyId}':
    get:
      summary: 거래처 조회
      description: |-
        거래처 조회

        거래처를 조회합니다.
      operationId: getB2bCounterparty
      parameters:
        - name: counterpartyId
          in: path
          description: 거래처 ID
          required: true
          schema:
            type: string
          x-portone-title: 거래처 ID
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: 성공 응답으로 거래처 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/B2bCounterparty'
          x-portone-description: 성공 응답으로 거래처 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyError'
        '404':
          description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 거래처 조회
      x-portone-description: 거래처를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bCounterpartyError'
    delete:
      summary: 거래처 삭제
      description: |-
        거래처 삭제

        거래처를 삭제합니다.
      operationId: deleteB2bCounterparty
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
        - name: counterpartyId
          in: path
          description: 거래처 ID
          required: true
          schema:
            type: string
          x-portone-title: 거래처 ID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteB2bCounterpartyBody'
        required: false
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bCounterpartyResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bCounterpartyError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `B2bCounterpartyPartnerNotDeletableError`: 파트너 연동 거래처는 삭제할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bCounterpartyError'
        '404':
          description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bCounterpartyError'
        '409':
          description: >-
            * `B2bCounterpartyOngoingTaxInvoiceExistsError`: 진행 중인 세금계산서가 존재하여
            거래처를 삭제할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bCounterpartyError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 거래처 삭제
      x-portone-description: 거래처를 삭제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DeleteB2bCounterpartyError'
    patch:
      summary: 거래처 정보 수정
      description: |-
        거래처 정보 수정

        거래처 정보를 수정합니다.
      operationId: updateB2bCounterparty
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
        - name: counterpartyId
          in: path
          description: 거래처 ID
          required: true
          schema:
            type: string
          x-portone-title: 거래처 ID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateB2bCounterpartyBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bCounterpartyResponse'
          x-portone-title: 성공 응답
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bCounterpartyBrnModificationNotAllowedError`: 사업자등록번호 수정이 허용되지
            않는 경우

            * `B2bCounterpartyTooManyAdditionalContactsError`: 추가 담당자가 너무 많은 경우

            * `B2bCounterpartyMissingRequiredFieldsError`: 필수 입력 항목이 누락된 경우

            * `B2bCounterpartyVerificationBrnMismatchError`: 검증 결과의 사업자등록번호가
            일치하지 않는 경우

            * `B2bCounterpartyVerificationTypeMismatchError`: 검증 유형이 일치하지 않는 경우

            * `B2bCounterpartyVerificationInvalidError`: 검증 결과가 유효하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bCounterpartyError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `B2bCounterpartyPartnerNotUpdatableError`: 파트너 연동 거래처는 수정할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bCounterpartyError'
        '404':
          description: |-
            * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우
            * `B2bCounterpartyVerificationNotFoundError`: 검증 결과를 찾을 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bCounterpartyError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 거래처 정보 수정
      x-portone-description: 거래처 정보를 수정합니다.
      x-portone-error:
        $ref: '#/components/schemas/UpdateB2bCounterpartyError'
  /b2b/counterparties:
    get:
      summary: 거래처 검색
      description: |-
        거래처 검색

        거래처를 검색합니다.
      operationId: getB2bCounterparties
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartiesBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetB2bCounterpartiesBody'
        required: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartiesResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartiesError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartiesError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartiesError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bCounterpartiesError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 거래처 검색
      x-portone-description: 거래처를 검색합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bCounterpartiesError'
    post:
      summary: 거래처 생성
      description: |-
        거래처 생성

        거래처를 생성합니다.
      operationId: createB2bCounterparty
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateB2bCounterpartyBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bCounterpartyResponse'
          x-portone-title: 성공 응답
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bCounterpartyBrnInvalidError`: 사업자등록번호가 유효하지 않은 경우

            * `B2bCounterpartySelfOriginBrnMismatchError`: 자사 사업자등록번호와 동일한 거래처를
            생성할 수 없는 경우

            * `B2bCounterpartyTooManyAdditionalContactsError`: 추가 담당자가 너무 많은 경우

            * `B2bCounterpartyMissingRequiredFieldsError`: 필수 입력 항목이 누락된 경우

            * `B2bCounterpartyVerificationBrnMismatchError`: 검증 결과의 사업자등록번호가
            일치하지 않는 경우

            * `B2bCounterpartyVerificationTypeMismatchError`: 검증 유형이 일치하지 않는 경우

            * `B2bCounterpartyVerificationInvalidError`: 검증 결과가 유효하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bCounterpartyError'
        '403':
          description: >-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우

            * `ForbiddenError`: 요청이 거절된 경우

            * `B2bCounterpartyPartnerNotConnectableError`: 파트너 연동 거래처는 국세청 연동이
            허용되지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bCounterpartyError'
        '404':
          description: '* `B2bCounterpartyVerificationNotFoundError`: 검증 결과를 찾을 수 없는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bCounterpartyError'
        '409':
          description: >-
            * `B2bCounterpartyIdAlreadyExistsError`: 거래처 ID가 이미 사용중인 경우

            * `B2bCounterpartyIdAlreadyExistsByPartnerError`: 파트너 연동으로 생성된 거래처
            ID가 이미 사용중인 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bCounterpartyError'
        '502':
          description: |-
            * `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우
            * `B2bCounterpartyNtsConnectionFailedError`: 국세청 연동에 실패한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.counterparty
      x-portone-title: 거래처 생성
      x-portone-description: 거래처를 생성합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreateB2bCounterpartyError'
  /b2b/file-upload-url:
    post:
      summary: 파일 업로드 URL 생성
      description: |-
        파일 업로드 URL 생성

        S3 파일 업로드를 위한 URL을 생성합니다.
      operationId: createB2bFileUploadUrl
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateB2bFileUploadUrlBody'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bFileUploadUrlPayload'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bFileUploadUrlError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bFileUploadUrlError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bFileUploadUrlError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateB2bFileUploadUrlError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 파일 업로드 URL 생성
      x-portone-description: S3 파일 업로드를 위한 URL을 생성합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreateB2bFileUploadUrlError'
  /b2b/tax-invoices-sheet:
    get:
      summary: 세금계산서 엑셀 파일(csv) 다운로드
      description: |-
        세금계산서 엑셀 파일(csv) 다운로드

        세금계산서를 엑셀 파일(csv)로 다운로드합니다.
      operationId: downloadB2bTaxInvoicesSheet
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetBody'
          x-portone-query-or-body:
            enabled: true
            required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetBody'
        required: false
      responses:
        '200':
          description: ''
          content:
            text/csv:
              schema:
                type: string
                format: binary
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 엑셀 파일(csv) 다운로드
      x-portone-description: 세금계산서를 엑셀 파일(csv)로 다운로드합니다.
      x-portone-error:
        $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetError'
  /b2b/tax-invoices/draft:
    put:
      summary: 세금계산서 임시저장 수정
      description: |-
        세금계산서 임시저장 수정

        임시 저장된 세금계산서를 수정합니다.
      operationId: updateB2bTaxInvoiceDraft
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서
            번호가 이미 사용 중인 경우

            * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우

            * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우

            * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우

            * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가
            아닌 경우

            * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우

            * `B2bDocumentKeyCannotBeChangedError`: 문서번호 수정이 요청된 경우

            * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError'
        '404':
          description: |-
            * `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우
            * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우
            * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우
            * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError'
        '409':
          description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 임시저장 수정
      x-portone-description: 임시 저장된 세금계산서를 수정합니다.
      x-portone-error:
        $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError'
    post:
      summary: 세금계산서 임시 저장
      description: |-
        세금계산서 임시 저장

        세금계산서 임시 저장을 요청합니다.
      operationId: draftB2bTaxInvoice
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DraftB2bTaxInvoiceBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftB2bTaxInvoiceResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서
            번호가 이미 사용 중인 경우

            * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우

            * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우

            * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우

            * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가
            아닌 경우

            * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftB2bTaxInvoiceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftB2bTaxInvoiceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftB2bTaxInvoiceError'
        '404':
          description: |-
            * `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우
            * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우
            * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우
            * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftB2bTaxInvoiceError'
        '409':
          description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftB2bTaxInvoiceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DraftB2bTaxInvoiceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 임시 저장
      x-portone-description: 세금계산서 임시 저장을 요청합니다.
      x-portone-error:
        $ref: '#/components/schemas/DraftB2bTaxInvoiceError'
  /b2b/tax-invoices/issue-immediately:
    post:
      summary: 세금계산서 즉시 정발행
      description: |-
        세금계산서 즉시 정발행

        세금계산서를 즉시 정발행합니다. 임시저장 API와 정발행 API 기능을 한 번의 프로세스로 처리합니다.
      operationId: issueB2bTaxInvoiceImmediately
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서
            번호가 이미 사용 중인 경우

            * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우

            * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우

            * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우

            * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가
            아닌 경우

            * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError'
        '404':
          description: |-
            * `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우
            * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우
            * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우
            * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError'
        '409':
          description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 즉시 정발행
      x-portone-description: 세금계산서를 즉시 정발행합니다. 임시저장 API와 정발행 API 기능을 한 번의 프로세스로 처리합니다.
      x-portone-error:
        $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError'
  /b2b/tax-invoices/request-reverse-issuance:
    post:
      summary: 세금계산서 역발행 즉시 요청
      description: |-
        세금계산서 역발행 즉시 요청

        공급자에게 세금계산서 역발행을 즉시 요청합니다. 임시저장 API와 역발행 요청 API 기능을 한 번의 프로세스로 처리합니다.
      operationId: requestB2bTaxInvoiceReverseIssuance
      parameters:
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RequestB2bTaxInvoiceReverseIssuanceResponse
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서
            번호가 이미 사용 중인 경우

            * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우

            * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우

            * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우

            * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가
            아닌 경우

            * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError'
        '404':
          description: |-
            * `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우
            * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우
            * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우
            * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError'
        '409':
          description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 역발행 즉시 요청
      x-portone-description: 공급자에게 세금계산서 역발행을 즉시 요청합니다. 임시저장 API와 역발행 요청 API 기능을 한 번의 프로세스로 처리합니다.
      x-portone-error:
        $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError'
  '/b2b/tax-invoices/{taxInvoiceKey}/attach-file':
    post:
      summary: 세금계산서 파일 첨부
      description: |-
        세금계산서 파일 첨부

        세금계산서에 파일을 첨부합니다.
      operationId: attachB2bTaxInvoiceFile
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachB2bTaxInvoiceFileBody'
        required: true
      responses:
        '200':
          description: ''
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError'
        '404':
          description: |-
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
            * `B2bFileNotFoundError`: 업로드한 파일을 찾을 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 파일 첨부
      x-portone-description: 세금계산서에 파일을 첨부합니다.
      x-portone-error:
        $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError'
  '/b2b/tax-invoices/{taxInvoiceKey}/attachments/{attachmentId}':
    delete:
      summary: 세금계산서 첨부파일 삭제
      description: |-
        세금계산서 첨부파일 삭제

        세금계산서 첨부파일을 삭제합니다.
      operationId: deleteB2bTaxInvoiceAttachment
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: attachmentId
          in: path
          description: 첨부파일 아이디
          required: true
          schema:
            type: string
          x-portone-title: 첨부파일 아이디
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError'
        '404':
          description: |-
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
            * `B2bTaxInvoiceAttachmentNotFoundError`: 세금계산서의 첨부파일을 찾을 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 첨부파일 삭제
      x-portone-description: 세금계산서 첨부파일을 삭제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError'
  '/b2b/tax-invoices/{taxInvoiceKey}/attachments':
    get:
      summary: 세금계산서 첨부파일 목록 조회
      description: |-
        세금계산서 첨부파일 목록 조회

        세금계산서에 첨부된 파일 목록을 조회합니다.
      operationId: getB2bTaxInvoiceAttachments
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 첨부파일 목록 조회
      x-portone-description: 세금계산서에 첨부된 파일 목록을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError'
  '/b2b/tax-invoices/{taxInvoiceKey}/cancel-issuance':
    post:
      summary: 세금계산서 취소 (공급자에 의한 취소)
      description: |-
        세금계산서 취소 (공급자에 의한 취소)

        발행 완료된 세금계산서를 공급자가 국세청 전송 전에 취소합니다.
      operationId: cancelB2bTaxInvoiceIssuance
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bTaxInvoiceNotIssuedStatusError`: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 취소 (공급자에 의한 취소)
      x-portone-description: 발행 완료된 세금계산서를 공급자가 국세청 전송 전에 취소합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError'
  '/b2b/tax-invoices/{taxInvoiceKey}/cancel-request':
    post:
      summary: 세금계산서 역발행 요청 취소 (공급받는자에 의한 취소)
      description: |-
        세금계산서 역발행 요청 취소 (공급받는자에 의한 취소)

        공급자가 세금계산서 발행을 승인하기 전에 공급받는자가 해당 역발행 요청을 취소합니다.
      operationId: cancelB2bTaxInvoiceRequest
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우

            * `B2bTaxInvoiceNoRecipientDocumentKeyError`: 세금계산서에 공급받는자 문서 번호가
            기입되지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 역발행 요청 취소 (공급받는자에 의한 취소)
      x-portone-description: 공급자가 세금계산서 발행을 승인하기 전에 공급받는자가 해당 역발행 요청을 취소합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError'
  '/b2b/tax-invoices/{taxInvoiceKey}/issue':
    post:
      summary: 세금계산서 발행 승인
      description: >-
        세금계산서 발행 승인


        역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(DRAFTED) 상태의 세금계산서에 대해 발행을
        승인합니다.
      operationId: issueB2bTaxInvoice
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueB2bTaxInvoiceBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우

            * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우

            * `B2bTaxInvoiceNoSupplierDocumentKeyError`: 세금계산서에 공급자 문서 번호가 기입되지
            않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueB2bTaxInvoiceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 발행 승인
      x-portone-description: >-
        역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(DRAFTED) 상태의 세금계산서에 대해 발행을
        승인합니다.
      x-portone-error:
        $ref: '#/components/schemas/IssueB2bTaxInvoiceError'
  '/b2b/tax-invoices/{taxInvoiceKey}/pdf-download-url':
    get:
      summary: 세금 계산서 PDF 다운로드 URL 조회
      description: |-
        세금 계산서 PDF 다운로드 URL 조회

        등록된 세금 계산서 PDF 다운로드 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
      operationId: getB2bTaxInvoicePdfDownloadUrl
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금 계산서 PDF 다운로드 URL 조회
      x-portone-description: 등록된 세금 계산서 PDF 다운로드 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError'
  '/b2b/tax-invoices/{taxInvoiceKey}/popup-url':
    get:
      summary: 세금 계산서 팝업 URL 조회
      description: |-
        세금 계산서 팝업 URL 조회

        등록된 세금 계산서 팝업 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
      operationId: getB2bTaxInvoicePopupUrl
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: includeMenu
          in: query
          description: |-
            메뉴 포함 여부

            팝업 URL에 메뉴 레이아웃을 포함 여부를 결정합니다. 기본 값은 true입니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 메뉴 포함 여부
          x-portone-description: 팝업 URL에 메뉴 레이아웃을 포함 여부를 결정합니다. 기본 값은 true입니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금 계산서 팝업 URL 조회
      x-portone-description: 등록된 세금 계산서 팝업 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError'
  '/b2b/tax-invoices/{taxInvoiceKey}/print-url':
    get:
      summary: 세금 계산서 프린트 URL 조회
      description: |-
        세금 계산서 프린트 URL 조회

        등록된 세금 계산서 프린트 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
      operationId: getB2bTaxInvoicePrintUrl
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금 계산서 프린트 URL 조회
      x-portone-description: 등록된 세금 계산서 프린트 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError'
  '/b2b/tax-invoices/{taxInvoiceKey}/refuse-request':
    post:
      summary: 세금계산서 역발행 요청 거부
      description: |-
        세금계산서 역발행 요청 거부

        공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다.
      operationId: refuseB2bTaxInvoiceRequest
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우

            * `B2bTaxInvoiceNoSupplierDocumentKeyError`: 세금계산서에 공급자 문서 번호가 기입되지
            않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 역발행 요청 거부
      x-portone-description: 공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다.
      x-portone-error:
        $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError'
  '/b2b/tax-invoices/{taxInvoiceKey}/request':
    post:
      summary: 세금계산서 역발행 요청
      description: >-
        세금계산서 역발행 요청


        임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다. 요청이 완료되면 (역)발행대기 상태로
        전환됩니다.
      operationId: requestB2bTaxInvoice
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestB2bTaxInvoiceResponse'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우

            * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우

            * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가
            아닌 경우

            * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우

            * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우

            * `B2bTaxInvoiceNoRecipientDocumentKeyError`: 세금계산서에 공급받는자 문서 번호가
            기입되지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requestB2bTaxInvoiceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requestB2bTaxInvoiceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requestB2bTaxInvoiceError'
        '404':
          description: |-
            * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requestB2bTaxInvoiceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requestB2bTaxInvoiceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 역발행 요청
      x-portone-description: >-
        임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다. 요청이 완료되면 (역)발행대기 상태로
        전환됩니다.
      x-portone-error:
        $ref: '#/components/schemas/requestB2bTaxInvoiceError'
  '/b2b/tax-invoices/{taxInvoiceKey}/send-to-nts':
    post:
      summary: 세금계산서 국세청 즉시 전송
      description: |-
        세금계산서 국세청 즉시 전송

        발행이 완료된 세금계산서를 국세청에 즉시 전송합니다.
      operationId: sendToNtsB2bTaxInvoice
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceResponse'
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bTaxInvoiceNotIssuedStatusError`: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 국세청 즉시 전송
      x-portone-description: 발행이 완료된 세금계산서를 국세청에 즉시 전송합니다.
      x-portone-error:
        $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError'
  '/b2b/tax-invoices/{taxInvoiceKey}':
    get:
      summary: 세금 계산서 조회
      description: |-
        세금 계산서 조회

        등록된 세금 계산서를 세금계산서 아이디로 조회합니다.
      operationId: getB2bTaxInvoice
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: 성공 응답으로 세금계산서를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/B2bTaxInvoice'
          x-portone-description: 성공 응답으로 세금계산서를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoiceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금 계산서 조회
      x-portone-description: 등록된 세금 계산서를 세금계산서 아이디로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bTaxInvoiceError'
    delete:
      summary: 세금계산서 삭제
      description: |-
        세금계산서 삭제

        세금계산서를 삭제합니다.
      operationId: deleteB2bTaxInvoice
      parameters:
        - name: taxInvoiceKey
          in: path
          description: 세금계산서 문서 번호
          required: true
          schema:
            type: string
          x-portone-title: 세금계산서 문서 번호
        - name: brn
          in: query
          description: 사업자등록번호
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: taxInvoiceKeyType
          in: query
          description: >-
            문서 번호 유형


            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
          required: false
          schema:
            $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          x-portone-title: 문서 번호 유형
          x-portone-description: >-
            query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT,
            TAX_INVOICE_ID을 지원합니다.
        - name: test
          in: query
          description: |-
            테스트 모드 여부

            true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceResponse'
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `B2bTaxInvoiceNonDeletableStatusError`: 세금계산서가 삭제 가능한 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceError'
        '404':
          description: |-
            * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우
            * `B2bBulkTaxInvoiceNotFoundError`: 일괄 세금계산서가 존재하지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteB2bTaxInvoiceError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금계산서 삭제
      x-portone-description: 세금계산서를 삭제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DeleteB2bTaxInvoiceError'
  /b2b/tax-invoices:
    get:
      summary: 세금 계산서 다건조회
      description: |-
        세금 계산서 다건조회

        조회 기간 내 등록된 세금 계산서를 다건 조회합니다.
      operationId: getB2bTaxInvoices
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicesBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetB2bTaxInvoicesBody'
        required: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicesResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicesError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicesError'
        '403':
          description: |-
            * `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicesError'
        '404':
          description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicesError'
        '502':
          description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetB2bTaxInvoicesError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: b2b.taxInvoice
      x-portone-title: 세금 계산서 다건조회
      x-portone-description: 조회 기간 내 등록된 세금 계산서를 다건 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetB2bTaxInvoicesError'
  /banks:
    get:
      summary: 은행 정보 조회
      description: |-
        은행 정보 조회

        은행의 이름 등 정보를 조회합니다. 사용자에게 한국어 명칭을 제공하는 등의 용도로 사용하실 수 있습니다.
      operationId: getBankInfos
      responses:
        '200':
          description: 성공 응답으로 조회된 은행 정보 리스트가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBankInfosResponse'
          x-portone-title: 성공 응답으로 조회된 은행 정보 리스트가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBankInfosError'
      x-portone-category: common
      x-portone-title: 은행 정보 조회
      x-portone-description: 은행의 이름 등 정보를 조회합니다. 사용자에게 한국어 명칭을 제공하는 등의 용도로 사용하실 수 있습니다.
      x-portone-error:
        $ref: '#/components/schemas/GetBankInfosError'
  /billing-keys:
    get:
      summary: 빌링키 다건 조회
      description: |-
        빌링키 다건 조회

        주어진 조건에 맞는 빌링키들을 페이지 기반으로 조회합니다.
      operationId: getBillingKeyInfos
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfosBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetBillingKeyInfosBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 빌링키 리스트와 페이지 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfosResponse'
          x-portone-title: 성공 응답으로 조회된 빌링키 리스트와 페이지 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfosError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfosError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfosError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.billingKey
      x-portone-title: 빌링키 다건 조회
      x-portone-description: 주어진 조건에 맞는 빌링키들을 페이지 기반으로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetBillingKeyInfosError'
    post:
      summary: 빌링키 발급
      description: |-
        빌링키 발급

        빌링키 발급을 요청합니다.
      operationId: issueBillingKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueBillingKeyBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueBillingKeyResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueBillingKeyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueBillingKeyError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueBillingKeyError'
        '404':
          description: '* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueBillingKeyError'
        '502':
          description: |-
            * `PgProviderError`: PG사에서 오류를 전달한 경우
            * `ChannelSpecificError`: 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueBillingKeyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.billingKey
      x-portone-title: 빌링키 발급
      x-portone-description: 빌링키 발급을 요청합니다.
      x-portone-error:
        $ref: '#/components/schemas/IssueBillingKeyError'
  /billing-keys/confirm:
    post:
      summary: 빌링키 발급 수동 승인
      description: |-
        빌링키 발급 수동 승인

        수동 승인으로 설정된 빌링키 발급에 대해, 빌링키 발급을 완료 처리합니다.
      operationId: confirmBillingKey
      requestBody:
        description: 빌링키 발급 승인 요청 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmBillingKeyBody'
        required: true
        x-portone-title: 빌링키 발급 승인 요청 정보
      responses:
        '200':
          description: 성공 응답으로 빌링키 발급 승인 결과를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmedBillingKeySummary'
          x-portone-title: 성공 응답으로 빌링키 발급 승인 결과를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyError'
        '404':
          description: '* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyError'
        '409':
          description: |-
            * `BillingKeyAlreadyIssuedError`
            * `InformationMismatchError`: 정보가 일치하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.billingKey
      x-portone-title: 빌링키 발급 수동 승인
      x-portone-description: '수동 승인으로 설정된 빌링키 발급에 대해, 빌링키 발급을 완료 처리합니다.'
      x-portone-error:
        $ref: '#/components/schemas/ConfirmBillingKeyError'
  /billing-keys/confirm-issue-and-pay:
    post:
      summary: 빌링키 발급 및 초회 결제 수동 승인
      description: |-
        빌링키 발급 및 초회 결제 수동 승인

        수동 승인으로 설정된 빌링키 발급 및 초회 결제에 대해, 빌링키 발급과 결제를 완료 처리합니다.
      operationId: confirmBillingKeyIssueAndPay
      requestBody:
        description: 빌링키 발급 및 초회 결제 승인 요청 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayBody'
        required: true
        x-portone-title: 빌링키 발급 및 초회 결제 승인 요청 정보
      responses:
        '200':
          description: 성공 응답으로 빌링키 발급 및 초회 결제 승인 결과를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmedBillingKeyIssueAndPaySummary'
          x-portone-title: 성공 응답으로 빌링키 발급 및 초회 결제 승인 결과를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayError'
        '404':
          description: '* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayError'
        '409':
          description: |-
            * `BillingKeyAlreadyIssuedError`
            * `InformationMismatchError`: 정보가 일치하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.billingKey
      x-portone-title: 빌링키 발급 및 초회 결제 수동 승인
      x-portone-description: '수동 승인으로 설정된 빌링키 발급 및 초회 결제에 대해, 빌링키 발급과 결제를 완료 처리합니다.'
      x-portone-error:
        $ref: '#/components/schemas/ConfirmBillingKeyIssueAndPayError'
  '/billing-keys/{billingKey}':
    get:
      summary: 빌링키 단건 조회
      description: |-
        빌링키 단건 조회

        주어진 빌링키에 대응되는 빌링키 정보를 조회합니다.
      operationId: getBillingKeyInfo
      parameters:
        - name: billingKey
          in: path
          description: 조회할 빌링키
          required: true
          schema:
            type: string
          x-portone-title: 조회할 빌링키
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답으로 빌링키 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingKeyInfo'
          x-portone-description: 성공 응답으로 빌링키 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfoError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfoError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfoError'
        '404':
          description: '* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillingKeyInfoError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.billingKey
      x-portone-title: 빌링키 단건 조회
      x-portone-description: 주어진 빌링키에 대응되는 빌링키 정보를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetBillingKeyInfoError'
    delete:
      summary: 빌링키 삭제
      description: |-
        빌링키 삭제

        빌링키를 삭제합니다.
      operationId: deleteBillingKey
      parameters:
        - name: billingKey
          in: path
          description: 삭제할 빌링키
          required: true
          schema:
            type: string
          x-portone-title: 삭제할 빌링키
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        - name: reason
          in: query
          description: |-
            사유

            네이버페이: 자동결제 해지 사유입니다. 명시가 필요합니다.
          required: false
          schema:
            type: string
          x-portone-title: 사유
          x-portone-description: '네이버페이: 자동결제 해지 사유입니다. 명시가 필요합니다.'
        - name: requester
          in: query
          description: |-
            요청 주체

            네이버페이: 자동결제 해지 요청 주체입니다. 명시가 필요합니다.
          required: false
          schema:
            $ref: '#/components/schemas/BillingKeyDeleteRequester'
          x-portone-title: 요청 주체
          x-portone-description: '네이버페이: 자동결제 해지 요청 주체입니다. 명시가 필요합니다.'
        - name: skipWebhook
          in: query
          description: |-
            웹훅 생략 여부

            빌링키 삭제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 웹훅 생략 여부
          x-portone-description: 빌링키 삭제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '404':
          description: |-
            * `BillingKeyNotIssuedError`
            * `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '409':
          description: |-
            * `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우
            * `PaymentScheduleAlreadyExistsError`: 결제 예약건이 이미 존재하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '502':
          description: |-
            * `PgProviderError`: PG사에서 오류를 전달한 경우
            * `ChannelSpecificError`: 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.billingKey
      x-portone-title: 빌링키 삭제
      x-portone-description: 빌링키를 삭제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DeleteBillingKeyError'
  /cash-receipts:
    get:
      summary: 현금영수증 다건 조회
      description: |-
        현금영수증 다건 조회

        주어진 조건에 맞는 현금영수증들을 페이지 기반으로 조회합니다.
      operationId: getCashReceipts
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptsBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCashReceiptsBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 현금영수증 리스트와 페이지 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptsResponse'
          x-portone-title: 성공 응답으로 조회된 현금영수증 리스트와 페이지 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.cashReceipt
      x-portone-title: 현금영수증 다건 조회
      x-portone-description: 주어진 조건에 맞는 현금영수증들을 페이지 기반으로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetCashReceiptsError'
    post:
      summary: 현금 영수증 수동 발급
      description: |-
        현금 영수증 수동 발급

        현금 영수증 발급을 요청합니다.
      operationId: issueCashReceipt
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueCashReceiptBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCashReceiptResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCashReceiptError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCashReceiptError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCashReceiptError'
        '404':
          description: '* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCashReceiptError'
        '409':
          description: '* `CashReceiptAlreadyIssuedError`: 현금영수증이 이미 발급된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCashReceiptError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCashReceiptError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.cashReceipt
      x-portone-title: 현금 영수증 수동 발급
      x-portone-description: 현금 영수증 발급을 요청합니다.
      x-portone-error:
        $ref: '#/components/schemas/IssueCashReceiptError'
  '/identity-verifications/{identityVerificationId}/confirm':
    post:
      summary: 본인인증 확인
      description: |-
        본인인증 확인

        요청된 본인인증에 대한 확인을 진행합니다.
      operationId: confirmIdentityVerification
      parameters:
        - name: identityVerificationId
          in: path
          description: 본인인증 아이디
          required: true
          schema:
            type: string
          x-portone-title: 본인인증 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmIdentityVerificationBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIdentityVerificationResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIdentityVerificationError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIdentityVerificationError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIdentityVerificationError'
        '404':
          description: |-
            * `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우
            * `IdentityVerificationNotSentError`: 본인인증 건이 API로 요청된 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIdentityVerificationError'
        '409':
          description: >-
            * `IdentityVerificationAlreadyVerifiedError`: 본인인증 건이 이미 인증 완료된 상태인
            경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIdentityVerificationError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIdentityVerificationError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: identityVerification
      x-portone-title: 본인인증 확인
      x-portone-description: 요청된 본인인증에 대한 확인을 진행합니다.
      x-portone-error:
        $ref: '#/components/schemas/ConfirmIdentityVerificationError'
  '/identity-verifications/{identityVerificationId}/resend':
    post:
      summary: SMS 본인인증 요청 재전송
      description: |-
        SMS 본인인증 요청 재전송

        SMS 본인인증 요청을 재전송합니다.
      operationId: resendIdentityVerification
      parameters:
        - name: identityVerificationId
          in: path
          description: 본인인증 아이디
          required: true
          schema:
            type: string
          x-portone-title: 본인인증 아이디
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendIdentityVerificationResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendIdentityVerificationError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendIdentityVerificationError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendIdentityVerificationError'
        '404':
          description: |-
            * `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우
            * `IdentityVerificationNotSentError`: 본인인증 건이 API로 요청된 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendIdentityVerificationError'
        '409':
          description: >-
            * `IdentityVerificationAlreadyVerifiedError`: 본인인증 건이 이미 인증 완료된 상태인
            경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendIdentityVerificationError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendIdentityVerificationError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: identityVerification
      x-portone-title: SMS 본인인증 요청 재전송
      x-portone-description: SMS 본인인증 요청을 재전송합니다.
      x-portone-error:
        $ref: '#/components/schemas/ResendIdentityVerificationError'
  '/identity-verifications/{identityVerificationId}/send':
    post:
      summary: 본인인증 요청 전송
      description: |-
        본인인증 요청 전송

        SMS 또는 APP 방식을 이용하여 본인인증 요청을 전송합니다.
      operationId: sendIdentityVerification
      parameters:
        - name: identityVerificationId
          in: path
          description: 본인인증 아이디
          required: true
          schema:
            type: string
          x-portone-title: 본인인증 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendIdentityVerificationBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendIdentityVerificationResponse'
          x-portone-title: 성공 응답
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `MaxTransactionCountReachedError`: 결제 혹은 본인인증 시도 횟수가 최대에 도달한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendIdentityVerificationError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendIdentityVerificationError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendIdentityVerificationError'
        '404':
          description: |-
            * `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우
            * `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendIdentityVerificationError'
        '409':
          description: >-
            * `IdentityVerificationAlreadyVerifiedError`: 본인인증 건이 이미 인증 완료된 상태인
            경우

            * `IdentityVerificationAlreadySentError`: 본인인증 건이 이미 API로 요청된 상태인 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendIdentityVerificationError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendIdentityVerificationError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: identityVerification
      x-portone-title: 본인인증 요청 전송
      x-portone-description: SMS 또는 APP 방식을 이용하여 본인인증 요청을 전송합니다.
      x-portone-error:
        $ref: '#/components/schemas/SendIdentityVerificationError'
  '/identity-verifications/{identityVerificationId}':
    get:
      summary: 본인인증 단건 조회
      description: |-
        본인인증 단건 조회

        주어진 아이디에 대응되는 본인인증 내역을 조회합니다.
      operationId: getIdentityVerification
      parameters:
        - name: identityVerificationId
          in: path
          description: 조회할 본인인증 아이디
          required: true
          schema:
            type: string
          example: your-identity-verification-id
          x-portone-title: 조회할 본인인증 아이디
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          example: your-store-id
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답으로 본인 인증 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerification'
          x-portone-description: 성공 응답으로 본인 인증 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationError'
        '404':
          description: '* `IdentityVerificationNotFoundError`: 요청된 본인인증 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: identityVerification
      x-portone-title: 본인인증 단건 조회
      x-portone-description: 주어진 아이디에 대응되는 본인인증 내역을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetIdentityVerificationError'
  /identity-verifications:
    get:
      summary: 본인인증 내역 다건 조회
      description: |-
        본인인증 내역 다건 조회

        주어진 조건에 맞는 본인인증 내역들을 페이지 기반으로 조회합니다.
      operationId: getIdentityVerifications
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationsBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetIdentityVerificationsBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 본인인증 내역 리스트와 페이지 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationsResponse'
          x-portone-title: 성공 응답으로 조회된 본인인증 내역 리스트와 페이지 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdentityVerificationsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: identityVerification
      x-portone-title: 본인인증 내역 다건 조회
      x-portone-description: 주어진 조건에 맞는 본인인증 내역들을 페이지 기반으로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetIdentityVerificationsError'
  /kakaopay/payment/order:
    get:
      summary: 카카오페이 주문 조회 API
      description: |-
        카카오페이 주문 조회 API

        주어진 아이디에 대응되는 카카오페이 주문 건을 조회합니다.
        해당 API 사용이 필요한 경우 포트원 기술지원팀으로 문의 주시길 바랍니다.
      operationId: getKakaopayPaymentOrder
      parameters:
        - name: pgTxId
          in: query
          description: 카카오페이 주문 번호 (tid)
          required: true
          schema:
            type: string
          x-portone-title: 카카오페이 주문 번호 (tid)
        - name: channelKey
          in: query
          description: 채널 키
          required: true
          schema:
            type: string
          x-portone-title: 채널 키
      responses:
        '200':
          description: 성공 응답으로 카카오페이 주문 조회 응답 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetKakaopayPaymentOrderResponse'
          x-portone-title: 성공 응답으로 카카오페이 주문 조회 응답 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetKakaopayPaymentOrderError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetKakaopayPaymentOrderError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: pgSpecific
      x-portone-title: 카카오페이 주문 조회 API
      x-portone-description: |-
        주어진 아이디에 대응되는 카카오페이 주문 건을 조회합니다.
        해당 API 사용이 필요한 경우 포트원 기술지원팀으로 문의 주시길 바랍니다.
      x-portone-error:
        $ref: '#/components/schemas/GetKakaopayPaymentOrderError'
  /login/api-secret:
    post:
      summary: API secret 를 사용한 토큰 발급
      description: |-
        API secret 를 사용한 토큰 발급

        API secret 를 통해 API 인증에 사용할 토큰을 가져옵니다.
      operationId: loginViaApiSecret
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginViaApiSecretBody'
            example:
              apiSecret: your-api-secret
        required: true
      responses:
        '200':
          description: 성공 응답으로 토큰을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginViaApiSecretResponse'
              example:
                accessToken: new-access-token
                refreshToken: new-refresh-token
          x-portone-description: 성공 응답으로 토큰을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginViaApiSecretError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginViaApiSecretError'
      x-portone-category: auth
      x-portone-title: API secret 를 사용한 토큰 발급
      x-portone-description: API secret 를 통해 API 인증에 사용할 토큰을 가져옵니다.
      x-portone-error:
        $ref: '#/components/schemas/LoginViaApiSecretError'
  /payment-events-by-cursor:
    get:
      summary: 결제 이벤트 대용량 다건 조회(커서 기반)
      description: >-
        결제 이벤트 대용량 다건 조회(커서 기반)


        기간 내 모든 결제 이벤트를 커서 기반으로 조회합니다. 결제 이벤트의 생성일시를 기준으로 주어진 기간 내 존재하는 모든 결제
        이벤트가 조회됩니다.
      operationId: getAllPaymentEventsByCursor
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentEventsByCursorBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllPaymentEventsByCursorBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 결제 이벤트 리스트와 커서 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentEventsByCursorResponse'
          x-portone-title: 성공 응답으로 조회된 결제 이벤트 리스트와 커서 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentEventsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentEventsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentEventsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 이벤트 대용량 다건 조회(커서 기반)
      x-portone-description: >-
        기간 내 모든 결제 이벤트를 커서 기반으로 조회합니다. 결제 이벤트의 생성일시를 기준으로 주어진 기간 내 존재하는 모든 결제
        이벤트가 조회됩니다.
      x-portone-error:
        $ref: '#/components/schemas/GetAllPaymentEventsError'
      x-portone-unstable: true
  /payment-gateways/card-promotion:
    get:
      summary: PG사 카드 프로모션 조회 API
      description: |-
        PG사 카드 프로모션 조회 API

        주어진 채널에 대해 PG사에서 제공하는 카드 프로모션 목록을 조회합니다.
        해당 API는 현재 특정 PG사(KCP_V2)에 대해서만 지원되며, 지원 여부는 포트원 기술지원팀에 문의 부탁드립니다.
      operationId: getPgCardPromotions
      parameters:
        - name: channelKey
          in: query
          description: |-
            채널 키

            조회하고자 하는 채널의 키
          required: true
          schema:
            type: string
          x-portone-title: 채널 키
          x-portone-description: 조회하고자 하는 채널의 키
        - name: amount
          in: query
          description: |-
            결제 금액

            결제 금액입니다. 해당 결제 금액 기준 이용 가능한 프로모션 목록이 조회됩니다.
          required: true
          schema:
            type: integer
            format: int64
          x-portone-title: 결제 금액
          x-portone-description: 결제 금액입니다. 해당 결제 금액 기준 이용 가능한 프로모션 목록이 조회됩니다.
        - name: cardCompany
          in: query
          description: |-
            카드사 필터

            조회할 카드사입니다. 값을 입력하지 않으면 카드사 필터링이 적용되지 않습니다.
          required: false
          schema:
            $ref: '#/components/schemas/PgPromotionCardCompany'
          x-portone-title: 카드사 필터
          x-portone-description: 조회할 카드사입니다. 값을 입력하지 않으면 카드사 필터링이 적용되지 않습니다.
      responses:
        '200':
          description: 성공 응답으로 카드 프로모션 목록을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPgCardPromotionsResponse'
          x-portone-title: 성공 응답으로 카드 프로모션 목록을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPgCardPromotionsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPgCardPromotionsError'
        '404':
          description: '* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPgCardPromotionsError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPgCardPromotionsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.additionalFeature
      x-portone-title: PG사 카드 프로모션 조회 API
      x-portone-description: |-
        주어진 채널에 대해 PG사에서 제공하는 카드 프로모션 목록을 조회합니다.
        해당 API는 현재 특정 PG사(KCP_V2)에 대해서만 지원되며, 지원 여부는 포트원 기술지원팀에 문의 부탁드립니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPgCardPromotionsError'
  /payment-reconciliations/settlements/vat-report:
    get:
      summary: 정산일 기준 부가세 내역 조회
      description: 정산일 기준 부가세 내역 조회
      operationId: getPaymentReconciliationSettlementVatReport
      parameters:
        - name: requestBody
          in: query
          required: true
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationSettlementVatReportBody
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationSettlementVatReportResponse
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationSettlementVatReportError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationSettlementVatReportError
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationSettlementVatReportError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: reconciliation
      x-portone-title: 정산일 기준 부가세 내역 조회
      x-portone-error:
        $ref: '#/components/schemas/GetPaymentReconciliationSettlementVatReportError'
      x-portone-unstable: true
  /payment-reconciliations/transactions/vat-report:
    get:
      summary: 거래일 기준 부가세 내역 조회
      description: 거래일 기준 부가세 내역 조회
      operationId: getPaymentReconciliationTransactionVatReport
      parameters:
        - name: requestBody
          in: query
          required: true
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationTransactionVatReportBody
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationTransactionVatReportResponse
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationTransactionVatReportError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationTransactionVatReportError
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPaymentReconciliationTransactionVatReportError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: reconciliation
      x-portone-title: 거래일 기준 부가세 내역 조회
      x-portone-error:
        $ref: '#/components/schemas/GetPaymentReconciliationTransactionVatReportError'
      x-portone-unstable: true
  '/payment-schedules/{paymentScheduleId}':
    get:
      summary: 결제 예약 단건 조회
      description: |-
        결제 예약 단건 조회

        주어진 아이디에 대응되는 결제 예약 건을 조회합니다.
      operationId: getPaymentSchedule
      parameters:
        - name: paymentScheduleId
          in: path
          description: 조회할 결제 예약 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회할 결제 예약 건 아이디
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답으로 결제 예약 건 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentSchedule'
          x-portone-title: 성공 응답으로 결제 예약 건 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentScheduleError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentScheduleError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentScheduleError'
        '404':
          description: '* `PaymentScheduleNotFoundError`: 결제 예약건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentScheduleError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.paymentSchedule
      x-portone-title: 결제 예약 단건 조회
      x-portone-description: 주어진 아이디에 대응되는 결제 예약 건을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPaymentScheduleError'
  /payment-schedules:
    get:
      summary: 결제 예약 다건 조회
      description: >-
        결제 예약 다건 조회


        주어진 조건에 맞는 결제 예약 건들을 조회합니다.

        `filter.from`, `filter.until` 파라미터의 기본값이 결제 시점 기준 지난 90일에 속하는 건을 조회하도록
        되어 있으니, 미래 예약 상태의 건을 조회하기 위해서는 해당 파라미터를 직접 설정해 주셔야 합니다.
      operationId: getPaymentSchedules
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentSchedulesBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPaymentSchedulesBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 예약 결제 건 리스트가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentSchedulesResponse'
          x-portone-description: 성공 응답으로 조회된 예약 결제 건 리스트가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentSchedulesError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentSchedulesError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentSchedulesError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.paymentSchedule
      x-portone-title: 결제 예약 다건 조회
      x-portone-description: >-
        주어진 조건에 맞는 결제 예약 건들을 조회합니다.

        `filter.from`, `filter.until` 파라미터의 기본값이 결제 시점 기준 지난 90일에 속하는 건을 조회하도록
        되어 있으니, 미래 예약 상태의 건을 조회하기 위해서는 해당 파라미터를 직접 설정해 주셔야 합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPaymentSchedulesError'
    delete:
      summary: 결제 예약 취소
      description: >-
        결제 예약 취소


        결제 예약 건을 취소합니다.

        billingKey, scheduleIds 중 하나 이상은 필수로 입력합니다.

        billingKey 만 입력된 경우 -> 해당 빌링키로 예약된 모든 결제 예약 건들이 취소됩니다.

        scheduleIds 만 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다.

        billingKey, scheduleIds 모두 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다.
        단, 예약한 빌링키가 입력된 빌링키와 일치하지 않으면 실패합니다.

        위 정책에 따라 선택된 결제 예약 건들 중 하나라도 취소에 실패할 경우, 모든 취소 요청이 실패합니다.
      operationId: revokePaymentSchedules
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokePaymentSchedulesBody'
          x-portone-query-or-body:
            enabled: true
            required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RevokePaymentSchedulesBody'
        required: false
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokePaymentSchedulesResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokePaymentSchedulesError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokePaymentSchedulesError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokePaymentSchedulesError'
        '404':
          description: |-
            * `PaymentScheduleNotFoundError`: 결제 예약건이 존재하지 않는 경우
            * `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokePaymentSchedulesError'
        '409':
          description: |-
            * `PaymentScheduleAlreadyProcessedError`: 결제 예약건이 이미 처리된 경우
            * `PaymentScheduleAlreadyRevokedError`: 결제 예약건이 이미 취소된 경우
            * `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokePaymentSchedulesError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.paymentSchedule
      x-portone-title: 결제 예약 취소
      x-portone-description: >-
        결제 예약 건을 취소합니다.

        billingKey, scheduleIds 중 하나 이상은 필수로 입력합니다.

        billingKey 만 입력된 경우 -> 해당 빌링키로 예약된 모든 결제 예약 건들이 취소됩니다.

        scheduleIds 만 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다.

        billingKey, scheduleIds 모두 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다.
        단, 예약한 빌링키가 입력된 빌링키와 일치하지 않으면 실패합니다.

        위 정책에 따라 선택된 결제 예약 건들 중 하나라도 취소에 실패할 경우, 모든 취소 요청이 실패합니다.
      x-portone-error:
        $ref: '#/components/schemas/RevokePaymentSchedulesError'
  /payments-by-cursor:
    get:
      summary: 결제 대용량 다건 조회(커서 기반)
      description: >-
        결제 대용량 다건 조회(커서 기반)


        기간 내 모든 결제 건을 커서 기반으로 조회합니다. 결제 건의 생성일시를 기준으로 주어진 기간 내 존재하는 모든 결제 건이
        조회됩니다.
      operationId: getAllPaymentsByCursor
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentsByCursorBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllPaymentsByCursorBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 결제 건 리스트와 커서 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentsByCursorResponse'
          x-portone-title: 성공 응답으로 조회된 결제 건 리스트와 커서 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPaymentsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 대용량 다건 조회(커서 기반)
      x-portone-description: >-
        기간 내 모든 결제 건을 커서 기반으로 조회합니다. 결제 건의 생성일시를 기준으로 주어진 기간 내 존재하는 모든 결제 건이
        조회됩니다.
      x-portone-error:
        $ref: '#/components/schemas/GetAllPaymentsError'
      x-portone-unstable: true
  '/payments/{paymentId}/billing-key':
    post:
      summary: 빌링키 결제
      description: |-
        빌링키 결제

        빌링키로 결제를 진행합니다.
      operationId: payWithBillingKey
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingKeyPaymentInput'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayWithBillingKeyResponse'
          x-portone-title: 성공 응답
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PromotionPayMethodDoesNotMatchError`: 결제수단이 프로모션에 지정된 것과 일치하지 않는
            경우

            * `DiscountAmountExceedsTotalAmountError`: 프로모션 할인 금액이 결제 시도 금액 이상인
            경우

            * `MaxTransactionCountReachedError`: 결제 혹은 본인인증 시도 횟수가 최대에 도달한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayWithBillingKeyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayWithBillingKeyError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayWithBillingKeyError'
        '404':
          description: |-
            * `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우
            * `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayWithBillingKeyError'
        '409':
          description: >-
            * `AlreadyPaidError`: 결제가 이미 완료된 경우

            * `SumOfPartsExceedsTotalAmountError`: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을
            초과한 경우

            * `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우

            * `PaymentScheduleAlreadyExistsError`: 결제 예약건이 이미 존재하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayWithBillingKeyError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayWithBillingKeyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 빌링키 결제
      x-portone-description: 빌링키로 결제를 진행합니다.
      x-portone-error:
        $ref: '#/components/schemas/PayWithBillingKeyError'
  '/payments/{paymentId}/cancel':
    post:
      summary: 결제 취소
      description: |-
        결제 취소

        결제 취소를 요청합니다.
      operationId: cancelPayment
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelPaymentBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPaymentResponse'
          x-portone-title: 성공 응답
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `NegativePromotionAdjustedCancelAmountError`: 프로모션에 의해 조정된 취소 금액이
            음수인 경우

            * `PromotionDiscountRetainOptionShouldNotBeChangedError`: 프로모션 혜택 유지
            옵션을 이전 부분 취소와 다른 것으로 입력한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPaymentError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPaymentError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPaymentError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPaymentError'
        '409':
          description: >-
            * `PaymentNotPaidError`: 결제가 완료되지 않은 경우

            * `PaymentAlreadyCancelledError`: 결제가 이미 취소된 경우

            * `CancellableAmountConsistencyBrokenError`: 취소 가능 잔액 검증에 실패한 경우

            * `CancelAmountExceedsCancellableAmountError`: 결제 취소 금액이 취소 가능 금액을
            초과한 경우

            * `SumOfPartsExceedsCancelAmountError`: 면세 금액 등 하위 항목들의 합이 전체 취소 금액을
            초과한 경우

            * `CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError`: 취소 면세
            금액이 취소 가능한 면세 금액을 초과한 경우

            * `CancelTaxAmountExceedsCancellableTaxAmountError`: 취소 과세 금액이 취소
            가능한 과세 금액을 초과한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPaymentError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPaymentError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 취소
      x-portone-description: 결제 취소를 요청합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelPaymentError'
  '/payments/{paymentId}/cancellations/{cancellationId}/stop':
    post:
      summary: 결제 취소 요청 취소
      description: |-
        결제 취소 요청 취소

        비동기적으로 수행되는 결제 취소 요청을 취소합니다.
        Triple-A에서만 사용됩니다.
      operationId: stopPaymentCancellation
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
        - name: cancellationId
          in: path
          description: 취소 요청 아이디
          required: true
          schema:
            type: string
          x-portone-title: 취소 요청 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StopPaymentCancellationBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopPaymentCancellationResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopPaymentCancellationError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopPaymentCancellationError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopPaymentCancellationError'
        '404':
          description: |-
            * `PaymentCancellationNotFoundError`: 결제 취소 내역이 존재하지 않는 경우
            * `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopPaymentCancellationError'
        '409':
          description: '* `PaymentCancellationNotPendingError`: 결제 취소 내역이 취소 요청 상태가 아닌 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopPaymentCancellationError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopPaymentCancellationError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 취소 요청 취소
      x-portone-description: |-
        비동기적으로 수행되는 결제 취소 요청을 취소합니다.
        Triple-A에서만 사용됩니다.
      x-portone-error:
        $ref: '#/components/schemas/StopPaymentCancellationError'
  '/payments/{paymentId}/capture':
    post:
      summary: 수동 매입
      description: |-
        수동 매입

        수동 매입을 요청합니다. PG 및 포트원과의 사전 협의가 필요합니다.
      operationId: capturePayment
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapturePaymentBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapturePaymentResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapturePaymentError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapturePaymentError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapturePaymentError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapturePaymentError'
        '409':
          description: '* `PaymentNotPaidError`: 결제가 완료되지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapturePaymentError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapturePaymentError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 수동 매입
      x-portone-description: 수동 매입을 요청합니다. PG 및 포트원과의 사전 협의가 필요합니다.
      x-portone-error:
        $ref: '#/components/schemas/CapturePaymentError'
  '/payments/{paymentId}/cash-receipt/cancel':
    post:
      summary: 현금 영수증 취소
      description: |-
        현금 영수증 취소

        현금 영수증 취소를 요청합니다.
      operationId: cancelCashReceiptByPaymentId
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelCashReceiptResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelCashReceiptError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelCashReceiptError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelCashReceiptError'
        '404':
          description: |-
            * `CashReceiptNotIssuedError`: 현금영수증이 발급되지 않은 경우
            * `CashReceiptNotFoundError`: 현금영수증이 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelCashReceiptError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelCashReceiptError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.cashReceipt
      x-portone-title: 현금 영수증 취소
      x-portone-description: 현금 영수증 취소를 요청합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelCashReceiptError'
  '/payments/{paymentId}/cash-receipt':
    get:
      summary: 현금 영수증 단건 조회
      description: |-
        현금 영수증 단건 조회

        주어진 결제 아이디에 대응되는 현금 영수증 내역을 조회합니다.
      operationId: getCashReceiptByPaymentId
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답으로 현금 영수증 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashReceipt'
          x-portone-description: 성공 응답으로 현금 영수증 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptError'
        '404':
          description: '* `CashReceiptNotFoundError`: 현금영수증이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCashReceiptError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.cashReceipt
      x-portone-title: 현금 영수증 단건 조회
      x-portone-description: 주어진 결제 아이디에 대응되는 현금 영수증 내역을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetCashReceiptError'
  '/payments/{paymentId}/confirm':
    post:
      summary: 인증 결제 수동 승인
      description: |-
        인증 결제 수동 승인

        수동 승인으로 설정된 인증 결제에 대해, 결제를 완료 처리합니다.
      operationId: confirmPayment
      parameters:
        - name: paymentId
          in: path
          description: 결제 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 아이디
      requestBody:
        description: 결제 승인 요청 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmPaymentBody'
        required: true
        x-portone-title: 결제 승인 요청 정보
      responses:
        '200':
          description: 성공 응답으로 결제 승인 결과를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmedPaymentSummary'
          x-portone-title: 성공 응답으로 결제 승인 결과를 반환합니다.
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `InvalidPaymentTokenError`: 유효하지 않은 결제 토큰인 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentError'
        '409':
          description: |-
            * `AlreadyPaidError`: 결제가 이미 완료된 경우
            * `InformationMismatchError`: 정보가 일치하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 인증 결제 수동 승인
      x-portone-description: '수동 승인으로 설정된 인증 결제에 대해, 결제를 완료 처리합니다.'
      x-portone-error:
        $ref: '#/components/schemas/ConfirmPaymentError'
  '/payments/{paymentId}/escrow/complete':
    post:
      summary: 에스크로 구매 확정
      description: |-
        에스크로 구매 확정

        에스크로 결제를 구매 확정 처리합니다
      operationId: confirmEscrow
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmEscrowBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmEscrowResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmEscrowError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmEscrowError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmEscrowError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmEscrowError'
        '409':
          description: '* `PaymentNotPaidError`: 결제가 완료되지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmEscrowError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmEscrowError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 에스크로 구매 확정
      x-portone-description: 에스크로 결제를 구매 확정 처리합니다
      x-portone-error:
        $ref: '#/components/schemas/ConfirmEscrowError'
  '/payments/{paymentId}/escrow/logistics':
    post:
      summary: 에스크로 배송 정보 등록
      description: |-
        에스크로 배송 정보 등록

        에스크로 배송 정보를 등록합니다.
      operationId: applyEscrowLogistics
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterEscrowLogisticsBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyEscrowLogisticsResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyEscrowLogisticsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyEscrowLogisticsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyEscrowLogisticsError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyEscrowLogisticsError'
        '409':
          description: '* `PaymentNotPaidError`: 결제가 완료되지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyEscrowLogisticsError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyEscrowLogisticsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 에스크로 배송 정보 등록
      x-portone-description: 에스크로 배송 정보를 등록합니다.
      x-portone-error:
        $ref: '#/components/schemas/ApplyEscrowLogisticsError'
    patch:
      summary: 에스크로 배송 정보 수정
      description: |-
        에스크로 배송 정보 수정

        에스크로 배송 정보를 수정합니다.
      operationId: modifyEscrowLogistics
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyEscrowLogisticsBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifyEscrowLogisticsResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifyEscrowLogisticsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifyEscrowLogisticsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifyEscrowLogisticsError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifyEscrowLogisticsError'
        '409':
          description: '* `PaymentNotPaidError`: 결제가 완료되지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifyEscrowLogisticsError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModifyEscrowLogisticsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 에스크로 배송 정보 수정
      x-portone-description: 에스크로 배송 정보를 수정합니다.
      x-portone-error:
        $ref: '#/components/schemas/ModifyEscrowLogisticsError'
  '/payments/{paymentId}/instant':
    post:
      summary: 수기 결제
      description: |-
        수기 결제

        카드 비인증 결제 또는 가상 계좌 발급을 API로 요청합니다.
      operationId: payInstantly
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstantPaymentInput'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayInstantlyResponse'
          x-portone-title: 성공 응답
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PromotionPayMethodDoesNotMatchError`: 결제수단이 프로모션에 지정된 것과 일치하지 않는
            경우

            * `DiscountAmountExceedsTotalAmountError`: 프로모션 할인 금액이 결제 시도 금액 이상인
            경우

            * `MaxTransactionCountReachedError`: 결제 혹은 본인인증 시도 횟수가 최대에 도달한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayInstantlyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayInstantlyError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayInstantlyError'
        '404':
          description: '* `ChannelNotFoundError`: 요청된 채널이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayInstantlyError'
        '409':
          description: >-
            * `AlreadyPaidError`: 결제가 이미 완료된 경우

            * `SumOfPartsExceedsTotalAmountError`: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을
            초과한 경우

            * `PaymentScheduleAlreadyExistsError`: 결제 예약건이 이미 존재하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayInstantlyError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayInstantlyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 수기 결제
      x-portone-description: 카드 비인증 결제 또는 가상 계좌 발급을 API로 요청합니다.
      x-portone-error:
        $ref: '#/components/schemas/PayInstantlyError'
  '/payments/{paymentId}/pre-register':
    post:
      summary: 결제 정보 사전 등록
      description: |-
        결제 정보 사전 등록

        결제 정보를 사전 등록합니다.
      operationId: preRegisterPayment
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreRegisterPaymentBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreRegisterPaymentResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreRegisterPaymentError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreRegisterPaymentError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreRegisterPaymentError'
        '409':
          description: '* `AlreadyPaidError`: 결제가 이미 완료된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreRegisterPaymentError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 정보 사전 등록
      x-portone-description: 결제 정보를 사전 등록합니다.
      x-portone-error:
        $ref: '#/components/schemas/PreRegisterPaymentError'
  '/payments/{paymentId}/register-store-receipt':
    post:
      summary: 영수증 내 하위 상점 거래 등록
      description: |-
        영수증 내 하위 상점 거래 등록

        결제 내역 매출전표에 하위 상점의 거래를 등록합니다.
        지원되는 PG사:
        KG이니시스(이용 전 콘솔 -> 결제연동 탭에서 INIApi Key 등록 필요)
      operationId: registerStoreReceipt
      parameters:
        - name: paymentId
          in: path
          description: 등록할 하위 상점 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 등록할 하위 상점 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterStoreReceiptBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterStoreReceiptResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterStoreReceiptError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterStoreReceiptError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterStoreReceiptError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterStoreReceiptError'
        '409':
          description: '* `PaymentNotPaidError`: 결제가 완료되지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterStoreReceiptError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterStoreReceiptError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 영수증 내 하위 상점 거래 등록
      x-portone-description: |-
        결제 내역 매출전표에 하위 상점의 거래를 등록합니다.
        지원되는 PG사:
        KG이니시스(이용 전 콘솔 -> 결제연동 탭에서 INIApi Key 등록 필요)
      x-portone-error:
        $ref: '#/components/schemas/RegisterStoreReceiptError'
  '/payments/{paymentId}/resend-webhook':
    post:
      summary: 웹훅 재발송
      description: |-
        웹훅 재발송

        웹훅을 재발송합니다.
      operationId: resendWebhook
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResendWebhookBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendWebhookResponse'
          x-portone-title: 성공 응답
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `MaxWebhookRetryCountReachedError`: 동일한 webhook id에 대한 수동 재시도 횟수가
            최대에 도달한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendWebhookError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendWebhookError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendWebhookError'
        '404':
          description: |-
            * `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우
            * `WebhookNotFoundError`: 웹훅 내역이 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendWebhookError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 웹훅 재발송
      x-portone-description: 웹훅을 재발송합니다.
      x-portone-error:
        $ref: '#/components/schemas/ResendWebhookError'
  '/payments/{paymentId}/schedule':
    post:
      summary: 결제 예약
      description: |-
        결제 예약

        결제를 예약합니다.
      operationId: createPaymentSchedule
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentScheduleBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentScheduleResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentScheduleError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentScheduleError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentScheduleError'
        '404':
          description: '* `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentScheduleError'
        '409':
          description: >-
            * `AlreadyPaidOrWaitingError`: 결제가 이미 완료되었거나 대기중인 경우

            * `SumOfPartsExceedsTotalAmountError`: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을
            초과한 경우

            * `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우

            * `PaymentScheduleAlreadyExistsError`: 결제 예약건이 이미 존재하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentScheduleError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.paymentSchedule
      x-portone-title: 결제 예약
      x-portone-description: 결제를 예약합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePaymentScheduleError'
  '/payments/{paymentId}/transactions':
    get:
      summary: 결제 시도 내역 조회
      description: |-
        결제 시도 내역 조회

        주어진 아이디에 대응되는 결제 건의 결제 시도 내역을 조회합니다.
      operationId: getPaymentTransactions
      parameters:
        - name: paymentId
          in: path
          description: 조회할 결제 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회할 결제 아이디
        - name: storeId
          in: query
          description: 상점 아이디
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
      responses:
        '200':
          description: 성공 응답으로 결제 시도 이력을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentTransactionsResponse'
          x-portone-title: 성공 응답으로 결제 시도 이력을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentTransactionsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentTransactionsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentTransactionsError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentTransactionsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 시도 내역 조회
      x-portone-description: 주어진 아이디에 대응되는 결제 건의 결제 시도 내역을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPaymentTransactionsError'
      x-portone-unstable: true
  '/payments/{paymentId}/virtual-account/close':
    post:
      summary: 가상계좌 말소
      description: |-
        가상계좌 말소

        발급된 가상계좌를 말소합니다.
      operationId: closeVirtualAccount
      parameters:
        - name: paymentId
          in: path
          description: 결제 건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 결제 건 아이디
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseVirtualAccountResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseVirtualAccountError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseVirtualAccountError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseVirtualAccountError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseVirtualAccountError'
        '409':
          description: '* `PaymentNotWaitingForDepositError`: 결제 건이 입금 대기 상태가 아닌 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseVirtualAccountError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseVirtualAccountError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 가상계좌 말소
      x-portone-description: 발급된 가상계좌를 말소합니다.
      x-portone-error:
        $ref: '#/components/schemas/CloseVirtualAccountError'
  '/payments/{paymentId}':
    get:
      summary: 결제 단건 조회
      description: |-
        결제 단건 조회

        주어진 아이디에 대응되는 결제 건을 조회합니다.
      operationId: getPayment
      parameters:
        - name: paymentId
          in: path
          description: 조회할 결제 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회할 결제 아이디
        - name: storeId
          in: query
          description: |-
            상점 아이디

            접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
          required: false
          schema:
            type: string
          x-portone-title: 상점 아이디
          x-portone-description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      responses:
        '200':
          description: 성공 응답으로 결제 건 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
          x-portone-title: 성공 응답으로 결제 건 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 단건 조회
      x-portone-description: 주어진 아이디에 대응되는 결제 건을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPaymentError'
  /payments:
    get:
      summary: 결제 다건 조회(페이지 기반)
      description: |-
        결제 다건 조회(페이지 기반)

        주어진 조건에 맞는 결제 건들을 페이지 기반으로 조회합니다.
      operationId: getPayments
      parameters:
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentsBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPaymentsBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 결제 건 리스트와 페이지 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentsResponse'
          x-portone-title: 성공 응답으로 조회된 결제 건 리스트와 페이지 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentsError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment
      x-portone-title: 결제 다건 조회(페이지 기반)
      x-portone-description: 주어진 조건에 맞는 결제 건들을 페이지 기반으로 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPaymentsError'
  /paymentwall/delivery/confirm:
    post:
      summary: 페이먼트월 배송 정보 등록
      description: |-
        페이먼트월 배송 정보 등록

        배송 정보를 페이먼트월에 등록합니다.
        등록된 배송 정보는 차지백 발생 시 고객사의 상품 배송 완료 증빙 자료로 활용되므로, 반드시 연동해야 합니다.
      operationId: confirmPaymentwallDelivery
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmPaymentwallDeliveryBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentwallDeliveryResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentwallDeliveryError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentwallDeliveryError'
        '404':
          description: '* `PaymentNotFoundError`: 결제 건이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPaymentwallDeliveryError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: pgSpecific
      x-portone-title: 페이먼트월 배송 정보 등록
      x-portone-description: |-
        배송 정보를 페이먼트월에 등록합니다.
        등록된 배송 정보는 차지백 발생 시 고객사의 상품 배송 완료 증빙 자료로 활용되므로, 반드시 연동해야 합니다.
      x-portone-error:
        $ref: '#/components/schemas/ConfirmPaymentwallDeliveryError'
  /platform/account-transfers:
    get:
      summary: 이체 내역 다건 조회
      description: |-
        이체 내역 다건 조회

        여러 이체 내역을 조회합니다.
      operationId: getPlatformAccountTransfers
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountTransfersBody1'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAccountTransfersBody1'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 이체 내역과 페이지 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountTransfersResponse'
          x-portone-description: 성공 응답으로 조회된 이체 내역과 페이지 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountTransfersError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountTransfersError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountTransfersError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.accountTransfer
      x-portone-title: 이체 내역 다건 조회
      x-portone-description: 여러 이체 내역을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformAccountTransfersError'
      x-portone-unstable: true
  '/platform/additional-fee-policies/{id}/archive':
    post:
      summary: 추가 수수료 정책 보관
      description: |-
        추가 수수료 정책 보관

        주어진 아이디에 대응되는 추가 수수료 정책을 보관합니다.
      operationId: archivePlatformAdditionalFeePolicy
      parameters:
        - name: id
          in: path
          description: 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 보관된 추가 수수료 정책 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ArchivePlatformAdditionalFeePolicyResponse
          x-portone-description: 성공 응답으로 보관된 추가 수수료 정책 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformAdditionalFeePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformAdditionalFeePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformAdditionalFeePolicyError'
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformAdditionalFeePolicyError'
        '409':
          description: >-
            * `PlatformCannotArchiveScheduledAdditionalFeePolicyError`: 예약된
            업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformAdditionalFeePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 추가 수수료 정책 보관
      x-portone-description: 주어진 아이디에 대응되는 추가 수수료 정책을 보관합니다.
      x-portone-error:
        $ref: '#/components/schemas/ArchivePlatformAdditionalFeePolicyError'
  '/platform/additional-fee-policies/{id}/recover':
    post:
      summary: 추가 수수료 정책 복원
      description: |-
        추가 수수료 정책 복원

        주어진 아이디에 대응되는 추가 수수료 정책을 복원합니다.
      operationId: recoverPlatformAdditionalFeePolicy
      parameters:
        - name: id
          in: path
          description: 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 복원된 추가 수수료 정책 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RecoverPlatformAdditionalFeePolicyResponse
          x-portone-description: 성공 응답으로 복원된 추가 수수료 정책 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformAdditionalFeePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformAdditionalFeePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformAdditionalFeePolicyError'
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformAdditionalFeePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 추가 수수료 정책 복원
      x-portone-description: 주어진 아이디에 대응되는 추가 수수료 정책을 복원합니다.
      x-portone-error:
        $ref: '#/components/schemas/RecoverPlatformAdditionalFeePolicyError'
  '/platform/additional-fee-policies/{id}/schedule':
    get:
      description: 주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 조회합니다.
      operationId: getPlatformAdditionalFeePolicySchedule
      parameters:
        - name: id
          in: path
          description: 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 예약된 추가 수수료 정책을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          x-portone-description: 성공 응답으로 예약된 추가 수수료 정책을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformAdditionalFeePolicyScheduleError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformAdditionalFeePolicyScheduleError
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformAdditionalFeePolicyScheduleError
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformAdditionalFeePolicyScheduleError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformAdditionalFeePolicyScheduleError'
      x-portone-unstable: true
    put:
      operationId: rescheduleAdditionalFeePolicy
      parameters:
        - name: id
          in: path
          description: 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReschedulePlatformAdditionalFeePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 추가 수수료 정책이 반환됩니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ReschedulePlatformAdditionalFeePolicyResponse
          x-portone-description: 성공 응답으로 예약된 추가 수수료 정책이 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleAdditionalFeePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleAdditionalFeePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleAdditionalFeePolicyError'
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleAdditionalFeePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-error:
        $ref: '#/components/schemas/RescheduleAdditionalFeePolicyError'
      x-portone-unstable: true
    post:
      description: 주어진 아이디에 대응되는 추가 수수료 정책에 업데이트를 예약합니다.
      operationId: scheduleAdditionalFeePolicy
      parameters:
        - name: id
          in: path
          description: 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulePlatformAdditionalFeePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 추가 수수료 정책을 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/SchedulePlatformAdditionalFeePolicyResponse
          x-portone-description: 성공 응답으로 예약된 추가 수수료 정책을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleAdditionalFeePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleAdditionalFeePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleAdditionalFeePolicyError'
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleAdditionalFeePolicyError'
        '409':
          description: >-
            * `PlatformAdditionalFeePolicyScheduleAlreadyExistsError`

            * `PlatformArchivedAdditionalFeePolicyError`: 보관된 추가 수수료 정책을 업데이트하려고
            하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleAdditionalFeePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 추가 수수료 정책에 업데이트를 예약합니다.
      x-portone-error:
        $ref: '#/components/schemas/ScheduleAdditionalFeePolicyError'
      x-portone-unstable: true
    delete:
      description: 주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 취소합니다.
      operationId: cancelPlatformAdditionalFeePolicySchedule
      parameters:
        - name: id
          in: path
          description: 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformAdditionalFeePolicyScheduleResponse
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 취소합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelPlatformAdditionalFeePolicyScheduleError'
      x-portone-unstable: true
  '/platform/additional-fee-policies/{id}':
    get:
      summary: 추가 수수료 정책 조회
      description: |-
        추가 수수료 정책 조회

        주어진 아이디에 대응되는 추가 수수료 정책을 조회합니다.
      operationId: getPlatformAdditionalFeePolicy
      parameters:
        - name: id
          in: path
          description: 조회할 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회할 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 추가 수수료 정책을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          x-portone-description: 성공 응답으로 추가 수수료 정책을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePolicyError'
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 추가 수수료 정책 조회
      x-portone-description: 주어진 아이디에 대응되는 추가 수수료 정책을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformAdditionalFeePolicyError'
    patch:
      summary: 추가 수수료 정책 수정
      description: |-
        추가 수수료 정책 수정

        주어진 아이디에 대응되는 추가 수수료 정책을 업데이트합니다.
      operationId: updatePlatformAdditionalFeePolicy
      parameters:
        - name: id
          in: path
          description: 업데이트할 추가 수수료 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 업데이트할 추가 수수료 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 업데이트된 추가 수수료 정책이 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyResponse'
          x-portone-description: 성공 응답으로 업데이트된 추가 수수료 정책이 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyError'
        '404':
          description: '* `PlatformAdditionalFeePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyError'
        '409':
          description: >-
            * `PlatformArchivedAdditionalFeePolicyError`: 보관된 추가 수수료 정책을 업데이트하려고
            하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 추가 수수료 정책 수정
      x-portone-description: 주어진 아이디에 대응되는 추가 수수료 정책을 업데이트합니다.
      x-portone-error:
        $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyError'
  /platform/additional-fee-policies:
    get:
      summary: 추가 수수료 정책 다건 조회
      description: |-
        추가 수수료 정책 다건 조회

        여러 추가 수수료 정책을 조회합니다.
      operationId: getPlatformAdditionalFeePolicies
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePoliciesBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformAdditionalFeePoliciesBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 추가 수수료 정책 리스트와 페이지 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePoliciesResponse'
          x-portone-description: 성공 응답으로 조회된 추가 수수료 정책 리스트와 페이지 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePoliciesError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePoliciesError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAdditionalFeePoliciesError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 추가 수수료 정책 다건 조회
      x-portone-description: 여러 추가 수수료 정책을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformAdditionalFeePoliciesError'
    post:
      summary: 추가 수수료 정책 생성
      description: |-
        추가 수수료 정책 생성

        새로운 추가 수수료 정책을 생성합니다.
      operationId: createPlatformAdditionalFeePolicy
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformAdditionalFeePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformAdditionalFeePolicyResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformAdditionalFeePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformAdditionalFeePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformAdditionalFeePolicyError'
        '409':
          description: '* `PlatformAdditionalFeePolicyAlreadyExistsError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformAdditionalFeePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 추가 수수료 정책 생성
      x-portone-description: 새로운 추가 수수료 정책을 생성합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformAdditionalFeePolicyError'
  '/platform/bank-accounts/{bank}/{accountNumber}/holder':
    get:
      summary: 예금주 조회
      description: |-
        예금주 조회

        계좌의 예금주를 조회합니다.
      operationId: getPlatformAccountHolder
      parameters:
        - name: bank
          in: path
          description: 은행
          required: true
          schema:
            $ref: '#/components/schemas/Bank'
          x-portone-title: 은행
        - name: accountNumber
          in: path
          description: '''-''를 제외한 계좌 번호'
          required: true
          schema:
            type: string
          x-portone-title: '''-''를 제외한 계좌 번호'
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: birthdate
          in: query
          description: >-
            생년월일


            실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만
            사용해야 합니다.
          required: false
          schema:
            type: string
          x-portone-title: 생년월일
          x-portone-description: >-
            실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만
            사용해야 합니다.
        - name: businessRegistrationNumber
          in: query
          description: >-
            사업자등록번호


            실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만
            사용해야 합니다.
          required: false
          schema:
            type: string
          x-portone-title: 사업자등록번호
          x-portone-description: >-
            실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만
            사용해야 합니다.
      responses:
        '200':
          description: 성공 응답으로 조회된 예금주 명이 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformAccountHolder'
          x-portone-description: 성공 응답으로 조회된 예금주 명이 반환됩니다.
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `PlatformNotSupportedBankError`: 지원하지 않는 은행인 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountHolderError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountHolderError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountHolderError'
        '503':
          description: |-
            * `PlatformExternalApiTemporarilyFailedError`: 외부 api의 일시적인 오류
            * `PlatformExternalApiFailedError`: 외부 api 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformAccountHolderError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.account
      x-portone-title: 예금주 조회
      x-portone-description: 계좌의 예금주를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformAccountHolderError'
  /platform/bulk-account-transfers:
    get:
      summary: 일괄 이체 내역 다건 조회
      description: |-
        일괄 이체 내역 다건 조회

        성공 응답으로 조회된 일괄 이체 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
      operationId: getPlatformBulkAccountTransfers
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkAccountTransfersBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformBulkAccountTransfersBody'
        required: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkAccountTransfersResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkAccountTransfersError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkAccountTransfersError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkAccountTransfersError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.bulkAccountTransfer
      x-portone-title: 일괄 이체 내역 다건 조회
      x-portone-description: 성공 응답으로 조회된 일괄 이체 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformBulkAccountTransfersError'
  /platform/bulk-payouts:
    get:
      summary: 일괄 지급 내역 다건 조회
      description: |-
        일괄 지급 내역 다건 조회

        성공 응답으로 조회된 일괄 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
      operationId: getPlatformBulkPayouts
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkPayoutsBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformBulkPayoutsBody'
        required: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkPayoutsResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkPayoutsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkPayoutsError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformBulkPayoutsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.bulkPayout
      x-portone-title: 일괄 지급 내역 다건 조회
      x-portone-description: 성공 응답으로 조회된 일괄 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformBulkPayoutsError'
  '/platform/companies/{businessRegistrationNumber}/state':
    get:
      summary: 사업자 조회
      description: |-
        사업자 조회

        사업자 정보를 조회합니다. 포트원 서비스에 연동 및 등록되지 않은 사업자도 조회 가능합니다.
      operationId: getPlatformCompanyState
      parameters:
        - name: businessRegistrationNumber
          in: path
          description: 사업자등록번호
          required: true
          schema:
            type: string
          x-portone-title: 사업자등록번호
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 조회된 사업자 상태가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformCompanyStatePayload'
          x-portone-description: 성공 응답으로 조회된 사업자 상태가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformCompanyStateError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformCompanyStateError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformCompanyStateError'
        '404':
          description: '* `PlatformCompanyNotFoundError`: 사업자 정보를 찾을 수 없는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformCompanyStateError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformCompanyStateError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.company
      x-portone-title: 사업자 조회
      x-portone-description: 사업자 정보를 조회합니다. 포트원 서비스에 연동 및 등록되지 않은 사업자도 조회 가능합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformCompanyStateError'
  '/platform/contracts/{id}/archive':
    post:
      summary: 계약 보관
      description: |-
        계약 보관

        주어진 아이디에 대응되는 계약을 보관합니다.
      operationId: archivePlatformContract
      parameters:
        - name: id
          in: path
          description: 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 보관된 계약 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformContractResponse'
          x-portone-description: 성공 응답으로 보관된 계약 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformContractError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformContractError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformContractError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformContractError'
        '409':
          description: >-
            * `PlatformCannotArchiveScheduledContractError`: 예약된 업데이트가 있는 계약을
            보관하려고 하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformContractError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 계약 보관
      x-portone-description: 주어진 아이디에 대응되는 계약을 보관합니다.
      x-portone-error:
        $ref: '#/components/schemas/ArchivePlatformContractError'
  '/platform/contracts/{id}/recover':
    post:
      summary: 계약 복원
      description: |-
        계약 복원

        주어진 아이디에 대응되는 계약을 복원합니다.
      operationId: recoverPlatformContract
      parameters:
        - name: id
          in: path
          description: 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 복원된 계약 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformContractResponse'
          x-portone-description: 성공 응답으로 복원된 계약 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformContractError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformContractError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformContractError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformContractError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 계약 복원
      x-portone-description: 주어진 아이디에 대응되는 계약을 복원합니다.
      x-portone-error:
        $ref: '#/components/schemas/RecoverPlatformContractError'
  '/platform/contracts/{id}/schedule':
    get:
      description: 주어진 아이디에 대응되는 계약의 예약 업데이트를 조회합니다.
      operationId: getPlatformContractSchedule
      parameters:
        - name: id
          in: path
          description: 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 예약된 계약 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformContract'
          x-portone-description: 성공 응답으로 예약된 계약 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractScheduleError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractScheduleError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractScheduleError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractScheduleError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 계약의 예약 업데이트를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformContractScheduleError'
      x-portone-unstable: true
    put:
      description: 주어진 아이디에 대응되는 계약에 예약 업데이트를 재설정합니다.
      operationId: rescheduleContract
      parameters:
        - name: id
          in: path
          description: 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReschedulePlatformContractBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 계약 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReschedulePlatformContractResponse'
          x-portone-description: 성공 응답으로 예약된 계약 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleContractError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleContractError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleContractError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleContractError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 계약에 예약 업데이트를 재설정합니다.
      x-portone-error:
        $ref: '#/components/schemas/RescheduleContractError'
      x-portone-unstable: true
    post:
      description: 주어진 아이디에 대응되는 계약에 업데이트를 예약합니다.
      operationId: scheduleContract
      parameters:
        - name: id
          in: path
          description: 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulePlatformContractBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 계약 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformContractResponse'
          x-portone-description: 성공 응답으로 예약된 계약 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleContractError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleContractError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleContractError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleContractError'
        '409':
          description: |-
            * `PlatformContractScheduleAlreadyExistsError`
            * `PlatformArchivedContractError`: 보관된 계약을 업데이트하려고 하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleContractError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 계약에 업데이트를 예약합니다.
      x-portone-error:
        $ref: '#/components/schemas/ScheduleContractError'
      x-portone-unstable: true
    delete:
      description: 주어진 아이디에 대응되는 계약의 예약 업데이트를 취소합니다.
      operationId: cancelPlatformContractSchedule
      parameters:
        - name: id
          in: path
          description: 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformContractScheduleResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformContractScheduleError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformContractScheduleError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformContractScheduleError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformContractScheduleError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 계약의 예약 업데이트를 취소합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelPlatformContractScheduleError'
      x-portone-unstable: true
  '/platform/contracts/{id}':
    get:
      summary: 계약 조회
      description: |-
        계약 조회

        주어진 아이디에 대응되는 계약을 조회합니다.
      operationId: getPlatformContract
      parameters:
        - name: id
          in: path
          description: 조회할 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회할 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 계약 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformContract'
          x-portone-description: 성공 응답으로 계약 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 계약 조회
      x-portone-description: 주어진 아이디에 대응되는 계약을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformContractError'
    patch:
      summary: 계약 수정
      description: |-
        계약 수정

        주어진 아이디에 대응되는 계약을 업데이트합니다.
      operationId: updatePlatformContract
      parameters:
        - name: id
          in: path
          description: 업데이트할 계약 아이디
          required: true
          schema:
            type: string
          x-portone-title: 업데이트할 계약 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlatformContractBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 업데이트된 계약 객체가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformContractResponse'
          x-portone-description: 성공 응답으로 업데이트된 계약 객체가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformContractError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformContractError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformContractError'
        '404':
          description: '* `PlatformContractNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformContractError'
        '409':
          description: '* `PlatformArchivedContractError`: 보관된 계약을 업데이트하려고 하는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformContractError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 계약 수정
      x-portone-description: 주어진 아이디에 대응되는 계약을 업데이트합니다.
      x-portone-error:
        $ref: '#/components/schemas/UpdatePlatformContractError'
  /platform/contracts:
    get:
      summary: 계약 다건 조회
      description: |-
        계약 다건 조회

        여러 계약을 조회합니다.
      operationId: getPlatformContracts
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractsBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformContractsBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 계약 리스트와 페이지 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractsResponse'
          x-portone-description: 성공 응답으로 조회된 계약 리스트와 페이지 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractsError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformContractsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 계약 다건 조회
      x-portone-description: 여러 계약을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformContractsError'
    post:
      summary: 계약 생성
      description: |-
        계약 생성

        새로운 계약을 생성합니다.
      operationId: createPlatformContract
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformContractBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 생성된 계약 객체가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformContractResponse'
          x-portone-description: 성공 응답으로 생성된 계약 객체가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformContractError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformContractError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformContractError'
        '409':
          description: '* `PlatformContractAlreadyExistsError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformContractError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 계약 생성
      x-portone-description: 새로운 계약을 생성합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformContractError'
  '/platform/discount-share-policies/{id}/archive':
    post:
      summary: 할인 분담 정책 보관
      description: |-
        할인 분담 정책 보관

        주어진 아이디에 대응되는 할인 분담을 보관합니다.
      operationId: archivePlatformDiscountSharePolicy
      parameters:
        - name: id
          in: path
          description: 할인 분담 아이디
          required: true
          schema:
            type: string
          x-portone-title: 할인 분담 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 보관된 할인 분담 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ArchivePlatformDiscountSharePolicyResponse
          x-portone-description: 성공 응답으로 보관된 할인 분담 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformDiscountSharePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformDiscountSharePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformDiscountSharePolicyError'
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformDiscountSharePolicyError'
        '409':
          description: >-
            * `PlatformCannotArchiveScheduledDiscountSharePolicyError`: 예약된
            업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformDiscountSharePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 할인 분담 정책 보관
      x-portone-description: 주어진 아이디에 대응되는 할인 분담을 보관합니다.
      x-portone-error:
        $ref: '#/components/schemas/ArchivePlatformDiscountSharePolicyError'
  '/platform/discount-share-policies/{id}/recover':
    post:
      summary: 할인 분담 정책 복원
      description: |-
        할인 분담 정책 복원

        주어진 아이디에 대응되는 할인 분담을 복원합니다.
      operationId: recoverPlatformDiscountSharePolicy
      parameters:
        - name: id
          in: path
          description: 할인 분담 아이디
          required: true
          schema:
            type: string
          x-portone-title: 할인 분담 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 복원된 할인 분담 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RecoverPlatformDiscountSharePolicyResponse
          x-portone-description: 성공 응답으로 복원된 할인 분담 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformDiscountSharePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformDiscountSharePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformDiscountSharePolicyError'
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformDiscountSharePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 할인 분담 정책 복원
      x-portone-description: 주어진 아이디에 대응되는 할인 분담을 복원합니다.
      x-portone-error:
        $ref: '#/components/schemas/RecoverPlatformDiscountSharePolicyError'
  '/platform/discount-share-policies/{id}/schedule':
    get:
      description: 주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 조회합니다.
      operationId: getPlatformDiscountSharePolicySchedule
      parameters:
        - name: id
          in: path
          description: 할인 분담 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 할인 분담 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 예약된 할인 분담 정책을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          x-portone-description: 성공 응답으로 예약된 할인 분담 정책을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformDiscountSharePolicyScheduleError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformDiscountSharePolicyScheduleError
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformDiscountSharePolicyScheduleError
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformDiscountSharePolicyScheduleError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformDiscountSharePolicyScheduleError'
      x-portone-unstable: true
    put:
      description: 주어진 아이디에 대응되는 할인 분담에 예약 업데이트를 재설정합니다.
      operationId: rescheduleDiscountSharePolicy
      parameters:
        - name: id
          in: path
          description: 할인 분담 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 할인 분담 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReschedulePlatformDiscountSharePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 할인 분담 정책을 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ReschedulePlatformDiscountSharePolicyResponse
          x-portone-description: 성공 응답으로 예약된 할인 분담 정책을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleDiscountSharePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleDiscountSharePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleDiscountSharePolicyError'
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RescheduleDiscountSharePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 할인 분담에 예약 업데이트를 재설정합니다.
      x-portone-error:
        $ref: '#/components/schemas/RescheduleDiscountSharePolicyError'
      x-portone-unstable: true
    post:
      description: 주어진 아이디에 대응되는 할인 분담에 업데이트를 예약합니다.
      operationId: scheduleDiscountSharePolicy
      parameters:
        - name: id
          in: path
          description: 할인 분담 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 할인 분담 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulePlatformDiscountSharePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 할인 분담 정책이 반환됩니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/SchedulePlatformDiscountSharePolicyResponse
          x-portone-description: 성공 응답으로 예약된 할인 분담 정책이 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDiscountSharePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDiscountSharePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDiscountSharePolicyError'
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDiscountSharePolicyError'
        '409':
          description: >-
            * `PlatformDiscountSharePolicyScheduleAlreadyExistsError`

            * `PlatformArchivedDiscountSharePolicyError`: 보관된 할인 분담 정책을 업데이트하려고
            하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDiscountSharePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 할인 분담에 업데이트를 예약합니다.
      x-portone-error:
        $ref: '#/components/schemas/ScheduleDiscountSharePolicyError'
      x-portone-unstable: true
    delete:
      description: 주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 취소합니다.
      operationId: cancelPlatformDiscountSharePolicySchedule
      parameters:
        - name: id
          in: path
          description: 할인 분담 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 할인 분담 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformDiscountSharePolicyScheduleResponse
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformDiscountSharePolicyScheduleError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformDiscountSharePolicyScheduleError
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformDiscountSharePolicyScheduleError
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CancelPlatformDiscountSharePolicyScheduleError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 취소합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelPlatformDiscountSharePolicyScheduleError'
      x-portone-unstable: true
  '/platform/discount-share-policies/{id}':
    get:
      summary: 할인 분담 정책 조회
      description: |-
        할인 분담 정책 조회

        주어진 아이디에 대응되는 할인 분담을 조회합니다.
      operationId: getPlatformDiscountSharePolicy
      parameters:
        - name: id
          in: path
          description: 조회할 할인 분담 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회할 할인 분담 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 할인 분담 정책을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          x-portone-description: 성공 응답으로 할인 분담 정책을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePolicyError'
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 할인 분담 정책 조회
      x-portone-description: 주어진 아이디에 대응되는 할인 분담을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformDiscountSharePolicyError'
    patch:
      summary: 할인 분담 정책 수정
      description: |-
        할인 분담 정책 수정

        주어진 아이디에 대응되는 할인 분담을 업데이트합니다.
      operationId: updatePlatformDiscountSharePolicy
      parameters:
        - name: id
          in: path
          description: 업데이트할 할인 분담 정책 아이디
          required: true
          schema:
            type: string
          x-portone-title: 업데이트할 할인 분담 정책 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 업데이트된 할인 분담 정책을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyResponse'
          x-portone-description: 성공 응답으로 업데이트된 할인 분담 정책을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyError'
        '404':
          description: '* `PlatformDiscountSharePolicyNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyError'
        '409':
          description: >-
            * `PlatformArchivedDiscountSharePolicyError`: 보관된 할인 분담 정책을 업데이트하려고
            하는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 할인 분담 정책 수정
      x-portone-description: 주어진 아이디에 대응되는 할인 분담을 업데이트합니다.
      x-portone-error:
        $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyError'
  /platform/discount-share-policies:
    get:
      summary: 할인 분담 정책 다건 조회
      description: |-
        할인 분담 정책 다건 조회

        여러 할인 분담을 조회합니다.
      operationId: getPlatformDiscountSharePolicies
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePoliciesBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformDiscountSharePoliciesBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 할인 분담 정책 리스트와 페이지 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePoliciesResponse'
          x-portone-description: 성공 응답으로 조회된 할인 분담 정책 리스트와 페이지 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePoliciesError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePoliciesError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformDiscountSharePoliciesError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 할인 분담 정책 다건 조회
      x-portone-description: 여러 할인 분담을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformDiscountSharePoliciesError'
    post:
      summary: 할인 분담 정책 생성
      description: |-
        할인 분담 정책 생성

        새로운 할인 분담을 생성합니다.
      operationId: createPlatformDiscountSharePolicy
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformDiscountSharePolicyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 생성된 할인 분담 정책이 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformDiscountSharePolicyResponse'
          x-portone-description: 성공 응답으로 생성된 할인 분담 정책이 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformDiscountSharePolicyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformDiscountSharePolicyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformDiscountSharePolicyError'
        '409':
          description: '* `PlatformDiscountSharePolicyAlreadyExistsError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformDiscountSharePolicyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.policy
      x-portone-title: 할인 분담 정책 생성
      x-portone-description: 새로운 할인 분담을 생성합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformDiscountSharePolicyError'
  /platform/discount-share-policy-filter-options:
    get:
      description: 할인 분담 정책 다건 조회 시 필요한 필터 옵션을 조회합니다.
      operationId: getPlatformDiscountSharePolicyFilterOptions
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: isArchived
          in: query
          description: >-
            보관 조회 여부


            true 이면 보관된 할인 분담의 필터 옵션을 조회하고, false 이면 보관되지 않은 할인 분담의 필터 옵션을
            조회합니다. 기본값은 false 입니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 보관 조회 여부
          x-portone-description: >-
            true 이면 보관된 할인 분담의 필터 옵션을 조회하고, false 이면 보관되지 않은 할인 분담의 필터 옵션을
            조회합니다. 기본값은 false 입니다.
      responses:
        '200':
          description: 성공 응답으로 조회된 할인 분담 정책 필터 옵션을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformDiscountSharePolicyFilterOptions'
          x-portone-description: 성공 응답으로 조회된 할인 분담 정책 필터 옵션을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 할인 분담 정책 다건 조회 시 필요한 필터 옵션을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformDiscountSharePolicyFilterOptionsError'
      x-portone-unstable: true
  /platform/partner-filter-options:
    get:
      description: 파트너 다건 조회 시 필요한 필터 옵션을 조회합니다.
      operationId: getPlatformPartnerFilterOptions
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: isArchived
          in: query
          description: >-
            보관 조회 여부


            true 이면 보관된 파트너의 필터 옵션을 조회하고, false 이면 보관되지 않은 파트너의 필터 옵션을 조회합니다.
            기본값은 false 입니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 보관 조회 여부
          x-portone-description: >-
            true 이면 보관된 파트너의 필터 옵션을 조회하고, false 이면 보관되지 않은 파트너의 필터 옵션을 조회합니다.
            기본값은 false 입니다.
      responses:
        '200':
          description: 성공 응답으로 조회된 파트너 필터 옵션을 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformPartnerFilterOptions'
          x-portone-description: 성공 응답으로 조회된 파트너 필터 옵션을 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerFilterOptionsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerFilterOptionsError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerFilterOptionsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 파트너 다건 조회 시 필요한 필터 옵션을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformPartnerFilterOptionsError'
      x-portone-unstable: true
  /platform/partner-settlements/complete-payout:
    post:
      summary: 일괄 지급 완료 처리
      description: |-
        일괄 지급 완료 처리

        선택한 정산내역 아이디들로 일괄 지급을 완료 처리 합니다.
      operationId: completePlatformPayoutByPartnerSettlementIds
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsBody
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsResponse
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformNoSelectedPartnerSettlementsError`: 선택된 정산건이 없는 경우

            * `PlatformDuplicatedPartnerSettlementIdsError`: 선택된 정산건 아이디에 중복이 있는
            경우

            * `PlatformNonPayablePartnerSettlementsError`: 지급할 수 없는 정산건이 포함된 경우

            * `PlatformNegativePayoutAmountPartnersError`: 지급 금액의 총합이 음수인 파트너가
            존재하는 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsError
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsError
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsError
        '404':
          description: '* `PlatformPartnerSettlementsNotFoundError`: 요청한 정산건 목록을 찾을 수 없는 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsError
        '409':
          description: '* `PlatformBulkPayoutIdAlreadyExistsError`: 일괄 지급 아이디가 이미 존재하는 경우'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsError
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.payout
      x-portone-title: 일괄 지급 완료 처리
      x-portone-description: 선택한 정산내역 아이디들로 일괄 지급을 완료 처리 합니다.
      x-portone-error:
        $ref: '#/components/schemas/CompletePlatformPayoutByPartnerSettlementIdsError'
      x-portone-unstable: true
  /platform/partner-settlements/delete:
    post:
      summary: 정산내역 삭제
      description: |-
        정산내역 삭제

        선택한 정산내역들을 삭제합니다.
      operationId: deletePlatformPartnerSettlements
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeletePlatformPartnerSettlementsBody'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformPartnerSettlementsResponse'
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformNonDeletablePartnerSettlementsError`: 삭제할 수 없는 정산건이 포함된
            경우

            * `PlatformReferencedCancelOrderTransfersExistError`: 취소 정산건이 참조 중인
            정산건이 포함된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformPartnerSettlementsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformPartnerSettlementsError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformPartnerSettlementsError'
        '404':
          description: '* `PlatformPartnerSettlementsNotFoundError`: 요청한 정산건 목록을 찾을 수 없는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformPartnerSettlementsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partnerSettlement
      x-portone-title: 정산내역 삭제
      x-portone-description: 선택한 정산내역들을 삭제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DeletePlatformPartnerSettlementsError'
      x-portone-unstable: true
  /platform/partner-settlements:
    get:
      summary: 정산 내역 다건 조회
      description: |-
        정산 내역 다건 조회

        여러 정산 내역을 조회합니다.
      operationId: getPlatformPartnerSettlements
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerSettlementsBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformPartnerSettlementsBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 정산 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerSettlementsResponse'
          x-portone-description: 성공 응답으로 조회된 정산 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerSettlementsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerSettlementsError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerSettlementsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partnerSettlement
      x-portone-title: 정산 내역 다건 조회
      x-portone-description: 여러 정산 내역을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformPartnerSettlementsError'
  /platform/partners/batch:
    post:
      summary: 파트너 다건 생성
      description: |-
        파트너 다건 생성

        새로운 파트너를 다건 생성합니다.
      operationId: createPlatformPartners
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformPartnersBody'
        required: true
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnersResponse'
          x-portone-title: 성공 응답
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `PlatformPartnerIdsDuplicatedError`
            * `PlatformCurrencyNotSupportedError`: 지원 되지 않는 통화를 선택한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnersError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnersError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnersError'
        '404':
          description: |-
            * `PlatformContractsNotFoundError`
            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnersError'
        '409':
          description: '* `PlatformPartnerIdsAlreadyExistError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnersError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 다건 생성
      x-portone-description: 새로운 파트너를 다건 생성합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformPartnersError'
  '/platform/partners/counterparty-connect/{id}':
    post:
      summary: 파트너 거래처 연동
      description: |-
        파트너 거래처 연동

        파트너를 거래처에 연동합니다.
      operationId: connectPartnerCounterparty
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 파트너 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerCounterpartyResponse'
          x-portone-description: 성공 응답으로 파트너 객체를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformPartnerTypeIsNotBusinessError`: 파트너 유형이 사업자가 아닌 경우

            * `PlatformPartnerTaxationTypeIsSimpleError`: 파트너의 과세 유형이 간이 과세
            세금계산서 미발행 유형인 경우

            * `PlatformCounterpartyNotConnectableStatusError`: 파트너 거래처 연동 상태가 연동
            가능한 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerCounterpartyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerCounterpartyError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerCounterpartyError'
        '409':
          description: >-
            * `PlatformPartnerScheduleExistsError`: 파트너 수정 예약 건이 존재하는 경우

            * `PlatformArchivedPartnerError`: 보관된 파트너를 업데이트하려고 하는 경우

            * `PlatformArchivedPartnerNtsNotAllowedError`: 보관된 파트너는 국세청 연동/연동해제를
            할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerCounterpartyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 거래처 연동
      x-portone-description: 파트너를 거래처에 연동합니다.
      x-portone-error:
        $ref: '#/components/schemas/ConnectPartnerCounterpartyError'
  /platform/partners/counterparty-connect:
    post:
      summary: 파트너 일괄 거래처 연동
      description: |-
        파트너 일괄 거래처 연동

        파트너들을 일괄 거래처 연동합니다.
      operationId: connectBulkPartnerCounterparty
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 일괄 작업 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyResponse'
          x-portone-description: 성공 응답으로 일괄 작업 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyError'
        '404':
          description: |-
            * `PlatformPartnerNotFoundError`
            * `PlatformTargetPartnerNotFoundError`: 처리 대상 파트너가 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 일괄 거래처 연동
      x-portone-description: 파트너들을 일괄 거래처 연동합니다.
      x-portone-error:
        $ref: '#/components/schemas/ConnectBulkPartnerCounterpartyError'
  '/platform/partners/counterparty-disconnect/{id}':
    post:
      summary: 파트너 거래처 연동 해제
      description: |-
        파트너 거래처 연동 해제

        파트너를 거래처 연동 해제합니다.
      operationId: disconnectPartnerCounterparty
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 파트너 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerCounterpartyResponse'
          x-portone-description: 성공 응답으로 파트너 객체를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformPartnerTypeIsNotBusinessError`: 파트너 유형이 사업자가 아닌 경우

            * `PlatformPartnerTaxationTypeIsSimpleError`: 파트너의 과세 유형이 간이 과세
            세금계산서 미발행 유형인 경우

            * `PlatformCounterpartyNotConnectedError`: 파트너가 거래처로 연동 되어있지 않은 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerCounterpartyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerCounterpartyError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerCounterpartyError'
        '409':
          description: >-
            * `PlatformOngoingTaxInvoiceExistsError`: 진행 중인 세금계산서가 존재하는 경우

            * `PlatformArchivedPartnerNtsNotAllowedError`: 보관된 파트너는 국세청 연동/연동해제를
            할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerCounterpartyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 거래처 연동 해제
      x-portone-description: 파트너를 거래처 연동 해제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DisconnectPartnerCounterpartyError'
  /platform/partners/counterparty-disconnect:
    post:
      summary: 파트너 일괄 거래처 연동 해제
      description: |-
        파트너 일괄 거래처 연동 해제

        파트너들을 일괄 거래처 연동 해제합니다.
      operationId: disconnectBulkPartnerCounterparty
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 일괄 작업 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyResponse'
          x-portone-description: 성공 응답으로 일괄 작업 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyError'
        '404':
          description: |-
            * `PlatformPartnerNotFoundError`
            * `PlatformTargetPartnerNotFoundError`: 처리 대상 파트너가 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 일괄 거래처 연동 해제
      x-portone-description: 파트너들을 일괄 거래처 연동 해제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DisconnectBulkPartnerCounterpartyError'
  /platform/partners/schedule:
    post:
      operationId: schedulePlatformPartners
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulePlatformPartnersBody'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformPartnersResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformPartnersError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformPartnersError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformPartnersError'
        '404':
          description: |-
            * `PlatformContractNotFoundError`
            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformPartnersError'
        '409':
          description: >-
            * `PlatformPartnerSchedulesAlreadyExistError`

            * `PlatformArchivedPartnersCannotBeScheduledError`: 보관된 파트너들을 예약
            업데이트하려고 하는 경우

            * `PlatformMemberCompanyConnectedPartnersCannotBeScheduledError`: 연동
            사업자로 연동된 파트너들을 예약 수정하려고 시도한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformPartnersError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-error:
        $ref: '#/components/schemas/SchedulePlatformPartnersError'
      x-portone-unstable: true
  '/platform/partners/{id}/archive':
    post:
      summary: 파트너 보관
      description: |-
        파트너 보관

        주어진 아이디에 대응되는 파트너를 보관합니다.
      operationId: archivePlatformPartner
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 보관된 파트너 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformPartnerResponse'
          x-portone-description: 성공 응답으로 보관된 파트너 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformPartnerError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformPartnerError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformPartnerError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformPartnerError'
        '409':
          description: >-
            * `PlatformCannotArchiveScheduledPartnerError`: 예약된 업데이트가 있는 파트너를
            보관하려고 하는 경우

            * `PlatformCounterpartyOngoingTaxInvoiceExistsError`: 연동된 거래처에 진행 중인
            세금계산서가 있는 경우

            * `PlatformPartnerPendingNtsOperationError`: 파트너의 국세청 연동/해제가 진행 중인
            경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchivePlatformPartnerError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 보관
      x-portone-description: 주어진 아이디에 대응되는 파트너를 보관합니다.
      x-portone-error:
        $ref: '#/components/schemas/ArchivePlatformPartnerError'
  '/platform/partners/{id}/recover':
    post:
      summary: 파트너 복원
      description: |-
        파트너 복원

        주어진 아이디에 대응되는 파트너를 복원합니다.
      operationId: recoverPlatformPartner
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 복원된 파트너 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformPartnerResponse'
          x-portone-description: 성공 응답으로 복원된 파트너 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformPartnerError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformPartnerError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformPartnerError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformPartnerError'
        '409':
          description: >-
            * `PlatformPartnerPendingNtsOperationError`: 파트너의 국세청 연동/해제가 진행 중인
            경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecoverPlatformPartnerError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 복원
      x-portone-description: 주어진 아이디에 대응되는 파트너를 복원합니다.
      x-portone-error:
        $ref: '#/components/schemas/RecoverPlatformPartnerError'
  '/platform/partners/{id}/schedule':
    get:
      description: 주어진 아이디에 대응되는 파트너의 예약 업데이트를 조회합니다.
      operationId: getPlatformPartnerSchedule
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 예약된 파트너 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformPartner'
          x-portone-description: 성공 응답으로 예약된 파트너 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerScheduleError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerScheduleError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerScheduleError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerScheduleError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 파트너의 예약 업데이트를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformPartnerScheduleError'
      x-portone-unstable: true
    put:
      description: 주어진 아이디에 대응되는 파트너에 예약 업데이트를 재설정합니다.
      operationId: reschedulePartner
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReschedulePlatformPartnerBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 파트너 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReschedulePlatformPartnerResponse'
          x-portone-description: 성공 응답으로 예약된 파트너 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReschedulePartnerError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReschedulePartnerError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReschedulePartnerError'
        '404':
          description: |-
            * `PlatformPartnerNotFoundError`
            * `PlatformContractNotFoundError`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReschedulePartnerError'
        '409':
          description: >-
            * `PlatformMemberCompanyConnectedPartnerCannotBeScheduledError`: 연동
            사업자로 연동된 파트너를 예약 수정하려고 시도한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReschedulePartnerError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 파트너에 예약 업데이트를 재설정합니다.
      x-portone-error:
        $ref: '#/components/schemas/ReschedulePartnerError'
      x-portone-unstable: true
    post:
      description: 주어진 아이디에 대응되는 파트너에 업데이트를 예약합니다.
      operationId: schedulePartner
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulePlatformPartnerBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 예약된 파트너 객체가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePlatformPartnerResponse'
          x-portone-description: 성공 응답으로 예약된 파트너 객체가 반환됩니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformAccountVerificationFailedError`: 파트너 계좌 인증이 실패한 경우

            * `PlatformInsufficientDataToChangePartnerTypeError`: 파트너 타입 수정에 필요한
            데이터가 부족한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePartnerError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePartnerError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePartnerError'
        '404':
          description: >-
            * `PlatformPartnerNotFoundError`

            * `PlatformContractNotFoundError`

            * `PlatformAccountVerificationNotFoundError`: 파트너 계좌 검증 아이디를 찾을 수 없는
            경우

            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePartnerError'
        '409':
          description: >-
            * `PlatformPartnerScheduleAlreadyExistsError`

            * `PlatformArchivedPartnerError`: 보관된 파트너를 업데이트하려고 하는 경우

            * `PlatformAccountVerificationAlreadyUsedError`: 파트너 계좌 검증 아이디를 이미
            사용한 경우

            * `PlatformMemberCompanyConnectedPartnerBrnUnchangeableError`: 연동
            사업자로 연동된 파트너의 사업자등록번호를 변경하려고 시도한 경우

            * `PlatformMemberCompanyConnectedPartnerTypeUnchangeableError`: 연동
            사업자로 연동된 파트너의 파트너 유형을 변경하려고 시도한 경우

            * `PlatformCompanyVerificationAlreadyUsedError`: 파트너 사업자 검증 아이디를 이미
            사용한 경우

            * `PlatformMemberCompanyConnectedPartnerCannotBeScheduledError`: 연동
            사업자로 연동된 파트너를 예약 수정하려고 시도한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePartnerError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 파트너에 업데이트를 예약합니다.
      x-portone-error:
        $ref: '#/components/schemas/SchedulePartnerError'
      x-portone-unstable: true
    delete:
      description: 주어진 아이디에 대응되는 파트너의 예약 업데이트를 취소합니다.
      operationId: cancelPlatformPartnerSchedule
      parameters:
        - name: id
          in: path
          description: 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformPartnerScheduleResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformPartnerScheduleError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformPartnerScheduleError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformPartnerScheduleError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelPlatformPartnerScheduleError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-description: 주어진 아이디에 대응되는 파트너의 예약 업데이트를 취소합니다.
      x-portone-error:
        $ref: '#/components/schemas/CancelPlatformPartnerScheduleError'
      x-portone-unstable: true
  '/platform/partners/{id}':
    get:
      summary: 파트너 조회
      description: |-
        파트너 조회

        파트너 객체를 조회합니다.
      operationId: getPlatformPartner
      parameters:
        - name: id
          in: path
          description: 조회하고 싶은 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회하고 싶은 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 파트너 객체가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformPartner'
          x-portone-description: 성공 응답으로 파트너 객체가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnerError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 조회
      x-portone-description: 파트너 객체를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformPartnerError'
    patch:
      summary: 파트너 수정
      description: |-
        파트너 수정

        주어진 아이디에 대응되는 파트너 정보를 업데이트합니다.
      operationId: updatePlatformPartner
      parameters:
        - name: id
          in: path
          description: 업데이트할 파트너 아이디
          required: true
          schema:
            type: string
          x-portone-title: 업데이트할 파트너 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlatformPartnerBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 업데이트된 파트너 객체가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformPartnerResponse'
          x-portone-description: 성공 응답으로 업데이트된 파트너 객체가 반환됩니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformAccountVerificationFailedError`: 파트너 계좌 인증이 실패한 경우

            * `PlatformInsufficientDataToChangePartnerTypeError`: 파트너 타입 수정에 필요한
            데이터가 부족한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformPartnerError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformPartnerError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformPartnerError'
        '404':
          description: >-
            * `PlatformPartnerNotFoundError`

            * `PlatformContractNotFoundError`

            * `PlatformAccountVerificationNotFoundError`: 파트너 계좌 검증 아이디를 찾을 수 없는
            경우

            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformPartnerError'
        '409':
          description: >-
            * `PlatformArchivedPartnerError`: 보관된 파트너를 업데이트하려고 하는 경우

            * `PlatformAccountVerificationAlreadyUsedError`: 파트너 계좌 검증 아이디를 이미
            사용한 경우

            * `PlatformMemberCompanyConnectedPartnerBrnUnchangeableError`: 연동
            사업자로 연동된 파트너의 사업자등록번호를 변경하려고 시도한 경우

            * `PlatformCompanyVerificationAlreadyUsedError`: 파트너 사업자 검증 아이디를 이미
            사용한 경우

            * `PlatformMemberCompanyConnectedPartnerTypeUnchangeableError`: 연동
            사업자로 연동된 파트너의 파트너 유형을 변경하려고 시도한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformPartnerError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 수정
      x-portone-description: 주어진 아이디에 대응되는 파트너 정보를 업데이트합니다.
      x-portone-error:
        $ref: '#/components/schemas/UpdatePlatformPartnerError'
  /platform/partners:
    get:
      summary: 파트너 다건 조회
      description: |-
        파트너 다건 조회

        여러 파트너를 조회합니다.
      operationId: getPlatformPartners
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnersBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformPartnersBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 파트너 리스트와 페이지 정보가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnersResponse'
          x-portone-description: 성공 응답으로 조회된 파트너 리스트와 페이지 정보가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnersError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnersError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPartnersError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 다건 조회
      x-portone-description: 여러 파트너를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformPartnersError'
    post:
      summary: 파트너 생성
      description: |-
        파트너 생성

        새로운 파트너를 생성합니다.
      operationId: createPlatformPartner
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformPartnerBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 생성된 파트너 객체가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnerResponse'
          x-portone-description: 성공 응답으로 생성된 파트너 객체가 반환됩니다.
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `PlatformAccountVerificationFailedError`: 파트너 계좌 인증이 실패한 경우
            * `PlatformCurrencyNotSupportedError`: 지원 되지 않는 통화를 선택한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnerError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnerError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnerError'
        '404':
          description: >-
            * `PlatformContractNotFoundError`

            * `PlatformAccountVerificationNotFoundError`: 파트너 계좌 검증 아이디를 찾을 수 없는
            경우

            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnerError'
        '409':
          description: >-
            * `PlatformPartnerIdAlreadyExistsError`

            * `PlatformAccountVerificationAlreadyUsedError`: 파트너 계좌 검증 아이디를 이미
            사용한 경우

            * `PlatformCompanyVerificationAlreadyUsedError`: 파트너 사업자 검증 아이디를 이미
            사용한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformPartnerError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 생성
      x-portone-description: 새로운 파트너를 생성합니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformPartnerError'
  /platform/payouts:
    get:
      summary: 지급 내역 다건 조회
      description: |-
        지급 내역 다건 조회

        여러 지급 내역을 조회합니다.
      operationId: getPlatformPayouts
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPayoutsBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformPayoutsBody'
        required: false
      responses:
        '200':
          description: 성공 응답으로 조회된 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPayoutsResponse'
          x-portone-description: 성공 응답으로 조회된 지급 내역 리스트와 페이지 정보 및 상태 별 개수 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPayoutsError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPayoutsError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformPayoutsError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.payout
      x-portone-title: 지급 내역 다건 조회
      x-portone-description: 여러 지급 내역을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformPayoutsError'
  /platform/setting:
    get:
      summary: 플랫폼 설정 조회
      description: |-
        플랫폼 설정 조회

        설정 정보를 조회합니다.
      operationId: getPlatformSetting
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 플랫폼 설정 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformSetting'
          x-portone-description: 성공 응답으로 플랫폼 설정 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformSettingError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformSettingError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformSettingError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-title: 플랫폼 설정 조회
      x-portone-description: 설정 정보를 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformSettingError'
    patch:
      summary: 플랫폼 설정 업데이트
      description: |-
        플랫폼 설정 업데이트

        설정 정보를 업데이트합니다.
      operationId: updatePlatformSetting
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlatformSettingBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 플랫폼 설정 정보를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformSettingResponse'
          x-portone-description: 성공 응답으로 플랫폼 설정 정보를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformSettingError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformSettingError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePlatformSettingError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-title: 플랫폼 설정 업데이트
      x-portone-description: 설정 정보를 업데이트합니다.
      x-portone-error:
        $ref: '#/components/schemas/UpdatePlatformSettingError'
  /platform/transfer-summaries/sheet-file:
    get:
      summary: 정산 상세 내역 다운로드
      description: |-
        정산 상세 내역 다운로드

        정산 상세 내역을 csv 파일로 다운로드 합니다.
      operationId: downloadPlatformTransferSheet
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadPlatformTransferSheetBody'
          x-portone-query-or-body:
            enabled: true
            required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadPlatformTransferSheetBody'
        required: false
      responses:
        '200':
          description: ''
          content:
            text/csv:
              schema:
                type: string
                format: binary
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadPlatformTransferSheetError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadPlatformTransferSheetError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.transfer
      x-portone-title: 정산 상세 내역 다운로드
      x-portone-description: 정산 상세 내역을 csv 파일로 다운로드 합니다.
      x-portone-error:
        $ref: '#/components/schemas/DownloadPlatformTransferSheetError'
  /platform/transfer-summaries:
    get:
      summary: 정산건 다건 조회
      description: |-
        정산건 다건 조회

        성공 응답으로 조회된 정산건 요약 리스트와 페이지 정보가 반환됩니다.
      operationId: getPlatformTransferSummaries
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
        - name: requestBody
          in: query
          required: false
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferSummariesBody'
          x-portone-query-or-body:
            enabled: true
            required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPlatformTransferSummariesBody'
        required: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferSummariesResponse'
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferSummariesError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferSummariesError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferSummariesError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.transfer
      x-portone-title: 정산건 다건 조회
      x-portone-description: 성공 응답으로 조회된 정산건 요약 리스트와 페이지 정보가 반환됩니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformTransferSummariesError'
  /platform/transfers/manual:
    post:
      summary: 수기 정산건 생성
      description: |-
        수기 정산건 생성

        성공 응답으로 생성된 수기 정산건 객체가 반환됩니다.
      operationId: createPlatformManualTransfer
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformManualTransferBody'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateManualTransferResponse'
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `PlatformCurrencyNotSupportedError`: 지원 되지 않는 통화를 선택한 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformManualTransferError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformManualTransferError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformManualTransferError'
        '404':
          description: |-
            * `PlatformPartnerNotFoundError`
            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformManualTransferError'
        '409':
          description: '* `PlatformTransferIdAlreadyUsedError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformManualTransferError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.transfer
      x-portone-title: 수기 정산건 생성
      x-portone-description: 성공 응답으로 생성된 수기 정산건 객체가 반환됩니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformManualTransferError'
  /platform/transfers/order-cancel:
    post:
      summary: 주문 취소 정산건 생성
      description: |-
        주문 취소 정산건 생성

        성공 응답으로 생성된 주문 취소 정산건 객체가 반환됩니다.
      operationId: createPlatformOrderCancelTransfer
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformOrderCancelTransferBody'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderCancelTransferResponse'
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformOrderDetailMismatchedError`

            * `PlatformDiscountSharePolicyIdDuplicatedError`

            * `PlatformCancellableAmountExceededError`: 취소 가능한 금액이 초과한 경우

            * `PlatformCancellableDiscountAmountExceededError`

            * `PlatformCancellableDiscountTaxFreeAmountExceededError`

            * `PlatformProductIdDuplicatedError`

            * `PlatformCancellableProductQuantityExceededError`

            * `PlatformOrderTransferAlreadyCancelledError`

            * `PlatformSettlementAmountExceededError`: 정산 가능한 금액을 초과한 경우

            * `PlatformCancellationAndPaymentTypeMismatchedError`

            * `PlatformSettlementCancelAmountExceededPortOneCancelError`: 정산 취소
            요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우

            * `PlatformCannotSpecifyTransferError`: 정산 건 식별에 실패한 경우

            * `PlatformSettlementDateEarlierThanSettlementStartDateError`: 정산일이
            정산 시작일보다 빠른 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderCancelTransferError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderCancelTransferError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderCancelTransferError'
        '404':
          description: |-
            * `PlatformTransferNotFoundError`
            * `PlatformCancellationNotFoundError`
            * `PlatformPaymentNotFoundError`
            * `PlatformProductIdNotFoundError`
            * `PlatformTransferDiscountSharePolicyNotFoundError`
            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderCancelTransferError'
        '409':
          description: |-
            * `PlatformTransferAlreadyExistsError`
            * `PlatformTransferIdAlreadyUsedError`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderCancelTransferError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.transfer
      x-portone-title: 주문 취소 정산건 생성
      x-portone-description: 성공 응답으로 생성된 주문 취소 정산건 객체가 반환됩니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformOrderCancelTransferError'
  /platform/transfers/order:
    post:
      summary: 주문 정산건 생성
      description: |-
        주문 정산건 생성

        성공 응답으로 생성된 주문 정산건 객체가 반환됩니다.
      operationId: createPlatformOrderTransfer
      parameters:
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformOrderTransferBody'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderTransferResponse'
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

            * `PlatformProductIdDuplicatedError`

            * `PlatformSettlementPaymentAmountExceededPortOnePaymentError`: 정산
            요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우

            * `PlatformSettlementTaxFreeAmountExceededPortOnePaymentError`: 정산
            요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우

            *
            `PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError`:
            정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우

            * `PlatformSettlementAmountExceededError`: 정산 가능한 금액을 초과한 경우

            *
            `PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError`

            *
            `PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError`

            * `PlatformCurrencyNotSupportedError`: 지원 되지 않는 통화를 선택한 경우

            * `PlatformSettlementDateEarlierThanSettlementStartDateError`: 정산일이
            정산 시작일보다 빠른 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderTransferError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderTransferError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderTransferError'
        '404':
          description: |-
            * `PlatformPartnerNotFoundError`
            * `PlatformContractNotFoundError`
            * `PlatformAdditionalFeePoliciesNotFoundError`
            * `PlatformDiscountSharePoliciesNotFoundError`
            * `PlatformPaymentNotFoundError`
            * `PlatformUserDefinedPropertyNotFoundError`: 사용자 정의 속성이 존재 하지 않는 경우
            * `PlatformSettlementParameterNotFoundError`: 정산 파라미터가 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderTransferError'
        '409':
          description: |-
            * `PlatformTransferAlreadyExistsError`
            * `PlatformTransferIdAlreadyUsedError`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePlatformOrderTransferError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.transfer
      x-portone-title: 주문 정산건 생성
      x-portone-description: 성공 응답으로 생성된 주문 정산건 객체가 반환됩니다.
      x-portone-error:
        $ref: '#/components/schemas/CreatePlatformOrderTransferError'
  '/platform/transfers/{id}':
    get:
      summary: 정산건 조회
      description: |-
        정산건 조회

        정산건을 조회합니다.
      operationId: getPlatformTransfer
      parameters:
        - name: id
          in: path
          description: 조회하고 싶은 정산건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회하고 싶은 정산건 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: 성공 응답으로 정산건 객체가 반환됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformTransfer'
          x-portone-description: 성공 응답으로 정산건 객체가 반환됩니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferError'
        '404':
          description: '* `PlatformTransferNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPlatformTransferError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.transfer
      x-portone-title: 정산건 조회
      x-portone-description: 정산건을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPlatformTransferError'
    delete:
      summary: 정산건 삭제
      description: |-
        정산건 삭제

        scheduled, in_process 상태의 정산건만 삭제가능합니다.
      operationId: deletePlatformTransfer
      parameters:
        - name: id
          in: path
          description: 정산건 아이디
          required: true
          schema:
            type: string
          x-portone-title: 정산건 아이디
        - name: test
          in: query
          description: >-
            테스트 모드 여부


            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
          required: false
          schema:
            type: boolean
          x-portone-title: 테스트 모드 여부
          x-portone-description: >-
            테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가
            있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의
            isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두
            값이 제공되지 않으면 기본값인 false로 적용됩니다.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformTransferResponse'
        '400':
          description: |-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우
            * `PlatformCancelOrderTransfersExistsError`
            * `PlatformTransferNonDeletableStatusError`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformTransferError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformTransferError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformTransferError'
        '404':
          description: '* `PlatformTransferNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePlatformTransferError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.transfer
      x-portone-title: 정산건 삭제
      x-portone-description: 'scheduled, in_process 상태의 정산건만 삭제가능합니다.'
      x-portone-error:
        $ref: '#/components/schemas/DeletePlatformTransferError'
  '/promotions/{promotionId}':
    get:
      summary: 프로모션 단건 조회
      description: |-
        프로모션 단건 조회

        주어진 아이디에 대응되는 프로모션을 조회합니다.
      operationId: getPromotion
      parameters:
        - name: promotionId
          in: path
          description: 조회할 프로모션 아이디
          required: true
          schema:
            type: string
          x-portone-title: 조회할 프로모션 아이디
      responses:
        '200':
          description: 성공 응답으로 프로모션 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Promotion'
          x-portone-title: 성공 응답으로 프로모션 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPromotionError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPromotionError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPromotionError'
        '404':
          description: '* `PromotionNotFoundError`: 프로모션이 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPromotionError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: payment.promotion
      x-portone-title: 프로모션 단건 조회
      x-portone-description: 주어진 아이디에 대응되는 프로모션을 조회합니다.
      x-portone-error:
        $ref: '#/components/schemas/GetPromotionError'
  /token/refresh:
    post:
      summary: 토큰 갱신
      description: |-
        토큰 갱신

        리프레시 토큰을 사용해 유효기간이 연장된 새로운 토큰을 재발급합니다.
      operationId: refreshToken
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefreshTokenBody'
            example:
              refreshToken: previous-refresh-token
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefreshTokenResponse'
              example:
                accessToken: new-access-token
                refreshToken: new-refresh-token
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefreshTokenError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefreshTokenError'
      x-portone-category: auth
      x-portone-title: 토큰 갱신
      x-portone-description: 리프레시 토큰을 사용해 유효기간이 연장된 새로운 토큰을 재발급합니다.
      x-portone-error:
        $ref: '#/components/schemas/RefreshTokenError'
components:
  schemas:
    Address:
      title: 분리 형식 주소
      description: |-
        분리 형식 주소

        oneLine(한 줄 형식 주소) 필드는 항상 존재합니다.
      oneOf:
        - $ref: '#/components/schemas/OneLineAddress'
        - $ref: '#/components/schemas/SeparatedAddress'
      discriminator:
        propertyName: type
        mapping:
          ONE_LINE: '#/components/schemas/OneLineAddress'
          SEPARATED: '#/components/schemas/SeparatedAddress'
      x-portone-title: 분리 형식 주소
      x-portone-description: oneLine(한 줄 형식 주소) 필드는 항상 존재합니다.
      x-portone-discriminator:
        ONE_LINE:
          title: 한 줄 형식
        SEPARATED:
          title: 분리 형식
    AlreadyPaidError:
      title: 결제가 이미 완료된 경우
      description: 결제가 이미 완료된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제가 이미 완료된 경우
      x-portone-status-code: 409
    AlreadyPaidOrWaitingError:
      title: 결제가 이미 완료되었거나 대기중인 경우
      description: 결제가 이미 완료되었거나 대기중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제가 이미 완료되었거나 대기중인 경우
      x-portone-status-code: 409
    ApplyEscrowLogisticsError:
      title: ApplyEscrowLogisticsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PaymentNotPaidError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PAYMENT_NOT_PAID: '#/components/schemas/PaymentNotPaidError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ApplyEscrowLogisticsResponse:
      title: 에스크로 배송 정보 등록 성공 응답
      description: 에스크로 배송 정보 등록 성공 응답
      type: object
      required:
        - invoiceNumber
        - sentAt
        - appliedAt
      properties:
        invoiceNumber:
          type: string
          title: 송장 번호
        sentAt:
          type: string
          format: date-time
          title: 발송 시점
        appliedAt:
          type: string
          format: date-time
          title: 에스크로 정보 등록 시점
      x-portone-title: 에스크로 배송 정보 등록 성공 응답
    ArchivePlatformAdditionalFeePolicyError:
      title: ArchivePlatformAdditionalFeePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformCannotArchiveScheduledAdditionalFeePolicyError
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_CANNOT_ARCHIVE_SCHEDULED_ADDITIONAL_FEE_POLICY: >-
            #/components/schemas/PlatformCannotArchiveScheduledAdditionalFeePolicyError
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ArchivePlatformAdditionalFeePolicyResponse:
      title: 추가 수수료 정책 보관 성공 응답
      description: 추가 수수료 정책 보관 성공 응답
      type: object
      required:
        - additionalFeePolicy
      properties:
        additionalFeePolicy:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          title: 보관된 추가 수수료 정책
      x-portone-title: 추가 수수료 정책 보관 성공 응답
    ArchivePlatformContractError:
      title: ArchivePlatformContractError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformCannotArchiveScheduledContractError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CANNOT_ARCHIVE_SCHEDULED_CONTRACT: '#/components/schemas/PlatformCannotArchiveScheduledContractError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ArchivePlatformContractResponse:
      title: 계약 보관 성공 응답
      description: 계약 보관 성공 응답
      type: object
      required:
        - contract
      properties:
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 보관된 계약
      x-portone-title: 계약 보관 성공 응답
    ArchivePlatformDiscountSharePolicyError:
      title: ArchivePlatformDiscountSharePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: >-
            #/components/schemas/PlatformCannotArchiveScheduledDiscountSharePolicyError
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CANNOT_ARCHIVE_SCHEDULED_DISCOUNT_SHARE_POLICY: >-
            #/components/schemas/PlatformCannotArchiveScheduledDiscountSharePolicyError
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ArchivePlatformDiscountSharePolicyResponse:
      title: 할인 분담 보관 성공 응답
      description: 할인 분담 보관 성공 응답
      type: object
      required:
        - discountSharePolicy
      properties:
        discountSharePolicy:
          $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          title: 보관된 할인 분담
      x-portone-title: 할인 분담 보관 성공 응답
    ArchivePlatformPartnerError:
      title: ArchivePlatformPartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformCannotArchiveScheduledPartnerError'
        - $ref: >-
            #/components/schemas/PlatformCounterpartyOngoingTaxInvoiceExistsError
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformPartnerPendingNtsOperationError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CANNOT_ARCHIVE_SCHEDULED_PARTNER: '#/components/schemas/PlatformCannotArchiveScheduledPartnerError'
          PLATFORM_COUNTERPARTY_ONGOING_TAX_INVOICE_EXISTS: >-
            #/components/schemas/PlatformCounterpartyOngoingTaxInvoiceExistsError
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_PARTNER_PENDING_NTS_OPERATION: '#/components/schemas/PlatformPartnerPendingNtsOperationError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ArchivePlatformPartnerResponse:
      title: 파트너 보관 성공 응답
      description: 파트너 보관 성공 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 보관된 파트너
      x-portone-title: 파트너 보관 성공 응답
    AttachB2bTaxInvoiceFileBody:
      title: 세금계산서 파일 첨부 정보
      description: 세금계산서 파일 첨부 정보
      type: object
      required:
        - fileId
      properties:
        fileId:
          type: string
          title: 파일 아이디
      x-portone-title: 세금계산서 파일 첨부 정보
    AttachB2bTaxInvoiceFileError:
      title: AttachB2bTaxInvoiceFileError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bFileNotFoundError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_FILE_NOT_FOUND: '#/components/schemas/B2bFileNotFoundError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    B2BCannotChangeTaxTypeError:
      title: 세금계산서 과세 유형을 수정할 수 없는 경우
      description: 세금계산서 과세 유형을 수정할 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서 과세 유형을 수정할 수 없는 경우
      x-portone-status-code: 400
    B2BTaxInvoiceStatusNotSendingCompletedError:
      title: 원본 세금계산서가 전송완료 상태가 아닌 경우
      description: 원본 세금계산서가 전송완료 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 원본 세금계산서가 전송완료 상태가 아닌 경우
      x-portone-status-code: 400
    B2bBulkTaxInvoice:
      title: B2bBulkTaxInvoice
      type: object
      required:
        - id
        - graphqlId
        - status
        - totalInvoiceCount
        - totalAmount
        - stats
        - createdAt
        - statusUpdatedAt
        - sourceType
        - issuanceType
      properties:
        id:
          type: string
          title: 일괄 세금계산서 고유 아이디
        graphqlId:
          type: string
        name:
          type: string
        status:
          $ref: '#/components/schemas/B2bBulkTaxInvoiceStatus'
        totalInvoiceCount:
          type: integer
          format: int32
        totalAmount:
          type: integer
          format: int64
        stats:
          $ref: '#/components/schemas/Map_Stat'
        createdAt:
          type: string
          format: date-time
        scheduledAt:
          type: string
          format: date-time
        requestedAt:
          type: string
          format: date-time
        statusUpdatedAt:
          type: string
          format: date-time
        sourceType:
          $ref: '#/components/schemas/B2bBulkTaxInvoiceSourceType'
        issuanceType:
          $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType'
    B2bBulkTaxInvoiceNotFoundError:
      title: 일괄 세금계산서가 존재하지 않은 경우
      description: 일괄 세금계산서가 존재하지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 일괄 세금계산서가 존재하지 않은 경우
      x-portone-status-code: 404
    B2bBulkTaxInvoiceSourceType:
      title: 그룹 생성 방식
      description: 그룹 생성 방식
      type: string
      enum:
        - SHEET
        - PLATFORM
      x-portone-title: 그룹 생성 방식
      x-portone-enum:
        SHEET:
          title: 엑셀 업로드
        PLATFORM:
          title: 지급 데이터 기반 생성
    B2bBulkTaxInvoiceStat:
      title: 세금계산서 상태별 집계 정보
      description: 세금계산서 상태별 집계 정보
      type: object
      required:
        - count
        - amountSum
      properties:
        count:
          type: integer
          format: int32
        amountSum:
          type: integer
          format: int64
      x-portone-title: 세금계산서 상태별 집계 정보
    B2bBulkTaxInvoiceStatus:
      title: 일괄 세금계산서 상태
      description: 일괄 세금계산서 상태
      type: string
      enum:
        - DRAFT_PENDING
        - DRAFTED
        - REQUEST_PENDING
        - ISSUE_PENDING
        - IN_PROGRESS
        - COMPLETED
        - FAILED
        - CANCELLED
      x-portone-title: 일괄 세금계산서 상태
      x-portone-enum:
        CANCELLED: {}
        REQUEST_PENDING: {}
        DRAFT_PENDING: {}
        FAILED: {}
        IN_PROGRESS: {}
        DRAFTED: {}
        ISSUE_PENDING: {}
        COMPLETED: {}
    B2bBusinessInfo:
      title: 사업자등록 정보
      description: 사업자등록 정보
      type: object
      required:
        - brn
        - name
        - ceoName
        - zipCode
        - address
        - businessEntityType
        - businessStatus
        - taxationType
        - openingDate
        - businessType
        - businessClass
        - businessCategoryCode
      properties:
        brn:
          type: string
          title: 사업자등록번호
        name:
          type: string
          title: 상호
        ceoName:
          type: string
          title: 대표자명
        zipCode:
          type: string
          title: 우편번호
        address:
          type: string
          title: 주소
        businessEntityType:
          type: string
          title: 사업자 유형
        businessStatus:
          type: string
          title: 사업 상태
        taxationType:
          type: string
          title: 과세 유형
        simplifiedTaxationTypeDate:
          type: string
          title: 간이과세-일반과세 전환일
        closingDate:
          type: string
          title: 폐업일
        openingDate:
          type: string
          title: 개업일
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 종목
        businessCategoryCode:
          type: string
          title: 업종코드
        corpRegNo:
          type: string
          title: 법인등록번호
        phoneNumber:
          type: string
          title: 전화번호
        taxOfficeCode:
          type: string
          title: 관할세무서코드
        taxOfficeName:
          type: string
          title: 관할세무서명
      x-portone-title: 사업자등록 정보
    B2bBusinessInfoResult:
      title: 사업자등록 정보조회 결과
      description: 사업자등록 정보조회 결과
      type: object
      required:
        - brn
      properties:
        brn:
          type: string
          title: 사업자등록번호
        businessInfo:
          $ref: '#/components/schemas/B2bBusinessInfo'
          title: 사업자등록 정보
        error:
          type: string
          title: 조회 실패 시 에러 메시지
        verificationId:
          type: string
          title: 조회 결과 ID
          description: 거래처 생성/수정 시 사업자 정보 조회 결과를 재사용하기 위한 ID입니다. 조회 성공 시에만 설정됩니다.
      x-portone-title: 사업자등록 정보조회 결과
    B2bCertificate:
      title: B2bCertificate
      type: object
      required:
        - registeredAt
        - expiredAt
        - issuerName
        - subjectName
        - certificateType
        - oid
        - registrantContactName
        - registrantContactId
      properties:
        registeredAt:
          type: string
          format: date-time
          title: 등록일시
        expiredAt:
          type: string
          format: date-time
          title: 만료일시
        issuerName:
          type: string
          title: 발행자명
        subjectName:
          type: string
          title: 본인명
        certificateType:
          $ref: '#/components/schemas/B2bCertificateType'
          title: 인증서 타입
        oid:
          type: string
          title: OID
        registrantContactName:
          type: string
          title: 등록 담당자 성명
        registrantContactId:
          type: string
          title: 등록 담당자 ID
    B2bCertificateType:
      title: 인증서 타입
      description: 인증서 타입
      type: string
      enum:
        - E_TAX
        - PORTONE
        - ETC
      x-portone-title: 인증서 타입
      x-portone-enum:
        E_TAX:
          title: 전자세금용 공동인증서
        PORTONE:
          title: 특수목적용 공동인증서
        ETC:
          title: 기타
    B2bCertificateUnregisteredError:
      title: 인증서가 등록되어 있지 않은 경우
      description: 인증서가 등록되어 있지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 인증서가 등록되어 있지 않은 경우
      x-portone-status-code: 404
    B2bCompanyStateBusinessStatus:
      title: 영업 상태
      description: 영업 상태
      type: string
      enum:
        - IN_BUSINESS
        - CLOSED
        - SUSPENDED
      x-portone-title: 영업 상태
      x-portone-enum:
        IN_BUSINESS:
          title: 영업중
        CLOSED:
          title: 폐업
        SUSPENDED:
          title: 휴업
    B2bCounterparty:
      title: 거래처
      description: |-
        거래처

        B2B 거래처 정보입니다.
      type: object
      required:
        - id
        - graphqlId
        - isForTest
        - brn
        - companyName
        - representativeName
        - contact
        - additionalContacts
        - ntsConnectionStatus
      properties:
        id:
          type: string
          title: 거래처 고유 아이디
        graphqlId:
          type: string
        isForTest:
          type: boolean
          title: 테스트 모드 여부
        brn:
          type: string
          title: 사업자등록번호
          description: '`-` 없이 숫자로만 구성됩니다.'
        companyName:
          type: string
          title: 상호명
        representativeName:
          type: string
          title: 대표자 성명
        address:
          type: string
          title: 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        contact:
          $ref: '#/components/schemas/B2bCounterpartyContact'
          title: 담당자 정보
        additionalContacts:
          title: 추가 담당자 목록
          type: array
          items:
            $ref: '#/components/schemas/B2bCounterpartyContact'
          description: 최대 5명까지 등록할 수 있습니다.
        memo:
          type: string
          title: 메모
        ntsConnectionStatus:
          $ref: '#/components/schemas/B2bNtsConnectionStatus'
          title: 국세청 연동 상태
        ntsConnectedAt:
          type: string
          format: date-time
          title: 국세청 연동 시각
        ntsConnectionFailedReason:
          type: string
          title: 국세청 연동 실패 사유
        partnerId:
          type: string
          title: 파트너 연동 ID
          description: 파트너 연동 거래처인 경우에만 존재합니다.
        businessStatus:
          $ref: '#/components/schemas/B2bCounterpartyBusinessStatus'
          title: 휴폐업 상태
        businessStatusCheckedAt:
          type: string
          format: date-time
          title: 휴폐업 상태 확인 시각
        businessStatusVerification:
          $ref: '#/components/schemas/B2bCounterpartyVerification'
          title: 휴폐업 상태 검증 정보
        businessInfoVerification:
          $ref: '#/components/schemas/B2bCounterpartyVerification'
          title: 사업자 정보 검증 정보
        appliedAt:
          type: string
          format: date-time
          title: 적용 시각
      x-portone-title: 거래처
      x-portone-description: B2B 거래처 정보입니다.
    B2bCounterpartyBrnInvalidError:
      title: 사업자등록번호가 유효하지 않은 경우
      description: 사업자등록번호가 유효하지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 사업자등록번호가 유효하지 않은 경우
      x-portone-status-code: 400
    B2bCounterpartyBrnModificationNotAllowedError:
      title: 사업자등록번호 수정이 허용되지 않는 경우
      description: |-
        사업자등록번호 수정이 허용되지 않는 경우

        거래처의 사업자등록번호는 수정할 수 없습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 사업자등록번호 수정이 허용되지 않는 경우
      x-portone-description: 거래처의 사업자등록번호는 수정할 수 없습니다.
      x-portone-status-code: 400
    B2bCounterpartyBusinessStatus:
      title: 거래처 휴폐업 상태
      description: 거래처 휴폐업 상태
      type: string
      enum:
        - UNKNOWN
        - IN_BUSINESS
        - CLOSED
        - SUSPENDED
        - NOT_FOUND
        - CHECK_PENDING
        - CHECK_FAILED
      x-portone-title: 거래처 휴폐업 상태
      x-portone-enum:
        SUSPENDED:
          title: 휴업
        IN_BUSINESS:
          title: 영업중
        CHECK_PENDING:
          title: 조회 대기
          description: 일괄 등록 시 조회 대기 상태입니다.
        NOT_FOUND:
          title: 사업체 미등록
        UNKNOWN:
          title: 미조회
        CLOSED:
          title: 폐업
        CHECK_FAILED:
          title: 조회 실패
    B2bCounterpartyContact:
      title: 거래처 담당자 정보
      description: 거래처 담당자 정보
      type: object
      required:
        - name
        - email
      properties:
        name:
          type: string
          title: 담당자 성명
        phoneNumber:
          type: string
          title: 담당자 전화번호
        email:
          type: string
          title: 담당자 이메일
        memo:
          type: string
          title: 담당자 메모
      x-portone-title: 거래처 담당자 정보
    B2bCounterpartyContactInput:
      title: 거래처 담당자 입력 정보
      description: 거래처 담당자 입력 정보
      type: object
      required:
        - name
        - email
      properties:
        name:
          type: string
          title: 담당자 성명
        phoneNumber:
          type: string
          title: 담당자 전화번호
        email:
          type: string
          title: 담당자 이메일
        memo:
          type: string
          title: 담당자 메모
      x-portone-title: 거래처 담당자 입력 정보
    B2bCounterpartyCreateOptions:
      title: 거래처 생성 옵션
      description: 거래처 생성 옵션
      type: object
      properties:
        checkBusinessInfo:
          type: boolean
          title: 사업자 정보 조회 여부
          description: true인 경우 사업자 정보를 조회하여 거래처에 반영합니다.
        checkBusinessStatus:
          type: boolean
          title: 휴폐업 상태 조회 여부
          description: true인 경우 휴폐업 상태를 조회하여 거래처에 반영합니다.
        businessInfoVerificationId:
          type: string
          title: 사업자 정보 조회 결과 ID
          description: 이전에 조회한 사업자 정보 조회 결과의 ID를 입력하면 재조회 없이 해당 결과를 사용합니다.
        businessStatusVerificationId:
          type: string
          title: 휴폐업 상태 조회 결과 ID
          description: 이전에 조회한 휴폐업 상태 조회 결과의 ID를 입력하면 재조회 없이 해당 결과를 사용합니다.
      x-portone-title: 거래처 생성 옵션
    B2bCounterpartyFilter:
      title: 거래처 검색 필터
      description: 거래처 검색 필터
      type: object
      properties:
        id:
          type: string
          title: 거래처 ID
          description: prefix 검색
        brn:
          type: string
          title: 사업자등록번호
        companyName:
          type: string
          title: 거래처명
          description: 포함 검색
        representativeName:
          type: string
          title: 대표자명
        contactName:
          type: string
          title: 담당자 이름
        contactPhone:
          type: string
          title: 담당자 전화번호
        contactEmail:
          type: string
          title: 담당자 이메일
        businessStatuses:
          title: 휴폐업 상태
          type: array
          items:
            $ref: '#/components/schemas/B2bCounterpartyBusinessStatus'
        ntsConnectionStatuses:
          title: 국세청 연동 상태
          type: array
          items:
            $ref: '#/components/schemas/B2bNtsConnectionStatus'
        counterpartyIds:
          type: array
          items:
            type: string
          title: 거래처 ID 목록
          description: 특정 ID 목록으로 필터링
      x-portone-title: 거래처 검색 필터
    B2bCounterpartyIdAlreadyExistsByPartnerError:
      title: 파트너 연동으로 생성된 거래처 ID가 이미 사용중인 경우
      description: |-
        파트너 연동으로 생성된 거래처 ID가 이미 사용중인 경우

        파트너 연동으로 생성된 거래처 ID는 재사용할 수 없습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 연동으로 생성된 거래처 ID가 이미 사용중인 경우
      x-portone-description: 파트너 연동으로 생성된 거래처 ID는 재사용할 수 없습니다.
      x-portone-status-code: 409
    B2bCounterpartyIdAlreadyExistsError:
      title: 거래처 ID가 이미 사용중인 경우
      description: 거래처 ID가 이미 사용중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 거래처 ID가 이미 사용중인 경우
      x-portone-status-code: 409
    B2bCounterpartyInput:
      title: 거래처 입력 정보
      description: 거래처 입력 정보
      type: object
      required:
        - brn
      properties:
        brn:
          type: string
          title: 사업자등록번호
          description: '`-` 없이 숫자로만 구성됩니다.'
        name:
          type: string
          title: 거래처명
        representativeName:
          type: string
          title: 대표자 성명
        address:
          type: string
          title: 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        contact:
          $ref: '#/components/schemas/B2bCounterpartyContactInput'
          title: 담당자 정보
        additionalContacts:
          title: 추가 담당자 목록
          type: array
          items:
            $ref: '#/components/schemas/B2bCounterpartyContactInput'
          description: 최대 5명까지 등록할 수 있습니다.
        memo:
          type: string
          title: 메모
      x-portone-title: 거래처 입력 정보
    B2bCounterpartyMissingRequiredFieldsError:
      title: 필수 입력 항목이 누락된 경우
      description: |-
        필수 입력 항목이 누락된 경우

        거래처 생성/수정 시 필수 입력 항목이 누락되었습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 필수 입력 항목이 누락된 경우
      x-portone-description: 거래처 생성/수정 시 필수 입력 항목이 누락되었습니다.
      x-portone-status-code: 400
    B2bCounterpartyNotFoundError:
      title: 거래처가 존재하지 않는 경우
      description: 거래처가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
        counterpartyId:
          type: string
      x-portone-title: 거래처가 존재하지 않는 경우
      x-portone-status-code: 404
    B2bCounterpartyNtsConnectionFailedError:
      title: 국세청 연동에 실패한 경우
      description: 국세청 연동에 실패한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 국세청 연동에 실패한 경우
      x-portone-status-code: 502
    B2bCounterpartyNtsNotConnectedError:
      title: 국세청에 연동되어 있지 않은 경우
      description: 국세청에 연동되어 있지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
        brn:
          type: string
        counterpartyId:
          type: string
      x-portone-title: 국세청에 연동되어 있지 않은 경우
      x-portone-status-code: 400
    B2bCounterpartyOngoingTaxInvoiceExistsError:
      title: 진행 중인 세금계산서가 존재하여 거래처를 삭제할 수 없는 경우
      description: 진행 중인 세금계산서가 존재하여 거래처를 삭제할 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 진행 중인 세금계산서가 존재하여 거래처를 삭제할 수 없는 경우
      x-portone-status-code: 409
    B2bCounterpartyPartnerNotConnectableError:
      title: 파트너 연동 거래처는 국세청 연동이 허용되지 않는 경우
      description: |-
        파트너 연동 거래처는 국세청 연동이 허용되지 않는 경우

        파트너와 연동된 거래처는 국세청 연동을 직접 수행할 수 없습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 연동 거래처는 국세청 연동이 허용되지 않는 경우
      x-portone-description: 파트너와 연동된 거래처는 국세청 연동을 직접 수행할 수 없습니다.
      x-portone-status-code: 403
    B2bCounterpartyPartnerNotDeletableError:
      title: 파트너 연동 거래처는 삭제할 수 없는 경우
      description: |-
        파트너 연동 거래처는 삭제할 수 없는 경우

        파트너와 연동된 거래처는 직접 삭제할 수 없습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 연동 거래처는 삭제할 수 없는 경우
      x-portone-description: 파트너와 연동된 거래처는 직접 삭제할 수 없습니다.
      x-portone-status-code: 403
    B2bCounterpartyPartnerNotUpdatableError:
      title: 파트너 연동 거래처는 수정할 수 없는 경우
      description: |-
        파트너 연동 거래처는 수정할 수 없는 경우

        파트너와 연동된 거래처는 직접 수정할 수 없습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 연동 거래처는 수정할 수 없는 경우
      x-portone-description: 파트너와 연동된 거래처는 직접 수정할 수 없습니다.
      x-portone-status-code: 403
    B2bCounterpartySelfOriginBrnMismatchError:
      title: 자사 사업자등록번호와 동일한 거래처를 생성할 수 없는 경우
      description: 자사 사업자등록번호와 동일한 거래처를 생성할 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 자사 사업자등록번호와 동일한 거래처를 생성할 수 없는 경우
      x-portone-status-code: 400
    B2bCounterpartyTooManyAdditionalContactsError:
      title: 추가 담당자가 너무 많은 경우
      description: |-
        추가 담당자가 너무 많은 경우

        추가 담당자는 최대 5명까지 등록할 수 있습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 추가 담당자가 너무 많은 경우
      x-portone-description: 추가 담당자는 최대 5명까지 등록할 수 있습니다.
      x-portone-status-code: 400
    B2bCounterpartyVerification:
      title: 거래처 검증 정보
      description: 거래처 검증 정보
      type: object
      required:
        - id
        - checkedAt
      properties:
        id:
          type: string
          title: 외부 API 사용 ID
        checkedAt:
          type: string
          format: date-time
          title: 검증 시각
      x-portone-title: 거래처 검증 정보
    B2bCounterpartyVerificationBrnMismatchError:
      title: 검증 결과의 사업자등록번호가 일치하지 않는 경우
      description: 검증 결과의 사업자등록번호가 일치하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 검증 결과의 사업자등록번호가 일치하지 않는 경우
      x-portone-status-code: 400
    B2bCounterpartyVerificationInvalidError:
      title: 검증 결과가 유효하지 않은 경우
      description: 검증 결과가 유효하지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 검증 결과가 유효하지 않은 경우
      x-portone-status-code: 400
    B2bCounterpartyVerificationNotFoundError:
      title: 검증 결과를 찾을 수 없는 경우
      description: |-
        검증 결과를 찾을 수 없는 경우

        사업자 정보 검증 결과를 찾을 수 없습니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 검증 결과를 찾을 수 없는 경우
      x-portone-description: 사업자 정보 검증 결과를 찾을 수 없습니다.
      x-portone-status-code: 404
    B2bCounterpartyVerificationTypeMismatchError:
      title: 검증 유형이 일치하지 않는 경우
      description: 검증 유형이 일치하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 검증 유형이 일치하지 않는 경우
      x-portone-status-code: 400
    B2bDocumentKeyCannotBeChangedError:
      title: 문서번호 수정이 요청된 경우
      description: 문서번호 수정이 요청된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 문서번호 수정이 요청된 경우
      x-portone-status-code: 400
    B2bExternalServiceError:
      title: 외부 서비스에서 에러가 발생한 경우
      description: 외부 서비스에서 에러가 발생한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 외부 서비스에서 에러가 발생한 경우
      x-portone-status-code: 502
    B2bFileNotFoundError:
      title: 업로드한 파일을 찾을 수 없는 경우
      description: 업로드한 파일을 찾을 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 업로드한 파일을 찾을 수 없는 경우
      x-portone-status-code: 404
    B2bIdAlreadyExistsError:
      title: ID가 이미 사용중인 경우
      description: ID가 이미 사용중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: ID가 이미 사용중인 경우
      x-portone-status-code: 409
    B2bIssuanceTypeMismatchError:
      title: 세금계산서 발행 유형이 올바르지 않은 경우
      description: 세금계산서 발행 유형이 올바르지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서 발행 유형이 올바르지 않은 경우
      x-portone-status-code: 400
    B2bModificationNotProvidedError:
      title: 세금계산서 수정 입력 정보를 찾을 수 없는 경우
      description: 세금계산서 수정 입력 정보를 찾을 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서 수정 입력 정보를 찾을 수 없는 경우
      x-portone-status-code: 400
    B2bNotEnabledError:
      title: B2B 기능이 활성화되지 않은 경우
      description: B2B 기능이 활성화되지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: B2B 기능이 활성화되지 않은 경우
      x-portone-status-code: 403
    B2bNtsConnectionStatus:
      title: 국세청 연동 상태
      description: 국세청 연동 상태
      type: string
      enum:
        - NOT_CONNECTED
        - PENDING_CONNECT
        - CONNECTED
        - PENDING_DISCONNECT
        - ERROR
      x-portone-title: 국세청 연동 상태
      x-portone-enum:
        ERROR:
          title: 연동 오류
        PENDING_CONNECT:
          title: 연동 대기
        CONNECTED:
          title: 연동 됨
        NOT_CONNECTED:
          title: 연동 안 됨
        PENDING_DISCONNECT:
          title: 연동 해제 대기
    B2bOriginalTaxInvoiceNotFoundError:
      title: 원본 세금계산서가 존재하지 않은 경우
      description: 원본 세금계산서가 존재하지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 원본 세금계산서가 존재하지 않은 경우
      x-portone-status-code: 404
    B2bRecipientNotFoundError:
      title: 공급받는자가 존재하지 않은 경우
      description: 공급받는자가 존재하지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
        brn:
          type: string
        counterpartyId:
          type: string
      x-portone-title: 공급받는자가 존재하지 않은 경우
      x-portone-status-code: 404
    B2bSearchDateType:
      title: 조회 기준
      description: 조회 기준
      type: string
      enum:
        - REGISTER
        - WRITE
        - ISSUE
      x-portone-title: 조회 기준
      x-portone-enum:
        REGISTER:
          title: 등록일
        WRITE:
          title: 작성일
        ISSUE:
          title: 발행일
    B2bSupplierNotFoundError:
      title: 공급자가 존재하지 않은 경우
      description: 공급자가 존재하지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
        brn:
          type: string
        counterpartyId:
          type: string
      x-portone-title: 공급자가 존재하지 않은 경우
      x-portone-status-code: 404
    B2bTaxInvoice:
      title: 세금계산서
      description: 세금계산서
      type: object
      required:
        - id
        - status
        - taxationType
        - documentModificationType
        - issuanceType
        - writeDate
        - issuanceDueDate
        - purposeType
        - totalSupplyAmount
        - totalTaxAmount
        - totalAmount
        - remarks
        - supplier
        - recipient
        - items
        - additionalContacts
      properties:
        id:
          type: string
          title: 세금계산서 아이디
        status:
          $ref: '#/components/schemas/B2bTaxInvoiceStatus'
          title: 상태
        taxationType:
          $ref: '#/components/schemas/B2bTaxInvoiceTaxationType'
          title: 과세 유형
        documentModificationType:
          $ref: '#/components/schemas/B2bTaxInvoiceDocumentModificationType'
          title: 문서 유형
        isDelayed:
          type: boolean
          title: 지연 발행 여부
        issuanceType:
          $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType'
          title: 발행 유형
        bulkTaxInvoiceId:
          type: string
          title: 일괄 발행 아이디
        serialNumber:
          type: string
          title: 일련번호
        bookVolume:
          type: integer
          format: int32
          title: 책번호 - 권
          description: '입력 범위(4자리) : 0 ~ 9999'
        bookIssue:
          type: integer
          format: int32
          title: 책번호 - 호
          description: '입력 범위(4자리) : 0 ~ 9999'
        writeDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 작성일
        issuanceDueDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 발행 마감일
        purposeType:
          $ref: '#/components/schemas/B2bTaxInvoicePurposeType'
          title: 영수/청구
        totalSupplyAmount:
          type: integer
          format: int64
          title: 공급가액 합계
        totalTaxAmount:
          type: integer
          format: int64
          title: 세액 합계
        totalAmount:
          type: integer
          format: int64
          title: 합계 금액
        cashAmount:
          type: integer
          format: int64
          title: 현금
        checkAmount:
          type: integer
          format: int64
          title: 수표
        creditAmount:
          type: integer
          format: int64
          title: 외상
        noteAmount:
          type: integer
          format: int64
          title: 어음
        remarks:
          type: array
          items:
            type: string
          title: 비고
          description: 최대 3개
        supplierDocumentKey:
          type: string
          title: 공급자 문서번호
        supplier:
          $ref: '#/components/schemas/B2bTaxInvoiceCompany'
          title: 공급자
        recipientDocumentKey:
          type: string
          title: 공급받는자 문서번호
        recipient:
          $ref: '#/components/schemas/B2bTaxInvoiceCompany'
          title: 공급받는자
        sendSms:
          type: boolean
          title: 문자 전송 여부
        modification:
          $ref: '#/components/schemas/B2bTaxInvoiceModification'
          title: 수정 사유 기재
        items:
          title: 품목
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceItem'
          description: 최대 99개
        additionalContacts:
          title: 추가 담당자
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceAdditionalContact'
          description: 최대 5명
        memo:
          type: string
          title: 메모
        draftedAt:
          type: string
          format: date-time
          title: 임시 저장 일시
        requestedAt:
          type: string
          format: date-time
          title: 발행 요청 일시
        issuedAt:
          type: string
          format: date-time
          title: 발행 일시
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 변경 일시
        ntsSentAt:
          type: string
          format: date-time
          title: 국세청 전송 일시
        ntsApprovalNumber:
          type: string
          title: 국세청 승인번호
          description: 세금계산서 발행(전자서명) 시점에 자동으로 부여
        ntsResult:
          type: string
          title: 국세청 전송 결과
        ntsResultCode:
          type: string
          title: 국세청 결과 코드
          description: 국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨
        ntsResultReceivedAt:
          type: string
          format: date-time
          title: 국세청 결과 수신 일시
        deletedAt:
          type: string
          format: date-time
          title: 삭제 일시
      x-portone-title: 세금계산서
    B2bTaxInvoiceAdditionalContact:
      title: 추가 담당자
      description: 추가 담당자
      type: object
      required:
        - email
      properties:
        name:
          type: string
          title: 성명
          description: 최대 100자
        email:
          type: string
          title: 이메일
        phoneNumber:
          type: string
          title: 전화번호
      x-portone-title: 추가 담당자
    B2bTaxInvoiceAttachment:
      title: 세금계산서 첨부파일
      description: 세금계산서 첨부파일
      type: object
      required:
        - id
        - name
        - attachedAt
      properties:
        id:
          type: string
          title: 첨부 파일 아이디
        name:
          type: string
          title: 첨부 파일명
        attachedAt:
          type: string
          format: date-time
          title: 첨부 일시
      x-portone-title: 세금계산서 첨부파일
    B2bTaxInvoiceAttachmentNotFoundError:
      title: 세금계산서의 첨부파일을 찾을 수 없는 경우
      description: 세금계산서의 첨부파일을 찾을 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서의 첨부파일을 찾을 수 없는 경우
      x-portone-status-code: 404
    B2bTaxInvoiceCompany:
      title: B2bTaxInvoiceCompany
      type: object
      properties:
        brn:
          type: string
          title: 사업자등록번호
          description: '`-`를 제외한 10자리'
        counterpartyId:
          type: string
          title: 거래처 ID
        taxRegistrationId:
          type: string
          title: 종사업자 식별 번호
          description: 4자리 고정
        name:
          type: string
          title: 상호명
          description: 최대 200자
        representativeName:
          type: string
          title: 대표자 성명
          description: 최대 100자
        address:
          type: string
          title: 주소
          description: 최대 300자
        businessType:
          type: string
          title: 업태
          description: 최대 100자
        businessClass:
          type: string
          title: 종목
          description: 최대 100자
        contact:
          $ref: '#/components/schemas/B2bTaxInvoiceContact'
          title: 담당자
    B2bTaxInvoiceContact:
      title: 세금계산서 담당자
      description: 세금계산서 담당자
      type: object
      required:
        - email
      properties:
        name:
          type: string
          title: 성명
        department:
          type: string
          title: 부서
        phoneNumber:
          type: string
          title: 전화번호
        mobilePhoneNumber:
          type: string
          title: 휴대전화번호
        email:
          type: string
          title: 이메일
      x-portone-title: 세금계산서 담당자
    B2bTaxInvoiceDocumentModificationType:
      title: 세금계산서 문서 수정 발행 유형
      description: 세금계산서 문서 수정 발행 유형
      type: string
      enum:
        - NORMAL
        - MODIFICATION
      x-portone-title: 세금계산서 문서 수정 발행 유형
      x-portone-enum:
        NORMAL:
          title: 정상발행
        MODIFICATION:
          title: 수정발행
    B2bTaxInvoiceInput:
      title: 세금계산서 생성 요청 정보
      description: 세금계산서 생성 요청 정보
      type: object
      required:
        - taxationType
        - writeDate
        - purposeType
        - totalSupplyAmount
        - totalTaxAmount
        - totalAmount
        - recipient
      properties:
        taxationType:
          $ref: '#/components/schemas/B2bTaxInvoiceTaxationType'
          title: 과세 유형
        issuanceType:
          $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType'
          title: 발행 유형
          description: 기본값은 역발행(REVERSE)입니다.
        serialNumber:
          type: string
          title: 일련번호
        bookVolume:
          type: integer
          format: int32
          title: 권
        bookIssue:
          type: integer
          format: int32
          title: 호
        writeDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 작성일
        purposeType:
          $ref: '#/components/schemas/B2bTaxInvoicePurposeType'
          title: 영수/청구
        totalSupplyAmount:
          type: integer
          format: int64
          title: 공급가액 합계
        totalTaxAmount:
          type: integer
          format: int64
          title: 세액 합계
        totalAmount:
          type: integer
          format: int64
          title: 합계 금액
        cashAmount:
          type: integer
          format: int64
          title: 현금
        checkAmount:
          type: integer
          format: int64
          title: 수표
        creditAmount:
          type: integer
          format: int64
          title: 외상
        noteAmount:
          type: integer
          format: int64
          title: 어음
        remarks:
          type: array
          items:
            type: string
          title: 비고
          description: 최대 3개
        supplierDocumentKey:
          type: string
          title: 공급자 문서번호
          description: '영문 대소문자, 숫자, 특수문자(''-'',''_'')만 이용 가능'
        supplier:
          $ref: '#/components/schemas/B2bTaxInvoiceCompany'
          title: 공급자
        recipientDocumentKey:
          type: string
          title: 공급받는자 문서번호
          description: '영문 대소문자, 숫자, 특수문자(''-'',''_'')만 이용 가능'
        recipient:
          $ref: '#/components/schemas/B2bTaxInvoiceCompany'
          title: 공급받는자
        sendSms:
          type: boolean
          title: 문자 전송 여부
          description: >-
            공급자 담당자 휴대폰번호 {supplier.contact.mobile_phone_number} 값으로 문자 전송 전송시
            포인트 차감되며, 실패시 환불 처리 기본값은 false
        items:
          title: 품목
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceItem'
          description: 최대 99개
        additionalContacts:
          title: 추가 담당자
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceAdditionalContact'
          description: 최대 5명
        useCounterpartyAdditionalContacts:
          type: boolean
          title: 거래처 추가 담당자 사용 여부
          description: >-
            true인 경우 거래처의 추가 담당자를 세금계산서 추가 담당자로 사용합니다. additional_contacts가 직접
            지정된 경우 무시됩니다.
      x-portone-title: 세금계산서 생성 요청 정보
    B2bTaxInvoiceIssuanceType:
      title: 발행 유형
      description: 발행 유형
      type: string
      enum:
        - NORMAL
        - REVERSE
      x-portone-title: 발행 유형
      x-portone-enum:
        NORMAL:
          title: 정발행
        REVERSE:
          title: 역발행
    B2bTaxInvoiceItem:
      title: 품목
      description: 품목
      type: object
      properties:
        purchaseDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 결제일
        name:
          type: string
          title: 품명
          description: 최대 100자
        spec:
          type: string
          title: 규격
          description: 최대 100자
        quantity:
          $ref: '#/components/schemas/Decimal'
          title: 수량
          description: |-
            입력 범위 : -99999999.99 ~ 999999999.99
            `quantity.scale`의 입력 범위 : 0 ~ 2
            `quantity.value` * 10^-`quantity.scale` 단위로 치환됩니다.
        unitCostAmount:
          $ref: '#/components/schemas/Decimal'
          title: 단가
          description: |-
            입력 범위 : -99999999999999.99 ~ 999999999999999.99
            `unitCostAmount.scale`의 입력 범위 : 0 ~ 2
            `unitCostAmount.value` * 10^-`unitCostAmount.scale` 단위로 치환됩니다.
        supplyCostAmount:
          type: integer
          format: int64
          title: 공급가액
        taxAmount:
          type: integer
          format: int64
          title: 세액
        remark:
          type: string
          title: 비고
      x-portone-title: 품목
    B2bTaxInvoiceKeyType:
      title: 세금계산서 식별자 유형
      description: 세금계산서 식별자 유형
      type: string
      enum:
        - SUPPLIER
        - RECIPIENT
        - TAX_INVOICE_ID
      x-portone-title: 세금계산서 식별자 유형
      x-portone-enum:
        SUPPLIER:
          title: 공급자용 문서 번호
        RECIPIENT:
          title: 공급받는자용 문서 번호
        TAX_INVOICE_ID:
          title: 세금계산서 아이디
    B2bTaxInvoiceModification:
      title: 세금 계산서 수정
      description: 세금 계산서 수정
      type: object
      required:
        - type
        - originalNtsApprovalNumber
        - originalTaxInvoiceId
        - rootTaxInvoiceId
      properties:
        type:
          $ref: '#/components/schemas/B2bTaxInvoiceModificationType'
          title: 수정 사유
        originalNtsApprovalNumber:
          type: string
          title: 수정 대상 원본 세금계산서 국세청 승인 번호
        originalTaxInvoiceId:
          type: string
          title: 원본 세금계산서 아이디
        rootTaxInvoiceId:
          type: string
          title: 최초 원본 세금계산서 아이디
      x-portone-title: 세금 계산서 수정
    B2bTaxInvoiceModificationCreateBody:
      title: 수정 세금계산서 생성 입력 정보
      description: 수정 세금계산서 생성 입력 정보
      type: object
      required:
        - type
        - taxInvoiceKey
      properties:
        type:
          $ref: '#/components/schemas/B2bTaxInvoiceModificationType'
          title: 수정 사유
        brn:
          type: string
          title: 사업자등록번호
          description: taxInvoiceKeyType이 TAX_INVOICE_ID가 아닌 경우 필수 값입니다.
        taxInvoiceKey:
          type: string
          title: 세금계산서 문서 번호
        taxInvoiceKeyType:
          $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          title: 문서 번호 유형
          description: '기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.'
      x-portone-title: 수정 세금계산서 생성 입력 정보
    B2bTaxInvoiceModificationType:
      title: 수정 사유
      description: 수정 사유
      type: string
      enum:
        - CORRECTION_OF_ENTRY_ERRORS
        - CHANGE_IN_SUPPLY_COST
        - RETURN
        - CANCELLATION_OF_CONTRACT
        - DUPLICATE_ISSUANCE_DUE_TO_ERROR
      x-portone-title: 수정 사유
      x-portone-enum:
        DUPLICATE_ISSUANCE_DUE_TO_ERROR:
          title: 착오에 의한 이중 발급
        CHANGE_IN_SUPPLY_COST:
          title: 공금가액 변동
        CANCELLATION_OF_CONTRACT:
          title: 계약 해제
        CORRECTION_OF_ENTRY_ERRORS:
          title: 기재사항 착오 정정
        RETURN:
          title: 환입
    B2bTaxInvoiceNoRecipientDocumentKeyError:
      title: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우
      description: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우
      x-portone-status-code: 400
    B2bTaxInvoiceNoSupplierDocumentKeyError:
      title: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우
      description: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우
      x-portone-status-code: 400
    B2bTaxInvoiceNonDeletableStatusError:
      title: 세금계산서가 삭제 가능한 상태가 아닌 경우
      description: >-
        세금계산서가 삭제 가능한 상태가 아닌 경우


        삭제 가능한 상태는 `DRAFTED`, `ISSUE_REFUSED`, `REQUEST_CANCELLED_BY_RECIPIENT`,
        `ISSUE_CANCELLED_BY_SUPPLIER`, `SENDING_FAILED` 입니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서가 삭제 가능한 상태가 아닌 경우
      x-portone-description: >-
        삭제 가능한 상태는 `DRAFTED`, `ISSUE_REFUSED`, `REQUEST_CANCELLED_BY_RECIPIENT`,
        `ISSUE_CANCELLED_BY_SUPPLIER`, `SENDING_FAILED` 입니다.
      x-portone-status-code: 400
    B2bTaxInvoiceNotDraftedStatusError:
      title: 세금계산서가 임시저장 완료 상태가 아닌 경우
      description: 세금계산서가 임시저장 완료 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서가 임시저장 완료 상태가 아닌 경우
      x-portone-status-code: 400
    B2bTaxInvoiceNotFoundError:
      title: 세금계산서가 존재하지 않은 경우
      description: 세금계산서가 존재하지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서가 존재하지 않은 경우
      x-portone-status-code: 404
    B2bTaxInvoiceNotIssuedStatusError:
      title: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우
      description: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우
      x-portone-status-code: 400
    B2bTaxInvoiceNotRequestedStatusError:
      title: 세금계산서가 역발행 대기 상태가 아닌 경우
      description: 세금계산서가 역발행 대기 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서가 역발행 대기 상태가 아닌 경우
      x-portone-status-code: 400
    B2bTaxInvoicePurposeType:
      title: 영수/청구
      description: 영수/청구
      type: string
      enum:
        - RECEIPT
        - INVOICE
        - NONE
      x-portone-title: 영수/청구
      x-portone-enum:
        RECEIPT:
          title: 영수
        INVOICE:
          title: 청구
        NONE:
          title: 없음
    B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError:
      title: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우
      description: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우
      x-portone-status-code: 400
    B2bTaxInvoiceSortBy:
      title: 세금계산서 정렬 기준
      description: 세금계산서 정렬 기준
      type: string
      enum:
        - WRITE_DATE
        - ISSUANCE_DUE_DATE
        - TOTAL_AMOUNT
        - TOTAL_SUPPLY_AMOUNT
        - TOTAL_TAX_AMOUNT
        - REQUESTED_AT
        - ISSUED_AT
        - NTS_SENT_AT
        - STATUS_UPDATED_AT
      x-portone-title: 세금계산서 정렬 기준
      x-portone-enum:
        NTS_SENT_AT:
          title: 국세청전송일시
        TOTAL_SUPPLY_AMOUNT:
          title: 공급가액
        STATUS_UPDATED_AT:
          title: 상태 업데이트 일시
        REQUESTED_AT:
          title: 발행요청일시
        ISSUED_AT:
          title: 발행완료일시
        TOTAL_TAX_AMOUNT:
          title: 세액
        TOTAL_AMOUNT:
          title: 합계금액
        WRITE_DATE:
          title: 작성일자
        ISSUANCE_DUE_DATE:
          title: 발행마감일
    B2bTaxInvoiceSortInput:
      title: 세금계산서 다건 조회 시 정렬 조건
      description: 세금계산서 다건 조회 시 정렬 조건
      type: object
      properties:
        by:
          $ref: '#/components/schemas/B2bTaxInvoiceSortBy'
          title: 정렬 기준
        order:
          $ref: '#/components/schemas/SortOrder'
          title: 정렬 방식
      x-portone-title: 세금계산서 다건 조회 시 정렬 조건
    B2bTaxInvoiceStatus:
      title: B2bTaxInvoiceStatus
      type: string
      enum:
        - DRAFTED
        - DRAFT_PENDING
        - DRAFT_FAILED
        - REQUESTED
        - REQUEST_PENDING
        - REQUEST_FAILED
        - REQUEST_CANCELLED
        - ISSUED
        - ISSUE_PENDING
        - ISSUE_FAILED
        - BEFORE_SENDING
        - WAITING_SENDING
        - SENDING
        - SENDING_COMPLETED
        - SENDING_FAILED
        - REQUEST_REFUSED
        - ISSUANCE_CANCELLED
        - CANCEL_PENDING
        - SENDING_PENDING
      x-portone-enum:
        BEFORE_SENDING:
          title: 전송전
        DRAFTED:
          title: 임시저장
        REQUEST_CANCELLED:
          title: 공급받는자에 의한 발행취소
        ISSUE_PENDING:
          title: 발행 대기
        REQUEST_REFUSED:
          title: 공급자의 발행거부
        SENDING_PENDING:
          title: 국세청 전송 대기
        ISSUED:
          title: 발행완료
        SENDING_COMPLETED:
          title: 전송완료
        CANCEL_PENDING:
          title: 발행취소 대기
        DRAFT_PENDING:
          title: 임시저장 대기
        SENDING_FAILED:
          title: 전송실패
        REQUEST_FAILED:
          title: 역발행 요청 실패
        SENDING:
          title: 전송중
        WAITING_SENDING:
          title: 전송대기
        ISSUANCE_CANCELLED:
          title: 공급자에 의한 발행 취소
        ISSUE_FAILED:
          title: 발행 실패
        REQUESTED:
          title: 역발행 요청 완료 (전자 서명 요청됨)
        DRAFT_FAILED:
          title: 임시저장 실패
        REQUEST_PENDING:
          title: 역발행 요청 대기
    B2bTaxInvoiceSummary:
      title: 세금계산서 요약
      description: 세금계산서 요약
      type: object
      required:
        - id
        - taxationType
        - documentModificationType
        - issuanceType
        - totalSupplyAmount
        - totalTaxAmount
        - totalAmount
        - purposeType
        - supplierBrn
        - supplierName
        - supplierRepresentativeName
        - recipientBrn
        - recipientName
        - recipientRepresentativeName
        - writeDate
        - issuanceDueDate
        - status
        - statusUpdatedAt
        - items
      properties:
        id:
          type: string
          title: 세금계산서 아이디
        taxationType:
          $ref: '#/components/schemas/B2bTaxInvoiceTaxationType'
          title: 과세 유형
        documentModificationType:
          $ref: '#/components/schemas/B2bTaxInvoiceDocumentModificationType'
          title: 문서 유형
        isDelayed:
          type: boolean
          title: 지연 발행 여부
        issuanceType:
          $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType'
          title: 발행 유형
        bulkTaxInvoiceId:
          type: string
          title: 일괄 발행 아이디
        payoutId:
          type: string
          title: 지급 아이디
        totalSupplyAmount:
          type: integer
          format: int64
          title: 공급가액 합계
        totalTaxAmount:
          type: integer
          format: int64
          title: 세액 합계
        totalAmount:
          type: integer
          format: int64
          title: 합계 금액
        purposeType:
          $ref: '#/components/schemas/B2bTaxInvoicePurposeType'
          title: 영수/청구
        supplierBrn:
          type: string
          title: 공급자 사업자등록번호
        supplierName:
          type: string
          title: 공급자 상호
        supplierRepresentativeName:
          type: string
          title: 공급자 대표자 성명
        supplierDocumentKey:
          type: string
          title: 공급자 문서번호
        supplierCounterpartyId:
          type: string
          title: 공급자 거래처 아이디
        recipientBrn:
          type: string
          title: 공급받는자 사업자등록번호
        recipientName:
          type: string
          title: 공급받는자 상호
        recipientRepresentativeName:
          type: string
          title: 공급받는자 대표자 성명
        recipientDocumentKey:
          type: string
          title: 공급받는자 문서번호
        recipientCounterpartyId:
          type: string
          title: 공급받는자 거래처 아이디
        recipientBusinessStatus:
          $ref: '#/components/schemas/B2bCompanyStateBusinessStatus'
          title: 공급받는자 영업 상태
        recipientClosedSuspendedDate:
          description: '상태가 CLOSED, SUSPENDED 상태인 경우에만 결과값 반환'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 공급받는자 휴폐업일자
        writeDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 작성일
        issuanceDueDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 발행 마감일
        status:
          $ref: '#/components/schemas/B2bTaxInvoiceStatus'
          title: 상태
        draftedAt:
          type: string
          format: date-time
          title: 임시 저장 일시
        requestedAt:
          type: string
          format: date-time
          title: 발행 요청 일시
        issuedAt:
          type: string
          format: date-time
          title: 발행 일시
        openedAt:
          type: string
          format: date-time
          title: 개봉 일시
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 변경 일시
        ntsSentAt:
          type: string
          format: date-time
          title: 국세청 전송 일시
        ntsApprovalNumber:
          type: string
          title: 국세청 승인번호
          description: 세금계산서 발행(전자서명) 시점에 자동으로 부여
        ntsResult:
          type: string
          title: 국세청 전송 결과
        ntsResultReceivedAt:
          type: string
          format: date-time
          title: 국세청 결과 수신 일시
        ntsResultCode:
          type: string
          title: 국세청 결과 코드
          description: 국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨
        memo:
          type: string
          title: 메모
        items:
          title: 품목
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceItem'
          description: 최대 99개
      x-portone-title: 세금계산서 요약
    B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError:
      title: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우
      description: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우
      x-portone-status-code: 400
    B2bTaxInvoiceTaxationType:
      title: 과세 유형
      description: 과세 유형
      type: string
      enum:
        - TAXABLE
        - ZERO_RATED
        - FREE
      x-portone-title: 과세 유형
      x-portone-enum:
        TAXABLE:
          title: 과세
        ZERO_RATED:
          title: 영세
        FREE:
          title: 면세
    Bank:
      title: 은행
      description: 은행
      type: string
      enum:
        - BANK_OF_KOREA
        - KDB
        - IBK
        - KOOKMIN
        - SUHYUP
        - KEXIM
        - NONGHYUP
        - LOCAL_NONGHYUP
        - WOORI
        - STANDARD_CHARTERED
        - CITI
        - SUHYUP_FEDERATION
        - DAEGU
        - BUSAN
        - KWANGJU
        - JEJU
        - JEONBUK
        - KYONGNAM
        - KFCC
        - SHINHYUP
        - SAVINGS_BANK
        - MORGAN_STANLEY
        - HSBC
        - DEUTSCHE
        - JPMC
        - MIZUHO
        - MUFG
        - BANK_OF_AMERICA
        - BNP_PARIBAS
        - ICBC
        - BANK_OF_CHINA
        - NFCF
        - UOB
        - BOCOM
        - CCB
        - POST
        - KODIT
        - KIBO
        - HANA
        - SHINHAN
        - K_BANK
        - KAKAO
        - TOSS
        - MISC_FOREIGN
        - SGI
        - KCIS
        - YUANTA_SECURITIES
        - KB_SECURITIES
        - SANGSANGIN_SECURITIES
        - HANYANG_SECURITIES
        - LEADING_SECURITIES
        - BNK_SECURITIES
        - IBK_SECURITIES
        - DAOL_SECURITIES
        - MIRAE_ASSET_SECURITIES
        - SAMSUNG_SECURITIES
        - KOREA_SECURITIES
        - NH_SECURITIES
        - KYOBO_SECURITIES
        - HI_SECURITIES
        - HYUNDAI_MOTOR_SECURITIES
        - KIWOOM_SECURITIES
        - EBEST_SECURITIES
        - SK_SECURITIES
        - DAISHIN_SECURITIES
        - HANHWA_SECURITIES
        - HANA_SECURITIES
        - TOSS_SECURITIES
        - SHINHAN_SECURITIES
        - DB_SECURITIES
        - EUGENE_SECURITIES
        - MERITZ_SECURITIES
        - KAKAO_PAY_SECURITIES
        - BOOKOOK_SECURITIES
        - SHINYOUNG_SECURITIES
        - CAPE_SECURITIES
        - KOREA_SECURITIES_FINANCE
        - KOREA_FOSS_SECURITIES
        - WOORI_INVESTMENT_BANK
      x-portone-title: 은행
      x-portone-enum:
        BANK_OF_CHINA:
          title: 중국은행
        KDB:
          title: 산업은행
        HANYANG_SECURITIES:
          title: 한양증권
        SK_SECURITIES:
          title: SK증권
        HANA_SECURITIES:
          title: 하나증권
        KB_SECURITIES:
          title: KB증권
        KYONGNAM:
          title: 경남은행
        WOORI_INVESTMENT_BANK:
          title: 우리종합금융
        CITI:
          title: 한국씨티은행
        SHINYOUNG_SECURITIES:
          title: 신영증권
        KOREA_SECURITIES:
          title: 한국투자증권
        SHINHAN:
          title: 신한은행
        LEADING_SECURITIES:
          title: 리딩투자증권
        UOB:
          title: 대화은행
        KOREA_FOSS_SECURITIES:
          title: 한국포스증권
        MERITZ_SECURITIES:
          title: 메리츠증권
        MIZUHO:
          title: 미즈호은행
        EBEST_SECURITIES:
          title: LS증권
        SANGSANGIN_SECURITIES:
          title: 상상인증권
        IBK:
          title: 기업은행
        DEUTSCHE:
          title: 도이치은행
        KCIS:
          title: 한국신용정보원
        KEXIM:
          title: 수출입은행
        SHINHYUP:
          title: 신협
        CCB:
          title: 중국건설은행
        HANA:
          title: 하나은행
        TOSS_SECURITIES:
          title: 토스증권
        IBK_SECURITIES:
          title: IBK투자증권
        SHINHAN_SECURITIES:
          title: 신한투자증권
        HANHWA_SECURITIES:
          title: 한화투자증권
        SUHYUP_FEDERATION:
          title: 수협중앙회
        LOCAL_NONGHYUP:
          title: 지역농축협
        WOORI:
          title: 우리은행
        SAMSUNG_SECURITIES:
          title: 삼성증권
        K_BANK:
          title: 케이뱅크
        DB_SECURITIES:
          title: DB금융투자
        SGI:
          title: 서울보증보험
        JEJU:
          title: 제주은행
        MIRAE_ASSET_SECURITIES:
          title: 미래에셋증권
        SAVINGS_BANK:
          title: 저축은행
        EUGENE_SECURITIES:
          title: 유진투자증권
        DAEGU:
          title: 아이엠뱅크
        BNK_SECURITIES:
          title: BNK투자증권
        KAKAO_PAY_SECURITIES:
          title: 카카오페이증권
        SUHYUP:
          title: 수협은행
        CAPE_SECURITIES:
          title: 케이프투자증권
        JEONBUK:
          title: 전북은행
        BNP_PARIBAS:
          title: 비엔피파리바은행
        KOREA_SECURITIES_FINANCE:
          title: 한국증권금융
        KODIT:
          title: 신용보증기금
        BOCOM:
          title: 교통은행
        DAOL_SECURITIES:
          title: 다올투자증권
        NFCF:
          title: 산림조합중앙회
        HSBC:
          title: HSBC은행
        STANDARD_CHARTERED:
          title: SC제일은행
        KWANGJU:
          title: 광주은행
        ICBC:
          title: 중국공상은행
        TOSS:
          title: 토스뱅크
        HYUNDAI_MOTOR_SECURITIES:
          title: 현대차증권
        BANK_OF_AMERICA:
          title: BOA은행
        BANK_OF_KOREA:
          title: 한국은행
        NONGHYUP:
          title: NH농협은행
        HI_SECURITIES:
          title: 하이투자증권
        KIBO:
          title: 기술보증기금
        KAKAO:
          title: 카카오뱅크
        KIWOOM_SECURITIES:
          title: 키움증권
        BUSAN:
          title: 부산은행
        NH_SECURITIES:
          title: NH투자증권
        MORGAN_STANLEY:
          title: 모간스탠리은행
        KFCC:
          title: 새마을금고
        BOOKOOK_SECURITIES:
          title: 부국증권
        MISC_FOREIGN:
          title: 기타 외국계은행(중국 농업은행 등)
        YUANTA_SECURITIES:
          title: 유안타증권
        POST:
          title: 우체국
        DAISHIN_SECURITIES:
          title: 대신증권
        KOOKMIN:
          title: 국민은행
        MUFG:
          title: 엠유에프지은행
        JPMC:
          title: 제이피모간체이스은행
        KYOBO_SECURITIES:
          title: 교보증권
    BankInfo:
      title: 은행 정보
      description: 은행 정보
      type: object
      required:
        - bank
        - name
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        name:
          $ref: '#/components/schemas/BankInfoName'
          title: 언어별 명칭
      x-portone-title: 은행 정보
    BankInfoName:
      title: 은행 명칭
      description: 은행 명칭
      type: object
      required:
        - ko
      properties:
        ko:
          type: string
          title: 한국어 명칭
      x-portone-title: 은행 명칭
    BeforeRegisteredPaymentEscrow:
      title: 배송 정보 등록 전
      description: 배송 정보 등록 전
      type: object
      required:
        - status
      properties:
        status:
          type: string
          title: 에스크로 상태
      x-portone-title: 배송 정보 등록 전
    BillingKeyAlreadyDeletedError:
      title: 빌링키가 이미 삭제된 경우
      description: 빌링키가 이미 삭제된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 빌링키가 이미 삭제된 경우
      x-portone-status-code: 409
    BillingKeyAlreadyIssuedError:
      title: BillingKeyAlreadyIssuedError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    BillingKeyDeleteRequester:
      title: 빌링키 삭제 요청 주체
      description: 빌링키 삭제 요청 주체
      type: string
      enum:
        - CUSTOMER
        - ADMIN
      x-portone-title: 빌링키 삭제 요청 주체
      x-portone-enum:
        CUSTOMER:
          title: 구매자
        ADMIN:
          title: 관리자
    BillingKeyFailure:
      title: 발급 실패 상세 정보
      description: 발급 실패 상세 정보
      type: object
      required:
        - failedAt
      properties:
        message:
          type: string
          title: 실패 사유
        pgCode:
          type: string
          title: PG사 실패 코드
        pgMessage:
          type: string
          title: PG사 실패 사유
        failedAt:
          type: string
          format: date-time
          title: 실패 시점
      x-portone-title: 발급 실패 상세 정보
    BillingKeyFilterInput:
      title: 빌링키 다건 조회를 위한 입력 정보
      description: 빌링키 다건 조회를 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: 'Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 빌링키를 조회합니다.'
        timeRangeField:
          $ref: '#/components/schemas/BillingKeyTimeRangeField'
          title: 조회 기준 시점 유형
        from:
          type: string
          format: date-time
          title: 조회 기준 시점 범위의 시작
          description: 값을 입력하지 않으면 end의 90일 전으로 설정됩니다.
        until:
          type: string
          format: date-time
          title: 조회 기준 시점 범위의 끝
          description: 값을 입력하지 않으면 현재 시점으로 설정됩니다.
        status:
          title: 빌링키 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/BillingKeyStatus'
          description: 값을 입력하지 않으면 빌링키 상태 필터링이 적용되지 않습니다.
        channelGroupIds:
          type: array
          items:
            type: string
          title: 채널 그룹 아이디 리스트
          description: 값을 입력하지 않으면 스마트 라우팅 그룹 아이디 필터링이 적용되지 않습니다.
        customerId:
          type: string
          title: 고객 ID
        platformType:
          $ref: '#/components/schemas/PaymentClientType'
          title: 플랫폼 유형
        textSearch:
          $ref: '#/components/schemas/BillingKeyTextSearch'
          title: 통합 검색 필터
        pgProviders:
          title: PG사 결제 모듈 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgProvider'
          description: 값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다.
        pgCompanies:
          title: PG사 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgCompany'
          description: 값을 입력하지 않으면 PG사 필터링이 적용되지 않습니다.
        methods:
          title: 결제수단 리스트
          type: array
          items:
            $ref: '#/components/schemas/BillingKeyPaymentMethodType'
          description: 값을 입력하지 않으면 결제수단 필터링이 적용되지 않습니다.
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
      x-portone-title: 빌링키 다건 조회를 위한 입력 정보
    BillingKeyInfo:
      title: 빌링키 정보
      description: 빌링키 정보
      oneOf:
        - $ref: '#/components/schemas/DeletedBillingKeyInfo'
        - $ref: '#/components/schemas/IssuedBillingKeyInfo'
      discriminator:
        propertyName: status
        mapping:
          DELETED: '#/components/schemas/DeletedBillingKeyInfo'
          ISSUED: '#/components/schemas/IssuedBillingKeyInfo'
      x-portone-title: 빌링키 정보
      x-portone-discriminator:
        ISSUED:
          title: 발급 완료
        DELETED:
          title: 발급 삭제 완료
    BillingKeyInfoSummary:
      title: BillingKeyInfoSummary
      type: object
      required:
        - billingKey
        - issuedAt
      properties:
        billingKey:
          type: string
          title: 발급된 빌링키
        channels:
          title: 발급된 채널
          type: array
          items:
            $ref: '#/components/schemas/SelectedChannel'
          x-portone-title: '(결제, 본인인증 등에) 선택된 채널 정보'
          properties:
            name:
              title: 채널 명
            key:
              title: 채널 키
            id:
              title: 채널 아이디
            pgProvider:
              title: PG사 결제 모듈
            pgMerchantId:
              title: PG사 고객사 식별 아이디
            type:
              title: 채널 타입
        issuedAt:
          type: string
          format: date-time
          title: 빌링키 발급 완료 시점
    BillingKeyNotFoundError:
      title: 빌링키가 존재하지 않는 경우
      description: 빌링키가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 빌링키가 존재하지 않는 경우
      x-portone-status-code: 404
    BillingKeyNotIssuedError:
      title: BillingKeyNotIssuedError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    BillingKeyPaymentInput:
      title: 빌링키 결제 요청 입력 정보
      description: 빌링키 결제 요청 입력 정보
      type: object
      required:
        - billingKey
        - orderName
        - amount
        - currency
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        billingKey:
          type: string
          title: 빌링키 결제에 사용할 빌링키
        channelKey:
          type: string
          title: 채널 키
          description: '다수 채널에 대해 발급된 빌링키에 대해, 결제 채널을 특정하고 싶을 때 명시'
        orderName:
          type: string
          title: 주문명
        customer:
          $ref: '#/components/schemas/CustomerInput'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        amount:
          $ref: '#/components/schemas/PaymentAmountInput'
          title: 결제 금액 세부 입력 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        useFreeInterestFromMerchant:
          type: boolean
          title: 무이자 할부 이자를 고객사가 부담할지 여부
        useCardPoint:
          type: boolean
          title: 카드 포인트 사용 여부
        cashReceipt:
          $ref: '#/components/schemas/CashReceiptInput'
          title: 현금영수증 정보
          description: '나이스페이먼츠를 통해 네이버페이 포인트 빌링결제 시, 현금영수증 발급을 위해 입력 가능 (신청 필요)'
        country:
          $ref: '#/components/schemas/Country'
          title: 결제 국가
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
          description: |-
            결제 승인/실패 시 요청을 받을 웹훅 주소입니다.
            상점에 설정되어 있는 값보다 우선적으로 적용됩니다.
            빈 배열은 무시됩니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
          description: 입력된 값이 없을 경우에는 빈 배열로 해석됩니다.
        productCount:
          type: integer
          format: int32
          title: 상품 개수
        productType:
          $ref: '#/components/schemas/PaymentProductType'
          title: 상품 유형
        shippingAddress:
          $ref: '#/components/schemas/SeparatedAddressInput'
          title: 배송지 주소
        promotionId:
          type: string
          title: 해당 결제에 적용할 프로모션 아이디
        locale:
          $ref: '#/components/schemas/Locale'
          title: 결제 시 사용할 언어
          description: 엑심베이의 경우 필수 입력입니다.
        bypass:
          type: object
          title: PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고)
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: >-
            결제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다. 가상계좌 입금 완료 등 외부 이벤트로 결제가 완료되는
            경우 발생하는 웹훅은 스킵되지 않습니다.
      x-portone-title: 빌링키 결제 요청 입력 정보
    BillingKeyPaymentMethod:
      title: 빌링키 발급 수단 정보
      description: 빌링키 발급 수단 정보
      oneOf:
        - $ref: '#/components/schemas/BillingKeyPaymentMethodCard'
        - $ref: '#/components/schemas/BillingKeyPaymentMethodEasyPay'
        - $ref: '#/components/schemas/BillingKeyPaymentMethodMobile'
        - $ref: '#/components/schemas/BillingKeyPaymentMethodPaypal'
        - $ref: '#/components/schemas/BillingKeyPaymentMethodTransfer'
      discriminator:
        propertyName: type
        mapping:
          BillingKeyPaymentMethodCard: '#/components/schemas/BillingKeyPaymentMethodCard'
          BillingKeyPaymentMethodEasyPay: '#/components/schemas/BillingKeyPaymentMethodEasyPay'
          BillingKeyPaymentMethodMobile: '#/components/schemas/BillingKeyPaymentMethodMobile'
          BillingKeyPaymentMethodPaypal: '#/components/schemas/BillingKeyPaymentMethodPaypal'
          BillingKeyPaymentMethodTransfer: '#/components/schemas/BillingKeyPaymentMethodTransfer'
      x-portone-title: 빌링키 발급 수단 정보
      x-portone-discriminator:
        BillingKeyPaymentMethodTransfer:
          title: 계좌이체 정보
        BillingKeyPaymentMethodMobile:
          title: 모바일 정보
        BillingKeyPaymentMethodEasyPay:
          title: 간편 결제 정보
        BillingKeyPaymentMethodCard:
          title: 카드 정보
        BillingKeyPaymentMethodPaypal:
          title: 페이팔 정보
    BillingKeyPaymentMethodCard:
      title: 카드 정보
      description: 카드 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        card:
          $ref: '#/components/schemas/Card'
          title: 카드 상세 정보
      x-portone-title: 카드 정보
    BillingKeyPaymentMethodEasyPay:
      title: 간편 결제 정보
      description: 간편 결제 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        provider:
          $ref: '#/components/schemas/EasyPayProvider'
          title: 간편 결제 PG사
        method:
          $ref: '#/components/schemas/BillingKeyPaymentMethodEasyPayMethod'
          title: 간편 결제 수단
      x-portone-title: 간편 결제 정보
    BillingKeyPaymentMethodEasyPayCharge:
      title: 충전식 포인트 결제 정보
      description: 충전식 포인트 결제 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 충전식 포인트 결제 정보
    BillingKeyPaymentMethodEasyPayMethod:
      title: 간편 결제 수단
      description: 간편 결제 수단
      oneOf:
        - $ref: '#/components/schemas/BillingKeyPaymentMethodCard'
        - $ref: '#/components/schemas/BillingKeyPaymentMethodEasyPayCharge'
        - $ref: '#/components/schemas/BillingKeyPaymentMethodTransfer'
      discriminator:
        propertyName: type
        mapping:
          BillingKeyPaymentMethodCard: '#/components/schemas/BillingKeyPaymentMethodCard'
          BillingKeyPaymentMethodEasyPayCharge: '#/components/schemas/BillingKeyPaymentMethodEasyPayCharge'
          BillingKeyPaymentMethodTransfer: '#/components/schemas/BillingKeyPaymentMethodTransfer'
      x-portone-title: 간편 결제 수단
      x-portone-discriminator:
        BillingKeyPaymentMethodCard:
          title: 카드 정보
        BillingKeyPaymentMethodTransfer:
          title: 계좌이체 정보
        BillingKeyPaymentMethodEasyPayCharge:
          title: 충전식 포인트 결제 정보
    BillingKeyPaymentMethodMobile:
      title: 모바일 정보
      description: 모바일 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        phoneNumber:
          type: string
          title: 전화번호
      x-portone-title: 모바일 정보
    BillingKeyPaymentMethodPaypal:
      title: 페이팔 정보
      description: 페이팔 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 페이팔 정보
    BillingKeyPaymentMethodTransfer:
      title: 계좌이체 정보
      description: 계좌이체 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        bank:
          $ref: '#/components/schemas/Bank'
          title: 표준 은행 코드
        accountNumber:
          type: string
          title: 계좌번호
      x-portone-title: 계좌이체 정보
    BillingKeyPaymentMethodType:
      title: 빌링키 결제 수단
      description: 빌링키 결제 수단
      type: string
      enum:
        - CARD
        - MOBILE
        - EASY_PAY
        - TRANSFER
      x-portone-title: 빌링키 결제 수단
      x-portone-enum:
        CARD:
          title: 카드
        MOBILE:
          title: 모바일
        EASY_PAY:
          title: 간편 결제
        TRANSFER:
          title: 계좌 이체
    BillingKeyPaymentScheduleInput:
      title: 빌링키 결제 예약 요청 입력 정보
      description: 빌링키 결제 예약 요청 입력 정보
      type: object
      required:
        - billingKey
        - orderName
        - amount
        - currency
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        billingKey:
          type: string
          title: 빌링키 결제에 사용할 빌링키
        channelKey:
          type: string
          title: 채널 키
          description: '다수 채널에 대해 발급된 빌링키에 대해, 결제 채널을 특정하고 싶을 때 명시'
        orderName:
          type: string
          title: 주문명
        customer:
          $ref: '#/components/schemas/CustomerInput'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        amount:
          $ref: '#/components/schemas/PaymentAmountInput'
          title: 결제 금액 세부 입력 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        useFreeInterestFromMerchant:
          type: boolean
          title: 무이자 할부 이자를 고객사가 부담할지 여부
        useCardPoint:
          type: boolean
          title: 카드 포인트 사용 여부
        cashReceipt:
          $ref: '#/components/schemas/CashReceiptInput'
          title: 현금영수증 정보
          description: '나이스페이먼츠를 통해 네이버페이 포인트 빌링결제 시, 현금영수증 발급을 위해 입력 가능 (신청 필요)'
        country:
          $ref: '#/components/schemas/Country'
          title: 결제 국가
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
          description: |-
            결제 승인/실패 시 요청을 받을 웹훅 주소입니다.
            상점에 설정되어 있는 값보다 우선적으로 적용됩니다.
            빈 배열은 무시됩니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
          description: 입력된 값이 없을 경우에는 빈 배열로 해석됩니다.
        productCount:
          type: integer
          format: int32
          title: 상품 개수
        productType:
          $ref: '#/components/schemas/PaymentProductType'
          title: 상품 유형
        shippingAddress:
          $ref: '#/components/schemas/SeparatedAddressInput'
          title: 배송지 주소
        promotionId:
          type: string
          title: 해당 결제에 적용할 프로모션 아이디
        locale:
          $ref: '#/components/schemas/Locale'
          title: 결제 시 사용할 언어
          description: 엑심베이의 경우 필수 입력입니다.
        bypass:
          type: object
          title: PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고)
      x-portone-title: 빌링키 결제 예약 요청 입력 정보
    BillingKeyPaymentSummary:
      title: 빌링키 결제 완료된 결제 건 요약 정보
      description: 빌링키 결제 완료된 결제 건 요약 정보
      type: object
      required:
        - pgTxId
        - paidAt
      properties:
        pgTxId:
          type: string
          title: PG사 결제 아이디
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
      x-portone-title: 빌링키 결제 완료된 결제 건 요약 정보
    BillingKeySortBy:
      title: 빌링키 정렬 기준
      description: 빌링키 정렬 기준
      type: string
      enum:
        - REQUESTED_AT
        - ISSUED_AT
        - DELETED_AT
        - STATUS_TIMESTAMP
      x-portone-title: 빌링키 정렬 기준
      x-portone-enum:
        REQUESTED_AT:
          title: 발급 요청 시각
        ISSUED_AT:
          title: 발급 완료 시각
        DELETED_AT:
          title: 삭제 완료 시각
        STATUS_TIMESTAMP:
          title: 상태 변경 시각
          description: '발급 완료 상태의 경우 ISSUED_AT, 삭제 완료 상태의 경우 DELETED_AT'
    BillingKeySortInput:
      title: 빌링키 다건 조회 시 정렬 조건
      description: 빌링키 다건 조회 시 정렬 조건
      type: object
      properties:
        by:
          $ref: '#/components/schemas/BillingKeySortBy'
          title: 정렬 기준 필드
          description: '어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, REQUESTED_AT이 기본값으로 설정됩니다.'
        order:
          $ref: '#/components/schemas/SortOrder'
          title: 정렬 순서
          description: '어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다.'
      x-portone-title: 빌링키 다건 조회 시 정렬 조건
    BillingKeyStatus:
      title: 빌링키 상태
      description: 빌링키 상태
      type: string
      enum:
        - ISSUED
        - DELETED
      x-portone-title: 빌링키 상태
      x-portone-enum:
        ISSUED: {}
        DELETED: {}
    BillingKeyTextSearch:
      title: 통합검색 입력 정보
      description: 통합검색 입력 정보
      type: object
      required:
        - field
        - value
      properties:
        field:
          $ref: '#/components/schemas/BillingKeyTextSearchField'
        value:
          type: string
      x-portone-title: 통합검색 입력 정보
    BillingKeyTextSearchField:
      title: 통합검색 항목
      description: 통합검색 항목
      type: string
      enum:
        - CARD_BIN
        - CARD_NUMBER
        - PG_MERCHANT_ID
        - CUSTOMER_NAME
        - CUSTOMER_EMAIL
        - CUSTOMER_PHONE_NUMBER
        - CUSTOMER_ADDRESS
        - CUSTOMER_ZIPCODE
        - USER_AGENT
        - BILLING_KEY
        - CHANNEL_GROUP_NAME
      x-portone-title: 통합검색 항목
      x-portone-enum:
        CUSTOMER_EMAIL: {}
        USER_AGENT: {}
        CUSTOMER_ADDRESS: {}
        CARD_BIN: {}
        CHANNEL_GROUP_NAME: {}
        PG_MERCHANT_ID: {}
        CUSTOMER_PHONE_NUMBER: {}
        CUSTOMER_ZIPCODE: {}
        CUSTOMER_NAME: {}
        CARD_NUMBER: {}
        BILLING_KEY: {}
    BillingKeyTimeRangeField:
      title: '빌링키 다건 조회 시, 시각 범위를 적용할 필드'
      description: '빌링키 다건 조회 시, 시각 범위를 적용할 필드'
      type: string
      enum:
        - REQUESTED_AT
        - ISSUED_AT
        - DELETED_AT
        - STATUS_TIMESTAMP
      x-portone-title: '빌링키 다건 조회 시, 시각 범위를 적용할 필드'
      x-portone-enum:
        REQUESTED_AT:
          title: 발급 요청 시각
        ISSUED_AT:
          title: 발급 완료 시각
        DELETED_AT:
          title: 삭제 완료 시각
        STATUS_TIMESTAMP:
          title: 상태 변경 시각
          description: '발급 완료 상태의 경우 ISSUED_AT, 삭제 완료 상태의 경우 DELETED_AT'
    CancelAmountExceedsCancellableAmountError:
      title: 결제 취소 금액이 취소 가능 금액을 초과한 경우
      description: 결제 취소 금액이 취소 가능 금액을 초과한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 취소 금액이 취소 가능 금액을 초과한 경우
      x-portone-status-code: 409
    CancelB2bTaxInvoiceIssuanceBody:
      title: 세금계산서 취소 정보
      description: 세금계산서 취소 정보
      type: object
      properties:
        memo:
          type: string
          title: 메모
      x-portone-title: 세금계산서 취소 정보
    CancelB2bTaxInvoiceIssuanceError:
      title: CancelB2bTaxInvoiceIssuanceError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_NOT_ISSUED_STATUS: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelB2bTaxInvoiceIssuanceResponse:
      title: 세금계산서 취소 응답
      description: 세금계산서 취소 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 취소 응답
    CancelB2bTaxInvoiceRequestBody:
      title: 세금계산서 역발행 요청 취소 정보
      description: 세금계산서 역발행 요청 취소 정보
      type: object
      properties:
        memo:
          type: string
          title: 메모
      x-portone-title: 세금계산서 역발행 요청 취소 정보
    CancelB2bTaxInvoiceRequestError:
      title: CancelB2bTaxInvoiceRequestError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_NOT_REQUESTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError'
          B2B_TAX_INVOICE_NO_RECIPIENT_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelB2bTaxInvoiceRequestResponse:
      title: 세금계산서 역발행 요청 취소 응답
      description: 세금계산서 역발행 요청 취소 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 역발행 요청 취소 응답
    CancelCashReceiptError:
      title: CancelCashReceiptError
      oneOf:
        - $ref: '#/components/schemas/CashReceiptNotFoundError'
        - $ref: '#/components/schemas/CashReceiptNotIssuedError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CASH_RECEIPT_NOT_FOUND: '#/components/schemas/CashReceiptNotFoundError'
          CASH_RECEIPT_NOT_ISSUED: '#/components/schemas/CashReceiptNotIssuedError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelCashReceiptResponse:
      title: 현금 영수증 취소 성공 응답
      description: 현금 영수증 취소 성공 응답
      type: object
      required:
        - cancelledAmount
        - cancelledAt
      properties:
        cancelledAmount:
          type: integer
          format: int64
          title: 취소 금액
        cancelledAt:
          type: string
          format: date-time
          title: 현금 영수증 취소 완료 시점
      x-portone-title: 현금 영수증 취소 성공 응답
    CancelPaymentBody:
      title: 결제 취소 요청 입력 정보
      description: 결제 취소 요청 입력 정보
      type: object
      required:
        - reason
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        amount:
          type: integer
          format: int64
          title: 취소 총 금액
          description: 값을 입력하지 않으면 전액 취소됩니다.
        taxFreeAmount:
          type: integer
          format: int64
          title: 취소 금액 중 면세 금액
          description: 값을 입력하지 않으면 전액 과세 취소됩니다.
        vatAmount:
          type: integer
          format: int64
          title: 취소 금액 중 부가세액
          description: 값을 입력하지 않으면 자동 계산됩니다.
        reason:
          type: string
          title: 취소 사유
        requester:
          $ref: '#/components/schemas/CancelRequester'
          title: 취소 요청자
          description: '고객에 의한 취소일 경우 Customer, 관리자에 의한 취소일 경우 Admin으로 입력합니다.'
        promotionDiscountRetainOption:
          $ref: '#/components/schemas/PromotionDiscountRetainOption'
          title: 프로모션 할인율 유지 옵션
          description: |-
            프로모션이 적용된 결제를 부분 취소하는 경우, 최초 할인율을 유지할지 여부를 선택할 수 있습니다.
            RETAIN 으로 설정 시, 최초 할인율을 유지할 수 있도록 취소 금액이 조정됩니다.
            RELEASE 으로 설정 시, 취소 후 남은 금액이 속한 구간에 맞게 프로모션 할인이 새롭게 적용됩니다.
            값을 입력하지 않으면 RELEASE 로 취급합니다.
        currentCancellableAmount:
          type: integer
          format: int64
          title: 결제 건의 취소 가능 잔액
          description: >-
            본 취소 요청 이전의 취소 가능 잔액으로써, 값을 입력하면 잔액이 일치하는 경우에만 취소가 진행됩니다. 값을 입력하지
            않으면 별도의 검증 처리를 수행하지 않습니다.
        refundAccount:
          $ref: '#/components/schemas/CancelPaymentBodyRefundAccount'
          title: 환불 계좌
          description: '계좌 환불일 경우 입력합니다. 계좌 환불이 필요한 경우는 가상계좌 환불, 휴대폰 익월 환불 등이 있습니다.'
        refundEmail:
          type: string
          title: 환불 이메일
          description: Triple-A 결제 환불에 필요합니다. 해당 이메일로 환불 안내가 발송됩니다.
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: 취소가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.
      x-portone-title: 결제 취소 요청 입력 정보
    CancelPaymentBodyRefundAccount:
      title: 고객 정보 입력 형식
      description: 고객 정보 입력 형식
      type: object
      required:
        - bank
        - number
        - holderName
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        number:
          type: string
          title: 계좌번호
        holderName:
          type: string
          title: 예금주
        holderPhoneNumber:
          type: string
          title: 예금주 연락처 - 스마트로 가상계좌 결제인 경우에 필요합니다.
      x-portone-title: 고객 정보 입력 형식
    CancelPaymentError:
      title: CancelPaymentError
      oneOf:
        - $ref: '#/components/schemas/CancelAmountExceedsCancellableAmountError'
        - $ref: '#/components/schemas/CancelTaxAmountExceedsCancellableTaxAmountError'
        - $ref: >-
            #/components/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError
        - $ref: '#/components/schemas/CancellableAmountConsistencyBrokenError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/NegativePromotionAdjustedCancelAmountError'
        - $ref: '#/components/schemas/PaymentAlreadyCancelledError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PaymentNotPaidError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: >-
            #/components/schemas/PromotionDiscountRetainOptionShouldNotBeChangedError
        - $ref: '#/components/schemas/SumOfPartsExceedsCancelAmountError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CANCELLABLE_AMOUNT_CONSISTENCY_BROKEN: '#/components/schemas/CancellableAmountConsistencyBrokenError'
          CANCEL_AMOUNT_EXCEEDS_CANCELLABLE_AMOUNT: '#/components/schemas/CancelAmountExceedsCancellableAmountError'
          CANCEL_TAX_AMOUNT_EXCEEDS_CANCELLABLE_TAX_AMOUNT: '#/components/schemas/CancelTaxAmountExceedsCancellableTaxAmountError'
          CANCEL_TAX_FREE_AMOUNT_EXCEEDS_CANCELLABLE_TAX_FREE_AMOUNT: >-
            #/components/schemas/CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          NEGATIVE_PROMOTION_ADJUSTED_CANCEL_AMOUNT: '#/components/schemas/NegativePromotionAdjustedCancelAmountError'
          PAYMENT_ALREADY_CANCELLED: '#/components/schemas/PaymentAlreadyCancelledError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PAYMENT_NOT_PAID: '#/components/schemas/PaymentNotPaidError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          PROMOTION_DISCOUNT_RETAIN_OPTION_SHOULD_NOT_BE_CHANGED: >-
            #/components/schemas/PromotionDiscountRetainOptionShouldNotBeChangedError
          SUM_OF_PARTS_EXCEEDS_CANCEL_AMOUNT: '#/components/schemas/SumOfPartsExceedsCancelAmountError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelPaymentResponse:
      title: 결제 취소 성공 응답
      description: 결제 취소 성공 응답
      type: object
      required:
        - cancellation
      properties:
        cancellation:
          $ref: '#/components/schemas/PaymentCancellation'
          title: 결제 취소 내역
      x-portone-title: 결제 취소 성공 응답
    CancelPlatformAdditionalFeePolicyScheduleError:
      title: CancelPlatformAdditionalFeePolicyScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelPlatformAdditionalFeePolicyScheduleResponse:
      title: 추가 수수료 정책 예약 업데이트 취소 성공 응답
      description: 추가 수수료 정책 예약 업데이트 취소 성공 응답
      type: object
      x-portone-title: 추가 수수료 정책 예약 업데이트 취소 성공 응답
    CancelPlatformContractScheduleError:
      title: CancelPlatformContractScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelPlatformContractScheduleResponse:
      title: 계약 예약 업데이트 취소 성공 응답
      description: 계약 예약 업데이트 취소 성공 응답
      type: object
      x-portone-title: 계약 예약 업데이트 취소 성공 응답
    CancelPlatformDiscountSharePolicyScheduleError:
      title: CancelPlatformDiscountSharePolicyScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelPlatformDiscountSharePolicyScheduleResponse:
      title: 할인 분담 정책 예약 업데이트 취소 성공 응답
      description: 할인 분담 정책 예약 업데이트 취소 성공 응답
      type: object
      x-portone-title: 할인 분담 정책 예약 업데이트 취소 성공 응답
    CancelPlatformPartnerScheduleError:
      title: CancelPlatformPartnerScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CancelPlatformPartnerScheduleResponse:
      title: 파트너 예약 업데이트 취소 성공 응답
      description: 파트너 예약 업데이트 취소 성공 응답
      type: object
      x-portone-title: 파트너 예약 업데이트 취소 성공 응답
    CancelRequester:
      title: 결제 취소 요청 주체
      description: 결제 취소 요청 주체
      type: string
      enum:
        - CUSTOMER
        - ADMIN
      x-portone-title: 결제 취소 요청 주체
      x-portone-enum:
        CUSTOMER:
          title: 구매자
        ADMIN:
          title: 관리자
    CancelTaxAmountExceedsCancellableTaxAmountError:
      title: 취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우
      description: 취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우
      x-portone-status-code: 409
    CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError:
      title: 취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우
      description: 취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우
      x-portone-status-code: 409
    CancellableAmountConsistencyBrokenError:
      title: 취소 가능 잔액 검증에 실패한 경우
      description: 취소 가능 잔액 검증에 실패한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 취소 가능 잔액 검증에 실패한 경우
      x-portone-status-code: 409
    CancelledCashReceipt:
      title: 발급 취소
      description: 발급 취소
      type: object
      required:
        - status
        - merchantId
        - storeId
        - paymentId
        - channel
        - amount
        - currency
        - orderName
        - isManual
        - issueNumber
        - issuedAt
        - cancelledAt
      properties:
        status:
          type: string
          title: 현금영수증 상태
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 현금영수증 발급에 사용된 채널
        amount:
          type: integer
          format: int64
          title: 결제 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세액
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        orderName:
          type: string
          title: 주문명
        isManual:
          type: boolean
          title: 수동 발급 여부
        type:
          $ref: '#/components/schemas/CashReceiptType'
          title: 현금영수증 유형
        pgReceiptId:
          type: string
          title: PG사 현금영수증 아이디
        issueNumber:
          type: string
          title: 승인번호
        url:
          type: string
          title: 현금영수증 URL
        issuedAt:
          type: string
          format: date-time
          title: 발급 시점
        cancelledAt:
          type: string
          format: date-time
          title: 취소 시점
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
      x-portone-title: 발급 취소
    CancelledPayment:
      title: 결제 취소 상태 건
      description: 결제 취소 상태 건
      type: object
      required:
        - status
        - id
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - origin
        - cancellations
        - cancelledAt
      properties:
        status:
          type: string
          title: 결제 건 상태
        id:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
        pgTxId:
          type: string
          title: PG사 거래 아이디
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        cancellations:
          title: 결제 취소 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentCancellation'
        cancelledAt:
          type: string
          format: date-time
          title: 결제 취소 시점
      x-portone-title: 결제 취소 상태 건
    CancelledPaymentCashReceipt:
      title: 취소된 현금영수증
      description: 취소된 현금영수증
      type: object
      required:
        - status
        - issueNumber
        - totalAmount
        - currency
        - issuedAt
        - cancelledAt
      properties:
        status:
          type: string
          title: 결제 건 내 현금영수증 상태
        type:
          $ref: '#/components/schemas/CashReceiptType'
          title: 현금영수증 유형
        pgReceiptId:
          type: string
          title: PG사 영수증 발급 아이디
        issueNumber:
          type: string
          title: 승인 번호
        totalAmount:
          type: integer
          format: int64
          title: 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        url:
          type: string
          title: 현금영수증 URL
        issuedAt:
          type: string
          format: date-time
          title: 발급 시점
        cancelledAt:
          type: string
          format: date-time
          title: 취소 시점
      x-portone-title: 취소된 현금영수증
    CancelledPaymentEscrow:
      title: 거래 취소
      description: 거래 취소
      type: object
      required:
        - status
        - company
        - invoiceNumber
      properties:
        status:
          type: string
          title: 에스크로 상태
        company:
          type: string
          title: 택배사
        invoiceNumber:
          type: string
          title: 송장번호
        sentAt:
          type: string
          format: date-time
          title: 발송 일시
        appliedAt:
          type: string
          format: date-time
          title: 배송등록 처리 일자
      x-portone-title: 거래 취소
    CancelledPaymentEvent:
      title: 결제 취소 상태 이벤트
      description: 결제 취소 상태 이벤트
      type: object
      required:
        - type
        - id
        - paymentId
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - createdAt
        - orderName
        - totalAmount
        - currency
        - customer
        - eventAmount
        - origin
      properties:
        type:
          type: string
          title: 결제 이벤트 종류
        id:
          type: string
          title: 결제 이벤트 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 시도 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        createdAt:
          type: string
          format: date-time
          title: 이벤트 생성 시점
        orderName:
          type: string
          title: 주문명
        totalAmount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 총 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        pgTxId:
          type: string
          title: PG사 거래 아이디
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        cancellation:
          $ref: '#/components/schemas/PaymentCancellation'
          title: 결제 취소 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        eventAmount:
          type: integer
          format: int64
          title: 처리 금액
          description: '해당 이벤트에서 처리된 금액으로, 취소 이벤트인 경우 음수로 표기됩니다.'
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
      x-portone-title: 결제 취소 상태 이벤트
    CancelledPaymentTransaction:
      title: 결제 취소 상태 건
      description: 결제 취소 상태 건
      type: object
      required:
        - status
        - id
        - paymentId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - cancellations
        - cancelledAt
      properties:
        status:
          type: string
          title: 결제 시도 상태
        id:
          type: string
          title: 결제 시도 아이디 (transactionId)
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        paymentId:
          type: string
          title: 결제 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
        pgTxId:
          type: string
          title: PG사 거래 아이디
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        cancellations:
          title: 결제 취소 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentCancellation'
        cancelledAt:
          type: string
          format: date-time
          title: 결제 취소 시점
      x-portone-title: 결제 취소 상태 건
    CapturePaymentBody:
      title: 수동 매입 입력 정보
      description: 수동 매입 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      x-portone-title: 수동 매입 입력 정보
    CapturePaymentError:
      title: CapturePaymentError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PaymentNotPaidError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PAYMENT_NOT_PAID: '#/components/schemas/PaymentNotPaidError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CapturePaymentResponse:
      title: 수동 매입 성공 응답
      description: 수동 매입 성공 응답
      type: object
      x-portone-title: 수동 매입 성공 응답
    Card:
      title: 카드 상세 정보
      description: 카드 상세 정보
      type: object
      properties:
        publisher:
          type: string
          title: 발행사 코드
        issuer:
          type: string
          title: 발급사 코드
        brand:
          $ref: '#/components/schemas/CardBrand'
          title: 카드 브랜드
        type:
          $ref: '#/components/schemas/CardType'
          title: 카드 유형
        ownerType:
          $ref: '#/components/schemas/CardOwnerType'
          title: 카드 소유주 유형
        bin:
          type: string
          title: 카드 번호 앞 6자리 또는 8자리의 BIN (Bank Identification Number)
        name:
          type: string
          title: 카드 상품명
        number:
          type: string
          title: 마스킹된 카드 번호
      x-portone-title: 카드 상세 정보
    CardBrand:
      title: 카드 브랜드
      description: 카드 브랜드
      type: string
      enum:
        - LOCAL
        - MASTER
        - UNIONPAY
        - VISA
        - JCB
        - AMEX
        - DINERS
      x-portone-title: 카드 브랜드
      x-portone-enum:
        VISA: {}
        JCB: {}
        DINERS: {}
        MASTER: {}
        LOCAL: {}
        AMEX: {}
        UNIONPAY: {}
    CardCredential:
      title: 카드 인증 관련 정보
      description: 카드 인증 관련 정보
      type: object
      required:
        - number
        - expiryYear
        - expiryMonth
      properties:
        number:
          type: string
          title: 카드 번호 (숫자만)
        expiryYear:
          type: string
          title: 유효 기간 만료 연도 (2자리)
        expiryMonth:
          type: string
          title: 유효 기간 만료 월 (2자리)
        birthOrBusinessRegistrationNumber:
          type: string
          title: '생년월일 (yyMMdd) 또는 사업자 등록 번호 (10자리, 숫자만)'
        passwordTwoDigits:
          type: string
          title: 비밀번호 앞 2자리
      x-portone-title: 카드 인증 관련 정보
    CardOwnerType:
      title: 카드 소유주 유형
      description: 카드 소유주 유형
      type: string
      enum:
        - PERSONAL
        - CORPORATE
      x-portone-title: 카드 소유주 유형
      x-portone-enum:
        PERSONAL:
          title: 개인
        CORPORATE:
          title: 법인
    CardPromotion:
      title: 카드 프로모션
      description: 카드 프로모션
      type: object
      required:
        - type
        - id
        - storeId
        - name
        - discountPolicy
        - totalBudget
        - spentAmount
        - currency
        - startAt
        - endAt
        - cardCompany
        - status
        - createdAt
        - recoverOption
      properties:
        type:
          type: string
          title: 프로모션 유형
        id:
          type: string
          title: 프로모션 아이디
        storeId:
          type: string
          title: 상점 아이디
        name:
          type: string
          title: 프로모션 이름
        discountPolicy:
          $ref: '#/components/schemas/PromotionDiscountPolicy'
          title: 할인 정책
        totalBudget:
          type: integer
          format: int64
          title: 총 예산
        maxDiscountAmount:
          type: integer
          format: int64
          title: 최대 할인 금액
        spentAmount:
          type: integer
          format: int64
          title: 소진 금액
        currency:
          $ref: '#/components/schemas/Currency'
          title: 금액 화폐
        startAt:
          type: string
          format: date-time
          title: 프로모션 시작 시각
        endAt:
          type: string
          format: date-time
          title: 프로모션 종료 시각
        terminatedAt:
          type: string
          format: date-time
          title: 프로모션 중단 시각
        cardCompany:
          $ref: '#/components/schemas/PromotionCardCompany'
          title: 프로모션 카드사
        status:
          $ref: '#/components/schemas/PromotionStatus'
          title: 프로모션 상태
        createdAt:
          type: string
          format: date-time
          title: 프로모션 생성 시각
        recoverOption:
          $ref: '#/components/schemas/PromotionRecoverOption'
          title: 결제 취소 시 프로모션 예산 복구 옵션
      x-portone-title: 카드 프로모션
    CardType:
      title: 카드 유형
      description: 카드 유형
      type: string
      enum:
        - CREDIT
        - DEBIT
        - GIFT
      x-portone-title: 카드 유형
      x-portone-enum:
        CREDIT:
          title: 신용카드
        DEBIT:
          title: 체크카드
        GIFT:
          title: 기프트카드
    Carrier:
      title: 통신사
      description: 통신사
      type: string
      enum:
        - SKT
        - KT
        - LGU
        - SKT_MVNO
        - KT_MVNO
        - LGU_MVNO
      x-portone-title: 통신사
      x-portone-enum:
        SKT:
          title: SKT
        KT:
          title: KT
        KT_MVNO:
          title: KT 알뜰폰
        LGU_MVNO:
          title: LGU 알뜰폰
        SKT_MVNO:
          title: SKT 알뜰폰
        LGU:
          title: LG 유플러스
    CashReceipt:
      title: 현금영수증 내역
      description: 현금영수증 내역
      oneOf:
        - $ref: '#/components/schemas/CancelledCashReceipt'
        - $ref: '#/components/schemas/IssueFailedCashReceipt'
        - $ref: '#/components/schemas/IssuedCashReceipt'
      discriminator:
        propertyName: status
        mapping:
          CANCELLED: '#/components/schemas/CancelledCashReceipt'
          ISSUED: '#/components/schemas/IssuedCashReceipt'
          ISSUE_FAILED: '#/components/schemas/IssueFailedCashReceipt'
      x-portone-title: 현금영수증 내역
      x-portone-discriminator:
        ISSUE_FAILED:
          title: 발급 실패
        ISSUED:
          title: 발급 완료
        CANCELLED:
          title: 발급 취소
    CashReceiptAlreadyIssuedError:
      title: 현금영수증이 이미 발급된 경우
      description: 현금영수증이 이미 발급된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 현금영수증이 이미 발급된 경우
      x-portone-status-code: 409
    CashReceiptFilterInput:
      title: 현금영수증 다건 조회를 위한 입력 정보
      description: 현금영수증 다건 조회를 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: 'Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 현금영수증을 조회합니다.'
        timeRangeField:
          $ref: '#/components/schemas/CashReceiptTimeRangeField'
          title: 조회 기준 시점 유형
          description: 값을 입력하지 않으면 ISSUED_AT으로 설정됩니다.
        from:
          type: string
          format: date-time
          title: 조회 기준 시점 범위의 시작
          description: 값을 입력하지 않으면 end의 90일 전으로 설정됩니다.
        until:
          type: string
          format: date-time
          title: 조회 기준 시점 범위의 끝
          description: 값을 입력하지 않으면 현재 시점으로 설정됩니다.
        paymentId:
          type: string
          title: 고객사 결제 아이디
        isTest:
          type: boolean
          title: 테스트 결제 필터링
        orderName:
          type: string
          title: 주문명
        statuses:
          title: 현금영수증 발급 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/CashReceiptStatus'
          description: 값을 입력하지 않으면 필터링이 적용되지 않습니다.
        isManual:
          type: boolean
          title: 수동 발급 여부
        pgReceiptId:
          type: string
          title: PG사 현금영수증 발급 번호
        pgMerchantId:
          type: string
          title: PG 상점아이디
        pgProviders:
          title: PG사 결제 모듈 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgProvider'
          description: 값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다.
        pgCompanies:
          title: PG사 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgCompany'
          description: 값을 입력하지 않으면 PG사 필터링이 적용되지 않습니다.
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        types:
          title: 현금영수증 유형 리스트
          type: array
          items:
            $ref: '#/components/schemas/CashReceiptType'
          description: 값을 입력하지 않으면 필터링이 적용되지 않습니다.
      x-portone-title: 현금영수증 다건 조회를 위한 입력 정보
    CashReceiptInput:
      title: 현금영수증 입력 정보
      description: 현금영수증 입력 정보
      type: object
      required:
        - type
      properties:
        type:
          $ref: '#/components/schemas/CashReceiptInputType'
          title: 현금영수증 유형
        customerIdentityNumber:
          type: string
          title: 사용자 식별 번호
          description: 미발행 유형 선택 시 입력하지 않습니다.
      x-portone-title: 현금영수증 입력 정보
    CashReceiptInputType:
      title: 입력 시 발급 유형
      description: 입력 시 발급 유형
      type: string
      enum:
        - PERSONAL
        - CORPORATE
        - NO_RECEIPT
      x-portone-title: 입력 시 발급 유형
      x-portone-enum:
        PERSONAL:
          title: 소득공제용
        CORPORATE:
          title: 지출증빙용
        NO_RECEIPT:
          title: 미발행
          description: PG사 설정에 따라 PG사가 자동으로 자진발급 처리할 수 있습니다.
    CashReceiptNotFoundError:
      title: 현금영수증이 존재하지 않는 경우
      description: 현금영수증이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 현금영수증이 존재하지 않는 경우
      x-portone-status-code: 404
    CashReceiptNotIssuedError:
      title: 현금영수증이 발급되지 않은 경우
      description: 현금영수증이 발급되지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 현금영수증이 발급되지 않은 경우
      x-portone-status-code: 404
    CashReceiptSortBy:
      title: 현금영수증 정렬 기준
      description: 현금영수증 정렬 기준
      type: string
      enum:
        - ISSUED_AT
        - CANCELLED_AT
        - STATUS_UPDATED_AT
      x-portone-title: 현금영수증 정렬 기준
      x-portone-enum:
        ISSUED_AT:
          title: 발급 시각
        CANCELLED_AT:
          title: 취소 시각
        STATUS_UPDATED_AT:
          title: 상태 변경 시각
          description: '발급 상태의 경우 ISSUED_AT, 취소 상태의 경우 CANCELLED_AT'
    CashReceiptSortInput:
      title: 현금영수증 다건 조회 시 정렬 조건
      description: 현금영수증 다건 조회 시 정렬 조건
      type: object
      properties:
        by:
          $ref: '#/components/schemas/CashReceiptSortBy'
          title: 정렬 기준 필드
          description: '어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, ISSUED_AT이 기본값으로 설정됩니다.'
        order:
          $ref: '#/components/schemas/SortOrder'
          title: 정렬 순서
          description: '어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다.'
      x-portone-title: 현금영수증 다건 조회 시 정렬 조건
    CashReceiptStatus:
      title: 현금영수증 발급 건 상태
      description: 현금영수증 발급 건 상태
      type: string
      enum:
        - ISSUED
        - CANCELLED
        - FAILED
      x-portone-title: 현금영수증 발급 건 상태
      x-portone-enum:
        ISSUED: {}
        CANCELLED: {}
        FAILED: {}
    CashReceiptSummary:
      title: 현금영수증 내역
      description: 현금영수증 내역
      type: object
      required:
        - issueNumber
        - url
        - pgReceiptId
      properties:
        issueNumber:
          type: string
          title: 발행 번호
        url:
          type: string
          title: 현금 영수증 URL
        pgReceiptId:
          type: string
          title: PG사 현금영수증 아이디
      x-portone-title: 현금영수증 내역
    CashReceiptTimeRangeField:
      title: '현금영수증 다건 조회 시, 시각 범위를 적용할 필드'
      description: '현금영수증 다건 조회 시, 시각 범위를 적용할 필드'
      type: string
      enum:
        - ISSUED_AT
        - CANCELLED_AT
        - STATUS_UPDATED_AT
      x-portone-title: '현금영수증 다건 조회 시, 시각 범위를 적용할 필드'
      x-portone-enum:
        ISSUED_AT:
          title: 발급 시각
        CANCELLED_AT:
          title: 취소 시각
        STATUS_UPDATED_AT:
          title: 상태 변경 시각
          description: '발급 상태의 경우 ISSUED_AT, 취소 상태의 경우 CANCELLED_AT'
    CashReceiptType:
      title: 발급 유형
      description: 발급 유형
      type: string
      enum:
        - PERSONAL
        - CORPORATE
      x-portone-title: 발급 유형
      x-portone-enum:
        PERSONAL:
          title: 소득공제용
        CORPORATE:
          title: 지출증빙용
    ChannelGroupSummary:
      title: 채널 그룹 정보
      description: 채널 그룹 정보
      type: object
      required:
        - id
        - name
        - isForTest
      properties:
        id:
          type: string
          title: 채널 그룹 아이디
        name:
          type: string
          title: 채널 그룹 이름
        isForTest:
          type: boolean
          title: 테스트 채널 그룹 여부
      x-portone-title: 채널 그룹 정보
    ChannelNotFoundError:
      title: 요청된 채널이 존재하지 않는 경우
      description: 요청된 채널이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 요청된 채널이 존재하지 않는 경우
      x-portone-status-code: 404
    ChannelSpecificError:
      title: '여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우'
      description: '여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우'
      type: object
      required:
        - type
        - failures
        - succeededChannels
      properties:
        type:
          type: string
        message:
          type: string
        failures:
          type: array
          items:
            $ref: '#/components/schemas/ChannelSpecificFailure'
        succeededChannels:
          title: '(결제, 본인인증 등에) 선택된 채널 정보'
          type: array
          items:
            $ref: '#/components/schemas/SelectedChannel'
      x-portone-title: '여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우'
      x-portone-status-code: 502
    ChannelSpecificFailure:
      title: ChannelSpecificFailure
      oneOf:
        - $ref: '#/components/schemas/ChannelSpecificFailureInvalidRequest'
        - $ref: '#/components/schemas/ChannelSpecificFailurePgProvider'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/ChannelSpecificFailureInvalidRequest'
          PG_PROVIDER: '#/components/schemas/ChannelSpecificFailurePgProvider'
      x-portone-discriminator:
        INVALID_REQUEST:
          title: 요청된 입력 정보가 유효하지 않은 경우
        PG_PROVIDER:
          title: PG사에서 오류를 전달한 경우
    ChannelSpecificFailureInvalidRequest:
      title: 요청된 입력 정보가 유효하지 않은 경우
      description: |-
        요청된 입력 정보가 유효하지 않은 경우

        허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.
      type: object
      required:
        - type
        - channel
      properties:
        type:
          type: string
        channel:
          $ref: '#/components/schemas/SelectedChannel'
        message:
          type: string
      x-portone-title: 요청된 입력 정보가 유효하지 않은 경우
      x-portone-description: '허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.'
      x-portone-status-code: 400
    ChannelSpecificFailurePgProvider:
      title: PG사에서 오류를 전달한 경우
      description: PG사에서 오류를 전달한 경우
      type: object
      required:
        - type
        - channel
        - pgCode
        - pgMessage
      properties:
        type:
          type: string
        channel:
          $ref: '#/components/schemas/SelectedChannel'
        message:
          type: string
        pgCode:
          type: string
        pgMessage:
          type: string
      x-portone-title: PG사에서 오류를 전달한 경우
      x-portone-status-code: 502
    CloseVirtualAccountError:
      title: CloseVirtualAccountError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PaymentNotWaitingForDepositError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PAYMENT_NOT_WAITING_FOR_DEPOSIT: '#/components/schemas/PaymentNotWaitingForDepositError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CloseVirtualAccountResponse:
      title: 가상계좌 말소 성공 응답
      description: 가상계좌 말소 성공 응답
      type: object
      required:
        - closedAt
      properties:
        closedAt:
          type: string
          format: date-time
          title: 가상계좌 말소 시점
      x-portone-title: 가상계좌 말소 성공 응답
    CompletePlatformPayoutByPartnerSettlementIdsBody:
      title: CompletePlatformPayoutByPartnerSettlementIdsBody
      type: object
      required:
        - bulkPayoutId
        - partnerSettlementIds
      properties:
        bulkPayoutId:
          type: string
        name:
          type: string
        partnerSettlementIds:
          type: array
          items:
            type: string
        completedAt:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    CompletePlatformPayoutByPartnerSettlementIdsError:
      title: CompletePlatformPayoutByPartnerSettlementIdsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBulkPayoutIdAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformDuplicatedPartnerSettlementIdsError'
        - $ref: '#/components/schemas/PlatformNegativePayoutAmountPartnersError'
        - $ref: '#/components/schemas/PlatformNoSelectedPartnerSettlementsError'
        - $ref: '#/components/schemas/PlatformNonPayablePartnerSettlementsError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerSettlementsNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_BULK_PAYOUT_ID_ALREADY_EXISTS: '#/components/schemas/PlatformBulkPayoutIdAlreadyExistsError'
          PLATFORM_CURRENCY_NOT_SUPPORTED: '#/components/schemas/PlatformNegativePayoutAmountPartnersError'
          PLATFORM_DUPLICATED_PARTNER_SETTLEMENT_IDS: '#/components/schemas/PlatformDuplicatedPartnerSettlementIdsError'
          PLATFORM_NON_PAYABLE_PARTNER_SETTLEMENTS: '#/components/schemas/PlatformNonPayablePartnerSettlementsError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_NO_SELECTED_PARTNER_SETTLEMENTS: '#/components/schemas/PlatformNoSelectedPartnerSettlementsError'
          PLATFORM_PARTNER_SETTLEMENTS_NOT_FOUND: '#/components/schemas/PlatformPartnerSettlementsNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CompletePlatformPayoutByPartnerSettlementIdsResponse:
      title: 일괄 지급 완료 처리 결과
      description: 일괄 지급 완료 처리 결과
      type: object
      required:
        - payoutCount
        - partnerSettlementCount
      properties:
        bulkPayoutId:
          type: string
        bulkPayoutGraphqlId:
          type: string
        payoutCount:
          type: integer
          format: int32
        partnerSettlementCount:
          type: integer
          format: int32
      x-portone-title: 일괄 지급 완료 처리 결과
    ConfirmBillingKeyBody:
      title: 빌링키 발급 승인 입력 정보
      description: 빌링키 발급 승인 입력 정보
      type: object
      required:
        - billingIssueToken
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        billingIssueToken:
          type: string
          title: 빌링키 발급 토큰
          description: 빌링키 발급 요청 완료 시 발급된 토큰입니다.
        isTest:
          type: boolean
          title: 테스트 결제 여부
          description: '검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다.'
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: 빌링키 발급이 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.
      x-portone-title: 빌링키 발급 승인 입력 정보
    ConfirmBillingKeyError:
      title: ConfirmBillingKeyError
      oneOf:
        - $ref: '#/components/schemas/BillingKeyAlreadyIssuedError'
        - $ref: '#/components/schemas/BillingKeyNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InformationMismatchError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          BILLING_KEY_ALREADY_ISSUED: '#/components/schemas/BillingKeyAlreadyIssuedError'
          BILLING_KEY_NOT_FOUND: '#/components/schemas/BillingKeyNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INFORMATION_MISMATCH: '#/components/schemas/InformationMismatchError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConfirmBillingKeyIssueAndPayBody:
      title: 빌링키 발급 및 초회 결제 승인 입력 정보
      description: 빌링키 발급 및 초회 결제 승인 입력 정보
      type: object
      required:
        - billingIssueToken
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        billingIssueToken:
          type: string
          title: 빌링키 발급 토큰
          description: 빌링키 발급 및 초회 결제 요청 완료 시 발급된 토큰입니다.
        paymentId:
          type: string
          title: 결제 건 아이디
          description: '검증용 파라미터로, 결제 건 아이디와 일치하지 않을 경우 오류가 반환됩니다.'
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
          description: '검증용 파라미터로, 결제 건 화폐와 일치하지 않을 경우 오류가 반환됩니다.'
        totalAmount:
          type: integer
          format: int64
          title: 결제 금액
          description: '검증용 파라미터로, 결제 건 총 금액과 일치하지 않을 경우 오류가 반환됩니다.'
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 금액
          description: '검증용 파라미터로, 결제 건 면세 금액과 일치하지 않을 경우 오류가 반환됩니다.'
        isTest:
          type: boolean
          title: 테스트 결제 여부
          description: '검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다.'
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: >-
            빌링키 발급 및 결제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다. 가상계좌 입금 완료 등 외부 이벤트로
            결제가 완료되는 경우 발생하는 웹훅은 스킵되지 않습니다.
      x-portone-title: 빌링키 발급 및 초회 결제 승인 입력 정보
    ConfirmBillingKeyIssueAndPayError:
      title: ConfirmBillingKeyIssueAndPayError
      oneOf:
        - $ref: '#/components/schemas/BillingKeyAlreadyIssuedError'
        - $ref: '#/components/schemas/BillingKeyNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InformationMismatchError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          BILLING_KEY_ALREADY_ISSUED: '#/components/schemas/BillingKeyAlreadyIssuedError'
          BILLING_KEY_NOT_FOUND: '#/components/schemas/BillingKeyNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INFORMATION_MISMATCH: '#/components/schemas/InformationMismatchError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConfirmEscrowBody:
      title: 에스크로 구매 확정 입력 정보
      description: 에스크로 구매 확정 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        fromStore:
          type: boolean
          title: 확인 주체가 상점인지 여부
          description: |-
            구매확정요청 주체가 고객사 관리자인지 구매자인지 구분하기 위한 필드입니다.
            네이버페이 전용 파라미터이며, 구분이 모호한 경우 고객사 관리자(true)로 입력합니다.
      x-portone-title: 에스크로 구매 확정 입력 정보
    ConfirmEscrowError:
      title: ConfirmEscrowError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PaymentNotPaidError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PAYMENT_NOT_PAID: '#/components/schemas/PaymentNotPaidError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConfirmEscrowResponse:
      title: 에스크로 구매 확정 성공 응답
      description: 에스크로 구매 확정 성공 응답
      type: object
      required:
        - completedAt
      properties:
        completedAt:
          type: string
          format: date-time
          title: 에스크로 구매 확정 시점
      x-portone-title: 에스크로 구매 확정 성공 응답
    ConfirmIdentityVerificationBody:
      title: 본인인증 확인을 위한 입력 정보
      description: 본인인증 확인을 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        otp:
          type: string
          title: OTP (One-Time Password)
          description: SMS 방식에서만 사용됩니다.
      x-portone-title: 본인인증 확인을 위한 입력 정보
    ConfirmIdentityVerificationError:
      title: ConfirmIdentityVerificationError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/IdentityVerificationAlreadyVerifiedError'
        - $ref: '#/components/schemas/IdentityVerificationNotFoundError'
        - $ref: '#/components/schemas/IdentityVerificationNotSentError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          IDENTITY_VERIFICATION_ALREADY_VERIFIED: '#/components/schemas/IdentityVerificationAlreadyVerifiedError'
          IDENTITY_VERIFICATION_NOT_FOUND: '#/components/schemas/IdentityVerificationNotFoundError'
          IDENTITY_VERIFICATION_NOT_SENT: '#/components/schemas/IdentityVerificationNotSentError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConfirmIdentityVerificationResponse:
      title: 본인인증 확인 성공 응답
      description: 본인인증 확인 성공 응답
      type: object
      required:
        - identityVerification
      properties:
        identityVerification:
          $ref: '#/components/schemas/VerifiedIdentityVerification'
          title: 완료된 본인인증 내역
      x-portone-title: 본인인증 확인 성공 응답
    ConfirmPaymentBody:
      title: 결제 승인 입력 정보
      description: 결제 승인 입력 정보
      type: object
      required:
        - paymentToken
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        paymentToken:
          type: string
          title: 결제 토큰
          description: 인증 완료 시 발급된 토큰입니다.
        txId:
          type: string
          title: 결제 시도 아이디
          description: '검증용 파라미터로, 결제 시도 아이디와 일치하지 않을 경우 오류가 반환됩니다.'
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
          description: '검증용 파라미터로, 결제 건 화폐와 일치하지 않을 경우 오류가 반환됩니다. 값 전달을 권장합니다.'
        totalAmount:
          type: integer
          format: int64
          title: 결제 금액
          description: '검증용 파라미터로, 결제 건 총 금액과 일치하지 않을 경우 오류가 반환됩니다. 값 전달을 권장합니다.'
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 금액
          description: '검증용 파라미터로, 결제 건 면세 금액과 일치하지 않을 경우 오류가 반환됩니다.'
        isTest:
          type: boolean
          title: 테스트 결제 여부
          description: '검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다. 값 전달을 권장합니다.'
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: >-
            결제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다. 가상계좌 입금 완료 등 외부 이벤트로 결제가 완료되는
            경우 발생하는 웹훅은 스킵되지 않습니다.
      x-portone-title: 결제 승인 입력 정보
    ConfirmPaymentError:
      title: ConfirmPaymentError
      oneOf:
        - $ref: '#/components/schemas/AlreadyPaidError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InformationMismatchError'
        - $ref: '#/components/schemas/InvalidPaymentTokenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          ALREADY_PAID: '#/components/schemas/AlreadyPaidError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INFORMATION_MISMATCH: '#/components/schemas/InformationMismatchError'
          INVALID_PAYMENT_TOKEN: '#/components/schemas/InvalidPaymentTokenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConfirmPaymentwallDeliveryBody:
      title: 페이먼트월 배송 정보 등록 입력 정보
      description: 페이먼트월 배송 정보 등록 입력 정보
      type: object
      required:
        - transactionId
        - deliveryType
        - deliveryStatus
        - estimatedDeliveryDatetime
        - estimatedUpdateDatetime
        - refundable
        - details
        - shippingAddressEmail
      properties:
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
        deliveryType:
          $ref: '#/components/schemas/PaymentwallDeliveryType'
          title: 배송 유형
        deliveryStatus:
          $ref: '#/components/schemas/PaymentwallDeliveryStatus'
          title: 배송 상태
        estimatedDeliveryDatetime:
          type: string
          format: date-time
          title: 배송 완료 예상 일시
          description: 배송 유형이 DIGITAL인 경우 현재 시각을 입력해도 무방합니다.
        estimatedUpdateDatetime:
          type: string
          format: date-time
          title: 배송 상태 업데이트 예정 일시
          description: 배송 유형이 DIGITAL인 경우 현재 시각을 입력해도 무방합니다.
        reason:
          type: string
          title: 상태 변경 사유
        refundable:
          type: boolean
          title: 환불 가능 여부
        details:
          type: string
          title: 상세 설명
        shippingAddressEmail:
          type: string
          title: 고객 이메일 주소
        carrierTrackingId:
          type: string
          title: 운송장 번호
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        carrierType:
          type: string
          title: 운송사 이름
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressCountry:
          $ref: '#/components/schemas/Country'
          title: 수신자 국가
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressCity:
          type: string
          title: 수신자 도시
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressZip:
          type: string
          title: 수신자 우편번호
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressState:
          type: string
          title: 수신자 주
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressStreet:
          type: string
          title: 수신자 도로명 주소
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressPhone:
          type: string
          title: 수신자 전화번호
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressFirstname:
          type: string
          title: 수신자 이름
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        shippingAddressLastname:
          type: string
          title: 수신자 성
          description: 배송 유형이 PHYSICAL인 경우 필수입니다.
        attachments:
          type: array
          items:
            type: string
          title: 배송 증빙 첨부 파일 URL 목록
          description: 배송 증빙 자료의 URL(이미지 등)을 입력합니다. 증빙 자료를 제공하기 어려운 경우 생략할 수 있습니다.
      x-portone-title: 페이먼트월 배송 정보 등록 입력 정보
    ConfirmPaymentwallDeliveryError:
      title: ConfirmPaymentwallDeliveryError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConfirmPaymentwallDeliveryResponse:
      title: 페이먼트월 배송 정보 등록 성공 응답
      description: 페이먼트월 배송 정보 등록 성공 응답
      type: object
      x-portone-title: 페이먼트월 배송 정보 등록 성공 응답
    ConfirmedBillingKeyIssueAndPaySummary:
      title: 빌링키 발급 및 초회 결제 수동 승인 완료 응답
      description: 빌링키 발급 및 초회 결제 수동 승인 완료 응답
      type: object
      required:
        - billingKey
        - paymentId
      properties:
        billingKey:
          type: string
          title: 빌링키
        paymentId:
          type: string
          title: 결제 건 아이디
      x-portone-title: 빌링키 발급 및 초회 결제 수동 승인 완료 응답
    ConfirmedBillingKeySummary:
      title: 빌링키 발급 수동 승인 완료 응답
      description: 빌링키 발급 수동 승인 완료 응답
      type: object
      required:
        - billingKey
      properties:
        billingKey:
          type: string
          title: 빌링키
      x-portone-title: 빌링키 발급 수동 승인 완료 응답
    ConfirmedPaymentEscrow:
      title: 구매 확정
      description: 구매 확정
      type: object
      required:
        - status
        - company
        - invoiceNumber
        - isAutomaticallyConfirmed
      properties:
        status:
          type: string
          title: 에스크로 상태
        company:
          type: string
          title: 택배사
        invoiceNumber:
          type: string
          title: 송장번호
        sentAt:
          type: string
          format: date-time
          title: 발송 일시
        appliedAt:
          type: string
          format: date-time
          title: 배송등록 처리 일자
        isAutomaticallyConfirmed:
          type: boolean
          title: 자동 구매 확정 처리 여부
      x-portone-title: 구매 확정
    ConfirmedPaymentSummary:
      title: 결제 수동 승인 완료된 결제 건 요약 정보
      description: 결제 수동 승인 완료된 결제 건 요약 정보
      type: object
      required:
        - pgTxId
        - paidAt
      properties:
        pgTxId:
          type: string
          title: PG사 결제 아이디
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
      x-portone-title: 결제 수동 승인 완료된 결제 건 요약 정보
    ConnectBulkPartnerCounterpartyBody:
      title: 파트너 일괄 거래처 연동 요청 정보
      description: |-
        파트너 일괄 거래처 연동 요청 정보

        파트너들을 일괄 거래처 연동합니다.
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerFilterInput'
          title: 일괄 거래처 연동할 파트너 조건 필터
      x-portone-title: 파트너 일괄 거래처 연동 요청 정보
      x-portone-description: 파트너들을 일괄 거래처 연동합니다.
    ConnectBulkPartnerCounterpartyError:
      title: ConnectBulkPartnerCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBtxNotEnabledError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformTargetPartnerNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_BTX_NOT_ENABLED: '#/components/schemas/PlatformBtxNotEnabledError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_TARGET_PARTNER_NOT_FOUND: '#/components/schemas/PlatformTargetPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConnectBulkPartnerCounterpartyResponse:
      title: 파트너 일괄 거래처 연동 응답
      description: 파트너 일괄 거래처 연동 응답
      type: object
      required:
        - bulkTask
      properties:
        bulkTask:
          $ref: '#/components/schemas/PlatformBulkTask'
      x-portone-title: 파트너 일괄 거래처 연동 응답
    ConnectPartnerCounterpartyError:
      title: ConnectPartnerCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedPartnerError'
        - $ref: '#/components/schemas/PlatformArchivedPartnerNtsNotAllowedError'
        - $ref: '#/components/schemas/PlatformBtxNotEnabledError'
        - $ref: '#/components/schemas/PlatformCounterpartyNotConnectableStatusError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformPartnerScheduleExistsError'
        - $ref: '#/components/schemas/PlatformPartnerTaxationTypeIsSimpleError'
        - $ref: '#/components/schemas/PlatformPartnerTypeIsNotBusinessError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ARCHIVED_PARTNER: '#/components/schemas/PlatformArchivedPartnerError'
          PLATFORM_ARCHIVED_PARTNER_NTS_NOT_ALLOWED: '#/components/schemas/PlatformArchivedPartnerNtsNotAllowedError'
          PLATFORM_BTX_NOT_ENABLED: '#/components/schemas/PlatformBtxNotEnabledError'
          PLATFORM_COUNTERPARTY_NOT_CONNECTABLE_STATUS: '#/components/schemas/PlatformCounterpartyNotConnectableStatusError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_PARTNER_SCHEDULE_EXISTS: '#/components/schemas/PlatformPartnerScheduleExistsError'
          PLATFORM_PARTNER_TAXATION_TYPE_IS_SIMPLE: '#/components/schemas/PlatformPartnerTaxationTypeIsSimpleError'
          PLATFORM_PARTNER_TYPE_IS_NOT_BUSINESS: '#/components/schemas/PlatformPartnerTypeIsNotBusinessError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ConnectPartnerCounterpartyResponse:
      title: 파트너 거래처 연동 응답
      description: 파트너 거래처 연동 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
      x-portone-title: 파트너 거래처 연동 응답
    ConvenienceStoreBrand:
      title: 편의점 브랜드
      description: 편의점 브랜드
      type: string
      enum:
        - LAWSON
        - FAMILY_MART
        - MINI_STOP
        - SEVEN_ELEVEN
        - SEICOMART
      x-portone-title: 편의점 브랜드
      x-portone-enum:
        SEVEN_ELEVEN:
          title: 세븐일레븐
        MINI_STOP:
          title: 미니스톱
        FAMILY_MART:
          title: 패밀리마트
        SEICOMART:
          title: 세이코마트
        LAWSON:
          title: 로손
    Country:
      title: 국가
      description: 국가
      type: string
      enum:
        - AD
        - AE
        - AF
        - AG
        - AI
        - AL
        - AM
        - AO
        - AQ
        - AR
        - AS
        - AT
        - AU
        - AW
        - AX
        - AZ
        - BA
        - BB
        - BD
        - BE
        - BF
        - BG
        - BH
        - BI
        - BJ
        - BL
        - BM
        - BN
        - BO
        - BQ
        - BR
        - BS
        - BT
        - BV
        - BW
        - BY
        - BZ
        - CA
        - CC
        - CD
        - CF
        - CG
        - CH
        - CI
        - CK
        - CL
        - CM
        - CN
        - CO
        - CR
        - CU
        - CV
        - CW
        - CX
        - CY
        - CZ
        - DE
        - DJ
        - DK
        - DM
        - DO
        - DZ
        - EC
        - EE
        - EG
        - EH
        - ER
        - ES
        - ET
        - FI
        - FJ
        - FK
        - FM
        - FO
        - FR
        - GA
        - GB
        - GD
        - GE
        - GF
        - GG
        - GH
        - GI
        - GL
        - GM
        - GN
        - GP
        - GQ
        - GR
        - GS
        - GT
        - GU
        - GW
        - GY
        - HK
        - HM
        - HN
        - HR
        - HT
        - HU
        - ID
        - IE
        - IL
        - IM
        - IN
        - IO
        - IQ
        - IR
        - IS
        - IT
        - JE
        - JM
        - JO
        - JP
        - KE
        - KG
        - KH
        - KI
        - KM
        - KN
        - KP
        - KR
        - KW
        - KY
        - KZ
        - LA
        - LB
        - LC
        - LI
        - LK
        - LR
        - LS
        - LT
        - LU
        - LV
        - LY
        - MA
        - MC
        - MD
        - ME
        - MF
        - MG
        - MH
        - MK
        - ML
        - MM
        - MN
        - MO
        - MP
        - MQ
        - MR
        - MS
        - MT
        - MU
        - MV
        - MW
        - MX
        - MY
        - MZ
        - NA
        - NC
        - NE
        - NF
        - NG
        - NI
        - NL
        - 'NO'
        - NP
        - NR
        - NU
        - NZ
        - OM
        - PA
        - PE
        - PF
        - PG
        - PH
        - PK
        - PL
        - PM
        - PN
        - PR
        - PS
        - PT
        - PW
        - PY
        - QA
        - RE
        - RO
        - RS
        - RU
        - RW
        - SA
        - SB
        - SC
        - SD
        - SE
        - SG
        - SH
        - SI
        - SJ
        - SK
        - SL
        - SM
        - SN
        - SO
        - SR
        - SS
        - ST
        - SV
        - SX
        - SY
        - SZ
        - TC
        - TD
        - TF
        - TG
        - TH
        - TJ
        - TK
        - TL
        - TM
        - TN
        - TO
        - TR
        - TT
        - TV
        - TW
        - TZ
        - UA
        - UG
        - UM
        - US
        - UY
        - UZ
        - VA
        - VC
        - VE
        - VG
        - VI
        - VN
        - VU
        - WF
        - WS
        - YE
        - YT
        - ZA
        - ZM
        - ZW
      x-portone-title: 국가
      x-portone-enum:
        CV:
          title: Cabo Verde
        MA:
          title: Morocco
        AO:
          title: Angola
        VN:
          title: Viet Nam
        IN:
          title: India
        KW:
          title: Kuwait
        ML:
          title: Mali
        ID:
          title: Indonesia
        JE:
          title: Jersey
        HM:
          title: Heard Island and McDonald Islands
        EG:
          title: Egypt
        BG:
          title: Bulgaria
        SG:
          title: Singapore
        SV:
          title: El Salvador
        BD:
          title: Bangladesh
        TC:
          title: Turks and Caicos Islands (the)
        TH:
          title: Thailand
        AT:
          title: Austria
        GQ:
          title: Equatorial Guinea
        TR:
          title: Türkiye
        HT:
          title: Haiti
        UM:
          title: United States Minor Outlying Islands (the)
        MH:
          title: Marshall Islands (the)
        MY:
          title: Malaysia
        RU:
          title: Russian Federation (the)
        NI:
          title: Nicaragua
        BZ:
          title: Belize
        KP:
          title: Korea (the Democratic People's Republic of)
        VE:
          title: Venezuela (Bolivarian Republic of)
        IL:
          title: Israel
        GD:
          title: Grenada
        GI:
          title: Gibraltar
        TN:
          title: Tunisia
        DM:
          title: Dominica
        MO:
          title: Macao
        PR:
          title: Puerto Rico
        NF:
          title: Norfolk Island
        TW:
          title: Taiwan (Province of China)
        KN:
          title: Saint Kitts and Nevis
        PH:
          title: Philippines (the)
        WF:
          title: Wallis and Futuna
        JO:
          title: Jordan
        ME:
          title: Montenegro
        ES:
          title: Spain
        AZ:
          title: Azerbaijan
        MR:
          title: Mauritania
        SM:
          title: San Marino
        BL:
          title: Saint Barthélemy
        PK:
          title: Pakistan
        NZ:
          title: New Zealand
        GP:
          title: Guadeloupe
        NA:
          title: Namibia
        JM:
          title: Jamaica
        AX:
          title: Åland Islands
        CM:
          title: Cameroon
        US:
          title: United States of America (the)
        GU:
          title: Guam
        SB:
          title: Solomon Islands
        MV:
          title: Maldives
        SI:
          title: Slovenia
        CW:
          title: Curaçao
        BH:
          title: Bahrain
        VG:
          title: Virgin Islands (British)
        HK:
          title: Hong Kong
        SD:
          title: Sudan (the)
        AD:
          title: Andorra
        RO:
          title: Romania
        LU:
          title: Luxembourg
        VC:
          title: Saint Vincent and the Grenadines
        FO:
          title: Faroe Islands (the)
        GL:
          title: Greenland
        BW:
          title: Botswana
        CF:
          title: Central African Republic (the)
        CI:
          title: Côte d'Ivoire
        KG:
          title: Kyrgyzstan
        BV:
          title: Bouvet Island
        KY:
          title: Cayman Islands (the)
        LY:
          title: Libya
        MM:
          title: Myanmar
        MZ:
          title: Mozambique
        IR:
          title: Iran (Islamic Republic of)
        EH:
          title: Western Sahara
        IQ:
          title: Iraq
        BB:
          title: Barbados
        SZ:
          title: Eswatini
        IE:
          title: Ireland
        FK:
          title: 'Falkland Islands (the) [Malvinas]'
        NP:
          title: Nepal
        BE:
          title: Belgium
        AU:
          title: Australia
        TZ:
          title: 'Tanzania, the United Republic of'
        UY:
          title: Uruguay
        SA:
          title: Saudi Arabia
        ZW:
          title: Zimbabwe
        MD:
          title: Moldova (the Republic of)
        HU:
          title: Hungary
        PG:
          title: Papua New Guinea
        AF:
          title: Afghanistan
        MU:
          title: Mauritius
        SL:
          title: Sierra Leone
        GT:
          title: Guatemala
        BO:
          title: Bolivia (Plurinational State of)
        TM:
          title: Turkmenistan
        NE:
          title: Niger (the)
        CL:
          title: Chile
        FI:
          title: Finland
        MN:
          title: Mongolia
        'NO':
          title: Norway
        GG:
          title: Guernsey
        EE:
          title: Estonia
        KM:
          title: Comoros (the)
        LT:
          title: Lithuania
        ER:
          title: Eritrea
        SH:
          title: 'Saint Helena, Ascension and Tristan da Cunha'
        SY:
          title: Syrian Arab Republic (the)
        LC:
          title: Saint Lucia
        CC:
          title: Cocos (Keeling) Islands (the)
        PL:
          title: Poland
        CH:
          title: Switzerland
        ST:
          title: Sao Tome and Principe
        NG:
          title: Nigeria
        TF:
          title: French Southern Territories (the)
        KI:
          title: Kiribati
        LV:
          title: Latvia
        UG:
          title: Uganda
        CY:
          title: Cyprus
        MW:
          title: Malawi
        CG:
          title: Congo (the)
        MF:
          title: Saint Martin (French part)
        PM:
          title: Saint Pierre and Miquelon
        IS:
          title: Iceland
        BI:
          title: Burundi
        TK:
          title: Tokelau
        SE:
          title: Sweden
        AE:
          title: United Arab Emirates (the)
        KZ:
          title: Kazakhstan
        LB:
          title: Lebanon
        AR:
          title: Argentina
        GS:
          title: South Georgia and the South Sandwich Islands
        BF:
          title: Burkina Faso
        DJ:
          title: Djibouti
        BA:
          title: Bosnia and Herzegovina
        SJ:
          title: Svalbard and Jan Mayen
        FR:
          title: France
        GM:
          title: Gambia (the)
        HR:
          title: Croatia
        BS:
          title: Bahamas (the)
        RS:
          title: Serbia
        WS:
          title: Samoa
        GB:
          title: United Kingdom of Great Britain and Northern Ireland (the)
        LS:
          title: Lesotho
        UZ:
          title: Uzbekistan
        PF:
          title: French Polynesia
        AG:
          title: Antigua and Barbuda
        GW:
          title: Guinea-Bissau
        FJ:
          title: Fiji
        CO:
          title: Colombia
        ZM:
          title: Zambia
        AQ:
          title: Antarctica
        GF:
          title: French Guiana
        NU:
          title: Niue
        BN:
          title: Brunei Darussalam
        RW:
          title: Rwanda
        PT:
          title: Portugal
        SO:
          title: Somalia
        MT:
          title: Malta
        PW:
          title: Palau
        KH:
          title: Cambodia
        SX:
          title: Sint Maarten (Dutch part)
        TJ:
          title: Tajikistan
        KR:
          title: Korea (the Republic of)
        SS:
          title: South Sudan
        PY:
          title: Paraguay
        AM:
          title: Armenia
        MC:
          title: Monaco
        CX:
          title: Christmas Island
        TT:
          title: Trinidad and Tobago
        UA:
          title: Ukraine
        LI:
          title: Liechtenstein
        BR:
          title: Brazil
        PA:
          title: Panama
        MQ:
          title: Martinique
        NR:
          title: Nauru
        PN:
          title: Pitcairn
        GA:
          title: Gabon
        TG:
          title: Togo
        FM:
          title: Micronesia (Federated States of)
        GN:
          title: Guinea
        YT:
          title: Mayotte
        CD:
          title: Congo (the Democratic Republic of the)
        MG:
          title: Madagascar
        AI:
          title: Anguilla
        YE:
          title: Yemen
        HN:
          title: Honduras
        IT:
          title: Italy
        RE:
          title: Réunion
        DO:
          title: Dominican Republic (the)
        IO:
          title: British Indian Ocean Territory (the)
        GR:
          title: Greece
        AS:
          title: American Samoa
        ZA:
          title: South Africa
        GY:
          title: Guyana
        BY:
          title: Belarus
        LK:
          title: Sri Lanka
        BT:
          title: Bhutan
        OM:
          title: Oman
        CK:
          title: Cook Islands (the)
        KE:
          title: Kenya
        CZ:
          title: Czechia
        GH:
          title: Ghana
        MX:
          title: Mexico
        SK:
          title: Slovakia
        MK:
          title: North Macedonia
        DZ:
          title: Algeria
        QA:
          title: Qatar
        CU:
          title: Cuba
        BJ:
          title: Benin
        LA:
          title: Lao People's Democratic Republic (the)
        TL:
          title: Timor-Leste
        DK:
          title: Denmark
        VI:
          title: Virgin Islands (U.S.)
        NL:
          title: Netherlands (Kingdom of the)
        CA:
          title: Canada
        BM:
          title: Bermuda
        JP:
          title: Japan
        AW:
          title: Aruba
        TO:
          title: Tonga
        CN:
          title: China
        VU:
          title: Vanuatu
        AL:
          title: Albania
        ET:
          title: Ethiopia
        IM:
          title: Isle of Man
        SN:
          title: Senegal
        PE:
          title: Peru
        BQ:
          title: 'Bonaire, Sint Eustatius and Saba'
        NC:
          title: New Caledonia
        MP:
          title: Northern Mariana Islands (the)
        GE:
          title: Georgia
        CR:
          title: Costa Rica
        VA:
          title: Holy See (the)
        PS:
          title: 'Palestine, State of'
        EC:
          title: Ecuador
        TV:
          title: Tuvalu
        LR:
          title: Liberia
        MS:
          title: Montserrat
        TD:
          title: Chad
        SC:
          title: Seychelles
        DE:
          title: Germany
        SR:
          title: Suriname
    CreateB2bCounterpartyBody:
      title: 거래처 생성 요청 정보
      description: 거래처 생성 요청 정보
      type: object
      required:
        - counterparty
      properties:
        counterpartyId:
          type: string
          title: 거래처 아이디
          description: 입력하지 않으면 임의의 ID가 채번됩니다.
        counterparty:
          $ref: '#/components/schemas/B2bCounterpartyInput'
          title: 거래처 정보
        options:
          $ref: '#/components/schemas/B2bCounterpartyCreateOptions'
          title: 거래처 생성 옵션
      x-portone-title: 거래처 생성 요청 정보
    CreateB2bCounterpartyError:
      title: CreateB2bCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/B2bCounterpartyBrnInvalidError'
        - $ref: '#/components/schemas/B2bCounterpartyIdAlreadyExistsByPartnerError'
        - $ref: '#/components/schemas/B2bCounterpartyIdAlreadyExistsError'
        - $ref: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsConnectionFailedError'
        - $ref: '#/components/schemas/B2bCounterpartyPartnerNotConnectableError'
        - $ref: '#/components/schemas/B2bCounterpartySelfOriginBrnMismatchError'
        - $ref: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationInvalidError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COUNTERPARTY_BRN_INVALID: '#/components/schemas/B2bCounterpartyBrnInvalidError'
          B2B_COUNTERPARTY_ID_ALREADY_EXISTS: '#/components/schemas/B2bCounterpartyIdAlreadyExistsError'
          B2B_COUNTERPARTY_ID_ALREADY_EXISTS_BY_PARTNER: '#/components/schemas/B2bCounterpartyIdAlreadyExistsByPartnerError'
          B2B_COUNTERPARTY_MISSING_REQUIRED_FIELDS: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError'
          B2B_COUNTERPARTY_NTS_CONNECTION_FAILED: '#/components/schemas/B2bCounterpartyNtsConnectionFailedError'
          B2B_COUNTERPARTY_PARTNER_NOT_CONNECTABLE: '#/components/schemas/B2bCounterpartyPartnerNotConnectableError'
          B2B_COUNTERPARTY_SELF_ORIGIN_BRN_MISMATCH: '#/components/schemas/B2bCounterpartySelfOriginBrnMismatchError'
          B2B_COUNTERPARTY_TOO_MANY_ADDITIONAL_CONTACTS: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError'
          B2B_COUNTERPARTY_VERIFICATION_BRN_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError'
          B2B_COUNTERPARTY_VERIFICATION_INVALID: '#/components/schemas/B2bCounterpartyVerificationInvalidError'
          B2B_COUNTERPARTY_VERIFICATION_NOT_FOUND: '#/components/schemas/B2bCounterpartyVerificationNotFoundError'
          B2B_COUNTERPARTY_VERIFICATION_TYPE_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreateB2bCounterpartyResponse:
      title: 거래처 생성 응답 정보
      description: 거래처 생성 응답 정보
      type: object
      required:
        - counterparty
      properties:
        counterparty:
          $ref: '#/components/schemas/B2bCounterparty'
          title: 거래처 정보
      x-portone-title: 거래처 생성 응답 정보
    CreateB2bFileUploadUrlBody:
      title: 파일 업로드 URL 생성 요청 정보
      description: 파일 업로드 URL 생성 요청 정보
      type: object
      required:
        - fileName
      properties:
        fileName:
          type: string
          title: 파일 이름
      x-portone-title: 파일 업로드 URL 생성 요청 정보
    CreateB2bFileUploadUrlError:
      title: CreateB2bFileUploadUrlError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreateB2bFileUploadUrlPayload:
      title: 파일 업로드 URL 생성 성공 응답
      description: 파일 업로드 URL 생성 성공 응답
      type: object
      required:
        - fileId
        - url
      properties:
        fileId:
          type: string
          title: 파일 아이디
        url:
          type: string
          title: 파일 업로드 URL
      x-portone-title: 파일 업로드 URL 생성 성공 응답
    CreateManualTransferResponse:
      title: CreateManualTransferResponse
      type: object
      required:
        - transfer
      properties:
        transfer:
          $ref: '#/components/schemas/PlatformManualTransfer'
    CreateOrderCancelTransferResponse:
      title: CreateOrderCancelTransferResponse
      type: object
      required:
        - transfer
      properties:
        transfer:
          $ref: '#/components/schemas/PlatformOrderCancelTransfer'
    CreateOrderTransferResponse:
      title: CreateOrderTransferResponse
      type: object
      required:
        - transfer
      properties:
        transfer:
          $ref: '#/components/schemas/PlatformOrderTransfer'
    CreatePaymentScheduleBody:
      title: 결제 예약 요청 입력 정보
      description: 결제 예약 요청 입력 정보
      type: object
      required:
        - payment
        - timeToPay
      properties:
        payment:
          $ref: '#/components/schemas/BillingKeyPaymentScheduleInput'
          title: 빌링키 결제 입력 정보
        timeToPay:
          type: string
          format: date-time
          title: 결제 예정 시점
      x-portone-title: 결제 예약 요청 입력 정보
    CreatePaymentScheduleError:
      title: CreatePaymentScheduleError
      oneOf:
        - $ref: '#/components/schemas/AlreadyPaidOrWaitingError'
        - $ref: '#/components/schemas/BillingKeyAlreadyDeletedError'
        - $ref: '#/components/schemas/BillingKeyNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentScheduleAlreadyExistsError'
        - $ref: '#/components/schemas/SumOfPartsExceedsTotalAmountError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          ALREADY_PAID_OR_WAITING: '#/components/schemas/AlreadyPaidOrWaitingError'
          BILLING_KEY_ALREADY_DELETED: '#/components/schemas/BillingKeyAlreadyDeletedError'
          BILLING_KEY_NOT_FOUND: '#/components/schemas/BillingKeyNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_SCHEDULE_ALREADY_EXISTS: '#/components/schemas/PaymentScheduleAlreadyExistsError'
          SUM_OF_PARTS_EXCEEDS_TOTAL_AMOUNT: '#/components/schemas/SumOfPartsExceedsTotalAmountError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePaymentScheduleResponse:
      title: 결제 예약 성공 응답
      description: 결제 예약 성공 응답
      type: object
      required:
        - schedule
      properties:
        schedule:
          $ref: '#/components/schemas/PaymentScheduleSummary'
          title: 결제 예약 건
      x-portone-title: 결제 예약 성공 응답
    CreatePlatformAdditionalFeePolicyBody:
      title: 추가 수수료 정책 생성을 위한 입력 정보
      description: 추가 수수료 정책 생성을 위한 입력 정보
      type: object
      required:
        - name
        - fee
        - vatPayer
      properties:
        id:
          type: string
          title: 생성할 추가 수수료 정책 아이디
          description: 명시하지 않으면 id 가 임의로 생성됩니다.
        name:
          type: string
          title: 이름
        fee:
          $ref: '#/components/schemas/PlatformFeeInput'
          title: 수수료 정보
        memo:
          type: string
          title: 메모
        vatPayer:
          $ref: '#/components/schemas/PlatformPayer'
          title: 부가세 부담 주체
      x-portone-title: 추가 수수료 정책 생성을 위한 입력 정보
    CreatePlatformAdditionalFeePolicyError:
      title: CreatePlatformAdditionalFeePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_ALREADY_EXISTS: '#/components/schemas/PlatformAdditionalFeePolicyAlreadyExistsError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformAdditionalFeePolicyResponse:
      title: 플랫폼 생성 성공 응답 정보
      description: 플랫폼 생성 성공 응답 정보
      type: object
      required:
        - additionalFeePolicy
      properties:
        additionalFeePolicy:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          title: 생성된 추가 수수료 정책
      x-portone-title: 플랫폼 생성 성공 응답 정보
    CreatePlatformContractBody:
      title: 계약 객체 생성을 위한 입력 정보
      description: 계약 객체 생성을 위한 입력 정보
      type: object
      required:
        - name
        - platformFee
        - settlementCycle
        - platformFeeVatPayer
        - subtractPaymentVatAmount
      properties:
        id:
          type: string
          title: 계약에 부여할 고유 아이디
          description: 명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다.
        name:
          type: string
          title: 계약 이름
        memo:
          type: string
          title: 계약 내부 표기를 위한 메모
        platformFee:
          $ref: '#/components/schemas/PlatformFeeInput'
          title: 중개수수료
        settlementCycle:
          $ref: '#/components/schemas/PlatformSettlementCycleInput'
          title: 정산 주기
        platformFeeVatPayer:
          $ref: '#/components/schemas/PlatformPayer'
          title: 중개수수료에 대한 부가세 부담 주체
        subtractPaymentVatAmount:
          type: boolean
          title: 정산 시 결제금액 부가세 감액 여부
      x-portone-title: 계약 객체 생성을 위한 입력 정보
    CreatePlatformContractError:
      title: CreatePlatformContractError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACT_ALREADY_EXISTS: '#/components/schemas/PlatformContractAlreadyExistsError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformContractResponse:
      title: 계약 객체 생성 성공 응답
      description: 계약 객체 생성 성공 응답
      type: object
      required:
        - contract
      properties:
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 생성된 계약 객체
      x-portone-title: 계약 객체 생성 성공 응답
    CreatePlatformDiscountSharePolicyBody:
      title: 할인 분담 정책 생성을 위한 입력 정보
      description: 할인 분담 정책 생성을 위한 입력 정보
      type: object
      required:
        - name
        - partnerShareRate
      properties:
        id:
          type: string
          title: 할인 분담에 부여할 고유 아이디
          description: 명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다.
        name:
          type: string
          title: 할인 분담에 부여할 이름
        partnerShareRate:
          type: integer
          format: int32
          title: >-
            파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은
            `할인금액 * partnerShareRate * 10^5` 로 책정합니다.
        memo:
          type: string
          title: 해당 할인 분담에 대한 메모 ex) 파트너 브랜드 쿠폰
      x-portone-title: 할인 분담 정책 생성을 위한 입력 정보
    CreatePlatformDiscountSharePolicyError:
      title: CreatePlatformDiscountSharePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_DISCOUNT_SHARE_POLICY_ALREADY_EXISTS: '#/components/schemas/PlatformDiscountSharePolicyAlreadyExistsError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformDiscountSharePolicyResponse:
      title: 할인 분담 정책 생성 성공 응답
      description: 할인 분담 정책 생성 성공 응답
      type: object
      required:
        - discountSharePolicy
      properties:
        discountSharePolicy:
          $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          title: 생성된 할인 분담 정책
      x-portone-title: 할인 분담 정책 생성 성공 응답
    CreatePlatformManualTransferBody:
      title: 수기 정산건 생성을 위한 입력 정보
      description: 수기 정산건 생성을 위한 입력 정보
      type: object
      required:
        - partnerId
        - settlementAmount
        - settlementDate
      properties:
        partnerId:
          type: string
          title: 파트너 아이디
        memo:
          type: string
          title: 메모
        settlementAmount:
          type: integer
          format: int64
          title: 정산 금액
        settlementTaxFreeAmount:
          type: integer
          format: int64
          title: 정산 면세 금액
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 일
        isForTest:
          type: boolean
          title: 테스트 모드 여부
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        id:
          type: string
          title: 생성할 정산건 아이디
          description: 명시하지 않으면 id 가 임의로 생성됩니다.
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
      x-portone-title: 수기 정산건 생성을 위한 입력 정보
    CreatePlatformManualTransferError:
      title: CreatePlatformManualTransferError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformCurrencyNotSupportedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformTransferIdAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CURRENCY_NOT_SUPPORTED: '#/components/schemas/PlatformCurrencyNotSupportedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_TRANSFER_ID_ALREADY_USED: '#/components/schemas/PlatformTransferIdAlreadyUsedError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformOrderCancelTransferBody:
      title: 주문 취소 정산 등록을 위한 입력 정보
      description: >-
        주문 취소 정산 등록을 위한 입력 정보


        하나의 payment에 하나의 정산 건만 존재하는 경우에는 (partnerId, paymentId)로 취소 정산을 등록하실 수
        있습니다.

        하나의 payment에 여러 개의 정산 건이 존재하는 경우에는 transferId를 필수로 입력해야 합니다.

        transferId를 입력한 경우 (partnerId, paymentId)는 생략 가능합니다.

        id를 입력한 경우 생성될 취소 정산건 아이디로 사용됩니다.
      type: object
      required:
        - cancellationId
        - discounts
      properties:
        partnerId:
          type: string
          title: 파트너 아이디
        paymentId:
          type: string
          title: 결제 아이디
        transferId:
          type: string
          title: 정산건 아이디
        cancellationId:
          type: string
          title: 취소 내역 아이디
        memo:
          type: string
          title: 메모
        orderDetail:
          $ref: >-
            #/components/schemas/CreatePlatformOrderCancelTransferBodyOrderDetail
          title: 주문 취소 정보
        taxFreeAmount:
          type: integer
          format: int64
          title: 주문 취소 면세 금액
          description: >-
            주문 취소 항목과 취소 면세 금액을 같이 전달하시면 최종 취소 면세 금액은 주문 취소 항목의 면세 금액이 아닌 전달해주신
            취소 면세 금액으로 적용됩니다.
        discounts:
          title: 할인 정보
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformOrderCancelTransferBodyDiscount'
        settlementStartDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 시작일
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산일
        externalCancellationDetail:
          $ref: >-
            #/components/schemas/CreatePlatformOrderCancelTransferBodyExternalCancellationDetail
          title: 외부 결제 상세 정보
          description: '해당 정보가 존재하는 경우 외부 결제 취소 정산건으로 등록되고, 존재하지않은 경우 포트원 결제 취소 정산건으로 등록됩니다.'
        isForTest:
          type: boolean
          title: 테스트 모드 여부
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        id:
          type: string
          title: 생성할 취소 정산건 아이디
          description: 명시하지 않으면 id 가 임의로 생성됩니다.
      x-portone-title: 주문 취소 정산 등록을 위한 입력 정보
      x-portone-description: >-
        하나의 payment에 하나의 정산 건만 존재하는 경우에는 (partnerId, paymentId)로 취소 정산을 등록하실 수
        있습니다.

        하나의 payment에 여러 개의 정산 건이 존재하는 경우에는 transferId를 필수로 입력해야 합니다.

        transferId를 입력한 경우 (partnerId, paymentId)는 생략 가능합니다.

        id를 입력한 경우 생성될 취소 정산건 아이디로 사용됩니다.
    CreatePlatformOrderCancelTransferBodyDiscount:
      title: 할인 정보
      description: 할인 정보
      type: object
      required:
        - sharePolicyId
        - amount
      properties:
        sharePolicyId:
          type: string
          title: 할인 분담 정책 아이디
        amount:
          type: integer
          format: int64
          title: 할인 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 할인 금액
      x-portone-title: 할인 정보
    CreatePlatformOrderCancelTransferBodyExternalCancellationDetail:
      title: 외부 결제 상세 정보
      description: 외부 결제 상세 정보
      type: object
      properties:
        cancelledAt:
          type: string
          format: date-time
          title: 취소 일시
      x-portone-title: 외부 결제 상세 정보
    CreatePlatformOrderCancelTransferBodyOrderDetail:
      title: 주문 취소 정보
      description: |-
        주문 취소 정보

        orderAmount, orderLines, all 중에서 하나만 입력하여야 합니다.
      type: object
      properties:
        orderAmount:
          type: integer
          format: int64
          title: 주문 취소 금액
        orderLines:
          title: 주문 취소 항목 리스트
          type: array
          items:
            $ref: >-
              #/components/schemas/CreatePlatformOrderCancelTransferBodyOrderLine
        all:
          $ref: >-
            #/components/schemas/CreatePlatformOrderCancelTransferBodyOrderDetailAll
          title: 전체 금액 취소
      x-portone-title: 주문 취소 정보
      x-portone-description: 'orderAmount, orderLines, all 중에서 하나만 입력하여야 합니다.'
    CreatePlatformOrderCancelTransferBodyOrderDetailAll:
      title: 전체 금액 취소
      description: 전체 금액 취소
      type: object
      x-portone-title: 전체 금액 취소
    CreatePlatformOrderCancelTransferBodyOrderLine:
      title: 주문 취소 항목 리스트
      description: 주문 취소 항목 리스트
      type: object
      required:
        - productId
        - quantity
        - discounts
      properties:
        productId:
          type: string
          title: 상품 아이디
        quantity:
          type: integer
          format: int32
          title: 상품 수량
        discounts:
          title: 상품 할인 정보
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformOrderCancelTransferBodyDiscount'
      x-portone-title: 주문 취소 항목 리스트
    CreatePlatformOrderCancelTransferError:
      title: CreatePlatformOrderCancelTransferError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformCancellableAmountExceededError'
        - $ref: '#/components/schemas/PlatformCancellableDiscountAmountExceededError'
        - $ref: >-
            #/components/schemas/PlatformCancellableDiscountTaxFreeAmountExceededError
        - $ref: '#/components/schemas/PlatformCancellableProductQuantityExceededError'
        - $ref: >-
            #/components/schemas/PlatformCancellationAndPaymentTypeMismatchedError
        - $ref: '#/components/schemas/PlatformCancellationNotFoundError'
        - $ref: '#/components/schemas/PlatformCannotSpecifyTransferError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyIdDuplicatedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformOrderDetailMismatchedError'
        - $ref: '#/components/schemas/PlatformOrderTransferAlreadyCancelledError'
        - $ref: '#/components/schemas/PlatformPaymentNotFoundError'
        - $ref: '#/components/schemas/PlatformProductIdDuplicatedError'
        - $ref: '#/components/schemas/PlatformProductIdNotFoundError'
        - $ref: '#/components/schemas/PlatformSettlementAmountExceededError'
        - $ref: >-
            #/components/schemas/PlatformSettlementCancelAmountExceededPortOneCancelError
        - $ref: >-
            #/components/schemas/PlatformSettlementDateEarlierThanSettlementStartDateError
        - $ref: '#/components/schemas/PlatformTransferAlreadyExistsError'
        - $ref: >-
            #/components/schemas/PlatformTransferDiscountSharePolicyNotFoundError
        - $ref: '#/components/schemas/PlatformTransferIdAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformTransferNotFoundError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CANCELLABLE_AMOUNT_EXCEEDED: '#/components/schemas/PlatformCancellableAmountExceededError'
          PLATFORM_CANCELLABLE_DISCOUNT_AMOUNT_EXCEEDED: '#/components/schemas/PlatformCancellableDiscountAmountExceededError'
          PLATFORM_CANCELLABLE_DISCOUNT_TAX_FREE_AMOUNT_EXCEEDED: >-
            #/components/schemas/PlatformCancellableDiscountTaxFreeAmountExceededError
          PLATFORM_CANCELLABLE_PRODUCT_QUANTITY_EXCEEDED: '#/components/schemas/PlatformCancellableProductQuantityExceededError'
          PLATFORM_CANCELLATION_AND_PAYMENT_TYPE_MISMATCHED: >-
            #/components/schemas/PlatformCancellationAndPaymentTypeMismatchedError
          PLATFORM_CANCELLATION_NOT_FOUND: '#/components/schemas/PlatformCancellationNotFoundError'
          PLATFORM_CANNOT_SPECIFY_TRANSFER: '#/components/schemas/PlatformCannotSpecifyTransferError'
          PLATFORM_DISCOUNT_SHARE_POLICY_ID_DUPLICATED: '#/components/schemas/PlatformDiscountSharePolicyIdDuplicatedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_ORDER_DETAIL_MISMATCHED: '#/components/schemas/PlatformOrderDetailMismatchedError'
          PLATFORM_ORDER_TRANSFER_ALREADY_CANCELLED: '#/components/schemas/PlatformOrderTransferAlreadyCancelledError'
          PLATFORM_PAYMENT_NOT_FOUND: '#/components/schemas/PlatformPaymentNotFoundError'
          PLATFORM_PRODUCT_ID_DUPLICATED: '#/components/schemas/PlatformProductIdDuplicatedError'
          PLATFORM_PRODUCT_ID_NOT_FOUND: '#/components/schemas/PlatformProductIdNotFoundError'
          PLATFORM_SETTLEMENT_AMOUNT_EXCEEDED: '#/components/schemas/PlatformSettlementAmountExceededError'
          PLATFORM_SETTLEMENT_CANCEL_AMOUNT_EXCEEDED_PORT_ONE_CANCEL: >-
            #/components/schemas/PlatformSettlementCancelAmountExceededPortOneCancelError
          PLATFORM_SETTLEMENT_DATE_EARLIER_THAN_SETTLEMENT_START_DATE: >-
            #/components/schemas/PlatformSettlementDateEarlierThanSettlementStartDateError
          PLATFORM_TRANSFER_ALREADY_EXISTS: '#/components/schemas/PlatformTransferAlreadyExistsError'
          PLATFORM_TRANSFER_DISCOUNT_SHARE_POLICY_NOT_FOUND: >-
            #/components/schemas/PlatformTransferDiscountSharePolicyNotFoundError
          PLATFORM_TRANSFER_ID_ALREADY_USED: '#/components/schemas/PlatformTransferIdAlreadyUsedError'
          PLATFORM_TRANSFER_NOT_FOUND: '#/components/schemas/PlatformTransferNotFoundError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformOrderTransferBody:
      title: 주문 정산건 생성을 위한 입력 정보
      description: 주문 정산건 생성을 위한 입력 정보
      type: object
      required:
        - partnerId
        - paymentId
        - orderDetail
        - discounts
        - additionalFees
      properties:
        partnerId:
          type: string
          title: 파트너 아이디
        contractId:
          type: string
          title: 계약 아이디
          description: 기본값은 파트너의 기본 계약 아이디 입니다.
        memo:
          type: string
          title: 메모
        paymentId:
          type: string
          title: 결제 아이디
        orderDetail:
          $ref: '#/components/schemas/CreatePlatformOrderTransferBodyOrderDetail'
          title: 주문 정보
        taxFreeAmount:
          type: integer
          format: int64
          title: 주문 면세 금액
          description: >-
            주문 항목과 면세 금액을 같이 전달하시면 최종 면세 금액은 주문 항목의 면세 금액이 아닌 전달해주신 면세 금액으로
            적용됩니다.
        settlementStartDate:
          description: 기본값은 결제 일시 입니다.
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 시작일
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산일
        discounts:
          title: 할인 정보
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformOrderTransferBodyDiscount'
        additionalFees:
          title: 추가 수수료 정보
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformOrderTransferBodyAdditionalFee'
        externalPaymentDetail:
          $ref: >-
            #/components/schemas/CreatePlatformOrderTransferBodyExternalPaymentDetail
          title: 외부 결제 상세 정보
          description: '해당 정보가 존재하는 경우 외부 결제 정산건 으로 등록되고, 존재하지않은 경우 포트원 결제 정산건으로 등록됩니다.'
        isForTest:
          type: boolean
          title: 테스트 모드 여부
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
        parameters:
          $ref: '#/components/schemas/TransferParameters'
          title: 정산 파라미터 (실험기능)
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        id:
          type: string
          title: 생성할 정산건 아이디
          description: 명시하지 않으면 id 가 임의로 생성됩니다.
      x-portone-title: 주문 정산건 생성을 위한 입력 정보
    CreatePlatformOrderTransferBodyAdditionalFee:
      title: 추가 수수료 정보
      description: 추가 수수료 정보
      type: object
      required:
        - policyId
      properties:
        policyId:
          type: string
          title: 추가 수수료 정책 아이디
      x-portone-title: 추가 수수료 정보
    CreatePlatformOrderTransferBodyDiscount:
      title: 할인 정보
      description: 할인 정보
      type: object
      required:
        - sharePolicyId
        - amount
      properties:
        sharePolicyId:
          type: string
          title: 할인 분담 정책 아이디
        amount:
          type: integer
          format: int64
          title: 할인 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 할인 금액
      x-portone-title: 할인 정보
    CreatePlatformOrderTransferBodyExternalPaymentDetail:
      title: 외부 결제 상세 정보
      description: 외부 결제 상세 정보
      type: object
      required:
        - currency
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        orderName:
          type: string
          title: 주문 명
        paidAt:
          type: string
          format: date-time
          title: 결제 일시
        method:
          $ref: '#/components/schemas/PlatformPaymentMethodInput'
          title: 결제 수단
      x-portone-title: 외부 결제 상세 정보
    CreatePlatformOrderTransferBodyOrderDetail:
      title: 주문 정보
      description: |-
        주문 정보

        주문 금액 또는 주문 항목 하나만 입력 가능합니다.
      type: object
      properties:
        orderAmount:
          type: integer
          format: int64
          title: 주문 금액
        orderLines:
          title: 주문 항목 리스트
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformOrderTransferBodyOrderLine'
      x-portone-title: 주문 정보
      x-portone-description: 주문 금액 또는 주문 항목 하나만 입력 가능합니다.
    CreatePlatformOrderTransferBodyOrderLine:
      title: 주문 항목
      description: 주문 항목
      type: object
      required:
        - product
        - quantity
        - discounts
        - additionalFees
      properties:
        product:
          $ref: '#/components/schemas/CreatePlatformOrderTransferBodyProduct'
          title: 상품
        quantity:
          type: integer
          format: int32
          title: 상품 수량
        discounts:
          title: 상품 할인 정보
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformOrderTransferBodyDiscount'
        additionalFees:
          title: 상품 추가 수수료 정보
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformOrderTransferBodyAdditionalFee'
      x-portone-title: 주문 항목
    CreatePlatformOrderTransferBodyProduct:
      title: 상품
      description: 상품
      type: object
      required:
        - id
        - name
        - amount
      properties:
        id:
          type: string
          title: 상품 아이디
        name:
          type: string
          title: 상품 이름
        amount:
          type: integer
          format: int64
          title: 상품 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 상품 면세 금액
        tag:
          type: string
          title: 태그
      x-portone-title: 상품
    CreatePlatformOrderTransferError:
      title: CreatePlatformOrderTransferError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePoliciesNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError
        - $ref: '#/components/schemas/PlatformCurrencyNotSupportedError'
        - $ref: '#/components/schemas/PlatformDiscountSharePoliciesNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformPaymentNotFoundError'
        - $ref: '#/components/schemas/PlatformProductIdDuplicatedError'
        - $ref: '#/components/schemas/PlatformSettlementAmountExceededError'
        - $ref: >-
            #/components/schemas/PlatformSettlementDateEarlierThanSettlementStartDateError
        - $ref: '#/components/schemas/PlatformSettlementParameterNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformSettlementPaymentAmountExceededPortOnePaymentError
        - $ref: >-
            #/components/schemas/PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError
        - $ref: >-
            #/components/schemas/PlatformSettlementTaxFreeAmountExceededPortOnePaymentError
        - $ref: '#/components/schemas/PlatformTransferAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformTransferIdAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICIES_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePoliciesNotFoundError'
          PLATFORM_ADDITIONAL_FIXED_AMOUNT_FEE_CURRENCY_AND_SETTLEMENT_CURRENCY_MISMATCHED: >-
            #/components/schemas/PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_CONTRACT_PLATFORM_FIXED_AMOUNT_FEE_CURRENCY_AND_SETTLEMENT_CURRENCY_MISMATCHED: >-
            #/components/schemas/PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError
          PLATFORM_CURRENCY_NOT_SUPPORTED: '#/components/schemas/PlatformCurrencyNotSupportedError'
          PLATFORM_DISCOUNT_SHARE_POLICIES_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePoliciesNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_PAYMENT_NOT_FOUND: '#/components/schemas/PlatformPaymentNotFoundError'
          PLATFORM_PRODUCT_ID_DUPLICATED: '#/components/schemas/PlatformProductIdDuplicatedError'
          PLATFORM_SETTLEMENT_AMOUNT_EXCEEDED: '#/components/schemas/PlatformSettlementAmountExceededError'
          PLATFORM_SETTLEMENT_DATE_EARLIER_THAN_SETTLEMENT_START_DATE: >-
            #/components/schemas/PlatformSettlementDateEarlierThanSettlementStartDateError
          PLATFORM_SETTLEMENT_PARAMETER_NOT_FOUND: '#/components/schemas/PlatformSettlementParameterNotFoundError'
          PLATFORM_SETTLEMENT_PAYMENT_AMOUNT_EXCEEDED_PORT_ONE_PAYMENT: >-
            #/components/schemas/PlatformSettlementPaymentAmountExceededPortOnePaymentError
          PLATFORM_SETTLEMENT_SUPPLY_WITH_VAT_AMOUNT_EXCEEDED_PORT_ONE_PAYMENT: >-
            #/components/schemas/PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError
          PLATFORM_SETTLEMENT_TAX_FREE_AMOUNT_EXCEEDED_PORT_ONE_PAYMENT: >-
            #/components/schemas/PlatformSettlementTaxFreeAmountExceededPortOnePaymentError
          PLATFORM_TRANSFER_ALREADY_EXISTS: '#/components/schemas/PlatformTransferAlreadyExistsError'
          PLATFORM_TRANSFER_ID_ALREADY_USED: '#/components/schemas/PlatformTransferIdAlreadyUsedError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformPartnerBody:
      title: 파트너 생성을 위한 입력 정보
      description: 파트너 생성을 위한 입력 정보
      type: object
      required:
        - name
        - contact
        - account
        - defaultContractId
        - tags
        - type
      properties:
        id:
          type: string
          title: 파트너에 부여할 고유 아이디
          description: >-
            고객사 서버에 등록된 파트너 지칭 아이디와 동일하게 설정하는 것을 권장합니다. 명시하지 않는 경우 포트원이 임의의 아이디를
            발급해드립니다.
        name:
          type: string
          title: 파트너 법인명 혹은 이름
        contact:
          $ref: '#/components/schemas/CreatePlatformPartnerBodyContact'
          title: 파트너 담당자 연락 정보
        account:
          $ref: '#/components/schemas/CreatePlatformPartnerBodyAccount'
          title: 정산 계좌
          description: '파트너의 사업자등록번호가 존재하는 경우 명시합니다. 별도로 검증하지는 않으며, 번호와 기호 모두 입력 가능합니다.'
        defaultContractId:
          type: string
          title: 기본 계약 아이디
          description: 이미 존재하는 계약 아이디를 등록해야 합니다.
        memo:
          type: string
          title: 파트너에 대한 메모
          description: 총 256자까지 입력할 수 있습니다.
        tags:
          type: array
          items:
            type: string
          title: 파트너에 부여할 태그 리스트
          description: 최대 10개까지 입력할 수 있습니다.
        type:
          $ref: '#/components/schemas/CreatePlatformPartnerBodyType'
          title: 파트너 유형별 추가 정보
          description: 사업자/원천징수 대상자 중 추가할 파트너의 유형에 따른 정보를 입력해야 합니다.
        userDefinedProperties:
          $ref: '#/components/schemas/PlatformProperties'
          title: 사용자 정의 속성
      x-portone-title: 파트너 생성을 위한 입력 정보
    CreatePlatformPartnerBodyAccount:
      title: 파트너 계좌 등록을 위한 정보
      description: 파트너 계좌 등록을 위한 정보
      type: object
      required:
        - bank
        - currency
        - number
        - holder
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        currency:
          $ref: '#/components/schemas/Currency'
          title: 정산에 사용할 통화
        number:
          type: string
          title: 계좌번호
        holder:
          type: string
          title: 예금주명
        accountVerificationId:
          type: string
          title: 계좌 검증 아이디
      x-portone-title: 파트너 계좌 등록을 위한 정보
    CreatePlatformPartnerBodyContact:
      title: 파트너 담당자 정보
      description: 파트너 담당자 정보
      type: object
      required:
        - name
        - email
      properties:
        name:
          type: string
          title: 담당자 이름
        phoneNumber:
          type: string
          title: 담당자 휴대폰 번호
        email:
          type: string
          title: 담당자 이메일
      x-portone-title: 파트너 담당자 정보
    CreatePlatformPartnerBodyType:
      title: 파트너 생성을 위한 유형별 추가 정보
      description: 파트너 생성을 위한 유형별 추가 정보
      type: object
      properties:
        business:
          $ref: '#/components/schemas/CreatePlatformPartnerBodyTypeBusiness'
          title: 사업자 추가 정보
        whtPayer:
          $ref: '#/components/schemas/CreatePlatformPartnerBodyTypeWhtPayer'
          title: 원천징수 대상자 추가 정보
        nonWhtPayer:
          $ref: '#/components/schemas/CreatePlatformPartnerBodyTypeNonWhtPayer'
          title: 원천징수 비대상자 추가 정보
      x-portone-title: 파트너 생성을 위한 유형별 추가 정보
    CreatePlatformPartnerBodyTypeBusiness:
      title: CreatePlatformPartnerBodyTypeBusiness
      type: object
      required:
        - companyName
        - businessRegistrationNumber
        - representativeName
      properties:
        companyName:
          type: string
          title: 상호명
        taxationType:
          $ref: '#/components/schemas/PlatformPartnerTaxationType'
          title: 사업자 유형
          description: 값을 입력하지 않으면 일반 과세로 설정됩니다.
        businessRegistrationNumber:
          type: string
          title: 사업자등록번호
        representativeName:
          type: string
          title: 대표자 이름
        companyAddress:
          type: string
          title: 사업장 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        companyVerificationId:
          type: string
          title: 사업자 조회 검증 아이디
    CreatePlatformPartnerBodyTypeNonWhtPayer:
      title: CreatePlatformPartnerBodyTypeNonWhtPayer
      type: object
      properties:
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
    CreatePlatformPartnerBodyTypeWhtPayer:
      title: CreatePlatformPartnerBodyTypeWhtPayer
      type: object
      properties:
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
    CreatePlatformPartnerError:
      title: CreatePlatformPartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAccountVerificationAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformAccountVerificationFailedError'
        - $ref: '#/components/schemas/PlatformAccountVerificationNotFoundError'
        - $ref: '#/components/schemas/PlatformCompanyVerificationAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformCurrencyNotSupportedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerIdAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ACCOUNT_VERIFICATION_ALREADY_USED: '#/components/schemas/PlatformAccountVerificationAlreadyUsedError'
          PLATFORM_ACCOUNT_VERIFICATION_FAILED: '#/components/schemas/PlatformAccountVerificationFailedError'
          PLATFORM_ACCOUNT_VERIFICATION_NOT_FOUND: '#/components/schemas/PlatformAccountVerificationNotFoundError'
          PLATFORM_COMPANY_VERIFICATION_ALREADY_USED: '#/components/schemas/PlatformCompanyVerificationAlreadyUsedError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_CURRENCY_NOT_SUPPORTED: '#/components/schemas/PlatformCurrencyNotSupportedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_ID_ALREADY_EXISTS: '#/components/schemas/PlatformPartnerIdAlreadyExistsError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformPartnerResponse:
      title: 파트너 생성 성공 응답
      description: 파트너 생성 성공 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 생성된 파트너
      x-portone-title: 파트너 생성 성공 응답
    CreatePlatformPartnersBody:
      title: 파트너 다건 생성을 위한 입력 정보
      description: 파트너 다건 생성을 위한 입력 정보
      type: object
      required:
        - partners
      properties:
        partners:
          title: 생성할 파트너 리스트 정보
          type: array
          items:
            $ref: '#/components/schemas/CreatePlatformPartnerBody'
      x-portone-title: 파트너 다건 생성을 위한 입력 정보
    CreatePlatformPartnersError:
      title: CreatePlatformPartnersError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractsNotFoundError'
        - $ref: '#/components/schemas/PlatformCurrencyNotSupportedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerIdsAlreadyExistError'
        - $ref: '#/components/schemas/PlatformPartnerIdsDuplicatedError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACTS_NOT_FOUND: '#/components/schemas/PlatformContractsNotFoundError'
          PLATFORM_CURRENCY_NOT_SUPPORTED: '#/components/schemas/PlatformCurrencyNotSupportedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_IDS_ALREADY_EXISTS: '#/components/schemas/PlatformPartnerIdsAlreadyExistError'
          PLATFORM_PARTNER_IDS_DUPLICATED: '#/components/schemas/PlatformPartnerIdsDuplicatedError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePlatformPartnersResponse:
      title: 파트너 다건 생성 성공 응답
      description: 파트너 다건 생성 성공 응답
      type: object
      required:
        - partners
      properties:
        partners:
          title: 생성된 파트너 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartner'
      x-portone-title: 파트너 다건 생성 성공 응답
    Currency:
      title: 통화 단위
      description: 통화 단위
      type: string
      enum:
        - KRW
        - USD
        - JPY
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BOV
        - BRL
        - BSD
        - BTN
        - BWP
        - BYN
        - BZD
        - CAD
        - CDF
        - CHE
        - CHF
        - CHW
        - CLF
        - CLP
        - CNY
        - COP
        - COU
        - CRC
        - CUC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ERN
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HRK
        - HTG
        - HUF
        - IDR
        - ILS
        - INR
        - IQD
        - IRR
        - ISK
        - JMD
        - JOD
        - KES
        - KGS
        - KHR
        - KMF
        - KPW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MXV
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SDG
        - SEK
        - SGD
        - SHP
        - SLE
        - SLL
        - SOS
        - SRD
        - SSP
        - STN
        - SVC
        - SYP
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - USN
        - UYI
        - UYU
        - UYW
        - UZS
        - VED
        - VES
        - VND
        - VUV
        - WST
        - XAF
        - XAG
        - XAU
        - XBA
        - XBB
        - XBC
        - XBD
        - XCD
        - XDR
        - XOF
        - XPD
        - XPF
        - XPT
        - XSU
        - XTS
        - XUA
        - XXX
        - YER
        - ZAR
        - ZMW
        - ZWL
      x-portone-title: 통화 단위
      x-portone-enum:
        OMR:
          title: Rial Omani
        CUC:
          title: Peso Convertible
        BBD:
          title: Barbados Dollar
        PLN:
          title: Zloty
        SVC:
          title: El Salvador Colon
        BMD:
          title: Bermudian Dollar
        TJS:
          title: Somoni
        TND:
          title: Tunisian Dinar
        GNF:
          title: Guinean Franc
        SDG:
          title: Sudanese Pound
        MRU:
          title: Ouguiya
        XBB:
          title: Bond Markets Unit European Monetary Unit (E.M.U.-6)
        PKR:
          title: Pakistan Rupee
        FKP:
          title: Falkland Islands Pound
        MUR:
          title: Mauritius Rupee
        XAF:
          title: CFA Franc BEAC
        SAR:
          title: Saudi Riyal
        CAD:
          title: Canadian Dollar
        HKD:
          title: Hong Kong Dollar
        PYG:
          title: Guarani
        MGA:
          title: Malagasy Ariary
        UYI:
          title: Uruguay Peso en Unidades Indexadas (UI)
        AUD:
          title: Australian Dollar
        AMD:
          title: Armenian Dram
        YER:
          title: Yemeni Rial
        CHE:
          title: WIR Euro
        MMK:
          title: Kyat
        SEK:
          title: Swedish Krona
        TRY:
          title: Turkish Lira
        XBC:
          title: Bond Markets Unit European Unit of Account 9 (E.U.A.-9)
        KES:
          title: Kenyan Shilling
        GEL:
          title: Lari
        GTQ:
          title: Quetzal
        TZS:
          title: Tanzanian Shilling
        CUP:
          title: Cuban Peso
        ALL:
          title: Lek
        ERN:
          title: Nakfa
        BRL:
          title: Brazilian Real
        UGX:
          title: Uganda Shilling
        XUA:
          title: ADB Unit of Account
        GIP:
          title: Gibraltar Pound
        MZN:
          title: Mozambique Metical
        KRW:
          title: 대한민국 원화
        JOD:
          title: Jordanian Dinar
        IQD:
          title: Iraqi Dinar
        VUV:
          title: Vatu
        XXX:
          title: The codes assigned for transactions where no currency is involved
        UZS:
          title: Uzbekistan Sum
        BOV:
          title: Mvdol
        UAH:
          title: Hryvnia
        PEN:
          title: Sol
        KMF:
          title: 'Comorian Franc '
        DOP:
          title: Dominican Peso
        BDT:
          title: Taka
        LKR:
          title: Sri Lanka Rupee
        FJD:
          title: Fiji Dollar
        LSL:
          title: Loti
        BSD:
          title: Bahamian Dollar
        SRD:
          title: Surinam Dollar
        XTS:
          title: Codes specifically reserved for testing purposes
        SHP:
          title: Saint Helena Pound
        LRD:
          title: Liberian Dollar
        QAR:
          title: Qatari Rial
        BND:
          title: Brunei Dollar
        CDF:
          title: Congolese Franc
        SLE:
          title: Leone
        USN:
          title: US Dollar (Next day)
        VES:
          title: Bolívar Soberano
        TMT:
          title: Turkmenistan New Manat
        CHW:
          title: WIR Franc
        BGN:
          title: Bulgarian Lev
        JMD:
          title: Jamaican Dollar
        SZL:
          title: Lilangeni
        CZK:
          title: Czech Koruna
        ZMW:
          title: Zambian Kwacha
        UYU:
          title: Peso Uruguayo
        NPR:
          title: Nepalese Rupee
        EGP:
          title: Egyptian Pound
        AZN:
          title: Azerbaijan Manat
        CLP:
          title: Chilean Peso
        MOP:
          title: Pataca
        SCR:
          title: Seychelles Rupee
        HTG:
          title: Gourde
        VND:
          title: Dong
        LAK:
          title: Lao Kip
        BTN:
          title: Ngultrum
        GBP:
          title: Pound Sterling
        SSP:
          title: South Sudanese Pound
        XPD:
          title: Palladium
        TWD:
          title: New Taiwan Dollar
        DZD:
          title: Algerian Dinar
        MXN:
          title: Mexican Peso
        XDR:
          title: SDR (Special Drawing Right)
        ZWL:
          title: Zimbabwe Dollar
        AWG:
          title: Aruban Florin
        THB:
          title: Baht
        ISK:
          title: Iceland Krona
        LBP:
          title: Lebanese Pound
        SGD:
          title: Singapore Dollar
        MWK:
          title: Malawi Kwacha
        KZT:
          title: Tenge
        CRC:
          title: Costa Rican Colon
        WST:
          title: Tala
        DJF:
          title: Djibouti Franc
        LYD:
          title: Libyan Dinar
        NGN:
          title: Naira
        BIF:
          title: Burundi Franc
        AED:
          title: UAE Dirham
        CHF:
          title: Swiss Franc
        RWF:
          title: Rwanda Franc
        XBD:
          title: Bond Markets Unit European Unit of Account 17 (E.U.A.-17)
        INR:
          title: Indian Rupee
        CLF:
          title: Unidad de Fomento
        XOF:
          title: CFA Franc BCEAO
        COU:
          title: Unidad de Valor Real
        MXV:
          title: Mexican Unidad de Inversion (UDI)
        PGK:
          title: Kina
        CNY:
          title: Yuan Renminbi
        SYP:
          title: Syrian Pound
        VED:
          title: Bolívar Soberano
        RON:
          title: Romanian Leu
        AFN:
          title: Afghani
        PHP:
          title: Philippine Peso
        MDL:
          title: Moldovan Leu
        KHR:
          title: Riel
        XPT:
          title: Platinum
        COP:
          title: Colombian Peso
        DKK:
          title: Danish Krone
        KYD:
          title: Cayman Islands Dollar
        XPF:
          title: CFP Franc
        GMD:
          title: Dalasi
        MVR:
          title: Rufiyaa
        STN:
          title: Dobra
        TTD:
          title: Trinidad and Tobago Dollar
        PAB:
          title: Balboa
        XAU:
          title: Gold
        XAG:
          title: Silver
        JPY:
          title: 일본 엔화
        TOP:
          title: Pa’anga
        BWP:
          title: Pula
        MKD:
          title: Denar
        ARS:
          title: Argentine Peso
        HUF:
          title: Forint
        MYR:
          title: Malaysian Ringgit
        USD:
          title: 미국 달러
        SLL:
          title: Leone
        MAD:
          title: Moroccan Dirham
        RUB:
          title: Russian Ruble
        MNT:
          title: Tugrik
        BOB:
          title: Boliviano
        GYD:
          title: Guyana Dollar
        SBD:
          title: Solomon Islands Dollar
        XBA:
          title: Bond Markets Unit European Composite Unit (EURCO)
        BHD:
          title: Bahraini Dinar
        HNL:
          title: Lempira
        UYW:
          title: Unidad Previsional
        NZD:
          title: New Zealand Dollar
        XCD:
          title: East Caribbean Dollar
        XSU:
          title: Sucre
        KGS:
          title: Som
        AOA:
          title: Kwanza
        BZD:
          title: Belize Dollar
        IDR:
          title: Rupiah
        SOS:
          title: Somali Shilling
        NIO:
          title: Cordoba Oro
        GHS:
          title: Ghana Cedi
        ANG:
          title: Netherlands Antillean Guilder
        RSD:
          title: Serbian Dinar
        ILS:
          title: New Israeli Sheqel
        NOK:
          title: Norwegian Krone
        KWD:
          title: Kuwaiti Dinar
        NAD:
          title: Namibia Dollar
        ETB:
          title: Ethiopian Birr
        BYN:
          title: Belarusian Ruble
        KPW:
          title: North Korean Won
        EUR:
          title: Euro
        CVE:
          title: Cabo Verde Escudo
        ZAR:
          title: Rand
        IRR:
          title: Iranian Rial
        HRK:
          title: Kuna (Replaced by EUR)
        BAM:
          title: Convertible Mark
    Customer:
      title: 고객 정보
      description: 고객 정보
      type: object
      properties:
        id:
          type: string
          title: 고객 아이디
          description: 고객사가 지정한 고객의 고유 식별자입니다.
        name:
          type: string
          title: 이름
        birthYear:
          type: string
          title: 출생 연도
        birthMonth:
          type: string
          title: 출생 월
        birthDay:
          type: string
          title: 출생 일자
        gender:
          $ref: '#/components/schemas/Gender'
          title: 성별
        email:
          type: string
          title: 이메일
        phoneNumber:
          type: string
          title: 전화번호
        address:
          $ref: '#/components/schemas/Address'
          title: 주소
        zipcode:
          type: string
          title: 우편번호
      x-portone-title: 고객 정보
    CustomerInput:
      title: 고객 정보 입력 정보
      description: 고객 정보 입력 정보
      type: object
      properties:
        id:
          type: string
          title: 고객 아이디
          description: 고객사가 지정한 고객의 고유 식별자입니다.
        name:
          $ref: '#/components/schemas/CustomerNameInput'
          title: 이름
        birthYear:
          type: string
          title: 출생 연도
        birthMonth:
          type: string
          title: 출생월
        birthDay:
          type: string
          title: 출생일
        country:
          $ref: '#/components/schemas/Country'
          title: 국가
        gender:
          $ref: '#/components/schemas/Gender'
          title: 성별
        email:
          type: string
          title: 이메일
        phoneNumber:
          type: string
          title: 전화번호
        address:
          $ref: '#/components/schemas/SeparatedAddressInput'
          title: 주소
        zipcode:
          type: string
          title: 우편번호
        businessRegistrationNumber:
          type: string
          title: 사업자 등록 번호
      x-portone-title: 고객 정보 입력 정보
    CustomerNameInput:
      title: 고객 이름 입력 정보
      description: |-
        고객 이름 입력 정보

        두 개의 이름 형식 중 한 가지만 선택하여 입력해주세요.
      type: object
      properties:
        full:
          type: string
          title: 한 줄 이름 형식
        separated:
          $ref: '#/components/schemas/CustomerSeparatedName'
          title: 분리형 이름 형식
      x-portone-title: 고객 이름 입력 정보
      x-portone-description: 두 개의 이름 형식 중 한 가지만 선택하여 입력해주세요.
    CustomerSeparatedName:
      title: 고객 분리형 이름
      description: 고객 분리형 이름
      type: object
      required:
        - first
        - last
      properties:
        first:
          type: string
          title: 이름
        last:
          type: string
          title: 성
      x-portone-title: 고객 분리형 이름
    DateRange:
      title: DateRange
      type: object
      required:
        - from
        - until
      properties:
        from:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        until:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
    DateRangeOption:
      title: DateRangeOption
      type: object
      properties:
        from:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        until:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
    DateTimeRange:
      title: 시간 범위
      description: 시간 범위
      type: object
      required:
        - from
        - until
      properties:
        from:
          type: string
          format: date-time
        until:
          type: string
          format: date-time
      x-portone-title: 시간 범위
    DayOfWeek:
      title: 요일
      description: 요일
      type: string
      enum:
        - SUN
        - MON
        - TUE
        - WED
        - THU
        - FRI
        - SAT
      x-portone-title: 요일
      x-portone-enum:
        TUE: {}
        THU: {}
        SAT: {}
        MON: {}
        SUN: {}
        WED: {}
        FRI: {}
    Decimal:
      title: BigDecimal 타입
      description: BigDecimal 타입
      type: object
      required:
        - value
      properties:
        value:
          type: integer
          format: int64
          title: 비정규화된 값
          description: >-
            소수점 숫자의 비정규화된(unscaled) 값을 정수로 저장합니다. 예를 들어, 123.45의 경우 12345가
            저장됩니다.
        scale:
          type: integer
          format: int32
          title: 소수점 이하 자릿수
          description: '소수점 숫자의 소수점 이하 자릿수를 저장합니다. 기본값은 0입니다. 예를 들어, 123.45의 경우 2가 저장됩니다.'
      x-portone-title: BigDecimal 타입
    DeleteB2bCounterpartyBody:
      title: 거래처 삭제 요청
      description: 거래처 삭제 요청
      type: object
      x-portone-title: 거래처 삭제 요청
    DeleteB2bCounterpartyError:
      title: DeleteB2bCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyOngoingTaxInvoiceExistsError'
        - $ref: '#/components/schemas/B2bCounterpartyPartnerNotDeletableError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_ONGOING_TAX_INVOICE_EXISTS: '#/components/schemas/B2bCounterpartyOngoingTaxInvoiceExistsError'
          B2B_COUNTERPARTY_PARTNER_NOT_DELETABLE: '#/components/schemas/B2bCounterpartyPartnerNotDeletableError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DeleteB2bCounterpartyResponse:
      title: 거래처 삭제 응답
      description: 거래처 삭제 응답
      type: object
      x-portone-title: 거래처 삭제 응답
    DeleteB2bTaxInvoiceAttachmentError:
      title: DeleteB2bTaxInvoiceAttachmentError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceAttachmentNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_ATTACHMENT_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceAttachmentNotFoundError'
          B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DeleteB2bTaxInvoiceError:
      title: DeleteB2bTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNonDeletableStatusError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_BULK_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NON_DELETABLE_STATUS: '#/components/schemas/B2bTaxInvoiceNonDeletableStatusError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DeleteB2bTaxInvoiceResponse:
      title: DeleteB2bTaxInvoiceResponse
      type: object
    DeleteBillingKeyError:
      title: DeleteBillingKeyError
      oneOf:
        - $ref: '#/components/schemas/BillingKeyAlreadyDeletedError'
        - $ref: '#/components/schemas/BillingKeyNotFoundError'
        - $ref: '#/components/schemas/BillingKeyNotIssuedError'
        - $ref: '#/components/schemas/ChannelSpecificError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentScheduleAlreadyExistsError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          BILLING_KEY_ALREADY_DELETED: '#/components/schemas/BillingKeyAlreadyDeletedError'
          BILLING_KEY_NOT_FOUND: '#/components/schemas/BillingKeyNotFoundError'
          BILLING_KEY_NOT_ISSUED: '#/components/schemas/BillingKeyNotIssuedError'
          CHANNEL_SPECIFIC: '#/components/schemas/ChannelSpecificError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_SCHEDULE_ALREADY_EXISTS: '#/components/schemas/PaymentScheduleAlreadyExistsError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DeleteBillingKeyResponse:
      title: 빌링키 삭제 성공 응답
      description: 빌링키 삭제 성공 응답
      type: object
      required:
        - deletedAt
      properties:
        deletedAt:
          type: string
          format: date-time
          title: 빌링키 삭제 완료 시점
      x-portone-title: 빌링키 삭제 성공 응답
    DeletePlatformPartnerSettlementsBody:
      title: DeletePlatformPartnerSettlementsBody
      type: object
      required:
        - partnerSettlementIds
      properties:
        partnerSettlementIds:
          type: array
          items:
            type: string
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    DeletePlatformPartnerSettlementsError:
      title: DeletePlatformPartnerSettlementsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNonDeletablePartnerSettlementsError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerSettlementsNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformReferencedCancelOrderTransfersExistError
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NON_DELETABLE_PARTNER_SETTLEMENTS: '#/components/schemas/PlatformNonDeletablePartnerSettlementsError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_SETTLEMENTS_NOT_FOUND: '#/components/schemas/PlatformPartnerSettlementsNotFoundError'
          PLATFORM_REFERENCED_CANCEL_ORDER_TRANSFERS_EXIST: >-
            #/components/schemas/PlatformReferencedCancelOrderTransfersExistError
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DeletePlatformPartnerSettlementsResponse:
      title: 정산내역 삭제 결과
      description: 정산내역 삭제 결과
      type: object
      x-portone-title: 정산내역 삭제 결과
    DeletePlatformTransferError:
      title: DeletePlatformTransferError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformCancelOrderTransfersExistsError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformTransferNonDeletableStatusError'
        - $ref: '#/components/schemas/PlatformTransferNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CANCEL_ORDER_TRANSFERS_EXISTS: '#/components/schemas/PlatformCancelOrderTransfersExistsError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_TRANSFER_NON_DELETABLE_STATUS: '#/components/schemas/PlatformTransferNonDeletableStatusError'
          PLATFORM_TRANSFER_NOT_FOUND: '#/components/schemas/PlatformTransferNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DeletePlatformTransferResponse:
      title: DeletePlatformTransferResponse
      type: object
    DeletedBillingKeyInfo:
      title: 빌링키 삭제 완료 상태 건
      description: 빌링키 삭제 완료 상태 건
      type: object
      required:
        - status
        - billingKey
        - merchantId
        - storeId
        - channels
        - customer
        - issuedAt
        - deletedAt
      properties:
        status:
          type: string
          title: 빌링키 상태
        billingKey:
          type: string
          title: 빌링키
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        methods:
          title: 빌링키 결제수단 상세 정보
          type: array
          items:
            $ref: '#/components/schemas/BillingKeyPaymentMethod'
          description: 추후 슈퍼빌링키 기능 제공 시 여러 결제수단 정보가 담길 수 있습니다.
        channels:
          title: 빌링키 발급 시 사용된 채널
          type: array
          items:
            $ref: '#/components/schemas/SelectedChannel'
          description: 추후 슈퍼빌링키 기능 제공 시 여러 채널 정보가 담길 수 있습니다.
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        issueId:
          type: string
          title: 고객사가 채번하는 빌링키 발급 건 고유 아이디
        issueName:
          type: string
          title: 빌링키 발급 건 이름
        requestedAt:
          type: string
          format: date-time
          title: 발급 요청 시점
        issuedAt:
          type: string
          format: date-time
          title: 발급 시점
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 채널 그룹
        pgBillingKeyIssueResponses:
          title: 채널 별 빌링키 발급 응답
          type: array
          items:
            $ref: '#/components/schemas/PgBillingKeyIssueResponse'
          description: '슈퍼빌링키의 경우, 빌링키 발급이 성공하더라도 일부 채널에 대한 발급은 실패할 수 있습니다.'
        deletedAt:
          type: string
          format: date-time
          title: 발급 삭제 시점
      x-portone-title: 빌링키 삭제 완료 상태 건
    DeliveredPaymentEscrow:
      title: 배송 완료
      description: 배송 완료
      type: object
      required:
        - status
        - company
        - invoiceNumber
      properties:
        status:
          type: string
          title: 에스크로 상태
        company:
          type: string
          title: 택배사
        invoiceNumber:
          type: string
          title: 송장번호
        sentAt:
          type: string
          format: date-time
          title: 발송 일시
        appliedAt:
          type: string
          format: date-time
          title: 배송등록 처리 일자
      x-portone-title: 배송 완료
    DisconnectBulkPartnerCounterpartyBody:
      title: 파트너 일괄 거래처 연동 해제 요청 정보
      description: |-
        파트너 일괄 거래처 연동 해제 요청 정보

        파트너들을 일괄 거래처 연동 해제합니다.
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerFilterInput'
          title: 일괄 거래처 연동 해제할 파트너 조건 필터
      x-portone-title: 파트너 일괄 거래처 연동 해제 요청 정보
      x-portone-description: 파트너들을 일괄 거래처 연동 해제합니다.
    DisconnectBulkPartnerCounterpartyError:
      title: DisconnectBulkPartnerCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBtxNotEnabledError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformTargetPartnerNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_BTX_NOT_ENABLED: '#/components/schemas/PlatformBtxNotEnabledError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_TARGET_PARTNER_NOT_FOUND: '#/components/schemas/PlatformTargetPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DisconnectBulkPartnerCounterpartyResponse:
      title: 파트너 일괄 거래처 연동 해제 응답
      description: 파트너 일괄 거래처 연동 해제 응답
      type: object
      required:
        - bulkTask
      properties:
        bulkTask:
          $ref: '#/components/schemas/PlatformBulkTask'
      x-portone-title: 파트너 일괄 거래처 연동 해제 응답
    DisconnectPartnerCounterpartyError:
      title: DisconnectPartnerCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedPartnerNtsNotAllowedError'
        - $ref: '#/components/schemas/PlatformBtxNotEnabledError'
        - $ref: '#/components/schemas/PlatformCounterpartyNotConnectedError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformOngoingTaxInvoiceExistsError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformPartnerTaxationTypeIsSimpleError'
        - $ref: '#/components/schemas/PlatformPartnerTypeIsNotBusinessError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ARCHIVED_PARTNER_NTS_NOT_ALLOWED: '#/components/schemas/PlatformArchivedPartnerNtsNotAllowedError'
          PLATFORM_BTX_NOT_ENABLED: '#/components/schemas/PlatformBtxNotEnabledError'
          PLATFORM_COUNTERPARTY_NOT_CONNECTED: '#/components/schemas/PlatformCounterpartyNotConnectedError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_ONGOING_TAX_INVOICE_EXISTS: '#/components/schemas/PlatformOngoingTaxInvoiceExistsError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_PARTNER_TAXATION_TYPE_IS_SIMPLE: '#/components/schemas/PlatformPartnerTaxationTypeIsSimpleError'
          PLATFORM_PARTNER_TYPE_IS_NOT_BUSINESS: '#/components/schemas/PlatformPartnerTypeIsNotBusinessError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DisconnectPartnerCounterpartyResponse:
      title: 파트너 거래처 연동 해제 응답
      description: 파트너 거래처 연동 해제 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
      x-portone-title: 파트너 거래처 연동 해제 응답
    DiscountAmountExceedsTotalAmountError:
      title: 프로모션 할인 금액이 결제 시도 금액 이상인 경우
      description: 프로모션 할인 금액이 결제 시도 금액 이상인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 프로모션 할인 금액이 결제 시도 금액 이상인 경우
      x-portone-status-code: 400
    Dispute:
      title: 분쟁 내역
      description: 분쟁 내역
      type: object
      required:
        - status
        - reason
        - createdAt
      properties:
        status:
          $ref: '#/components/schemas/DisputeStatus'
          title: 분쟁 상태
        pgDisputeId:
          type: string
          title: PG사 분쟁 아이디
        reason:
          type: string
          title: 분쟁 사유
        createdAt:
          type: string
          format: date-time
          title: 분쟁 발생 시각
        resolvedAt:
          type: string
          format: date-time
          title: 분쟁 해소 시각
      x-portone-title: 분쟁 내역
    DisputeStatus:
      title: 분쟁 상태
      description: 분쟁 상태
      type: string
      enum:
        - UNRESOLVED
        - RESOLVED
      x-portone-title: 분쟁 상태
      x-portone-enum:
        UNRESOLVED:
          title: 분쟁 발생 상태
          description: 분쟁이 발생하였으며 아직 해소되지 않은 상태입니다.
        RESOLVED:
          title: 분쟁 해소 상태
          description: 분쟁이 발생하였으나 해소된 상태입니다.
    DownloadB2bTaxInvoicesSheetBody:
      title: DownloadB2bTaxInvoicesSheetBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/GetB2bTaxInvoicesBodyFilter'
        fields:
          title: 다운로드 할 시트 컬럼
          type: array
          items:
            $ref: '#/components/schemas/TaxInvoicesSheetField'
        test:
          type: boolean
        sort:
          $ref: '#/components/schemas/B2bTaxInvoiceSortInput'
          title: 정렬 조건
          description: 미입력 시 상태 업데이트 일시 내림차순 정렬됩니다.
    DownloadB2bTaxInvoicesSheetError:
      title: DownloadB2bTaxInvoicesSheetError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DownloadPlatformTransferSheetBody:
      title: DownloadPlatformTransferSheetBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformTransferFilterInput'
          title: 컬럼 키 목록
          description: |-
            - TRANSFER_MEMO:  메모 
            - TRANSFER_TYPE: 정산 유형
            - TRANSFER_STATUS:  상태 
            - TRANSFER_ID: 정산 아이디
            - TRANSFER_SETTLEMENT_DATE:  정산일 
            - TRANSFER_SETTLEMENT_AMOUNT: 정산 금액
            - TRANSFER_SETTLEMENT_TAX_FREE_AMOUNT: 정산 면세액
            - TRANSFER_SETTLEMENT_CURRENCY: 정산 통화
            - TRANSFER_SETTLEMENT_START_DATE: 정산 시작일
            - TRANSFER_ORDER_NAME:  주문명 
            - TRANSFER_ORDER_AMOUNT: 주문 금액
            - TRANSFER_ORDER_TAX_FREE_AMOUNT: 주문 면세액
            - TRANSFER_PAYMENT_ID: 주문 번호
            - TRANSFER_PAYMENT_METHOD: 결제 수단
            - TRANSFER_PAYMENT_AMOUNT: 결제 금액
            - TRANSFER_PAYMENT_SUPPLY_AMOUNT: 결제 공급가액
            - TRANSFER_PAYMENT_VAT_AMOUNT: 결제 부가세액
            - TRANSFER_PAYMENT_TAX_FREE_AMOUNT: 결제 면세액
            - TRANSFER_PAYMENT_VAT_BURDEN_AMOUNT: 결제 부가세 부담금
            - TRANSFER_PLATFORM_FEE:  중개수수료 
            - TRANSFER_PLATFORM_FEE_VAT: 중개수수료 부가세 부담금
            - TRANSFER_CONTRACT_ID: 계약 아이디
            - TRANSFER_CONTRACT_NAME: 계약 이름
            - TRANSFER_DISCOUNT_AMOUNT: 할인 금액
            - TRANSFER_DISCOUNT_TAX_FREE_AMOUNT: 할인 면세액
            - TRANSFER_DISCOUNT_SHARE_AMOUNT: 할인 분담금
            - TRANSFER_DISCOUNT_SHARE_TAX_FREE_AMOUNT: 할인 면세 분담금
            - TRANSFER_ADDITIONAL_FEE:  추가수수료 
            - TRANSFER_ADDITIONAL_FEE_VAT: 추가수수료 부가세 부담금
            - TRANSFER_{UserDefinedProperty.Key}
            - FORMULA_{UserDefinedFormula.Key}
            - PARTNER_* : 파트너 컬럼 키 사용 가능(w/o PARTNER_STATUS_UPDATED_AT)
        fields:
          type: array
          items:
            type: string
    DownloadPlatformTransferSheetError:
      title: DownloadPlatformTransferSheetError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DraftB2bTaxInvoiceBody:
      title: 세금계산서 임시 저장 정보
      description: 세금계산서 임시 저장 정보
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoiceInput'
          title: 세금계산서 생성 요청 정보
        modification:
          $ref: '#/components/schemas/B2bTaxInvoiceModificationCreateBody'
          title: 수정 세금계산서 입력 정보
        memo:
          type: string
          title: 메모
        createRecipientCounterparty:
          type: boolean
          title: 공급받는자 거래처 생성 여부
          description: true인 경우 공급받는자 정보로 거래처를 자동 생성합니다.
      x-portone-title: 세금계산서 임시 저장 정보
    DraftB2bTaxInvoiceError:
      title: DraftB2bTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError'
        - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bIdAlreadyExistsError'
        - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError'
        - $ref: '#/components/schemas/B2bModificationNotProvidedError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bRecipientNotFoundError'
        - $ref: '#/components/schemas/B2bSupplierNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError'
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError'
          B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError'
          B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
          B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError'
          B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
          B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
          B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DraftB2bTaxInvoiceResponse:
      title: 세금계산서 임시 저장 응답
      description: 세금계산서 임시 저장 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 임시 저장 응답
    EasyPayMethodType:
      title: 간편 결제 수단
      description: 간편 결제 수단
      type: string
      enum:
        - CARD
        - TRANSFER
        - CHARGE
      x-portone-title: 간편 결제 수단
      x-portone-enum:
        CARD: {}
        TRANSFER: {}
        CHARGE: {}
    EasyPayProvider:
      title: 간편 결제사
      description: 간편 결제사
      type: string
      enum:
        - SAMSUNGPAY
        - KAKAOPAY
        - NAVERPAY
        - PAYCO
        - SSGPAY
        - CHAI
        - LPAY
        - KPAY
        - TOSSPAY
        - LGPAY
        - PINPAY
        - APPLEPAY
        - SKPAY
        - TOSS_BRANDPAY
        - KB_APP
        - ALIPAY
        - HYPHEN
        - TMONEY
        - PAYPAL
        - SMILEPAY
        - MIR
        - WECHAT
        - LINEPAY
        - KLARNA
        - GRABPAY
        - SHOPEEPAY
        - JKOPAY
        - PAYPAY
        - AMAZONPAY
        - RAKUTENPAY
        - DBARAI
        - AUPAY
        - MERPAY
        - MONEYTREE
        - KPLUS
        - TINABA
        - BILL_EASE
        - KREDIVO
        - RABBIT_LINE_PAY
        - ALIPAY_HK
        - AKULAKU_PAY_LATER
        - BOOST
        - BPI
        - DANA
        - G_CASH
        - HIPAY
        - MPAY
        - TOUCH_N_GO
        - TRUE_MONEY
        - DOKU_WALLET
        - JENIUS_PAY
        - OVO
        - MAYA
        - QRIS
        - THAI_QR
      x-portone-title: 간편 결제사
      x-portone-enum:
        ALIPAY_HK: {}
        MIR: {}
        NAVERPAY: {}
        QRIS: {}
        MONEYTREE: {}
        GRABPAY: {}
        TOSS_BRANDPAY: {}
        JKOPAY: {}
        SHOPEEPAY: {}
        BOOST: {}
        ALIPAY: {}
        LPAY: {}
        DBARAI: {}
        KB_APP: {}
        LINEPAY: {}
        PAYCO: {}
        HIPAY: {}
        BILL_EASE: {}
        DOKU_WALLET: {}
        SMILEPAY: {}
        TINABA: {}
        KLARNA: {}
        JENIUS_PAY: {}
        RABBIT_LINE_PAY: {}
        THAI_QR: {}
        KREDIVO: {}
        CHAI: {}
        PINPAY: {}
        WECHAT: {}
        KPLUS: {}
        MAYA: {}
        TMONEY: {}
        TOSSPAY: {}
        SSGPAY: {}
        MERPAY: {}
        PAYPAL: {}
        OVO: {}
        G_CASH: {}
        LGPAY: {}
        APPLEPAY: {}
        HYPHEN: {}
        AUPAY: {}
        SAMSUNGPAY: {}
        DANA: {}
        TOUCH_N_GO: {}
        KPAY: {}
        AMAZONPAY: {}
        BPI: {}
        TRUE_MONEY: {}
        SKPAY: {}
        AKULAKU_PAY_LATER: {}
        RAKUTENPAY: {}
        PAYPAY: {}
        KAKAOPAY: {}
        MPAY: {}
    FailedIdentityVerification:
      title: 실패한 본인인증 내역
      description: 실패한 본인인증 내역
      type: object
      required:
        - status
        - id
        - requestedCustomer
        - requestedAt
        - updatedAt
        - statusChangedAt
        - failure
        - version
      properties:
        status:
          type: string
          title: 본인인증 상태
        id:
          type: string
          title: 고객사 본인인증 번호
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 사용된 본인인증 채널
        requestedCustomer:
          $ref: '#/components/schemas/IdentityVerificationRequestedCustomer'
          title: 요청 시 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        requestedAt:
          type: string
          format: date-time
          title: 본인인증 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        failure:
          $ref: '#/components/schemas/IdentityVerificationFailure'
          title: 본인인증 실패 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        pgTxId:
          type: string
          title: 본인인증 내역 PG사 아이디
      x-portone-title: 실패한 본인인증 내역
    FailedPayment:
      title: 결제 실패 상태 건
      description: 결제 실패 상태 건
      type: object
      required:
        - status
        - id
        - transactionId
        - merchantId
        - storeId
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - origin
        - failedAt
        - failure
      properties:
        status:
          type: string
          title: 결제 건 상태
        id:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        failedAt:
          type: string
          format: date-time
          title: 결제 실패 시점
        failure:
          $ref: '#/components/schemas/PaymentFailure'
          title: 결제 실패 정보
      x-portone-title: 결제 실패 상태 건
    FailedPaymentCancellation:
      title: 취소 실패 상태
      description: 취소 실패 상태
      type: object
      required:
        - status
        - id
        - totalAmount
        - taxFreeAmount
        - vatAmount
        - reason
        - requestedAt
      properties:
        status:
          type: string
          title: 결제 취소 내역 상태
        id:
          type: string
          title: 취소 내역 아이디
        pgCancellationId:
          type: string
          title: PG사 결제 취소 내역 아이디
        totalAmount:
          type: integer
          format: int64
          title: 취소 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 취소 금액 중 면세 금액
        vatAmount:
          type: integer
          format: int64
          title: 취소 금액 중 부가세액
        easyPayDiscountAmount:
          type: integer
          format: int64
          title: 적립형 포인트의 환불 금액
        reason:
          type: string
          title: 취소 사유
        cancelledAt:
          type: string
          format: date-time
          title: 취소 시점
        requestedAt:
          type: string
          format: date-time
          title: 취소 요청 시점
        trigger:
          $ref: '#/components/schemas/Trigger'
          title: 취소 요청 경로
      x-portone-title: 취소 실패 상태
    FailedPaymentSchedule:
      title: 결제 실패 상태
      description: 결제 실패 상태
      type: object
      required:
        - status
        - id
        - merchantId
        - storeId
        - paymentId
        - billingKey
        - orderName
        - isCulturalExpense
        - isEscrow
        - customer
        - customData
        - totalAmount
        - currency
        - createdAt
        - timeToPay
        - startedAt
        - completedAt
      properties:
        status:
          type: string
          title: 결제 예약 건 상태
        id:
          type: string
          title: 결제 예약 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        billingKey:
          type: string
          title: 빌링키
        orderName:
          type: string
          title: 주문명
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        createdAt:
          type: string
          format: date-time
          title: 결제 예약 등록 시점
        timeToPay:
          type: string
          format: date-time
          title: 결제 예정 시점
        startedAt:
          type: string
          format: date-time
          title: 결제 시작 시점
        completedAt:
          type: string
          format: date-time
          title: 결제 완료 시점
      x-portone-title: 결제 실패 상태
    FailedPaymentTransaction:
      title: 결제 실패 상태 건
      description: 결제 실패 상태 건
      type: object
      required:
        - status
        - id
        - paymentId
        - merchantId
        - storeId
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - failedAt
        - failure
      properties:
        status:
          type: string
          title: 결제 시도 상태
        id:
          type: string
          title: 결제 시도 아이디 (transactionId)
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        paymentId:
          type: string
          title: 결제 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        failedAt:
          type: string
          format: date-time
          title: 결제 실패 시점
        failure:
          $ref: '#/components/schemas/PaymentFailure'
          title: 결제 실패 정보
      x-portone-title: 결제 실패 상태 건
    FailedPgBillingKeyIssueResponse:
      title: 빌링키 발급 실패 채널 응답
      description: 빌링키 발급 실패 채널 응답
      type: object
      required:
        - type
        - channel
        - failure
      properties:
        type:
          type: string
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 채널
          description: 빌링키 발급을 시도한 채널입니다.
        failure:
          $ref: '#/components/schemas/BillingKeyFailure'
          title: 발급 실패 상세 정보
      x-portone-title: 빌링키 발급 실패 채널 응답
    ForbiddenError:
      title: 요청이 거절된 경우
      description: 요청이 거절된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 요청이 거절된 경우
      x-portone-status-code: 403
    Gender:
      title: 성별
      description: 성별
      type: string
      enum:
        - MALE
        - FEMALE
        - OTHER
      x-portone-title: 성별
      x-portone-enum:
        MALE:
          title: 남성
        FEMALE:
          title: 여성
        OTHER:
          title: 그 외 성별
    GetAccountTransfersBody1:
      title: GetAccountTransfersBody
      type: object
      properties:
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
        page:
          $ref: '#/components/schemas/PageInput'
        filter:
          $ref: '#/components/schemas/PlatformAccountTransferFilter'
    GetAllPaymentEventsByCursorBody:
      title: GetAllPaymentEventsByCursorBody
      description: 결제 이벤트 커서 기반 대용량 다건 조회를 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: 'Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제 이벤트를 조회합니다.'
        from:
          type: string
          format: date-time
          title: 결제 이벤트 생성시점 범위 조건의 시작
          description: 값을 입력하지 않으면 end의 90일 전으로 설정됩니다.
        until:
          type: string
          format: date-time
          title: 결제 이벤트 생성시점 범위 조건의 끝
          description: 값을 입력하지 않으면 현재 시점으로 설정됩니다.
        cursor:
          type: string
          title: 커서
          description: >-
            결제 이벤트 리스트 중 어디서부터 읽어야 할지 가리키는 값입니다. 최초 요청일 경우 값을 입력하지 마시되, 두번째 요청
            부터는 이전 요청 응답값의 cursor를 입력해주시면 됩니다.
        size:
          type: integer
          format: int32
          title: 페이지 크기
          description: 미입력 시 기본값은 10 이며 최대 1000까지 허용
      x-portone-description: 결제 이벤트 커서 기반 대용량 다건 조회를 위한 입력 정보
    GetAllPaymentEventsByCursorResponse:
      title: 결제 이벤트 커서 기반 대용량 다건 조회 성공 응답 정보
      description: 결제 이벤트 커서 기반 대용량 다건 조회 성공 응답 정보
      type: object
      required:
        - items
      properties:
        items:
          title: 조회된 결제 이벤트 및 커서 정보 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentEventWithCursor'
      x-portone-title: 결제 이벤트 커서 기반 대용량 다건 조회 성공 응답 정보
    GetAllPaymentEventsError:
      title: GetAllPaymentEventsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetAllPaymentsByCursorBody:
      title: GetAllPaymentsByCursorBody
      description: 결제 건 커서 기반 대용량 다건 조회를 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        from:
          type: string
          format: date-time
          title: 결제 건 생성시점 범위 조건의 시작
          description: 값을 입력하지 않으면 end의 90일 전으로 설정됩니다.
        until:
          type: string
          format: date-time
          title: 결제 건 생성시점 범위 조건의 끝
          description: 값을 입력하지 않으면 현재 시점으로 설정됩니다.
        cursor:
          type: string
          title: 커서
          description: >-
            결제 건 리스트 중 어디서부터 읽어야 할지 가리키는 값입니다. 최초 요청일 경우 값을 입력하지 마시되, 두번째 요청 부터는
            이전 요청 응답값의 cursor를 입력해주시면 됩니다.
        size:
          type: integer
          format: int32
          title: 페이지 크기
          description: 미입력 시 기본값은 10 이며 최대 1000까지 허용
      x-portone-description: 결제 건 커서 기반 대용량 다건 조회를 위한 입력 정보
    GetAllPaymentsByCursorResponse:
      title: 결제 건 커서 기반 대용량 다건 조회 성공 응답 정보
      description: 결제 건 커서 기반 대용량 다건 조회 성공 응답 정보
      type: object
      required:
        - items
      properties:
        items:
          title: 조회된 결제 건 및 커서 정보 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentWithCursor'
      x-portone-title: 결제 건 커서 기반 대용량 다건 조회 성공 응답 정보
    GetAllPaymentsError:
      title: GetAllPaymentsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bBulkTaxInvoiceError:
      title: GetB2bBulkTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_BULK_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bBusinessInfosBody:
      title: 사업자등록 정보 조회를 위한 입력 정보
      description: 사업자등록 정보 조회를 위한 입력 정보
      type: object
      required:
        - brnList
      properties:
        brnList:
          type: array
          items:
            type: string
          title: 조회할 사업자등록번호 리스트
      x-portone-title: 사업자등록 정보 조회를 위한 입력 정보
    GetB2bBusinessInfosError:
      title: GetB2bBusinessInfosError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bBusinessInfosResponse:
      title: 사업자등록 정보 조회 성공 응답
      description: 사업자등록 정보 조회 성공 응답
      type: object
      required:
        - result
      properties:
        result:
          title: 사업자등록 정보 리스트
          type: array
          items:
            $ref: '#/components/schemas/B2bBusinessInfoResult'
      x-portone-title: 사업자등록 정보 조회 성공 응답
    GetB2bCounterpartiesBody:
      title: 거래처 검색 요청 정보
      description: 거래처 검색 요청 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 페이지 정보
        filter:
          $ref: '#/components/schemas/B2bCounterpartyFilter'
          title: 검색 필터
      x-portone-title: 거래처 검색 요청 정보
    GetB2bCounterpartiesError:
      title: GetB2bCounterpartiesError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bCounterpartiesResponse:
      title: 거래처 검색 성공 응답
      description: 거래처 검색 성공 응답
      type: object
      required:
        - page
        - items
      properties:
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 페이지 정보
        items:
          title: 거래처 목록
          type: array
          items:
            $ref: '#/components/schemas/B2bCounterparty'
      x-portone-title: 거래처 검색 성공 응답
    GetB2bCounterpartyCertificateError:
      title: GetB2bCounterpartyCertificateError
      oneOf:
        - $ref: '#/components/schemas/B2bCertificateUnregisteredError'
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_CERTIFICATE_UNREGISTERED: '#/components/schemas/B2bCertificateUnregisteredError'
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bCounterpartyCertificateRegistrationUrlError:
      title: GetB2bCounterpartyCertificateRegistrationUrlError
      oneOf:
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bCounterpartyCertificateRegistrationUrlResponse:
      title: 인증서 등록 URL 조회 응답 정보
      description: 인증서 등록 URL 조회 응답 정보
      type: object
      required:
        - url
      properties:
        url:
          type: string
          title: 인증서 등록 URL
      x-portone-title: 인증서 등록 URL 조회 응답 정보
    GetB2bCounterpartyError:
      title: GetB2bCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bTaxInvoiceAttachmentsError:
      title: GetB2bTaxInvoiceAttachmentsError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bTaxInvoiceAttachmentsResponse:
      title: 세금계산서 첨부파일 목록 조회 성공 응답
      description: 세금계산서 첨부파일 목록 조회 성공 응답
      type: object
      required:
        - attachments
      properties:
        attachments:
          title: 첨부파일 목록
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceAttachment'
      x-portone-title: 세금계산서 첨부파일 목록 조회 성공 응답
    GetB2bTaxInvoiceError:
      title: GetB2bTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bTaxInvoicePdfDownloadUrlError:
      title: GetB2bTaxInvoicePdfDownloadUrlError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bTaxInvoicePdfDownloadUrlResponse:
      title: 세금계산서 PDF 다운로드 URL 성공 응답
      description: 세금계산서 PDF 다운로드 URL 성공 응답
      type: object
      required:
        - url
      properties:
        url:
          type: string
          title: 세금계산서 PDF 다운로드 URL
      x-portone-title: 세금계산서 PDF 다운로드 URL 성공 응답
    GetB2bTaxInvoicePopupUrlError:
      title: GetB2bTaxInvoicePopupUrlError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bTaxInvoicePopupUrlResponse:
      title: 세금계산서 팝업 URL 성공 응답
      description: 세금계산서 팝업 URL 성공 응답
      type: object
      required:
        - url
      properties:
        url:
          type: string
          title: 세금계산서 팝업 URL
      x-portone-title: 세금계산서 팝업 URL 성공 응답
    GetB2bTaxInvoicePrintUrlError:
      title: GetB2bTaxInvoicePrintUrlError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bTaxInvoicePrintUrlResponse:
      title: 세금계산서 프린트 URL 성공 응답
      description: 세금계산서 프린트 URL 성공 응답
      type: object
      required:
        - url
      properties:
        url:
          type: string
          title: 세금계산서 프린트 URL
      x-portone-title: 세금계산서 프린트 URL 성공 응답
    GetB2bTaxInvoicesBody:
      title: 세금 계산서 다건 조회를 위한 입력 정보
      description: 세금 계산서 다건 조회를 위한 입력 정보
      type: object
      properties:
        test:
          type: boolean
          title: 테스트 모드 여부
          description: 'true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.'
        pageNumber:
          type: integer
          format: int32
          title: 페이지 번호
          description: 0부터 시작하는 페이지 번호. 기본 값은 0.
        pageSize:
          type: integer
          format: int32
          title: 페이지 크기
          description: 각 페이지 당 포함할 객체 수. 기본 값은 500이며 최대 1000까지 요청가능합니다.
        filter:
          $ref: '#/components/schemas/GetB2bTaxInvoicesBodyFilter'
          title: 필터
        sort:
          $ref: '#/components/schemas/B2bTaxInvoiceSortInput'
          title: 정렬 조건
          description: 미입력 시 상태 업데이트 일시 내림차순 정렬됩니다.
      x-portone-title: 세금 계산서 다건 조회를 위한 입력 정보
    GetB2bTaxInvoicesBodyDateFilter:
      title: 조회 기간 필터
      description: 조회 기간 필터
      type: object
      properties:
        dateType:
          $ref: '#/components/schemas/B2bSearchDateType'
          title: 조회 기간 기준
          description: 미입력시 기본값은 등록일(`REGISTER`)로 설정됩니다.
        dateRange:
          type: array
          items:
            $ref: '#/components/schemas/DateRangeOption'
          title: 조회 기간
          description: >-
            미입력시 `dateRange.from`의 기본값은 한 달 이전, `dateRange.until`의 기본값은 현재 일자로
            설정됩니다.
      x-portone-title: 조회 기간 필터
    GetB2bTaxInvoicesBodyFilter:
      title: 세금계산서 다건 조회 필터
      description: 세금계산서 다건 조회 필터
      type: object
      properties:
        primaryFilter:
          $ref: '#/components/schemas/GetB2bTaxInvoicesBodyPrimaryFilter'
          title: 상위 필터
          description: 가장 주요 항목을 설정하는 상위 필터이며 사용할 때는 주어진 필드 중 한 개의 필드만 입력합니다.
        supplierBrn:
          type: string
          title: 공급자 사업자등록번호
        partnerBrn:
          type: string
          title: 거래처 사업자등록번호
          description: '역발행의 경우 공급자 사업자등록번호, 정발행의 경우 공급받는자 사업자등록번호에 대해 조회합니다.'
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceStatus'
          title: 세금계산서 상태
          description: 미입력시 모든 상태를 조회합니다.
        taxationTypes:
          title: 과세 유형
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceTaxationType'
        documentModificationTypes:
          title: 문서 유형
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceDocumentModificationType'
        isDelayed:
          type: boolean
          title: 지연 발행 여부
        issuanceTypes:
          title: 발행 유형
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType'
        purposeTypes:
          title: 영수/청구
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoicePurposeType'
        counterpartyId:
          type: string
          title: 거래처 ID
          description: 거래처 ID로 필터링합니다. 공급자 또는 공급받는자 거래처 ID에 대해 조회합니다.
        includeBrnMatch:
          type: boolean
          title: 거래처 사업자등록번호 매칭 포함 여부
          description: counterpartyId 조건과 함께 거래처의 사업자등록번호 매칭 조건을 추가할지 여부입니다.
      x-portone-title: 세금계산서 다건 조회 필터
    GetB2bTaxInvoicesBodyPrimaryFilter:
      title: 상위 필터
      description: |-
        상위 필터

        주어진 필드 중 한 개의 필드만 입력합니다.
      type: object
      properties:
        dateFilter:
          $ref: '#/components/schemas/GetB2bTaxInvoicesBodyDateFilter'
          title: 조회 기간
        taxInvoiceId:
          type: string
          title: 세금계산서 아이디
        bulkTaxInvoiceId:
          type: string
          title: 일괄발행 아이디
        ntsApprovalNumber:
          type: string
          title: 국세청 승인번호
        supplierDocumentKey:
          type: string
          title: 공급자 문서번호
        recipientDocumentKey:
          type: string
          title: 공급받는자 승인번호
        taxInvoiceIds:
          type: array
          items:
            type: string
          title: 세금계산서 아이디 리스트
        payoutId:
          type: string
          title: 지급 아이디
      x-portone-title: 상위 필터
      x-portone-description: 주어진 필드 중 한 개의 필드만 입력합니다.
    GetB2bTaxInvoicesError:
      title: GetB2bTaxInvoicesError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bTaxInvoicesResponse:
      title: 세금계산서 다건 조회 성공 응답
      description: 세금계산서 다건 조회 성공 응답
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 세금계산서 목록
          type: array
          items:
            $ref: '#/components/schemas/B2bTaxInvoiceSummary'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 세금계산서 다건 조회 성공 응답
    GetBankInfosError:
      title: GetBankInfosError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
    GetBankInfosResponse:
      title: 은행 정보 조회 성공 응답 정보
      description: 은행 정보 조회 성공 응답 정보
      type: object
      required:
        - items
      properties:
        items:
          title: 조회된 은행 정보 리스트
          type: array
          items:
            $ref: '#/components/schemas/BankInfo'
      x-portone-title: 은행 정보 조회 성공 응답 정보
    GetBillingKeyInfoError:
      title: GetBillingKeyInfoError
      oneOf:
        - $ref: '#/components/schemas/BillingKeyNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          BILLING_KEY_NOT_FOUND: '#/components/schemas/BillingKeyNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetBillingKeyInfosBody:
      title: GetBillingKeyInfosBody
      description: 빌링키 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
          description: '미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.'
        sort:
          $ref: '#/components/schemas/BillingKeySortInput'
          title: 정렬 조건
          description: '미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다.'
        filter:
          $ref: '#/components/schemas/BillingKeyFilterInput'
          title: 조회할 빌링키 조건 필터
          description: V1 빌링키 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다.
      x-portone-description: 빌링키 다건 조회를 위한 입력 정보
    GetBillingKeyInfosError:
      title: GetBillingKeyInfosError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetBillingKeyInfosResponse:
      title: 빌링키 다건 조회 성공 응답 정보
      description: 빌링키 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 빌링키 리스트
          type: array
          items:
            $ref: '#/components/schemas/BillingKeyInfo'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 빌링키 다건 조회 성공 응답 정보
    GetCashReceiptError:
      title: GetCashReceiptError
      oneOf:
        - $ref: '#/components/schemas/CashReceiptNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CASH_RECEIPT_NOT_FOUND: '#/components/schemas/CashReceiptNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetCashReceiptsBody:
      title: GetCashReceiptsBody
      description: 현금영수증 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
          description: '미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.'
        sort:
          $ref: '#/components/schemas/CashReceiptSortInput'
          title: 정렬 조건
          description: '미 입력 시 sortBy: ISSUED_AT, sortOrder: DESC 으로 기본값이 적용됩니다.'
        filter:
          $ref: '#/components/schemas/CashReceiptFilterInput'
          title: 조회할 현금영수증 조건 필터
      x-portone-description: 현금영수증 다건 조회를 위한 입력 정보
    GetCashReceiptsError:
      title: GetCashReceiptsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetCashReceiptsResponse:
      title: 현금영수증 다건 조회 성공 응답 정보
      description: 현금영수증 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 현금영수증 리스트
          type: array
          items:
            $ref: '#/components/schemas/CashReceipt'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 현금영수증 다건 조회 성공 응답 정보
    GetIdentityVerificationError:
      title: GetIdentityVerificationError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/IdentityVerificationNotFoundError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          IDENTITY_VERIFICATION_NOT_FOUND: '#/components/schemas/IdentityVerificationNotFoundError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetIdentityVerificationsBody:
      title: GetIdentityVerificationsBody
      description: 본인인증 내역 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
          description: '미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.'
        sort:
          $ref: '#/components/schemas/IdentityVerificationSortInput'
          title: 정렬 조건
          description: '미 입력 시 sortBy: REQUESTED_AT, sortOrder: DESC 으로 기본값이 적용됩니다.'
        filter:
          $ref: '#/components/schemas/IdentityVerificationFilterInput'
          title: 조회할 본인인증 내역 조건 필터
      x-portone-description: 본인인증 내역 다건 조회를 위한 입력 정보
    GetIdentityVerificationsError:
      title: GetIdentityVerificationsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetIdentityVerificationsResponse:
      title: 본인인증 내역 다건 조회 성공 응답 정보
      description: 본인인증 내역 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 본인인증 내역 리스트
          type: array
          items:
            $ref: '#/components/schemas/IdentityVerification'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 본인인증 내역 다건 조회 성공 응답 정보
    GetKakaopayPaymentOrderError:
      title: GetKakaopayPaymentOrderError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetKakaopayPaymentOrderResponse:
      title: 카카오페이 주문 조회 응답
      description: 카카오페이 주문 조회 응답
      type: object
      required:
        - statusCode
        - body
      properties:
        statusCode:
          type: integer
          format: int32
          title: HTTP 상태 코드
        body:
          type: string
          title: HTTP 응답 본문 (JSON)
      x-portone-title: 카카오페이 주문 조회 응답
    GetPaymentError:
      title: GetPaymentError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentReconciliationSettlementVatReportBody:
      title: GetPaymentReconciliationSettlementVatReportBody
      type: object
      required:
        - dateRange
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산일 범위
        filter:
          $ref: >-
            #/components/schemas/PaymentReconciliationSettlementSummaryFilterInput
    GetPaymentReconciliationSettlementVatReportError:
      title: GetPaymentReconciliationSettlementVatReportError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentReconciliationSettlementVatReportResponse:
      title: GetPaymentReconciliationSettlementVatReportResponse
      type: object
      required:
        - summary
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationVatReportItem'
          properties:
            paymentMethod:
              title: 결제수단
            vatAmount:
              title: 부가세 금액
            taxFreeAmount:
              title: 면세 금액
            totalAmount:
              title: 총 금액
            supplyAmount:
              title: 공급가액
          title: 부가세 내역 항목 리스트
        summary:
          $ref: '#/components/schemas/PaymentReconciliationVatReportSummary'
          title: 부가세 내역 요약
        pgSpecifiers:
          title: PG사 식별자 리스트
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
          x-portone-title: 대사용 PG사 가맹점 식별자
          properties:
            pgMerchantId:
              title: PG사 가맹점 식별 아이디
            pgProvider:
              title: PG사
    GetPaymentReconciliationTransactionVatReportBody:
      title: GetPaymentReconciliationTransactionVatReportBody
      type: object
      required:
        - dateRange
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 거래일 범위
        filter:
          $ref: >-
            #/components/schemas/PaymentReconciliationTransactionSummaryFilterInput
    GetPaymentReconciliationTransactionVatReportError:
      title: GetPaymentReconciliationTransactionVatReportError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentReconciliationTransactionVatReportResponse:
      title: GetPaymentReconciliationTransactionVatReportResponse
      type: object
      required:
        - summary
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationVatReportItem'
          properties:
            paymentMethod:
              title: 결제수단
            vatAmount:
              title: 부가세 금액
            taxFreeAmount:
              title: 면세 금액
            totalAmount:
              title: 총 금액
            supplyAmount:
              title: 공급가액
          title: 부가세 내역 항목 리스트
        summary:
          $ref: '#/components/schemas/PaymentReconciliationVatReportSummary'
          title: 부가세 내역 요약
        pgSpecifiers:
          title: PG사 식별자 리스트
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
          x-portone-title: 대사용 PG사 가맹점 식별자
          properties:
            pgMerchantId:
              title: PG사 가맹점 식별 아이디
            pgProvider:
              title: PG사
    GetPaymentScheduleError:
      title: GetPaymentScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentScheduleNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_SCHEDULE_NOT_FOUND: '#/components/schemas/PaymentScheduleNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentSchedulesBody:
      title: 결제 예약 다건 조회를 위한 입력 정보
      description: |-
        결제 예약 다건 조회를 위한 입력 정보

        조회 결과는 결제 예정 시점(timeToPay) 기준 최신 순으로 정렬됩니다.
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
          description: '미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.'
        sort:
          $ref: '#/components/schemas/PaymentScheduleSortInput'
          title: 정렬 조건
          description: '미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다.'
        filter:
          $ref: '#/components/schemas/PaymentScheduleFilterInput'
          title: 조회할 결제 예약 건의 조건 필터
      x-portone-title: 결제 예약 다건 조회를 위한 입력 정보
      x-portone-description: 조회 결과는 결제 예정 시점(timeToPay) 기준 최신 순으로 정렬됩니다.
    GetPaymentSchedulesError:
      title: GetPaymentSchedulesError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentSchedulesResponse:
      title: 결제 예약 다건 조회 성공 응답 정보
      description: 결제 예약 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 결제 예약 건 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentSchedule'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 결제 예약 다건 조회 성공 응답 정보
    GetPaymentTransactionsError:
      title: GetPaymentTransactionsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentTransactionsResponse:
      title: 결제 시도 내역 조회 응답 정보
      description: 결제 시도 내역 조회 응답 정보
      type: object
      required:
        - items
      properties:
        items:
          title: 결제 시도 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentTransaction'
      x-portone-title: 결제 시도 내역 조회 응답 정보
    GetPaymentsBody:
      title: 결제 다건 조회를 위한 입력 정보
      description: 결제 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
          description: '미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.'
        filter:
          $ref: '#/components/schemas/PaymentFilterInput'
          title: 조회할 결제 건 조건 필터
          description: V1 결제 건의 경우 일부 필드에 대해 필터가 적용되지 않을 수 있습니다.
      x-portone-title: 결제 다건 조회를 위한 입력 정보
    GetPaymentsError:
      title: GetPaymentsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentsResponse:
      title: 결제 건 다건 조회 성공 응답 정보
      description: 결제 건 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 결제 건 리스트
          type: array
          items:
            $ref: '#/components/schemas/Payment'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 결제 건 다건 조회 성공 응답 정보
    GetPgCardPromotionsError:
      title: GetPgCardPromotionsError
      oneOf:
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPgCardPromotionsResponse:
      title: PG사 카드 프로모션 조회 응답
      description: PG사 카드 프로모션 조회 응답
      type: object
      properties:
        promotions:
          title: 카드 프로모션 목록
          type: array
          items:
            $ref: '#/components/schemas/PgCardPromotion'
          x-portone-title: PG사 카드 프로모션
          x-portone-description: PG사에서 제공하는 카드 프로모션 정보입니다.
          properties:
            promotionId:
              title: 프로모션 아이디
              description: PG사에서 부여한 프로모션 식별자입니다.
            cardCompany:
              title: 카드사
              description: 프로모션이 적용되는 카드사입니다.
            discountAmount:
              title: 할인 금액
              description: 프로모션 적용 시 할인되는 금액입니다.
            minimumPaymentAmount:
              title: 최소 결제 금액
              description: 프로모션이 적용되기 위한 최소 결제 금액입니다.
      x-portone-title: PG사 카드 프로모션 조회 응답
    GetPlatformAccountHolderError:
      title: GetPlatformAccountHolderError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformExternalApiTemporarilyFailedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformNotSupportedBankError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_EXTERNAL_API_TEMPORARILY_FAILED: '#/components/schemas/PlatformExternalApiTemporarilyFailedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_NOT_SUPPORTED_BANK: '#/components/schemas/PlatformNotSupportedBankError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformAccountTransfersError:
      title: GetPlatformAccountTransfersError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformAccountTransfersResponse:
      title: 이체내역 다건 조회 성공 응답 정보
      description: 이체내역 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
        - counts
      properties:
        items:
          title: 조회된 이체내역 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformAccountTransfer'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
        counts:
          $ref: '#/components/schemas/PlatformAccountTransferStatusStats'
          title: 이체 내역 상태별 건 수
      x-portone-title: 이체내역 다건 조회 성공 응답 정보
    GetPlatformAdditionalFeePoliciesBody:
      title: 추가 수수료 정책 다건 조회를 위한 입력 정보
      description: 추가 수수료 정책 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
        filter:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicyFilterInput'
          title: 조회할 추가 수수료 정책 조건 필터
      x-portone-title: 추가 수수료 정책 다건 조회를 위한 입력 정보
    GetPlatformAdditionalFeePoliciesError:
      title: GetPlatformAdditionalFeePoliciesError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformAdditionalFeePoliciesResponse:
      title: 추가 수수료 정책 다건 조회 성공 응답 정보
      description: 추가 수수료 정책 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 추가 수수료 정책 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 추가 수수료 정책 다건 조회 성공 응답 정보
    GetPlatformAdditionalFeePolicyError:
      title: GetPlatformAdditionalFeePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformAdditionalFeePolicyScheduleError:
      title: GetPlatformAdditionalFeePolicyScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformBulkAccountTransfersBody:
      title: GetPlatformBulkAccountTransfersBody
      type: object
      properties:
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
        page:
          $ref: '#/components/schemas/PageInput'
        filter:
          $ref: '#/components/schemas/PlatformBulkAccountTransferFilterInput'
    GetPlatformBulkAccountTransfersError:
      title: GetPlatformBulkAccountTransfersError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformBulkAccountTransfersResponse:
      title: GetPlatformBulkAccountTransfersResponse
      type: object
      required:
        - items
        - page
        - counts
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlatformBulkAccountTransfer'
        page:
          $ref: '#/components/schemas/PageInfo'
        counts:
          $ref: '#/components/schemas/PlatformBulkAccountTransferStatusStats'
    GetPlatformBulkPayoutsBody:
      title: GetPlatformBulkPayoutsBody
      type: object
      properties:
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
        page:
          $ref: '#/components/schemas/PageInput'
        filter:
          $ref: '#/components/schemas/PlatformBulkPayoutFilterInput'
    GetPlatformBulkPayoutsError:
      title: GetPlatformBulkPayoutsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformBulkPayoutsResponse:
      title: GetPlatformBulkPayoutsResponse
      type: object
      required:
        - items
        - page
        - counts
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlatformBulkPayout'
        page:
          $ref: '#/components/schemas/PageInfo'
        counts:
          $ref: '#/components/schemas/PlatformBulkPayoutStatusStats'
    GetPlatformCompanyStateError:
      title: GetPlatformCompanyStateError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformCompanyNotFoundError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_COMPANY_NOT_FOUND: '#/components/schemas/PlatformCompanyNotFoundError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformCompanyStatePayload:
      title: 사업자 조회 성공 응답 정보
      description: 사업자 조회 성공 응답 정보
      type: object
      required:
        - companyState
        - companyVerificationId
      properties:
        companyState:
          $ref: '#/components/schemas/PlatformCompanyState'
          title: 사업자 정보
        companyVerificationId:
          type: string
          title: 사업자 검증 아이디
      x-portone-title: 사업자 조회 성공 응답 정보
    GetPlatformContractError:
      title: GetPlatformContractError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformContractScheduleError:
      title: GetPlatformContractScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformContractsBody:
      title: 계약 다건 조회를 위한 입력 정보
      description: 계약 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
        filter:
          $ref: '#/components/schemas/PlatformContractFilterInput'
          title: 조회할 계약 조건 필터
      x-portone-title: 계약 다건 조회를 위한 입력 정보
    GetPlatformContractsError:
      title: GetPlatformContractsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformContractsResponse:
      title: 계약 다건 조회 성공 응답
      description: 계약 다건 조회 성공 응답
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 계약 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformContract'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 계약 다건 조회 성공 응답
    GetPlatformDiscountSharePoliciesBody:
      title: 할인 분담 정책 다건 조회를 위한 입력 정보
      description: 할인 분담 정책 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
        filter:
          $ref: '#/components/schemas/PlatformDiscountSharePolicyFilterInput'
          title: 조회할 할인 분담 정책 조건 필터
      x-portone-title: 할인 분담 정책 다건 조회를 위한 입력 정보
    GetPlatformDiscountSharePoliciesError:
      title: GetPlatformDiscountSharePoliciesError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformDiscountSharePoliciesResponse:
      title: 할인 분담 정책 다건 조회 성공 응답 정보
      description: 할인 분담 정책 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 할인 분담 정책 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformDiscountSharePolicy'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 할인 분담 정책 다건 조회 성공 응답 정보
    GetPlatformDiscountSharePolicyError:
      title: GetPlatformDiscountSharePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformDiscountSharePolicyFilterOptionsError:
      title: GetPlatformDiscountSharePolicyFilterOptionsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformDiscountSharePolicyScheduleError:
      title: GetPlatformDiscountSharePolicyScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformPartnerError:
      title: GetPlatformPartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformPartnerFilterOptionsError:
      title: GetPlatformPartnerFilterOptionsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformPartnerScheduleError:
      title: GetPlatformPartnerScheduleError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformPartnerSettlementsBody:
      title: 정산내역 다건 조회를 위한 입력 정보
      description: 정산내역 다건 조회를 위한 입력 정보
      type: object
      required:
        - filter
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
        filter:
          $ref: '#/components/schemas/PlatformPartnerSettlementFilterInput'
          title: 조회할 정산내역 조건 필터
        isForTest:
          type: boolean
          title: 테스트 모드 여부
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
      x-portone-title: 정산내역 다건 조회를 위한 입력 정보
    GetPlatformPartnerSettlementsError:
      title: GetPlatformPartnerSettlementsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformPartnerSettlementsResponse:
      title: 정산내역 다건 조회 성공 응답 정보
      description: 정산내역 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
        - counts
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerSettlement'
          title: 조회된 정산내역 리스트
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
        counts:
          $ref: '#/components/schemas/PlatformPartnerSettlementStatusStats'
          title: 정산내역 상태 별 갯수
      x-portone-title: 정산내역 다건 조회 성공 응답 정보
    GetPlatformPartnersBody:
      title: 파트너 다건 조회를 위한 입력 정보
      description: 파트너 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
        filter:
          $ref: '#/components/schemas/PlatformPartnerFilterInput'
          title: 조회할 파트너 조건 필터
      x-portone-title: 파트너 다건 조회를 위한 입력 정보
    GetPlatformPartnersError:
      title: GetPlatformPartnersError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformPartnersResponse:
      title: 파트너 다건 조회 성공 응답 정보
      description: 파트너 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 파트너 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartner'
        page:
          $ref: '#/components/schemas/PageInfo'
          title: 조회된 페이지 정보
      x-portone-title: 파트너 다건 조회 성공 응답 정보
    GetPlatformPayoutsBody:
      title: GetPlatformPayoutsBody
      type: object
      properties:
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
        page:
          $ref: '#/components/schemas/PageInput'
        filter:
          $ref: '#/components/schemas/PlatformPayoutFilterInput'
    GetPlatformPayoutsError:
      title: GetPlatformPayoutsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformPayoutsResponse:
      title: GetPlatformPayoutsResponse
      type: object
      required:
        - items
        - page
        - counts
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlatformPayout'
        page:
          $ref: '#/components/schemas/PageInfo'
        counts:
          $ref: '#/components/schemas/PlatformPayoutStatusStats'
    GetPlatformSettingError:
      title: GetPlatformSettingError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformTransferError:
      title: GetPlatformTransferError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformTransferNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_TRANSFER_NOT_FOUND: '#/components/schemas/PlatformTransferNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformTransferSummariesBody:
      title: 정산건 요약 다건 조회를 위한 입력 정보
      description: 정산건 요약 다건 조회를 위한 입력 정보
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageInput'
          title: 요청할 페이지 정보
        filter:
          $ref: '#/components/schemas/PlatformTransferFilterInput'
          title: 조회할 정산건 조건 필터
      x-portone-title: 정산건 요약 다건 조회를 위한 입력 정보
    GetPlatformTransferSummariesError:
      title: GetPlatformTransferSummariesError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformTransferSummariesResponse:
      title: GetPlatformTransferSummariesResponse
      type: object
      required:
        - transferSummaries
        - page
      properties:
        transferSummaries:
          type: array
          items:
            $ref: '#/components/schemas/PlatformTransferSummary'
        page:
          $ref: '#/components/schemas/PageInfo'
    GetPromotionError:
      title: GetPromotionError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PromotionNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PROMOTION_NOT_FOUND: '#/components/schemas/PromotionNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    IdentityVerification:
      title: 본인인증 내역
      description: 본인인증 내역
      oneOf:
        - $ref: '#/components/schemas/FailedIdentityVerification'
        - $ref: '#/components/schemas/ReadyIdentityVerification'
        - $ref: '#/components/schemas/VerifiedIdentityVerification'
      discriminator:
        propertyName: status
        mapping:
          FAILED: '#/components/schemas/FailedIdentityVerification'
          READY: '#/components/schemas/ReadyIdentityVerification'
          VERIFIED: '#/components/schemas/VerifiedIdentityVerification'
      x-portone-title: 본인인증 내역
      x-portone-discriminator:
        READY:
          title: 준비 상태의 본인인증 내역
        VERIFIED:
          title: 완료된 본인인증 내역
        FAILED:
          title: 실패한 본인인증 내역
    IdentityVerificationAlreadySentError:
      title: 본인인증 건이 이미 API로 요청된 상태인 경우
      description: 본인인증 건이 이미 API로 요청된 상태인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 본인인증 건이 이미 API로 요청된 상태인 경우
      x-portone-status-code: 409
    IdentityVerificationAlreadyVerifiedError:
      title: 본인인증 건이 이미 인증 완료된 상태인 경우
      description: 본인인증 건이 이미 인증 완료된 상태인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 본인인증 건이 이미 인증 완료된 상태인 경우
      x-portone-status-code: 409
    IdentityVerificationFailure:
      title: 본인인증 실패 정보
      description: 본인인증 실패 정보
      type: object
      properties:
        reason:
          type: string
          title: 실패 사유
        pgCode:
          type: string
          title: PG사 실패 코드
        pgMessage:
          type: string
          title: PG사 실패 메시지
      x-portone-title: 본인인증 실패 정보
    IdentityVerificationFilterCustomerInput:
      title: 본인인증 다건 조회를 위한 고객 정보 입력 정보
      description: 본인인증 다건 조회를 위한 고객 정보 입력 정보
      type: object
      properties:
        name:
          type: string
          title: 이름
        birthYear:
          type: string
          title: 출생 연도
        birthMonth:
          type: string
          title: 출생월
        birthDay:
          type: string
          title: 출생일
        phoneNumber:
          type: string
          title: 전화번호
          description: 특수 문자(-) 없이 숫자로만 이루어진 번호 형식입니다.
        gender:
          $ref: '#/components/schemas/Gender'
          title: 성별
      x-portone-title: 본인인증 다건 조회를 위한 고객 정보 입력 정보
    IdentityVerificationFilterInput:
      title: 본인인증 다건 조회를 위한 입력 정보
      description: 본인인증 다건 조회를 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: 'Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 본인인증 내역을 조회합니다.'
        timeRangeField:
          $ref: '#/components/schemas/IdentityVerificationTimeRangeField'
          title: 조회 기준 시점 유형
          description: 값을 입력하지 않으면 REQUESTED_AT으로 설정됩니다.
        from:
          type: string
          format: date-time
          title: 조회 기준 시점 범위의 시작
          description: 값을 입력하지 않으면 end의 90일 전으로 설정됩니다.
        until:
          type: string
          format: date-time
          title: 조회 기준 시점 범위의 끝
          description: 값을 입력하지 않으면 현재 시점으로 설정됩니다.
        identityVerificationId:
          type: string
          title: 고객사 본인인증 번호
          description: V1 본인인증 건의 경우 `imp_uid`에 대응됩니다.
        identityVerificationTxId:
          type: string
          title: 포트원 본인인증 시도 번호
          description: V1 본인인증 건의 경우 `imp_uid`에 대응됩니다.
        isTest:
          type: boolean
          title: 테스트 결제 필터링
        statuses:
          title: 본인인증 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/IdentityVerificationStatus'
          description: 값을 입력하지 않으면 필터링이 적용되지 않습니다.
        pgTxId:
          type: string
          title: PG사 본인인증 번호
        pgMerchantId:
          type: string
          title: PG 상점아이디
        pgProviders:
          title: PG사 결제 모듈 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgProvider'
          description: 값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다.
        pgCompanies:
          title: PG사 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgCompany'
          description: 값을 입력하지 않으면 PG사 필터링이 적용되지 않습니다.
        carriers:
          title: 통신사 리스트
          type: array
          items:
            $ref: '#/components/schemas/Carrier'
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        customer:
          $ref: '#/components/schemas/IdentityVerificationFilterCustomerInput'
          title: 고객 정보
          description: >-
            인증이 완료되지 않은 본인인증 내역의 경우 요청 시 고객 정보로, 인증이 완료된 본인인증 내역의 경우 인증된 고객 정보로
            필터링합니다.
      x-portone-title: 본인인증 다건 조회를 위한 입력 정보
    IdentityVerificationMethod:
      title: 본인인증 방식
      description: 본인인증 방식
      type: string
      enum:
        - SMS
        - APP
      x-portone-title: 본인인증 방식
      x-portone-enum:
        SMS: {}
        APP: {}
    IdentityVerificationNotFoundError:
      title: 요청된 본인인증 건이 존재하지 않는 경우
      description: 요청된 본인인증 건이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 요청된 본인인증 건이 존재하지 않는 경우
      x-portone-status-code: 404
    IdentityVerificationNotSentError:
      title: 본인인증 건이 API로 요청된 상태가 아닌 경우
      description: 본인인증 건이 API로 요청된 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 본인인증 건이 API로 요청된 상태가 아닌 경우
      x-portone-status-code: 404
    IdentityVerificationOperator:
      title: 본인인증 통신사
      description: 본인인증 통신사
      type: string
      enum:
        - SKT
        - KT
        - LGU
        - SKT_MVNO
        - KT_MVNO
        - LGU_MVNO
      x-portone-title: 본인인증 통신사
      x-portone-enum:
        SKT:
          title: SKT
        KT:
          title: KT
        KT_MVNO:
          title: KT 알뜰폰
        LGU_MVNO:
          title: LGU 알뜰폰
        SKT_MVNO:
          title: SKT 알뜰폰
        LGU:
          title: LGU
    IdentityVerificationRequestedCustomer:
      title: 요청 시 고객 정보
      description: 요청 시 고객 정보
      type: object
      properties:
        id:
          type: string
          title: 식별 아이디
        name:
          type: string
          title: 이름
        phoneNumber:
          type: string
          title: 전화번호
          description: 특수 문자(-) 없이 숫자로만 이루어진 번호 형식입니다.
        birthYear:
          type: string
          title: 출생연도
        birthMonth:
          type: string
          title: 출생월
        birthDay:
          type: string
          title: 출생일
      x-portone-title: 요청 시 고객 정보
    IdentityVerificationSortBy:
      title: 본인인증 내역 정렬 기준
      description: 본인인증 내역 정렬 기준
      type: string
      enum:
        - REQUESTED_AT
        - VERIFIED_AT
        - FAILED_AT
        - STATUS_UPDATED_AT
      x-portone-title: 본인인증 내역 정렬 기준
      x-portone-enum:
        REQUESTED_AT:
          title: 요청 시각
        VERIFIED_AT:
          title: 완료 시각
        FAILED_AT:
          title: 실패 시각
        STATUS_UPDATED_AT:
          title: 상태 변경 시각
          description: '요청 상태의 경우 REQUESTED_AT, 완료 상태의 경우 VERIFIED_AT, 실패 상태의 경우 FAILED_AT'
    IdentityVerificationSortInput:
      title: 본인인증 내역 다건 조회 시 정렬 조건
      description: 본인인증 내역 다건 조회 시 정렬 조건
      type: object
      properties:
        by:
          $ref: '#/components/schemas/IdentityVerificationSortBy'
          title: 정렬 기준 필드
          description: '어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, REQUESTED_AT이 기본값으로 설정됩니다.'
        order:
          $ref: '#/components/schemas/SortOrder'
          title: 정렬 순서
          description: '어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다.'
      x-portone-title: 본인인증 내역 다건 조회 시 정렬 조건
    IdentityVerificationStatus:
      title: 본인인증 상태
      description: 본인인증 상태
      type: string
      enum:
        - READY
        - VERIFIED
        - FAILED
      x-portone-title: 본인인증 상태
      x-portone-enum:
        READY:
          title: 요청 상태
        VERIFIED:
          title: 완료 상태
        FAILED:
          title: 실패 상태
    IdentityVerificationTimeRangeField:
      title: '본인인증 다건 조회 시, 시각 범위를 적용할 필드'
      description: '본인인증 다건 조회 시, 시각 범위를 적용할 필드'
      type: string
      enum:
        - REQUESTED_AT
        - VERIFIED_AT
        - FAILED_AT
        - STATUS_UPDATED_AT
      x-portone-title: '본인인증 다건 조회 시, 시각 범위를 적용할 필드'
      x-portone-enum:
        REQUESTED_AT:
          title: 요청 시각
        VERIFIED_AT:
          title: 완료 시각
        FAILED_AT:
          title: 실패 시각
        STATUS_UPDATED_AT:
          title: 상태 변경 시각
          description: '요청 상태의 경우 REQUESTED_AT, 완료 상태의 경우 VERIFIED_AT, 실패 상태의 경우 FAILED_AT'
    IdentityVerificationVerifiedCustomer:
      title: 인증된 고객 정보
      description: 인증된 고객 정보
      type: object
      required:
        - name
      properties:
        id:
          type: string
          title: 식별 아이디
        name:
          type: string
          title: 이름
        operator:
          $ref: '#/components/schemas/IdentityVerificationOperator'
          title: 통신사
          description: |-
            다날: 별도 계약이 필요합니다.
            KG이니시스: 제공하지 않습니다.
        phoneNumber:
          type: string
          title: 전화번호
          description: |-
            특수 문자(-) 없이 숫자로만 이루어진 번호 형식입니다.
            다날: 별도 계약이 필요합니다.
            KG이니시스: 항상 제공합니다.
        birthDate:
          description: 포트원 V2 본인인증 건의 경우 항상 존재합니다.
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일 (yyyy-MM-dd)
        gender:
          $ref: '#/components/schemas/Gender'
          title: 성별
          description: |-
            다날: 항상 제공합니다.
            KG이니시스: 항상 제공합니다.
        isForeigner:
          type: boolean
          title: 외국인 여부
          description: |-
            다날: 별도 계약이 필요합니다.
            KG이니시스: 항상 제공합니다.
        ci:
          type: string
          title: CI (개인 고유 식별키)
          description: |-
            개인을 식별하기 위한 고유 정보입니다.
            다날: 항상 제공합니다.
            KG이니시스: 카카오를 제외한 인증사에서 제공합니다.
        di:
          type: string
          title: DI (사이트별 개인 고유 식별키)
          description: |-
            중복 가입을 방지하기 위해 개인을 식별하는 사이트별 고유 정보입니다.
            다날: 항상 제공합니다.
            KG이니시스: 제공하지 않습니다.
      x-portone-title: 인증된 고객 정보
    InformationMismatchError:
      title: 정보가 일치하지 않는 경우
      description: 정보가 일치하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 정보가 일치하지 않는 경우
      x-portone-status-code: 409
    InstantBillingKeyPaymentMethodInput:
      title: 빌링키 발급 시 결제 수단 입력 양식
      description: |-
        빌링키 발급 시 결제 수단 입력 양식

        `card`를 반드시 입력해 주세요.
      type: object
      properties:
        card:
          $ref: '#/components/schemas/InstantBillingKeyPaymentMethodInputCard'
      x-portone-title: 빌링키 발급 시 결제 수단 입력 양식
      x-portone-description: '`card`를 반드시 입력해 주세요.'
    InstantBillingKeyPaymentMethodInputCard:
      title: 카드 수단 정보 입력 양식
      description: 카드 수단 정보 입력 양식
      type: object
      required:
        - credential
      properties:
        credential:
          $ref: '#/components/schemas/CardCredential'
      x-portone-title: 카드 수단 정보 입력 양식
    InstantPaymentInput:
      title: 수기 결제 요청 정보
      description: 수기 결제 요청 정보
      type: object
      required:
        - method
        - orderName
        - amount
        - currency
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        channelKey:
          type: string
          title: 채널 키
          description: 채널 키 또는 채널 그룹 ID 필수
        channelGroupId:
          type: string
          title: 채널 그룹 ID
          description: 채널 키 또는 채널 그룹 ID 필수
        method:
          $ref: '#/components/schemas/InstantPaymentMethodInput'
          title: 결제수단 정보
        orderName:
          type: string
          title: 주문명
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
          description: 기본값은 false 입니다.
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
          description: 기본값은 false 입니다.
        customer:
          $ref: '#/components/schemas/CustomerInput'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        amount:
          $ref: '#/components/schemas/PaymentAmountInput'
          title: 결제 금액 세부 입력 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        country:
          $ref: '#/components/schemas/Country'
          title: 결제 국가
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
          description: |-
            결제 웹훅 주소입니다.
            상점에 설정되어 있는 값보다 우선적으로 적용됩니다.
            빈 배열은 무시됩니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
          description: 입력된 값이 없을 경우에는 빈 배열로 해석됩니다.
        productCount:
          type: integer
          format: int32
          title: 상품 개수
        productType:
          $ref: '#/components/schemas/PaymentProductType'
          title: 상품 유형
        shippingAddress:
          $ref: '#/components/schemas/SeparatedAddressInput'
          title: 배송지 주소
        promotionId:
          type: string
          title: 해당 결제에 적용할 프로모션 아이디
        bypass:
          type: object
          title: PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고)
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: >-
            결제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다. 가상계좌 입금 완료 등 외부 이벤트로 결제가 완료되는
            경우 발생하는 웹훅은 스킵되지 않습니다.
      x-portone-title: 수기 결제 요청 정보
    InstantPaymentMethodInput:
      title: 수기 결제 수단 입력 정보
      description: |-
        수기 결제 수단 입력 정보

        하나의 필드만 입력합니다.
      type: object
      properties:
        card:
          $ref: '#/components/schemas/InstantPaymentMethodInputCard'
          title: 카드
        virtualAccount:
          $ref: '#/components/schemas/InstantPaymentMethodInputVirtualAccount'
          title: 가상계좌
      x-portone-title: 수기 결제 수단 입력 정보
      x-portone-description: 하나의 필드만 입력합니다.
    InstantPaymentMethodInputCard:
      title: 카드 수단 정보 입력 정보
      description: 카드 수단 정보 입력 정보
      type: object
      required:
        - credential
      properties:
        credential:
          $ref: '#/components/schemas/CardCredential'
          title: 카드 인증 관련 정보
        installmentMonth:
          type: integer
          format: int32
          title: 카드 할부 개월 수
        useFreeInstallmentPlan:
          type: boolean
          title: 무이자 할부 적용 여부
        useFreeInterestFromMerchant:
          type: boolean
          title: 무이자 할부 이자를 고객사가 부담할지 여부
        useCardPoint:
          type: boolean
          title: 카드 포인트 사용 여부
      x-portone-title: 카드 수단 정보 입력 정보
    InstantPaymentMethodInputVirtualAccount:
      title: 가상계좌 수단 정보 입력 정보
      description: 가상계좌 수단 정보 입력 정보
      type: object
      required:
        - bank
        - expiry
        - option
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        expiry:
          $ref: '#/components/schemas/InstantPaymentMethodInputVirtualAccountExpiry'
          title: 입금 만료 기한
        option:
          $ref: '#/components/schemas/InstantPaymentMethodInputVirtualAccountOption'
          title: 가상계좌 유형
        cashReceipt:
          $ref: >-
            #/components/schemas/InstantPaymentMethodInputVirtualAccountCashReceiptInfo
          title: 현금영수증 정보
        remitteeName:
          type: string
          title: 예금주명
      x-portone-title: 가상계좌 수단 정보 입력 정보
    InstantPaymentMethodInputVirtualAccountCashReceiptInfo:
      title: 가상계좌 결제 시 현금영수증 정보
      description: 가상계좌 결제 시 현금영수증 정보
      type: object
      required:
        - type
        - customerIdentityNumber
      properties:
        type:
          $ref: '#/components/schemas/CashReceiptInputType'
          title: 현금영수증 유형
        customerIdentityNumber:
          type: string
          title: 사용자 식별 번호
      x-portone-title: 가상계좌 결제 시 현금영수증 정보
    InstantPaymentMethodInputVirtualAccountExpiry:
      title: 입금 만료 기한
      description: |-
        입금 만료 기한

        validHours와 dueDate 둘 중 하나의 필드만 입력합니다.
      type: object
      properties:
        validHours:
          type: integer
          format: int32
          title: 유효 시간
          description: 시간 단위로 입력합니다.
        dueDate:
          type: string
          format: date-time
          title: 만료 시점
      x-portone-title: 입금 만료 기한
      x-portone-description: validHours와 dueDate 둘 중 하나의 필드만 입력합니다.
    InstantPaymentMethodInputVirtualAccountOption:
      title: 가상계좌 발급 방식
      description: 가상계좌 발급 방식
      type: object
      required:
        - type
      properties:
        type:
          $ref: >-
            #/components/schemas/InstantPaymentMethodInputVirtualAccountOptionType
          title: 발급 유형
        fixed:
          $ref: >-
            #/components/schemas/InstantPaymentMethodInputVirtualAccountOptionFixed
          title: 고정식 가상계좌 발급 방식
          description: 발급 유형을 FIXED 로 선택했을 시에만 입력합니다.
      x-portone-title: 가상계좌 발급 방식
    InstantPaymentMethodInputVirtualAccountOptionFixed:
      title: 고정식 가상계좌 발급 유형
      description: |-
        고정식 가상계좌 발급 유형

        pgAccountId, accountNumber 유형 중 한 개의 필드만 입력합니다.
      type: object
      properties:
        pgAccountId:
          type: string
          title: Account ID 고정식 가상계좌
          description: |-
            고객사가 가상계좌번호를 직접 관리하지 않고 PG사가 pgAccountId에 매핑되는 가상계좌번호를 내려주는 방식입니다.
            동일한 pgAccountId로 가상계좌 발급 요청시에는 항상 같은 가상계좌번호가 내려옵니다.
        accountNumber:
          type: string
          title: Account Number 고정식 가상계좌
          description: >-
            PG사가 일정 개수만큼의 가상계좌번호를 발급하여 고객사에게 미리 전달하고 고객사가 그 중 하나를 선택하여 사용하는
            방식입니다.
      x-portone-title: 고정식 가상계좌 발급 유형
      x-portone-description: 'pgAccountId, accountNumber 유형 중 한 개의 필드만 입력합니다.'
    InstantPaymentMethodInputVirtualAccountOptionType:
      title: 가상계좌 발급 유형
      description: 가상계좌 발급 유형
      type: string
      enum:
        - NORMAL
        - FIXED
      x-portone-title: 가상계좌 발급 유형
      x-portone-enum:
        NORMAL:
          title: 회전식 가상계좌
          description: 일반적으로 사용되는 방식이며 PG사에서 직접 채번한 가상계좌번호를 사용합니다.
        FIXED:
          title: 고정식 가상계좌
    InstantPaymentSummary:
      title: 수기 결제가 완료된 결제 건 요약 정보
      description: 수기 결제가 완료된 결제 건 요약 정보
      type: object
      required:
        - pgTxId
        - paidAt
      properties:
        pgTxId:
          type: string
          title: PG 결제 아이디
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점 (가상 계좌는 발급 완료 시점)
      x-portone-title: 수기 결제가 완료된 결제 건 요약 정보
    InvalidPaymentTokenError:
      title: 유효하지 않은 결제 토큰인 경우
      description: 유효하지 않은 결제 토큰인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 유효하지 않은 결제 토큰인 경우
      x-portone-status-code: 400
    InvalidRequestError:
      title: 요청된 입력 정보가 유효하지 않은 경우
      description: |-
        요청된 입력 정보가 유효하지 않은 경우

        허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 요청된 입력 정보가 유효하지 않은 경우
      x-portone-description: '허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.'
      x-portone-status-code: 400
    IssueB2bTaxInvoiceBody:
      title: 세금계산서 발행 승인 정보
      description: 세금계산서 발행 승인 정보
      type: object
      properties:
        memo:
          type: string
          title: 메모
        emailSubject:
          type: string
          title: 이메일 제목
      x-portone-title: 세금계산서 발행 승인 정보
    IssueB2bTaxInvoiceError:
      title: IssueB2bTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_NOT_REQUESTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError'
          B2B_TAX_INVOICE_NO_SUPPLIER_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    IssueB2bTaxInvoiceImmediatelyBody:
      title: 세금계산서 즉시 정발행 요청 정보
      description: 세금계산서 즉시 정발행 요청 정보
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoiceInput'
          title: 세금계산서 생성 요청 정보
        memo:
          type: string
          title: 메모
        modification:
          $ref: '#/components/schemas/B2bTaxInvoiceModificationCreateBody'
          title: 수정 세금계산서 입력 정보
        createRecipientCounterparty:
          type: boolean
          title: 공급받는자 거래처 생성 여부
          description: true인 경우 공급받는자 정보로 거래처를 자동 생성합니다.
      x-portone-title: 세금계산서 즉시 정발행 요청 정보
    IssueB2bTaxInvoiceImmediatelyError:
      title: IssueB2bTaxInvoiceImmediatelyError
      oneOf:
        - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError'
        - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bIdAlreadyExistsError'
        - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError'
        - $ref: '#/components/schemas/B2bModificationNotProvidedError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bRecipientNotFoundError'
        - $ref: '#/components/schemas/B2bSupplierNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError'
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError'
          B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError'
          B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
          B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError'
          B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
          B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
          B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    IssueB2bTaxInvoiceImmediatelyResponse:
      title: 세금계산서 즉시 정발행 응답
      description: 세금계산서 즉시 정발행 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 즉시 정발행 응답
    IssueB2bTaxInvoiceResponse:
      title: 세금계산서 발행 승인 응답
      description: 세금계산서 발행 승인 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 발행 승인 응답
    IssueBillingKeyBody:
      title: 빌링키 발급 요청 양식
      description: 빌링키 발급 요청 양식
      type: object
      required:
        - method
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        method:
          $ref: '#/components/schemas/InstantBillingKeyPaymentMethodInput'
          title: 빌링키 결제 수단 정보
        channelKey:
          type: string
          title: 채널 키
          description: 채널 키 또는 채널 그룹 ID 필수
        channelGroupId:
          type: string
          title: 채널 그룹 ID
          description: 채널 키 또는 채널 그룹 ID 필수
        customer:
          $ref: '#/components/schemas/CustomerInput'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        bypass:
          type: object
          title: PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고)
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
          description: |-
            빌링키 발급 시 요청을 받을 웹훅 주소입니다.
            상점에 설정되어 있는 값보다 우선적으로 적용됩니다.
            입력된 값이 없을 경우에는 빈 배열로 해석됩니다.
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: 빌링키 발급이 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.
      x-portone-title: 빌링키 발급 요청 양식
    IssueBillingKeyError:
      title: IssueBillingKeyError
      oneOf:
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/ChannelSpecificError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          CHANNEL_SPECIFIC: '#/components/schemas/ChannelSpecificError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    IssueBillingKeyResponse:
      title: 빌링키 발급 성공 응답
      description: 빌링키 발급 성공 응답
      type: object
      required:
        - billingKeyInfo
      properties:
        billingKeyInfo:
          $ref: '#/components/schemas/BillingKeyInfoSummary'
          title: 빌링키 정보
        channelSpecificFailures:
          type: array
          items:
            $ref: '#/components/schemas/ChannelSpecificFailure'
          title: 발급에 실패한 채널이 있을시 실패 정보
      x-portone-title: 빌링키 발급 성공 응답
    IssueCashReceiptBody:
      title: 현금영수증 발급 요청 양식
      description: 현금영수증 발급 요청 양식
      type: object
      required:
        - paymentId
        - channelKey
        - type
        - orderName
        - currency
        - amount
        - customer
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        paymentId:
          type: string
          title: 결제 건 아이디
          description: '외부 결제 건에 대한 수동 발급의 경우, 아이디를 직접 채번하여 입력합니다.'
        channelKey:
          type: string
          title: 채널 키
        type:
          $ref: '#/components/schemas/CashReceiptType'
          title: 현금 영수증 유형
        orderName:
          type: string
          title: 주문명
        currency:
          $ref: '#/components/schemas/Currency'
          title: 화폐
        amount:
          $ref: '#/components/schemas/PaymentAmountInput'
          title: 금액 세부 입력 정보
        productType:
          $ref: '#/components/schemas/PaymentProductType'
          title: 상품 유형
        customer:
          $ref: '#/components/schemas/IssueCashReceiptCustomerInput'
          title: 고객 정보
        paidAt:
          type: string
          format: date-time
          title: 결제 일자
        businessRegistrationNumber:
          type: string
          title: 사업자등록번호
          description: 웰컴페이먼츠의 경우에만 입력합니다.
        paymentMethod:
          $ref: '#/components/schemas/IssueCashReceiptPaymentMethodType'
          title: 결제 수단
          description: 웰컴페이먼츠의 경우에만 입력합니다.
      x-portone-title: 현금영수증 발급 요청 양식
    IssueCashReceiptCustomerInput:
      title: 현금영수증 발급 시 고객 관련 입력 정보
      description: 현금영수증 발급 시 고객 관련 입력 정보
      type: object
      required:
        - identityNumber
      properties:
        identityNumber:
          type: string
          title: 고객 식별값
        identityNumberType:
          $ref: '#/components/schemas/IssueCashReceiptCustomerInputIdentityNumberType'
          title: 고객 식별값 유형
          description: 갤럭시아머니트리의 경우 필요합니다
        name:
          type: string
          title: 이름
        email:
          type: string
          title: 이메일
        phoneNumber:
          type: string
          title: 전화번호
      x-portone-title: 현금영수증 발급 시 고객 관련 입력 정보
    IssueCashReceiptCustomerInputIdentityNumberType:
      title: 현금영수증 발급 시 고객 식별 정보 유형
      description: 현금영수증 발급 시 고객 식별 정보 유형
      type: string
      enum:
        - PHONE
        - CARD
        - BUSINESS
      x-portone-title: 현금영수증 발급 시 고객 식별 정보 유형
      x-portone-enum:
        PHONE:
          title: 휴대전화번호
        CARD:
          title: 카드번호
        BUSINESS:
          title: 사업자등록번호
    IssueCashReceiptError:
      title: IssueCashReceiptError
      oneOf:
        - $ref: '#/components/schemas/CashReceiptAlreadyIssuedError'
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CASH_RECEIPT_ALREADY_ISSUED: '#/components/schemas/CashReceiptAlreadyIssuedError'
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    IssueCashReceiptPaymentMethodType:
      title: 현금영수증 발급 가능 결제 수단
      description: 현금영수증 발급 가능 결제 수단
      type: string
      enum:
        - TRANSFER
        - VIRTUAL_ACCOUNT
      x-portone-title: 현금영수증 발급 가능 결제 수단
      x-portone-enum:
        TRANSFER:
          title: 계좌이체
        VIRTUAL_ACCOUNT:
          title: 가상계좌
    IssueCashReceiptResponse:
      title: 현금 영수증 발급 성공 응답
      description: 현금 영수증 발급 성공 응답
      type: object
      required:
        - cashReceipt
      properties:
        cashReceipt:
          $ref: '#/components/schemas/CashReceiptSummary'
      x-portone-title: 현금 영수증 발급 성공 응답
    IssueFailedCashReceipt:
      title: 발급 실패
      description: 발급 실패
      type: object
      required:
        - status
        - merchantId
        - storeId
        - paymentId
        - orderName
        - isManual
      properties:
        status:
          type: string
          title: 현금영수증 상태
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 현금영수증 발급에 사용된 채널
        orderName:
          type: string
          title: 주문명
        isManual:
          type: boolean
          title: 수동 발급 여부
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
      x-portone-title: 발급 실패
    IssuedBillingKeyInfo:
      title: 빌링키 발급 완료 상태 건
      description: 빌링키 발급 완료 상태 건
      type: object
      required:
        - status
        - billingKey
        - merchantId
        - storeId
        - channels
        - customer
        - issuedAt
      properties:
        status:
          type: string
          title: 빌링키 상태
        billingKey:
          type: string
          title: 빌링키
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        methods:
          title: 빌링키 결제수단 상세 정보
          type: array
          items:
            $ref: '#/components/schemas/BillingKeyPaymentMethod'
          description: 추후 슈퍼빌링키 기능 제공 시 여러 결제수단 정보가 담길 수 있습니다.
        channels:
          title: 빌링키 발급 시 사용된 채널
          type: array
          items:
            $ref: '#/components/schemas/SelectedChannel'
          description: 추후 슈퍼빌링키 기능 제공 시 여러 채널 정보가 담길 수 있습니다.
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        issueId:
          type: string
          title: 고객사가 채번하는 빌링키 발급 건 고유 아이디
        issueName:
          type: string
          title: 빌링키 발급 건 이름
        requestedAt:
          type: string
          format: date-time
          title: 발급 요청 시점
        issuedAt:
          type: string
          format: date-time
          title: 발급 시점
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 채널 그룹
        pgBillingKeyIssueResponses:
          title: 채널 별 빌링키 발급 응답
          type: array
          items:
            $ref: '#/components/schemas/PgBillingKeyIssueResponse'
          description: '슈퍼빌링키의 경우, 빌링키 발급이 성공하더라도 일부 채널에 대한 빌링키 발급은 실패할 수 있습니다.'
      x-portone-title: 빌링키 발급 완료 상태 건
    IssuedCashReceipt:
      title: 발급 완료
      description: 발급 완료
      type: object
      required:
        - status
        - merchantId
        - storeId
        - paymentId
        - channel
        - amount
        - currency
        - orderName
        - isManual
        - issueNumber
        - issuedAt
      properties:
        status:
          type: string
          title: 현금영수증 상태
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 현금영수증 발급에 사용된 채널
        amount:
          type: integer
          format: int64
          title: 결제 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세액
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        orderName:
          type: string
          title: 주문명
        isManual:
          type: boolean
          title: 수동 발급 여부
        type:
          $ref: '#/components/schemas/CashReceiptType'
          title: 현금영수증 유형
        pgReceiptId:
          type: string
          title: PG사 현금영수증 아이디
        issueNumber:
          type: string
          title: 승인 번호
        url:
          type: string
          title: 현금영수증 URL
        issuedAt:
          type: string
          format: date-time
          title: 발급 시점
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
      x-portone-title: 발급 완료
    IssuedPaymentCashReceipt:
      title: 발급 완료된 현금영수증
      description: 발급 완료된 현금영수증
      type: object
      required:
        - status
        - issueNumber
        - totalAmount
        - currency
        - issuedAt
      properties:
        status:
          type: string
          title: 결제 건 내 현금영수증 상태
        type:
          $ref: '#/components/schemas/CashReceiptType'
          title: 현금영수증 유형
        pgReceiptId:
          type: string
          title: PG사 영수증 발급 아이디
        issueNumber:
          type: string
          title: 승인 번호
        totalAmount:
          type: integer
          format: int64
          title: 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        url:
          type: string
          title: 현금영수증 URL
        issuedAt:
          type: string
          format: date-time
          title: 발급 시점
      x-portone-title: 발급 완료된 현금영수증
    IssuedPgBillingKeyIssueResponse:
      title: 빌링키 발급 성공 채널 응답
      description: 빌링키 발급 성공 채널 응답
      type: object
      required:
        - type
        - channel
      properties:
        type:
          type: string
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 채널
          description: 빌링키 발급을 시도한 채널입니다.
        pgTxId:
          type: string
          title: PG사 거래 아이디
        method:
          $ref: '#/components/schemas/BillingKeyPaymentMethod'
          title: 빌링키 결제수단 상세 정보
          description: 채널에 대응되는 PG사에서 응답한 빌링키 발급 수단 정보입니다.
      x-portone-title: 빌링키 발급 성공 채널 응답
    Locale:
      title: 결제 언어
      description: 결제 언어
      type: string
      enum:
        - KO_KR
        - EN_US
        - ZH_CN
        - ZH_TW
        - JA_JP
        - RU_RU
        - TH_TH
        - VI_VN
      x-portone-title: 결제 언어
      x-portone-enum:
        KO_KR:
          title: 한국어 (대한민국)
        VI_VN:
          title: 베트남어 (베트남)
        ZH_CN:
          title: 중국어 (중국)
        TH_TH:
          title: 타이어 (타이)
        ZH_TW:
          title: 중국어 (대만)
        EN_US:
          title: 영어 (미국)
        JA_JP:
          title: 일본어 (일본)
        RU_RU:
          title: 러시아어 (러시아)
    LoginViaApiSecretBody:
      title: API Secret 로그인을 위한 입력 정보
      description: API Secret 로그인을 위한 입력 정보
      type: object
      required:
        - apiSecret
      properties:
        apiSecret:
          type: string
          title: 발급받은 API secret
      x-portone-title: API Secret 로그인을 위한 입력 정보
    LoginViaApiSecretError:
      title: LoginViaApiSecretError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    LoginViaApiSecretResponse:
      title: API key 로그인 성공 응답
      description: API key 로그인 성공 응답
      type: object
      required:
        - accessToken
        - refreshToken
      properties:
        accessToken:
          type: string
          title: 인증에 사용하는 엑세스 토큰
          description: 30분의 유효기간을 가지고 있습니다.
        refreshToken:
          type: string
          title: 토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰
          description: >-
            하루의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다.

            동일한 유저가 로그인 또는 토큰 재발급을 진행할 때마다 기존에 발급된 리프레시 토큰은 즉시 만료되므로 API 사용에
            유의해주세요.
      x-portone-title: API key 로그인 성공 응답
    Map_Stat:
      title: Map_Stat
      type: object
      additionalProperties:
        $ref: '#/components/schemas/B2bBulkTaxInvoiceStat'
    MaxTransactionCountReachedError:
      title: 결제 혹은 본인인증 시도 횟수가 최대에 도달한 경우
      description: 결제 혹은 본인인증 시도 횟수가 최대에 도달한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 혹은 본인인증 시도 횟수가 최대에 도달한 경우
      x-portone-status-code: 400
    MaxWebhookRetryCountReachedError:
      title: 동일한 webhook id에 대한 수동 재시도 횟수가 최대에 도달한 경우
      description: 동일한 webhook id에 대한 수동 재시도 횟수가 최대에 도달한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 동일한 webhook id에 대한 수동 재시도 횟수가 최대에 도달한 경우
      x-portone-status-code: 400
    ModifyEscrowLogisticsBody:
      title: 에스크로 배송 정보 수정 입력 정보
      description: 에스크로 배송 정보 수정 입력 정보
      type: object
      required:
        - logistics
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        sender:
          $ref: '#/components/schemas/PaymentEscrowSenderInput'
          title: 에스크로 발송자 정보
        receiver:
          $ref: '#/components/schemas/PaymentEscrowReceiverInput'
          title: 에스크로 수취인 정보
        logistics:
          $ref: '#/components/schemas/PaymentLogistics'
          title: 에스크로 물류 정보
        sendEmail:
          type: boolean
          title: 이메일 알림 전송 여부
          description: 에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
      x-portone-title: 에스크로 배송 정보 수정 입력 정보
    ModifyEscrowLogisticsError:
      title: ModifyEscrowLogisticsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PaymentNotPaidError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PAYMENT_NOT_PAID: '#/components/schemas/PaymentNotPaidError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ModifyEscrowLogisticsResponse:
      title: 에스크로 배송 정보 수정 성공 응답
      description: 에스크로 배송 정보 수정 성공 응답
      type: object
      required:
        - invoiceNumber
        - sentAt
        - modifiedAt
      properties:
        invoiceNumber:
          type: string
          title: 송장 번호
        sentAt:
          type: string
          format: date-time
          title: 발송 시점
        modifiedAt:
          type: string
          format: date-time
          title: 에스크로 정보 수정 시점
      x-portone-title: 에스크로 배송 정보 수정 성공 응답
    MonthDay:
      title: 월 및 일자 정보
      description: 월 및 일자 정보
      type: object
      required:
        - month
        - day
      properties:
        month:
          type: integer
          format: int32
        day:
          type: integer
          format: int32
      x-portone-title: 월 및 일자 정보
    NegativePromotionAdjustedCancelAmountError:
      title: 프로모션에 의해 조정된 취소 금액이 음수인 경우
      description: 프로모션에 의해 조정된 취소 금액이 음수인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 프로모션에 의해 조정된 취소 금액이 음수인 경우
      x-portone-status-code: 400
    OneLineAddress:
      title: 한 줄 형식 주소
      description: |-
        한 줄 형식 주소

        한 줄 형식 주소만 존재합니다.
      type: object
      required:
        - type
        - oneLine
      properties:
        type:
          type: string
        oneLine:
          type: string
          title: 주소 (한 줄)
      x-portone-title: 한 줄 형식 주소
      x-portone-description: 한 줄 형식 주소만 존재합니다.
    PageInfo:
      title: 반환된 페이지 결과 정보
      description: 반환된 페이지 결과 정보
      type: object
      required:
        - number
        - size
        - totalCount
      properties:
        number:
          type: integer
          format: int32
          title: 요청된 페이지 번호
        size:
          type: integer
          format: int32
          title: 요청된 페이지 당 객체 수
        totalCount:
          type: integer
          format: int32
          title: 실제 반환된 객체 수
      x-portone-title: 반환된 페이지 결과 정보
    PageInput:
      title: 다건 조회 API 에 사용되는 페이지 입력 정보
      description: 다건 조회 API 에 사용되는 페이지 입력 정보
      type: object
      properties:
        number:
          type: integer
          format: int32
          title: 0부터 시작하는 페이지 번호
        size:
          type: integer
          format: int32
          title: 각 페이지 당 포함할 객체 수
      x-portone-title: 다건 조회 API 에 사용되는 페이지 입력 정보
    PaidPayment:
      title: 결제 완료 상태 건
      description: 결제 완료 상태 건
      type: object
      required:
        - status
        - id
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - origin
        - paidAt
        - disputes
      properties:
        status:
          type: string
          title: 결제 건 상태
        id:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
        pgTxId:
          type: string
          title: PG사 거래 아이디
        pgResponse:
          type: string
          title: PG사 거래 응답 본문
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        disputes:
          title: 분쟁 목록
          type: array
          items:
            $ref: '#/components/schemas/Dispute'
        cancellations:
          title: 결제 취소 요청 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentCancellation'
      x-portone-title: 결제 완료 상태 건
    PaidPaymentEvent:
      title: 결제 완료 이벤트
      description: 결제 완료 이벤트
      type: object
      required:
        - type
        - id
        - paymentId
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - createdAt
        - orderName
        - totalAmount
        - currency
        - customer
        - disputes
        - eventAmount
        - origin
      properties:
        type:
          type: string
          title: 결제 이벤트 종류
        id:
          type: string
          title: 결제 이벤트 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 시도 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        createdAt:
          type: string
          format: date-time
          title: 이벤트 생성 시점
        orderName:
          type: string
          title: 주문명
        totalAmount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 총 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        pgTxId:
          type: string
          title: PG사 거래 아이디
        pgResponse:
          type: string
          title: PG사 거래 응답 본문
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        disputes:
          title: 분쟁 목록
          type: array
          items:
            $ref: '#/components/schemas/Dispute'
        promotionId:
          type: string
          title: 프로모션 아이디
        eventAmount:
          type: integer
          format: int64
          title: 처리 금액
          description: '해당 이벤트에서 처리된 금액으로, 취소 이벤트인 경우 음수로 표기됩니다.'
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
      x-portone-title: 결제 완료 이벤트
    PaidPaymentTransaction:
      title: 결제 완료 상태 건
      description: 결제 완료 상태 건
      type: object
      required:
        - status
        - id
        - paymentId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - paidAt
      properties:
        status:
          type: string
          title: 결제 시도 상태
        id:
          type: string
          title: 결제 시도 아이디 (transactionId)
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        paymentId:
          type: string
          title: 결제 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
        pgTxId:
          type: string
          title: PG사 거래 아이디
        pgResponse:
          type: string
          title: PG사 거래 응답 본문
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
      x-portone-title: 결제 완료 상태 건
    PartialCancelledPayment:
      title: 결제 부분 취소 상태 건
      description: 결제 부분 취소 상태 건
      type: object
      required:
        - status
        - id
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - origin
        - cancellations
        - cancelledAt
      properties:
        status:
          type: string
          title: 결제 건 상태
        id:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
        pgTxId:
          type: string
          title: PG사 거래 아이디
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        cancellations:
          title: 결제 취소 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentCancellation'
        cancelledAt:
          type: string
          format: date-time
          title: 결제 취소 시점
      x-portone-title: 결제 부분 취소 상태 건
    PartialCancelledPaymentEvent:
      title: 결제 부분 취소 상태 이벤트
      description: 결제 부분 취소 상태 이벤트
      type: object
      required:
        - type
        - id
        - paymentId
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - createdAt
        - orderName
        - totalAmount
        - currency
        - customer
        - eventAmount
        - origin
      properties:
        type:
          type: string
          title: 결제 이벤트 종류
        id:
          type: string
          title: 결제 이벤트 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 시도 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        createdAt:
          type: string
          format: date-time
          title: 이벤트 생성 시점
        orderName:
          type: string
          title: 주문명
        totalAmount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 총 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        pgTxId:
          type: string
          title: PG사 거래 아이디
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        cancellation:
          $ref: '#/components/schemas/PaymentCancellation'
          title: 결제 취소 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        eventAmount:
          type: integer
          format: int64
          title: 처리 금액
          description: '해당 이벤트에서 처리된 금액으로, 취소 이벤트인 경우 음수로 표기됩니다.'
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
      x-portone-title: 결제 부분 취소 상태 이벤트
    PartialCancelledPaymentTransaction:
      title: 결제 부분 취소 상태 건
      description: 결제 부분 취소 상태 건
      type: object
      required:
        - status
        - id
        - paymentId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - cancellations
        - cancelledAt
      properties:
        status:
          type: string
          title: 결제 시도 상태
        id:
          type: string
          title: 결제 시도 아이디 (transactionId)
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        paymentId:
          type: string
          title: 결제 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        paidAt:
          type: string
          format: date-time
          title: 결제 완료 시점
        pgTxId:
          type: string
          title: PG사 거래 아이디
        cashReceipt:
          $ref: '#/components/schemas/PaymentCashReceipt'
          title: 현금영수증
        receiptUrl:
          type: string
          title: 거래 영수증 URL
        cancellations:
          title: 결제 취소 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentCancellation'
        cancelledAt:
          type: string
          format: date-time
          title: 결제 취소 시점
      x-portone-title: 결제 부분 취소 상태 건
    PayInstantlyError:
      title: PayInstantlyError
      oneOf:
        - $ref: '#/components/schemas/AlreadyPaidError'
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/DiscountAmountExceedsTotalAmountError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/MaxTransactionCountReachedError'
        - $ref: '#/components/schemas/PaymentScheduleAlreadyExistsError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/PromotionPayMethodDoesNotMatchError'
        - $ref: '#/components/schemas/SumOfPartsExceedsTotalAmountError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          ALREADY_PAID: '#/components/schemas/AlreadyPaidError'
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          DISCOUNT_AMOUNT_EXCEEDS_TOTAL_AMOUNT: '#/components/schemas/DiscountAmountExceedsTotalAmountError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          MAX_TRANSACTION_COUNT_REACHED: '#/components/schemas/MaxTransactionCountReachedError'
          PAYMENT_SCHEDULE_ALREADY_EXISTS: '#/components/schemas/PaymentScheduleAlreadyExistsError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          PROMOTION_PAY_METHOD_DOES_NOT_MATCH: '#/components/schemas/PromotionPayMethodDoesNotMatchError'
          SUM_OF_PARTS_EXCEEDS_TOTAL_AMOUNT: '#/components/schemas/SumOfPartsExceedsTotalAmountError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    PayInstantlyResponse:
      title: 수기 결제 성공 응답
      description: 수기 결제 성공 응답
      type: object
      required:
        - payment
      properties:
        payment:
          $ref: '#/components/schemas/InstantPaymentSummary'
          title: 결제 건 요약 정보
      x-portone-title: 수기 결제 성공 응답
    PayPendingPayment:
      title: 결제 완료 대기 상태 건
      description: 결제 완료 대기 상태 건
      type: object
      required:
        - status
        - id
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - origin
      properties:
        status:
          type: string
          title: 결제 건 상태
        id:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        pgTxId:
          type: string
          title: PG사 거래 아이디
      x-portone-title: 결제 완료 대기 상태 건
    PayPendingPaymentTransaction:
      title: 결제 완료 대기 상태 건
      description: 결제 완료 대기 상태 건
      type: object
      required:
        - status
        - id
        - paymentId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
      properties:
        status:
          type: string
          title: 결제 시도 상태
        id:
          type: string
          title: 결제 시도 아이디 (transactionId)
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        paymentId:
          type: string
          title: 결제 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        pgTxId:
          type: string
          title: PG사 거래 아이디
      x-portone-title: 결제 완료 대기 상태 건
    PayWithBillingKeyError:
      title: PayWithBillingKeyError
      oneOf:
        - $ref: '#/components/schemas/AlreadyPaidError'
        - $ref: '#/components/schemas/BillingKeyAlreadyDeletedError'
        - $ref: '#/components/schemas/BillingKeyNotFoundError'
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/DiscountAmountExceedsTotalAmountError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/MaxTransactionCountReachedError'
        - $ref: '#/components/schemas/PaymentScheduleAlreadyExistsError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/PromotionPayMethodDoesNotMatchError'
        - $ref: '#/components/schemas/SumOfPartsExceedsTotalAmountError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          ALREADY_PAID: '#/components/schemas/AlreadyPaidError'
          BILLING_KEY_ALREADY_DELETED: '#/components/schemas/BillingKeyAlreadyDeletedError'
          BILLING_KEY_NOT_FOUND: '#/components/schemas/BillingKeyNotFoundError'
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          DISCOUNT_AMOUNT_EXCEEDS_TOTAL_AMOUNT: '#/components/schemas/DiscountAmountExceedsTotalAmountError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          MAX_TRANSACTION_COUNT_REACHED: '#/components/schemas/MaxTransactionCountReachedError'
          PAYMENT_SCHEDULE_ALREADY_EXISTS: '#/components/schemas/PaymentScheduleAlreadyExistsError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          PROMOTION_PAY_METHOD_DOES_NOT_MATCH: '#/components/schemas/PromotionPayMethodDoesNotMatchError'
          SUM_OF_PARTS_EXCEEDS_TOTAL_AMOUNT: '#/components/schemas/SumOfPartsExceedsTotalAmountError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    PayWithBillingKeyResponse:
      title: 빌링키 결제 성공 응답
      description: 빌링키 결제 성공 응답
      type: object
      required:
        - payment
      properties:
        payment:
          $ref: '#/components/schemas/BillingKeyPaymentSummary'
          title: 결제 건 요약 정보
      x-portone-title: 빌링키 결제 성공 응답
    Payment:
      title: 결제 건
      description: 결제 건
      oneOf:
        - $ref: '#/components/schemas/CancelledPayment'
        - $ref: '#/components/schemas/FailedPayment'
        - $ref: '#/components/schemas/PaidPayment'
        - $ref: '#/components/schemas/PartialCancelledPayment'
        - $ref: '#/components/schemas/PayPendingPayment'
        - $ref: '#/components/schemas/ReadyPayment'
        - $ref: '#/components/schemas/VirtualAccountIssuedPayment'
      discriminator:
        propertyName: status
        mapping:
          CANCELLED: '#/components/schemas/CancelledPayment'
          FAILED: '#/components/schemas/FailedPayment'
          PAID: '#/components/schemas/PaidPayment'
          PARTIAL_CANCELLED: '#/components/schemas/PartialCancelledPayment'
          PAY_PENDING: '#/components/schemas/PayPendingPayment'
          READY: '#/components/schemas/ReadyPayment'
          VIRTUAL_ACCOUNT_ISSUED: '#/components/schemas/VirtualAccountIssuedPayment'
      x-portone-title: 결제 건
      x-portone-discriminator:
        VIRTUAL_ACCOUNT_ISSUED:
          title: 가상계좌 발급 완료
        PAID:
          title: 결제 완료
        READY:
          title: 결제 준비
        FAILED:
          title: 결제 실패
        PAY_PENDING:
          title: 결제 완료 대기
        CANCELLED:
          title: 결제 취소
        PARTIAL_CANCELLED:
          title: 결제 부분 취소
    PaymentAlreadyCancelledError:
      title: 결제가 이미 취소된 경우
      description: 결제가 이미 취소된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제가 이미 취소된 경우
      x-portone-status-code: 409
    PaymentAmount:
      title: 결제 금액 세부 정보
      description: 결제 금액 세부 정보
      type: object
      required:
        - total
        - taxFree
        - discount
        - paid
        - cancelled
        - cancelledTaxFree
      properties:
        total:
          type: integer
          format: int64
          title: 총 결제금액
        taxFree:
          type: integer
          format: int64
          title: 면세액
        vat:
          type: integer
          format: int64
          title: 부가세액
        supply:
          type: integer
          format: int64
          title: 공급가액
        discount:
          type: integer
          format: int64
          title: 총 할인금액
          description: '카드사 할인금액, 포트원 프로모션 할인금액, 간편결제 할인금액(적립형 포인트 결제, 쿠폰 할인) 등을 포함합니다.'
        paid:
          type: integer
          format: int64
          title: 실제 결제금액
        cancelled:
          type: integer
          format: int64
          title: 총 취소금액
        cancelledTaxFree:
          type: integer
          format: int64
          title: 총 취소금액 중 면세액
      x-portone-title: 결제 금액 세부 정보
    PaymentAmountInput:
      title: 금액 세부 입력 정보
      description: 금액 세부 입력 정보
      type: object
      required:
        - total
      properties:
        total:
          type: integer
          format: int64
          title: 총 금액
        taxFree:
          type: integer
          format: int64
          title: 면세액
        vat:
          type: integer
          format: int64
          title: 부가세액
          description: |-
            고객사에서 직접 계산이 필요한 경우 입력합니다.
            입력하지 않으면 면세 금액을 제외한 금액의 1/11 로 자동 계산됩니다.
      x-portone-title: 금액 세부 입력 정보
    PaymentCancellation:
      title: 결제 취소 내역
      description: 결제 취소 내역
      oneOf:
        - $ref: '#/components/schemas/FailedPaymentCancellation'
        - $ref: '#/components/schemas/RequestedPaymentCancellation'
        - $ref: '#/components/schemas/SucceededPaymentCancellation'
      discriminator:
        propertyName: status
        mapping:
          FAILED: '#/components/schemas/FailedPaymentCancellation'
          REQUESTED: '#/components/schemas/RequestedPaymentCancellation'
          SUCCEEDED: '#/components/schemas/SucceededPaymentCancellation'
      x-portone-title: 결제 취소 내역
      x-portone-discriminator:
        REQUESTED:
          title: 취소 요청
        FAILED:
          title: 취소 실패
        SUCCEEDED:
          title: 취소 완료
    PaymentCancellationNotFoundError:
      title: 결제 취소 내역이 존재하지 않는 경우
      description: 결제 취소 내역이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 취소 내역이 존재하지 않는 경우
      x-portone-status-code: 404
    PaymentCancellationNotPendingError:
      title: 결제 취소 내역이 취소 요청 상태가 아닌 경우
      description: 결제 취소 내역이 취소 요청 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 취소 내역이 취소 요청 상태가 아닌 경우
      x-portone-status-code: 409
    PaymentCashReceipt:
      title: 결제 건 내 현금영수증 정보
      description: 결제 건 내 현금영수증 정보
      oneOf:
        - $ref: '#/components/schemas/CancelledPaymentCashReceipt'
        - $ref: '#/components/schemas/IssuedPaymentCashReceipt'
      discriminator:
        propertyName: status
        mapping:
          CANCELLED: '#/components/schemas/CancelledPaymentCashReceipt'
          ISSUED: '#/components/schemas/IssuedPaymentCashReceipt'
      x-portone-title: 결제 건 내 현금영수증 정보
      x-portone-discriminator:
        ISSUED:
          title: 발급 완료
        CANCELLED:
          title: 발급 취소
    PaymentCashReceiptStatus:
      title: 결제건 내 현금영수증 상태
      description: 결제건 내 현금영수증 상태
      type: string
      enum:
        - ISSUED
        - CANCELLED
      x-portone-title: 결제건 내 현금영수증 상태
      x-portone-enum:
        ISSUED: {}
        CANCELLED: {}
    PaymentClientType:
      title: 결제가 발생한 클라이언트 환경
      description: 결제가 발생한 클라이언트 환경
      type: string
      enum:
        - SDK_MOBILE
        - SDK_PC
        - API
      x-portone-title: 결제가 발생한 클라이언트 환경
      x-portone-enum:
        SDK_MOBILE: {}
        SDK_PC: {}
        API: {}
    PaymentEscrow:
      title: 에스크로 정보
      description: |-
        에스크로 정보

        V1 결제 건의 경우 타입이 REGISTERED 로 고정됩니다.
      oneOf:
        - $ref: '#/components/schemas/BeforeRegisteredPaymentEscrow'
        - $ref: '#/components/schemas/CancelledPaymentEscrow'
        - $ref: '#/components/schemas/ConfirmedPaymentEscrow'
        - $ref: '#/components/schemas/DeliveredPaymentEscrow'
        - $ref: '#/components/schemas/RegisteredPaymentEscrow'
        - $ref: '#/components/schemas/RejectConfirmedPaymentEscrow'
        - $ref: '#/components/schemas/RejectedPaymentEscrow'
      discriminator:
        propertyName: status
        mapping:
          BEFORE_REGISTERED: '#/components/schemas/BeforeRegisteredPaymentEscrow'
          CANCELLED: '#/components/schemas/CancelledPaymentEscrow'
          CONFIRMED: '#/components/schemas/ConfirmedPaymentEscrow'
          DELIVERED: '#/components/schemas/DeliveredPaymentEscrow'
          REGISTERED: '#/components/schemas/RegisteredPaymentEscrow'
          REJECTED: '#/components/schemas/RejectedPaymentEscrow'
          REJECT_CONFIRMED: '#/components/schemas/RejectConfirmedPaymentEscrow'
      x-portone-title: 에스크로 정보
      x-portone-description: V1 결제 건의 경우 타입이 REGISTERED 로 고정됩니다.
      x-portone-discriminator:
        CONFIRMED:
          title: 구매 확정
        REJECTED:
          title: 구매 거절
        CANCELLED:
          title: 거래 취소
        REJECT_CONFIRMED:
          title: 구매 거절 확정
        DELIVERED:
          title: 배송 완료
        BEFORE_REGISTERED:
          title: 배송 정보 등록 전
        REGISTERED:
          title: 배송 정보 등록 완료
    PaymentEscrowReceiverInput:
      title: 에스크로 수취인 정보
      description: 에스크로 수취인 정보
      type: object
      properties:
        name:
          type: string
          title: 이름
        phoneNumber:
          type: string
          title: 전화번호
        zipcode:
          type: string
          title: 우편번호
        address:
          $ref: '#/components/schemas/SeparatedAddressInput'
          title: 주소
      x-portone-title: 에스크로 수취인 정보
    PaymentEscrowSenderInput:
      title: 에스크로 발송자 정보
      description: 에스크로 발송자 정보
      type: object
      properties:
        name:
          type: string
          title: 이름
        phoneNumber:
          type: string
          title: 전화번호
        zipcode:
          type: string
          title: 우편번호
        relationship:
          type: string
          title: 수취인과의 관계
        address:
          $ref: '#/components/schemas/SeparatedAddressInput'
          title: 주소
      x-portone-title: 에스크로 발송자 정보
    PaymentEvent:
      title: 결제 이벤트
      description: 결제 이벤트
      oneOf:
        - $ref: '#/components/schemas/CancelledPaymentEvent'
        - $ref: '#/components/schemas/PaidPaymentEvent'
        - $ref: '#/components/schemas/PartialCancelledPaymentEvent'
      discriminator:
        propertyName: type
        mapping:
          CANCELLED: '#/components/schemas/CancelledPaymentEvent'
          PAID: '#/components/schemas/PaidPaymentEvent'
          PARTIAL_CANCELLED: '#/components/schemas/PartialCancelledPaymentEvent'
      x-portone-title: 결제 이벤트
      x-portone-discriminator:
        PAID:
          title: 결제 완료 이벤트
        PARTIAL_CANCELLED:
          title: 결제 부분 취소 이벤트
        CANCELLED:
          title: 결제 취소 이벤트
    PaymentEventWithCursor:
      title: 결제 이벤트 및 커서 정보
      description: 결제 이벤트 및 커서 정보
      type: object
      required:
        - paymentEvent
        - cursor
      properties:
        paymentEvent:
          $ref: '#/components/schemas/PaymentEvent'
          title: 결제 이벤트 정보
        cursor:
          type: string
          title: 해당 결제 이벤트의 커서 정보
      x-portone-title: 결제 이벤트 및 커서 정보
    PaymentFailure:
      title: 결제 실패 정보
      description: 결제 실패 정보
      type: object
      properties:
        reason:
          type: string
          title: 실패 사유
        pgCode:
          type: string
          title: PG사 실패 코드
        pgMessage:
          type: string
          title: PG사 실패 메시지
      x-portone-title: 결제 실패 정보
    PaymentFilterInput:
      title: 결제 다건 조회를 위한 입력 정보
      description: 결제 다건 조회를 위한 입력 정보
      type: object
      properties:
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
          description: 'Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제 건을 조회합니다.'
        timestampType:
          $ref: '#/components/schemas/PaymentTimestampType'
          title: 조회 기준 시점 유형
        from:
          type: string
          format: date-time
          title: 결제 요청/상태 승인 시점 범위의 시작
          description: 값을 입력하지 않으면 end의 90일 전으로 설정됩니다.
        until:
          type: string
          format: date-time
          title: 결제 요청/상태 승인 시점 범위의 끝
          description: 값을 입력하지 않으면 현재 시점으로 설정됩니다.
        status:
          title: 결제 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentStatus'
          description: 값을 입력하지 않으면 결제상태 필터링이 적용되지 않습니다.
        methods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodType'
          title: 결제수단 리스트
          description: 값을 입력하지 않으면 결제수단 필터링이 적용되지 않습니다.
        pgProvider:
          title: PG사 결제 모듈 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgProvider'
          description: 값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다.
        isTest:
          type: boolean
          title: 테스트 결제 여부
        isScheduled:
          type: boolean
          title: 결제 예약 건 필터링
        sortBy:
          $ref: '#/components/schemas/PaymentSortBy'
          title: 결제 건 정렬 기준
        sortOrder:
          $ref: '#/components/schemas/SortOrder'
          title: 결제 건 정렬 방식
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        webhookStatus:
          $ref: '#/components/schemas/PaymentWebhookStatus'
          title: 최종 결제 상태의 웹훅 상태
        platformType:
          $ref: '#/components/schemas/PaymentClientType'
          title: 플랫폼 유형
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
        escrowStatus:
          $ref: '#/components/schemas/PaymentFilterInputEscrowStatus'
          title: 에스크로 결제의 배송 정보 상태
        cardBrand:
          $ref: '#/components/schemas/CardBrand'
          title: 카드 브랜드
        cardType:
          $ref: '#/components/schemas/CardType'
          title: 카드 유형
        cardOwnerType:
          $ref: '#/components/schemas/CardOwnerType'
          title: 카드 소유주 유형
        giftCertificateType:
          $ref: '#/components/schemas/PaymentMethodGiftCertificateType'
          title: 상품권 종류
        cashReceiptType:
          $ref: '#/components/schemas/CashReceiptInputType'
          title: 현금영수증 유형
        cashReceiptStatus:
          $ref: '#/components/schemas/PaymentCashReceiptStatus'
          title: 현금영수증 상태
        cashReceiptIssuedAtRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 현금영수증 발급 시간 범위
        cashReceiptCancelledAtRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 현금영수증 취소 시간 범위
        textSearch:
          title: 통합 검색 리스트 필터
          type: array
          items:
            $ref: '#/components/schemas/PaymentTextSearch'
      x-portone-title: 결제 다건 조회를 위한 입력 정보
    PaymentFilterInputEscrowStatus:
      title: 에스크로 상태
      description: 에스크로 상태
      type: string
      enum:
        - REGISTERED
        - DELIVERED
        - CONFIRMED
        - REJECTED
        - CANCELLED
        - REJECT_CONFIRMED
      x-portone-title: 에스크로 상태
      x-portone-enum:
        CONFIRMED: {}
        REJECTED: {}
        CANCELLED: {}
        REJECT_CONFIRMED: {}
        DELIVERED: {}
        REGISTERED: {}
    PaymentInstallment:
      title: 할부 정보
      description: 할부 정보
      type: object
      required:
        - month
        - isInterestFree
      properties:
        month:
          type: integer
          format: int32
          title: 할부 개월 수
        isInterestFree:
          type: boolean
          title: 무이자할부 여부
        isInterestFreeFromMerchant:
          type: boolean
          title: 상점 부담 무이자할부 여부
          description: 정보 필요시 포트원과 협의해 주세요.
      x-portone-title: 할부 정보
    PaymentLogistics:
      title: 배송정보
      description: 배송정보
      type: object
      required:
        - company
        - invoiceNumber
        - sentAt
      properties:
        company:
          $ref: '#/components/schemas/PaymentLogisticsCompany'
          title: 물류회사
        invoiceNumber:
          type: string
          title: 송장번호
        sentAt:
          type: string
          format: date-time
          title: 발송시점
        receivedAt:
          type: string
          format: date-time
          title: 수령시점
        address:
          $ref: '#/components/schemas/SeparatedAddressInput'
          title: 주소
      x-portone-title: 배송정보
    PaymentLogisticsCompany:
      title: 물류 회사
      description: 물류 회사
      type: string
      enum:
        - LOTTE
        - LOGEN
        - DONGWON
        - POST
        - CJ
        - HANJIN
        - DAESIN
        - ILYANG
        - KYUNGDONG
        - CHUNIL
        - POST_REGISTERED
        - GS
        - WOORI
        - HAPDONG
        - FEDEX
        - UPS
        - GSM_NTON
        - SUNGWON
        - LX_PANTOS
        - ACI
        - CJ_INTL
        - USPS
        - EMS
        - DHL
        - KGL
        - GOODSTOLUCK
        - KUNYOUNG
        - SLX
        - SF
        - ETC
      x-portone-title: 물류 회사
      x-portone-enum:
        POST_REGISTERED:
          title: 등기우편
        GOODSTOLUCK:
          title: 굿투럭
        UPS:
          title: UPS
        CJ_INTL:
          title: CJ대한통운 국제특송
        LOTTE:
          title: 롯데글로벌로지스
        CHUNIL:
          title: 천일택배
        KGL:
          title: KGL네트웍스
        EMS:
          title: EMS
        ILYANG:
          title: 일양로지스
        HAPDONG:
          title: 합동택배
        SUNGWON:
          title: 성원글로벌카고
        KUNYOUNG:
          title: 건영택배
        LOGEN:
          title: 로젠택배
        LX_PANTOS:
          title: LX판토스
        DHL:
          title: DHL
        HANJIN:
          title: 한진택배
        FEDEX:
          title: FedEx
        ACI:
          title: ACI
        WOORI:
          title: 우리택배
        CJ:
          title: 대한통운
        GS:
          title: GS네트웍스
        DONGWON:
          title: 동원로엑스
        USPS:
          title: USPS
        KYUNGDONG:
          title: 경동택배
        SF:
          title: SF Express
        DAESIN:
          title: 대신택배
        ETC:
          title: 기타
        SLX:
          title: SLX
        GSM_NTON:
          title: GSM NtoN
        POST:
          title: 우체국택배
    PaymentMethod:
      title: 결제수단 정보
      description: 결제수단 정보
      oneOf:
        - $ref: '#/components/schemas/PaymentMethodCard'
        - $ref: '#/components/schemas/PaymentMethodConvenienceStore'
        - $ref: '#/components/schemas/PaymentMethodCrypto'
        - $ref: '#/components/schemas/PaymentMethodEasyPay'
        - $ref: '#/components/schemas/PaymentMethodGiftCertificate'
        - $ref: '#/components/schemas/PaymentMethodMobile'
        - $ref: '#/components/schemas/PaymentMethodTransfer'
        - $ref: '#/components/schemas/PaymentMethodVirtualAccount'
      discriminator:
        propertyName: type
        mapping:
          PaymentMethodCard: '#/components/schemas/PaymentMethodCard'
          PaymentMethodConvenienceStore: '#/components/schemas/PaymentMethodConvenienceStore'
          PaymentMethodCrypto: '#/components/schemas/PaymentMethodCrypto'
          PaymentMethodEasyPay: '#/components/schemas/PaymentMethodEasyPay'
          PaymentMethodGiftCertificate: '#/components/schemas/PaymentMethodGiftCertificate'
          PaymentMethodMobile: '#/components/schemas/PaymentMethodMobile'
          PaymentMethodTransfer: '#/components/schemas/PaymentMethodTransfer'
          PaymentMethodVirtualAccount: '#/components/schemas/PaymentMethodVirtualAccount'
      x-portone-title: 결제수단 정보
      x-portone-discriminator:
        PaymentMethodCard:
          title: 결제수단 카드 정보
        PaymentMethodConvenienceStore:
          title: 편의점 결제 상세 정보
        PaymentMethodEasyPay:
          title: 간편 결제 상세 정보
        PaymentMethodMobile:
          title: 모바일 상세 정보
        PaymentMethodGiftCertificate:
          title: 상품권 상세 정보
        PaymentMethodCrypto:
          title: 암호화폐 결제 상세 정보
        PaymentMethodTransfer:
          title: 계좌 이체 상세 정보
        PaymentMethodVirtualAccount:
          title: 가상계좌 상세 정보
    PaymentMethodCard:
      title: 결제수단 카드 정보
      description: 결제수단 카드 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        card:
          $ref: '#/components/schemas/Card'
          title: 카드 상세 정보
        approvalNumber:
          type: string
          title: 승인 번호
        installment:
          $ref: '#/components/schemas/PaymentInstallment'
          title: 할부 정보
        pointUsed:
          type: boolean
          title: 카드 포인트 사용여부
      x-portone-title: 결제수단 카드 정보
    PaymentMethodConvenienceStore:
      title: 편의점 결제 상세 정보
      description: 편의점 결제 상세 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        convenienceStoreBrand:
          $ref: '#/components/schemas/ConvenienceStoreBrand'
          title: 편의점 브랜드
        confirmationNumber:
          type: string
          title: 결제 확인 번호
        receiptNumber:
          type: string
          title: 결제 접수 번호
        paymentDeadline:
          type: string
          format: date-time
          title: 결제 마감 시간
      x-portone-title: 편의점 결제 상세 정보
    PaymentMethodCrypto:
      title: 암호화폐 결제 상세 정보
      description: 암호화폐 결제 상세 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 암호화폐 결제 상세 정보
    PaymentMethodEasyPay:
      title: 간편 결제 상세 정보
      description: 간편 결제 상세 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        provider:
          $ref: '#/components/schemas/EasyPayProvider'
          title: 간편 결제 PG사
        easyPayMethod:
          $ref: '#/components/schemas/PaymentMethodEasyPayMethod'
          title: 간편 결제 수단
      x-portone-title: 간편 결제 상세 정보
    PaymentMethodEasyPayMethod:
      title: 간편 결제 수단
      description: 간편 결제 수단
      oneOf:
        - $ref: '#/components/schemas/PaymentMethodCard'
        - $ref: '#/components/schemas/PaymentMethodEasyPayMethodCharge'
        - $ref: '#/components/schemas/PaymentMethodTransfer'
      discriminator:
        propertyName: type
        mapping:
          PaymentMethodCard: '#/components/schemas/PaymentMethodCard'
          PaymentMethodEasyPayMethodCharge: '#/components/schemas/PaymentMethodEasyPayMethodCharge'
          PaymentMethodTransfer: '#/components/schemas/PaymentMethodTransfer'
      x-portone-title: 간편 결제 수단
      x-portone-discriminator:
        PaymentMethodCard:
          title: 결제수단 카드 정보
        PaymentMethodTransfer:
          title: 계좌 이체 상세 정보
        PaymentMethodEasyPayMethodCharge:
          title: 충전식 포인트 결제 정보
    PaymentMethodEasyPayMethodCharge:
      title: 충전식 포인트 결제 정보
      description: 충전식 포인트 결제 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        bank:
          $ref: '#/components/schemas/Bank'
          title: 표준 은행 코드
      x-portone-title: 충전식 포인트 결제 정보
    PaymentMethodGiftCertificate:
      title: 상품권 상세 정보
      description: 상품권 상세 정보
      type: object
      required:
        - type
        - approvalNumber
      properties:
        type:
          type: string
        giftCertificateType:
          $ref: '#/components/schemas/PaymentMethodGiftCertificateType'
          title: 상품권 종류
        approvalNumber:
          type: string
          title: 상품권 승인 번호
      x-portone-title: 상품권 상세 정보
    PaymentMethodGiftCertificateType:
      title: 상품권 종류
      description: 상품권 종류
      type: string
      enum:
        - BOOKNLIFE
        - SMART_MUNSANG
        - CULTURELAND
        - HAPPYMONEY
        - CULTUREGIFT
      x-portone-title: 상품권 종류
      x-portone-enum:
        SMART_MUNSANG: {}
        CULTUREGIFT: {}
        BOOKNLIFE: {}
        CULTURELAND: {}
        HAPPYMONEY: {}
    PaymentMethodMobile:
      title: 모바일 상세 정보
      description: 모바일 상세 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        phoneNumber:
          type: string
          title: 전화번호
      x-portone-title: 모바일 상세 정보
    PaymentMethodTransfer:
      title: 계좌 이체 상세 정보
      description: 계좌 이체 상세 정보
      type: object
      required:
        - type
      properties:
        type:
          type: string
        bank:
          $ref: '#/components/schemas/Bank'
          title: 표준 은행 코드
        accountNumber:
          type: string
          title: 계좌번호
      x-portone-title: 계좌 이체 상세 정보
    PaymentMethodType:
      title: PaymentMethodType
      type: string
      enum:
        - CARD
        - TRANSFER
        - VIRTUAL_ACCOUNT
        - GIFT_CERTIFICATE
        - MOBILE
        - EASY_PAY
        - CONVENIENCE_STORE
        - CRYPTO
      x-portone-enum:
        CONVENIENCE_STORE: {}
        GIFT_CERTIFICATE: {}
        VIRTUAL_ACCOUNT: {}
        CRYPTO: {}
        MOBILE: {}
        CARD: {}
        TRANSFER: {}
        EASY_PAY: {}
    PaymentMethodVirtualAccount:
      title: 가상계좌 상세 정보
      description: 가상계좌 상세 정보
      type: object
      required:
        - type
        - accountNumber
      properties:
        type:
          type: string
        bank:
          $ref: '#/components/schemas/Bank'
          title: 표준 은행 코드
        accountNumber:
          type: string
          title: 계좌번호
        accountType:
          $ref: '#/components/schemas/PaymentMethodVirtualAccountType'
          title: 계좌 유형
        remitteeName:
          type: string
          title: 계좌주
        remitterName:
          type: string
          title: 송금인(입금자)
        expiredAt:
          type: string
          format: date-time
          title: 입금만료시점
        issuedAt:
          type: string
          format: date-time
          title: 계좌발급시점
        refundStatus:
          $ref: '#/components/schemas/PaymentMethodVirtualAccountRefundStatus'
          title: 가상계좌 결제가 환불 단계일 때의 환불 상태
      x-portone-title: 가상계좌 상세 정보
    PaymentMethodVirtualAccountRefundStatus:
      title: 가상계좌 환불 상태
      description: 가상계좌 환불 상태
      type: string
      enum:
        - PENDING
        - PARTIAL_REFUND_FAILED
        - FAILED
        - COMPLETED
      x-portone-title: 가상계좌 환불 상태
      x-portone-enum:
        PENDING:
          title: 처리중
        PARTIAL_REFUND_FAILED:
          title: 부분 환불 실패
        FAILED:
          title: 환불 실패
        COMPLETED:
          title: 환불 완료
    PaymentMethodVirtualAccountType:
      title: 가상계좌 유형
      description: 가상계좌 유형
      type: string
      enum:
        - FIXED
        - NORMAL
      x-portone-title: 가상계좌 유형
      x-portone-enum:
        FIXED:
          title: 고정식
        NORMAL:
          title: 회전식
    PaymentNotFoundError:
      title: 결제 건이 존재하지 않는 경우
      description: 결제 건이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 건이 존재하지 않는 경우
      x-portone-status-code: 404
    PaymentNotPaidError:
      title: 결제가 완료되지 않은 경우
      description: 결제가 완료되지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제가 완료되지 않은 경우
      x-portone-status-code: 409
    PaymentNotWaitingForDepositError:
      title: 결제 건이 입금 대기 상태가 아닌 경우
      description: 결제 건이 입금 대기 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 건이 입금 대기 상태가 아닌 경우
      x-portone-status-code: 409
    PaymentOrigin:
      title: 결제 출처 정보
      description: 결제 출처 정보
      type: object
      required:
        - platformType
        - ipAddress
      properties:
        platformType:
          $ref: '#/components/schemas/PaymentOriginPlatformType'
          title: 결제를 요청한 플랫폼 타입
        userAgent:
          type: string
          title: 결제를 요청한 user agent 문자열
        url:
          type: string
          title: 결제를 요청한 페이지 URL
        ipAddress:
          type: string
          title: 결제를 요청한 IP 주소
      x-portone-title: 결제 출처 정보
    PaymentOriginPlatformType:
      title: 플랫폼 타입
      description: 플랫폼 타입
      type: string
      enum:
        - PC
        - MOBILE
        - API
      x-portone-title: 플랫폼 타입
      x-portone-enum:
        PC: {}
        MOBILE: {}
        API: {}
    PaymentProduct:
      title: 상품 정보
      description: 상품 정보
      type: object
      required:
        - id
        - name
        - amount
        - quantity
      properties:
        id:
          type: string
          title: 상품 고유 식별자
          description: 고객사가 직접 부여한 식별자입니다.
        name:
          type: string
          title: 상품명
        tag:
          type: string
          title: 상품 태그
          description: 카테고리 등으로 활용될 수 있습니다.
        code:
          type: string
          title: 상품 코드
        amount:
          type: integer
          format: int64
          title: 상품 단위가격
        quantity:
          type: integer
          format: int32
          title: 주문 수량
        link:
          type: string
          title: 판매 링크
      x-portone-title: 상품 정보
    PaymentProductType:
      title: 상품 유형
      description: 상품 유형
      type: string
      enum:
        - PHYSICAL
        - DIGITAL
      x-portone-title: 상품 유형
      x-portone-enum:
        PHYSICAL:
          title: 실물 상품
        DIGITAL:
          title: 디지털 상품
          description: '서비스, 온라인 상품 등 실물이 존재하지 않는 무형의 상품을 의미합니다.'
    PaymentReconciliationSettlementSummaryFilterInput:
      title: 거래대사 정산 요약 내역 필터
      description: 거래대사 정산 요약 내역 필터
      type: object
      properties:
        pgSpecifiers:
          title: PG사 가맹점 식별자 필터
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
        storeIds:
          type: array
          items:
            type: string
          title: 하위 상점 아이디 필터
      x-portone-title: 거래대사 정산 요약 내역 필터
    PaymentReconciliationStatus:
      title: 결제 건의 대사 상태
      description: 결제 건의 대사 상태
      type: string
      enum:
        - MATCHED
        - NOT_MATCHED
        - INCOMPARABLE
        - NOT_COLLECTED
      x-portone-title: 결제 건의 대사 상태
      x-portone-enum:
        MATCHED:
          title: 대사 매칭 성공 상태
        NOT_MATCHED:
          title: 대사 매칭 실패 상태
        INCOMPARABLE:
          title: 대사 불가능 상태
        NOT_COLLECTED:
          title: PG사 결제 정보가 수집되지 않은 상태
    PaymentReconciliationTransactionSummaryFilterInput:
      title: 거래대사 거래내역 필터
      description: 거래대사 거래내역 필터
      type: object
      properties:
        reconciliationStatuses:
          title: 대사 상태 필터
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationStatus'
        pgSpecifiers:
          title: 대사용 PG사 가맹점 식별자 필터
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
        storeIds:
          type: array
          items:
            type: string
          title: 하위 상점 아이디 필터
      x-portone-title: 거래대사 거래내역 필터
    PaymentReconciliationVatReportItem:
      title: PaymentReconciliationVatReportItem
      type: object
      required:
        - paymentMethod
        - supplyAmount
        - vatAmount
        - taxFreeAmount
        - totalAmount
      properties:
        paymentMethod:
          $ref: '#/components/schemas/SimplifiedPaymentMethodType'
          title: 결제수단
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        vatAmount:
          type: integer
          format: int64
          title: 부가세 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 금액
        totalAmount:
          type: integer
          format: int64
          title: 총 금액
    PaymentReconciliationVatReportSummary:
      title: PaymentReconciliationVatReportSummary
      type: object
      required:
        - totalSupplyAmount
        - totalVatAmount
        - totalTaxFreeAmount
        - totalAmount
      properties:
        totalSupplyAmount:
          type: integer
          format: int64
          title: 총 공급가액
        totalVatAmount:
          type: integer
          format: int64
          title: 총 부가세 금액
        totalTaxFreeAmount:
          type: integer
          format: int64
          title: 총 면세 금액
        totalAmount:
          type: integer
          format: int64
          title: 총 금액
    PaymentSchedule:
      title: 결제 예약 건
      description: 결제 예약 건
      oneOf:
        - $ref: '#/components/schemas/FailedPaymentSchedule'
        - $ref: '#/components/schemas/PendingPaymentSchedule'
        - $ref: '#/components/schemas/RevokedPaymentSchedule'
        - $ref: '#/components/schemas/ScheduledPaymentSchedule'
        - $ref: '#/components/schemas/StartedPaymentSchedule'
        - $ref: '#/components/schemas/SucceededPaymentSchedule'
      discriminator:
        propertyName: status
        mapping:
          FAILED: '#/components/schemas/FailedPaymentSchedule'
          PENDING: '#/components/schemas/PendingPaymentSchedule'
          REVOKED: '#/components/schemas/RevokedPaymentSchedule'
          SCHEDULED: '#/components/schemas/ScheduledPaymentSchedule'
          STARTED: '#/components/schemas/StartedPaymentSchedule'
          SUCCEEDED: '#/components/schemas/SucceededPaymentSchedule'
      x-portone-title: 결제 예약 건
      x-portone-discriminator:
        SCHEDULED:
          title: 결제 예약 완료
        STARTED:
          title: 결제 시작
        PENDING:
          title: 결제 완료 대기
        FAILED:
          title: 결제 실패
        REVOKED:
          title: 취소된 결제 예약
        SUCCEEDED:
          title: 결제 성공
    PaymentScheduleAlreadyExistsError:
      title: 결제 예약건이 이미 존재하는 경우
      description: 결제 예약건이 이미 존재하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 예약건이 이미 존재하는 경우
      x-portone-status-code: 409
    PaymentScheduleAlreadyProcessedError:
      title: 결제 예약건이 이미 처리된 경우
      description: 결제 예약건이 이미 처리된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 예약건이 이미 처리된 경우
      x-portone-status-code: 409
    PaymentScheduleAlreadyRevokedError:
      title: 결제 예약건이 이미 취소된 경우
      description: 결제 예약건이 이미 취소된 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 예약건이 이미 취소된 경우
      x-portone-status-code: 409
    PaymentScheduleFilterInput:
      title: 결제 예약 건 다건 조회를 위한 입력 정보
      description: 결제 예약 건 다건 조회를 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        billingKey:
          type: string
          title: 빌링키
        from:
          type: string
          format: date-time
          title: 결제 예정 시점 조건 범위의 시작
          description: 값을 입력하지 않으면 파라미터 end의 90일 전으로 설정됩니다.
        until:
          type: string
          format: date-time
          title: 결제 예정 시점 조건 범위의 끝
          description: 값을 입력하지 않으면 현재 시점으로 설정됩니다.
        status:
          title: 결제 예약 건 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentScheduleStatus'
          description: 값을 입력하지 않으면 상태 필터링이 적용되지 않습니다.
        isForTest:
          type: boolean
          title: 테스트 결제 여부
      x-portone-title: 결제 예약 건 다건 조회를 위한 입력 정보
    PaymentScheduleNotFoundError:
      title: 결제 예약건이 존재하지 않는 경우
      description: 결제 예약건이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제 예약건이 존재하지 않는 경우
      x-portone-status-code: 404
    PaymentScheduleSortBy:
      title: 결제 예약 건 정렬 기준
      description: 결제 예약 건 정렬 기준
      type: string
      enum:
        - CREATED_AT
        - TIME_TO_PAY
        - COMPLETED_AT
      x-portone-title: 결제 예약 건 정렬 기준
      x-portone-enum:
        CREATED_AT:
          title: 결제 예약 생성 시각
        TIME_TO_PAY:
          title: 결제 예정 시각
        COMPLETED_AT:
          title: 예약 결제 시도(성공 / 실패) 시각
        STATUS_TIMESTAMP:
          title: 결제 시도 또는 예정 시각. 해지 건은 해지 시각.
    PaymentScheduleSortInput:
      title: 결제 예약 건 다건 조회 시 정렬 조건
      description: 결제 예약 건 다건 조회 시 정렬 조건
      type: object
      properties:
        by:
          $ref: '#/components/schemas/PaymentScheduleSortBy'
          title: 정렬 기준 필드
          description: '어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, TIME_TO_PAY가 기본값으로 설정됩니다.'
        order:
          $ref: '#/components/schemas/SortOrder'
          title: 정렬 순서
          description: '어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다.'
      x-portone-title: 결제 예약 건 다건 조회 시 정렬 조건
    PaymentScheduleStatus:
      title: 결제 예약 건 상태
      description: 결제 예약 건 상태
      type: string
      enum:
        - SCHEDULED
        - STARTED
        - SUCCEEDED
        - FAILED
        - REVOKED
        - PENDING
      x-portone-title: 결제 예약 건 상태
      x-portone-enum:
        SCHEDULED:
          title: 예약 완료
        STARTED:
          title: 결제 시작
        PENDING:
          title: 결제 승인 대기
        FAILED:
          title: 결제 실패
        REVOKED:
          title: 취소된 결제 예약
        SUCCEEDED:
          title: 결제 성공
    PaymentScheduleSummary:
      title: 결제 예약 건
      description: 결제 예약 건
      type: object
      required:
        - id
      properties:
        id:
          type: string
          title: 결제 예약 건 아이디
      x-portone-title: 결제 예약 건
    PaymentSortBy:
      title: 결제 건 정렬 기준
      description: 결제 건 정렬 기준
      type: string
      enum:
        - REQUESTED_AT
        - STATUS_CHANGED_AT
      x-portone-title: 결제 건 정렬 기준
      x-portone-enum:
        REQUESTED_AT:
          title: 결제 요청 시점
        STATUS_CHANGED_AT:
          title: 상태 변경 시점
    PaymentStatus:
      title: 결제 건 상태
      description: 결제 건 상태
      type: string
      enum:
        - READY
        - PENDING
        - VIRTUAL_ACCOUNT_ISSUED
        - PAID
        - FAILED
        - PARTIAL_CANCELLED
        - CANCELLED
      x-portone-title: 결제 건 상태
      x-portone-enum:
        PENDING: {}
        VIRTUAL_ACCOUNT_ISSUED: {}
        PAID: {}
        READY: {}
        FAILED: {}
        CANCELLED: {}
        PARTIAL_CANCELLED: {}
    PaymentTextSearch:
      title: 통합검색 입력 정보
      description: 통합검색 입력 정보
      type: object
      required:
        - field
        - value
      properties:
        field:
          $ref: '#/components/schemas/PaymentTextSearchField'
        value:
          type: string
      x-portone-title: 통합검색 입력 정보
    PaymentTextSearchField:
      title: 통합검색 항목
      description: 통합검색 항목
      type: string
      enum:
        - ALL
        - PAYMENT_ID
        - TX_ID
        - SCHEDULE_ID
        - FAIL_REASON
        - CARD_ISSUER
        - CARD_ACQUIRER
        - CARD_BIN
        - CARD_NUMBER
        - CARD_APPROVAL_NUMBER
        - CARD_RECEIPT_NAME
        - CARD_INSTALLMENT
        - TRANS_BANK
        - VIRTUAL_ACCOUNT_HOLDER_NAME
        - VIRTUAL_ACCOUNT_BANK
        - VIRTUAL_ACCOUNT_NUMBER
        - PG_MERCHANT_ID
        - PG_TX_ID
        - PG_RECEIPT_ID
        - RECEIPT_APPROVAL_NUMBER
        - PG_CANCELLATION_ID
        - CANCEL_REASON
        - ORDER_NAME
        - CUSTOMER_NAME
        - CUSTOMER_EMAIL
        - CUSTOMER_PHONE_NUMBER
        - CUSTOMER_ADDRESS
        - CUSTOMER_ZIPCODE
        - USER_AGENT
        - BILLING_KEY
        - PROMOTION_ID
        - GIFT_CERTIFICATION_APPROVAL_NUMBER
      x-portone-title: 통합검색 항목
      x-portone-enum:
        CUSTOMER_EMAIL: {}
        USER_AGENT: {}
        FAIL_REASON: {}
        CARD_BIN: {}
        PG_MERCHANT_ID: {}
        RECEIPT_APPROVAL_NUMBER: {}
        TRANS_BANK: {}
        CARD_ISSUER: {}
        VIRTUAL_ACCOUNT_BANK: {}
        ORDER_NAME: {}
        TX_ID: {}
        CARD_ACQUIRER: {}
        CANCEL_REASON: {}
        CUSTOMER_NAME: {}
        SCHEDULE_ID: {}
        GIFT_CERTIFICATION_APPROVAL_NUMBER: {}
        PROMOTION_ID: {}
        PAYMENT_ID: {}
        CARD_APPROVAL_NUMBER: {}
        CUSTOMER_ADDRESS: {}
        PG_CANCELLATION_ID: {}
        ALL: {}
        PG_RECEIPT_ID: {}
        VIRTUAL_ACCOUNT_NUMBER: {}
        CARD_NUMBER: {}
        PG_TX_ID: {}
        BILLING_KEY: {}
        CUSTOMER_PHONE_NUMBER: {}
        CARD_RECEIPT_NAME: {}
        CARD_INSTALLMENT: {}
        CUSTOMER_ZIPCODE: {}
        VIRTUAL_ACCOUNT_HOLDER_NAME: {}
    PaymentTimestampType:
      title: 조회 시점 기준
      description: >-
        조회 시점 기준


        어떤 시점을 기준으로 조회를 할 것인지 선택합니다.

        CREATED_AT: 결제 건 생성 시점을 기준으로 조회합니다.

        STATUS_CHANGED_AT: 상태 승인 시점을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게
        적용됩니다.

        ready -> 결제 요청 시점 기준

        paid -> 결제 완료 시점 기준

        cancelled -> 결제 취소 시점 기준

        failed -> 결제 실패 시점 기준

        값을 입력하지 않으면 STATUS_CHANGED_AT 으로 자동 적용됩니다.
      type: string
      enum:
        - CREATED_AT
        - STATUS_CHANGED_AT
      x-portone-title: 조회 시점 기준
      x-portone-description: >-
        어떤 시점을 기준으로 조회를 할 것인지 선택합니다.

        CREATED_AT: 결제 건 생성 시점을 기준으로 조회합니다.

        STATUS_CHANGED_AT: 상태 승인 시점을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게
        적용됩니다.

        ready -> 결제 요청 시점 기준

        paid -> 결제 완료 시점 기준

        cancelled -> 결제 취소 시점 기준

        failed -> 결제 실패 시점 기준

        값을 입력하지 않으면 STATUS_CHANGED_AT 으로 자동 적용됩니다.
      x-portone-enum:
        CREATED_AT:
          title: 결제 건 생성 시점
        STATUS_CHANGED_AT:
          title: 상태 변경 시점
    PaymentTransaction:
      title: 결제 시도
      description: 결제 시도
      oneOf:
        - $ref: '#/components/schemas/CancelledPaymentTransaction'
        - $ref: '#/components/schemas/FailedPaymentTransaction'
        - $ref: '#/components/schemas/PaidPaymentTransaction'
        - $ref: '#/components/schemas/PartialCancelledPaymentTransaction'
        - $ref: '#/components/schemas/PayPendingPaymentTransaction'
        - $ref: '#/components/schemas/ReadyPaymentTransaction'
        - $ref: '#/components/schemas/VirtualAccountIssuedPaymentTransaction'
      discriminator:
        propertyName: status
        mapping:
          CANCELLED: '#/components/schemas/CancelledPaymentTransaction'
          FAILED: '#/components/schemas/FailedPaymentTransaction'
          PAID: '#/components/schemas/PaidPaymentTransaction'
          PARTIAL_CANCELLED: '#/components/schemas/PartialCancelledPaymentTransaction'
          PAY_PENDING: '#/components/schemas/PayPendingPaymentTransaction'
          READY: '#/components/schemas/ReadyPaymentTransaction'
          VIRTUAL_ACCOUNT_ISSUED: '#/components/schemas/VirtualAccountIssuedPaymentTransaction'
      x-portone-title: 결제 시도
      x-portone-discriminator:
        VIRTUAL_ACCOUNT_ISSUED:
          title: 가상계좌 발급 완료
        PAID:
          title: 결제 완료
        READY:
          title: 결제 준비
        FAILED:
          title: 결제 실패
        PAY_PENDING:
          title: 결제 완료 대기
        CANCELLED:
          title: 결제 취소
        PARTIAL_CANCELLED:
          title: 결제 부분 취소
    PaymentWebhook:
      title: 성공 웹훅 내역
      description: 성공 웹훅 내역
      type: object
      required:
        - id
        - url
      properties:
        paymentStatus:
          $ref: '#/components/schemas/PaymentWebhookPaymentStatus'
          title: 웹훅 발송 시 결제 건 상태
          description: 'V1 결제 건인 경우, 값이 존재하지 않습니다.'
        id:
          type: string
          title: 웹훅 아이디
        status:
          $ref: '#/components/schemas/PaymentWebhookStatus'
          title: 웹훅 상태
        url:
          type: string
          title: 웹훅이 발송된 url
          description: 'V1 결제 건인 경우, 값이 존재하지 않습니다.'
        isAsync:
          type: boolean
          title: 비동기 웹훅 여부
          description: 'V1 결제 건인 경우, 값이 존재하지 않습니다.'
        currentExecutionCount:
          type: integer
          format: int32
          title: 현재 발송 횟수
        maxExecutionCount:
          type: integer
          format: int32
          title: 최대 발송 횟수
        trigger:
          $ref: '#/components/schemas/PaymentWebhookTrigger'
          title: 웹훅 실행 맥락
        request:
          $ref: '#/components/schemas/PaymentWebhookRequest'
          title: 웹훅 요청 정보
        response:
          $ref: '#/components/schemas/PaymentWebhookResponse'
          title: 웹훅 응답 정보
        triggeredAt:
          type: string
          format: date-time
          title: 웹훅 처리 시작 시점
      x-portone-title: 성공 웹훅 내역
    PaymentWebhookPaymentStatus:
      title: 웹훅 발송 시 결제 건 상태
      description: 웹훅 발송 시 결제 건 상태
      type: string
      enum:
        - READY
        - VIRTUAL_ACCOUNT_ISSUED
        - PAID
        - FAILED
        - PARTIAL_CANCELLED
        - CANCELLED
        - PAY_PENDING
      x-portone-title: 웹훅 발송 시 결제 건 상태
      x-portone-enum:
        VIRTUAL_ACCOUNT_ISSUED: {}
        PAID: {}
        READY: {}
        FAILED: {}
        PAY_PENDING: {}
        CANCELLED: {}
        PARTIAL_CANCELLED: {}
    PaymentWebhookRequest:
      title: 웹훅 요청 정보
      description: 웹훅 요청 정보
      type: object
      required:
        - body
      properties:
        header:
          type: string
          title: 요청 헤더
        body:
          type: string
          title: 요청 본문
        requestedAt:
          type: string
          format: date-time
          title: 요청 시점
      x-portone-title: 웹훅 요청 정보
    PaymentWebhookResponse:
      title: 웹훅 응답 정보
      description: 웹훅 응답 정보
      type: object
      required:
        - code
        - header
        - body
        - respondedAt
      properties:
        code:
          type: string
          title: 응답 HTTP 코드
        header:
          type: string
          title: 응답 헤더
        body:
          type: string
          title: 응답 본문
        respondedAt:
          type: string
          format: date-time
          title: 응답 시점
      x-portone-title: 웹훅 응답 정보
    PaymentWebhookStatus:
      title: 웹훅 전송 상태
      description: 웹훅 전송 상태
      type: string
      enum:
        - SUCCEEDED
        - FAILED_NOT_OK_RESPONSE
        - FAILED_UNEXPECTED_ERROR
      x-portone-title: 웹훅 전송 상태
      x-portone-enum:
        SUCCEEDED: {}
        FAILED_NOT_OK_RESPONSE: {}
        FAILED_UNEXPECTED_ERROR: {}
    PaymentWebhookTrigger:
      title: 웹훅 실행 트리거
      description: |-
        웹훅 실행 트리거

        수동 웹훅 재발송, 가상계좌 입금, 비동기 취소 승인 시 발생한 웹훅일 때 필드의 값이 존재합니다.
      type: string
      enum:
        - MANUAL
        - VIRTUAL_ACCOUNT_DEPOSIT
        - ASYNC_CANCEL_APPROVED
        - ASYNC_CANCEL_FAILED
        - ASYNC_PAY_APPROVED
        - ASYNC_PAY_FAILED
        - ASYNC_PAY_PENDING
        - DISPUTE_CREATED
        - DISPUTE_RESOLVED
      x-portone-title: 웹훅 실행 트리거
      x-portone-description: '수동 웹훅 재발송, 가상계좌 입금, 비동기 취소 승인 시 발생한 웹훅일 때 필드의 값이 존재합니다.'
      x-portone-enum:
        ASYNC_PAY_PENDING: {}
        ASYNC_CANCEL_APPROVED: {}
        DISPUTE_CREATED: {}
        ASYNC_CANCEL_FAILED: {}
        MANUAL: {}
        DISPUTE_RESOLVED: {}
        VIRTUAL_ACCOUNT_DEPOSIT: {}
        ASYNC_PAY_FAILED: {}
        ASYNC_PAY_APPROVED: {}
    PaymentWithCursor:
      title: 결제 건 및 커서 정보
      description: 결제 건 및 커서 정보
      type: object
      required:
        - payment
        - cursor
      properties:
        payment:
          $ref: '#/components/schemas/Payment'
          title: 결제 건 정보
        cursor:
          type: string
          title: 해당 결제 건의 커서 정보
      x-portone-title: 결제 건 및 커서 정보
    PaymentwallDeliveryStatus:
      title: 페이먼트월 배송 상태
      description: 페이먼트월 배송 상태
      type: string
      enum:
        - ORDER_PLACED
        - ORDER_SHIPPED
        - DELIVERED
      x-portone-title: 페이먼트월 배송 상태
      x-portone-enum:
        ORDER_PLACED:
          title: 주문 접수
        ORDER_SHIPPED:
          title: 배송 중
        DELIVERED:
          title: 배송 완료
    PaymentwallDeliveryType:
      title: 페이먼트월 배송 유형
      description: 페이먼트월 배송 유형
      type: string
      enum:
        - DIGITAL
        - PHYSICAL
      x-portone-title: 페이먼트월 배송 유형
      x-portone-enum:
        DIGITAL:
          title: 디지털
        PHYSICAL:
          title: 실물
    PendingPaymentSchedule:
      title: 결제 완료 대기 상태
      description: 결제 완료 대기 상태
      type: object
      required:
        - status
        - id
        - merchantId
        - storeId
        - paymentId
        - billingKey
        - orderName
        - isCulturalExpense
        - isEscrow
        - customer
        - customData
        - totalAmount
        - currency
        - createdAt
        - timeToPay
        - startedAt
        - completedAt
      properties:
        status:
          type: string
          title: 결제 예약 건 상태
        id:
          type: string
          title: 결제 예약 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        billingKey:
          type: string
          title: 빌링키
        orderName:
          type: string
          title: 주문명
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        createdAt:
          type: string
          format: date-time
          title: 결제 예약 등록 시점
        timeToPay:
          type: string
          format: date-time
          title: 결제 예정 시점
        startedAt:
          type: string
          format: date-time
          title: 결제 시작 시점
        completedAt:
          type: string
          format: date-time
          title: 결제 완료 시점
      x-portone-title: 결제 완료 대기 상태
    PgBillingKeyIssueResponse:
      title: 채널 별 빌링키 발급 응답
      description: 채널 별 빌링키 발급 응답
      oneOf:
        - $ref: '#/components/schemas/FailedPgBillingKeyIssueResponse'
        - $ref: '#/components/schemas/IssuedPgBillingKeyIssueResponse'
      discriminator:
        propertyName: type
        mapping:
          FAILED: '#/components/schemas/FailedPgBillingKeyIssueResponse'
          ISSUED: '#/components/schemas/IssuedPgBillingKeyIssueResponse'
      x-portone-title: 채널 별 빌링키 발급 응답
      x-portone-discriminator:
        ISSUED:
          title: 발급 성공 채널 응답
        FAILED:
          title: 발급 실패 채널 응답
    PgCardPromotion:
      title: PG사 카드 프로모션
      description: |-
        PG사 카드 프로모션

        PG사에서 제공하는 카드 프로모션 정보입니다.
      type: object
      required:
        - promotionId
        - cardCompany
        - discountAmount
        - minimumPaymentAmount
      properties:
        promotionId:
          type: string
          title: 프로모션 아이디
          description: PG사에서 부여한 프로모션 식별자입니다.
        cardCompany:
          $ref: '#/components/schemas/PgPromotionCardCompany'
          title: 카드사
          description: 프로모션이 적용되는 카드사입니다.
        discountAmount:
          type: integer
          format: int64
          title: 할인 금액
          description: 프로모션 적용 시 할인되는 금액입니다.
        minimumPaymentAmount:
          type: integer
          format: int64
          title: 최소 결제 금액
          description: 프로모션이 적용되기 위한 최소 결제 금액입니다.
      x-portone-title: PG사 카드 프로모션
      x-portone-description: PG사에서 제공하는 카드 프로모션 정보입니다.
    PgCompany:
      title: PG사
      description: PG사
      type: string
      enum:
        - INICIS
        - NICE
        - KCP
        - DANAL
        - TOSSPAYMENTS
        - MOBILIANS
        - KICC
        - SMARTRO
        - DAOU
        - BLUEWALNUT
        - PAYPAL
        - ALIPAY
        - EXIMBAY
        - PAYMENTWALL
        - SETTLE
        - GALAXIA
        - NAVERPAY
        - KAKAOPAY
        - SMILEPAY
        - KAKAO
        - TOSSPAY
        - CHAI
        - PAYCO
        - PAYPLE
        - SYRUP
        - KSNET
        - WELCOME
        - JTNET
        - KPN
        - HYPHEN
        - PAYLETTER
        - TRIPLE_A
      x-portone-title: PG사
      x-portone-enum:
        KICC: {}
        ALIPAY: {}
        SYRUP: {}
        PAYCO: {}
        PAYLETTER: {}
        NAVERPAY: {}
        CHAI: {}
        TOSSPAY: {}
        INICIS: {}
        SETTLE: {}
        KAKAO: {}
        DANAL: {}
        BLUEWALNUT: {}
        KAKAOPAY: {}
        EXIMBAY: {}
        WELCOME: {}
        SMARTRO: {}
        SMILEPAY: {}
        PAYMENTWALL: {}
        GALAXIA: {}
        DAOU: {}
        JTNET: {}
        PAYPAL: {}
        MOBILIANS: {}
        HYPHEN: {}
        TRIPLE_A: {}
        KPN: {}
        NICE: {}
        TOSSPAYMENTS: {}
        PAYPLE: {}
        KSNET: {}
        KCP: {}
    PgPromotionCardCompany:
      title: PG 프로모션 카드사
      description: |-
        PG 프로모션 카드사

        PG사 프로모션 조회 시 필터링할 수 있는 카드사 목록입니다.
      type: string
      enum:
        - KOREA_DEVELOPMENT_BANK
        - KFCC
        - SHINHYUP
        - EPOST
        - SAVINGS_BANK_KOREA
        - KAKAO_BANK
        - WOORI_CARD
        - BC_CARD
        - GWANGJU_CARD
        - SAMSUNG_CARD
        - SHINHAN_CARD
        - HYUNDAI_CARD
        - LOTTE_CARD
        - SUHYUP_CARD
        - CITI_CARD
        - NH_CARD
        - JEONBUK_CARD
        - JEJU_CARD
        - HANA_CARD
        - KOOKMIN_CARD
        - K_BANK
        - TOSS_BANK
        - MIRAE_ASSET_SECURITIES
      x-portone-title: PG 프로모션 카드사
      x-portone-description: PG사 프로모션 조회 시 필터링할 수 있는 카드사 목록입니다.
      x-portone-enum:
        HANA_CARD:
          title: 하나카드
        JEONBUK_CARD:
          title: 전북카드
        SHINHYUP:
          title: 신협
        WOORI_CARD:
          title: 우리카드
        LOTTE_CARD:
          title: 롯데카드
        SAMSUNG_CARD:
          title: 삼성카드
        KOREA_DEVELOPMENT_BANK:
          title: KDB산업은행
        SUHYUP_CARD:
          title: 수협카드
        GWANGJU_CARD:
          title: 광주카드
        HYUNDAI_CARD:
          title: 현대카드
        EPOST:
          title: 우체국
        BC_CARD:
          title: BC카드
        K_BANK:
          title: 케이뱅크
        JEJU_CARD:
          title: 제주카드
        KOOKMIN_CARD:
          title: 국민카드
        MIRAE_ASSET_SECURITIES:
          title: 미래에셋증권
        NH_CARD:
          title: NH카드
        SHINHAN_CARD:
          title: 신한카드
        CITI_CARD:
          title: 씨티카드
        SAVINGS_BANK_KOREA:
          title: 저축은행
        KFCC:
          title: 새마을금고
        KAKAO_BANK:
          title: 카카오뱅크
        TOSS_BANK:
          title: 토스뱅크
    PgProvider:
      title: PG사 결제 모듈
      description: PG사 결제 모듈
      type: string
      enum:
        - HTML5_INICIS
        - PAYPAL
        - PAYPAL_V2
        - INICIS
        - DANAL
        - NICE
        - DANAL_TPAY
        - JTNET
        - UPLUS
        - NAVERPAY
        - KAKAO
        - SETTLE
        - KCP
        - MOBILIANS
        - KAKAOPAY
        - NAVERCO
        - SYRUP
        - KICC
        - EXIMBAY
        - SMILEPAY
        - PAYCO
        - KCP_BILLING
        - ALIPAY
        - PAYPLE
        - CHAI
        - BLUEWALNUT
        - SMARTRO
        - SMARTRO_V2
        - PAYMENTWALL
        - TOSSPAYMENTS
        - KCP_QUICK
        - DAOU
        - GALAXIA
        - TOSSPAY
        - KCP_DIRECT
        - SETTLE_ACC
        - SETTLE_FIRM
        - INICIS_UNIFIED
        - KSNET
        - PINPAY
        - NICE_V2
        - TOSS_BRANDPAY
        - WELCOME
        - TOSSPAY_V2
        - INICIS_V2
        - KPN
        - KCP_V2
        - HYPHEN
        - EXIMBAY_V2
        - INICIS_JP
        - PAYLETTER_GLOBAL
        - MOBILIANS_V2
        - TRIPLE_A
        - KICC_V2
      x-portone-title: PG사 결제 모듈
      x-portone-enum:
        KICC: {}
        SYRUP: {}
        KCP_BILLING: {}
        SMARTRO_V2: {}
        CHAI: {}
        NICE_V2: {}
        PAYPAL_V2: {}
        KAKAO: {}
        DANAL: {}
        KAKAOPAY: {}
        EXIMBAY: {}
        ALIPAY: {}
        HTML5_INICIS: {}
        WELCOME: {}
        SMARTRO: {}
        PAYLETTER_GLOBAL: {}
        PAYCO: {}
        SMILEPAY: {}
        PAYMENTWALL: {}
        NAVERPAY: {}
        EXIMBAY_V2: {}
        KCP_QUICK: {}
        NAVERCO: {}
        DAOU: {}
        GALAXIA: {}
        PINPAY: {}
        MOBILIANS_V2: {}
        INICIS_JP: {}
        SETTLE_ACC: {}
        TOSSPAY_V2: {}
        TOSSPAY: {}
        SETTLE_FIRM: {}
        INICIS: {}
        TOSS_BRANDPAY: {}
        JTNET: {}
        PAYPAL: {}
        DANAL_TPAY: {}
        KCP_DIRECT: {}
        SETTLE: {}
        MOBILIANS: {}
        UPLUS: {}
        HYPHEN: {}
        TRIPLE_A: {}
        KPN: {}
        KICC_V2: {}
        INICIS_V2: {}
        KCP_V2: {}
        INICIS_UNIFIED: {}
        BLUEWALNUT: {}
        NICE: {}
        TOSSPAYMENTS: {}
        PAYPLE: {}
        KSNET: {}
        KCP: {}
    PgProviderError:
      title: PG사에서 오류를 전달한 경우
      description: PG사에서 오류를 전달한 경우
      type: object
      required:
        - type
        - pgCode
        - pgMessage
      properties:
        type:
          type: string
        message:
          type: string
        pgCode:
          type: string
        pgMessage:
          type: string
      x-portone-title: PG사에서 오류를 전달한 경우
      x-portone-status-code: 502
    PlatformAccount:
      title: 플랫폼 정산 계좌
      description: >-
        플랫폼 정산 계좌


        `currency` 가 KRW 일 경우 예금주 조회 API 를 통해 올바른 계좌인지 검증합니다. 그 외의 화폐일 경우 따로
        검증하지는 않습니다.
      type: object
      required:
        - bank
        - currency
        - number
        - holder
        - status
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        currency:
          $ref: '#/components/schemas/Currency'
          title: 정산에 사용할 통화
        number:
          type: string
          title: 계좌번호
        holder:
          type: string
          title: 예금주명
        status:
          $ref: '#/components/schemas/PlatformAccountStatus'
          title: 계좌 상태
      x-portone-title: 플랫폼 정산 계좌
      x-portone-description: >-
        `currency` 가 KRW 일 경우 예금주 조회 API 를 통해 올바른 계좌인지 검증합니다. 그 외의 화폐일 경우 따로
        검증하지는 않습니다.
    PlatformAccountHolder:
      title: 예금주 조회 성공 응답 정보
      description: 예금주 조회 성공 응답 정보
      type: object
      required:
        - holderName
        - accountVerificationId
      properties:
        holderName:
          type: string
          title: 계좌 예금주 이름
        accountVerificationId:
          type: string
          title: 계좌 검증 아이디
      x-portone-title: 예금주 조회 성공 응답 정보
    PlatformAccountStatus:
      title: 플랫폼 계좌 상태
      description: 플랫폼 계좌 상태
      type: string
      enum:
        - VERIFIED
        - VERIFY_FAILED
        - VERIFY_ERROR
        - NOT_VERIFIED
        - UNKNOWN
      x-portone-title: 플랫폼 계좌 상태
      x-portone-enum:
        NOT_VERIFIED:
          title: 계좌 인증 안됨
        VERIFY_FAILED:
          title: 계좌주 불일치
        VERIFIED:
          title: 계좌 인증 완료됨
        VERIFY_ERROR:
          title: 계좌 인증 오류
        UNKNOWN:
          title: 알 수 없는 상태
    PlatformAccountTransfer:
      title: 계좌 이체
      description: |-
        계좌 이체

        송금 대행을 통해 일어난 정산 금액 지급, 인출 목적의 계좌 이체 결과 정보입니다.
      oneOf:
        - $ref: '#/components/schemas/PlatformDepositAccountTransfer'
        - $ref: '#/components/schemas/PlatformWithdrawalAccountTransfer'
      discriminator:
        propertyName: type
        mapping:
          DEPOSIT: '#/components/schemas/PlatformDepositAccountTransfer'
          WITHDRAWAL: '#/components/schemas/PlatformWithdrawalAccountTransfer'
      x-portone-title: 계좌 이체
      x-portone-description: '송금 대행을 통해 일어난 정산 금액 지급, 인출 목적의 계좌 이체 결과 정보입니다.'
      x-portone-discriminator:
        DEPOSIT: {}
        WITHDRAWAL: {}
    PlatformAccountTransferFilter:
      title: PlatformAccountTransferFilter
      type: object
      properties:
        tradeTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 이체 일시 범위
        createdTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 생성 일시 범위
        statusUpdatedTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 상태 업데이트 일시 범위
        scheduledTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 이체 예정 일시 범위
        accountTransferId:
          type: string
          title: 이체 아이디
        bankAccountId:
          type: string
          title: 계좌 아이디
        bulkAccountTransferId:
          type: string
          title: 일괄 이체 아이디
        payoutId:
          type: string
          title: 지급 아이디
        accountTransferIds:
          type: array
          items:
            type: string
          title: 이체 아이디 리스트
        types:
          title: 구분
          type: array
          items:
            $ref: '#/components/schemas/PlatformAccountTransferType'
        statuses:
          title: 상태
          type: array
          items:
            $ref: '#/components/schemas/PlatformAccountTransferStatus'
        depositorName:
          type: string
          title: 입금자명
        depositAccountHolder:
          type: string
          title: 예금주
        depositMemo:
          type: string
          title: 받는 이 통장 메모
        withdrawalMemo:
          type: string
          title: 보내는 이 통장 메모
    PlatformAccountTransferStatus:
      title: 계좌 이체 상태
      description: 계좌 이체 상태
      type: string
      enum:
        - PREPARED
        - SCHEDULED
        - CANCELLED
        - STOPPED
        - PROCESSING
        - ASYNC_PROCESSING
        - SUCCEEDED
        - FAILED
      x-portone-title: 계좌 이체 상태
      x-portone-enum:
        STOPPED:
          title: 중단
        PREPARED:
          title: 대기
        CANCELLED:
          title: 취소
        SUCCEEDED:
          title: 성공
        SCHEDULED:
          title: 예약
        PROCESSING:
          title: 처리 중
        ASYNC_PROCESSING:
          title: 비동기 처리 중
        FAILED:
          title: 실패
    PlatformAccountTransferStatusStats:
      title: PlatformAccountTransferStatusStats
      type: object
      required:
        - prepared
        - scheduled
        - cancelled
        - stopped
        - processing
        - asyncProcessing
        - succeeded
        - failed
      properties:
        prepared:
          type: integer
          format: int64
        scheduled:
          type: integer
          format: int64
        cancelled:
          type: integer
          format: int64
        stopped:
          type: integer
          format: int64
        processing:
          type: integer
          format: int64
        asyncProcessing:
          type: integer
          format: int64
        succeeded:
          type: integer
          format: int64
        failed:
          type: integer
          format: int64
    PlatformAccountTransferType:
      title: 계좌 이체 유형
      description: 계좌 이체 유형
      type: string
      enum:
        - DEPOSIT
        - WITHDRAWAL
      x-portone-title: 계좌 이체 유형
      x-portone-enum:
        DEPOSIT:
          title: 입금
        WITHDRAWAL:
          title: 출금
    PlatformAccountVerificationAlreadyUsedError:
      title: 파트너 계좌 검증 아이디를 이미 사용한 경우
      description: 파트너 계좌 검증 아이디를 이미 사용한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 계좌 검증 아이디를 이미 사용한 경우
      x-portone-status-code: 409
    PlatformAccountVerificationFailedError:
      title: 파트너 계좌 인증이 실패한 경우
      description: 파트너 계좌 인증이 실패한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 계좌 인증이 실패한 경우
      x-portone-status-code: 400
    PlatformAccountVerificationNotFoundError:
      title: 파트너 계좌 검증 아이디를 찾을 수 없는 경우
      description: 파트너 계좌 검증 아이디를 찾을 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 계좌 검증 아이디를 찾을 수 없는 경우
      x-portone-status-code: 404
    PlatformAdditionalFeePoliciesNotFoundError:
      title: PlatformAdditionalFeePoliciesNotFoundError
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformAdditionalFeePolicy:
      title: 추가 수수료 정책
      description: >-
        추가 수수료 정책


        추가 수수료 정책는 고객사의 주문건에 대한 중개수수료에 별도로 추가로 부여되는 수수료입니다. 대표적인 사용 예시로 풀필먼트
        수수료, 로켓배송 수수료, 마케팅 채널 수수료등이 있습니다.
      type: object
      required:
        - id
        - graphqlId
        - name
        - fee
        - vatPayer
        - isArchived
        - appliedAt
        - isForTest
      properties:
        id:
          type: string
          title: 추가 수수료 정책 고유 아이디
        graphqlId:
          type: string
        name:
          type: string
          title: 추가 수수료 정책 이름
        fee:
          $ref: '#/components/schemas/PlatformFee'
          title: 책정 수수료
        memo:
          type: string
          title: 해당 추가 수수료 정책에 대한 메모
        vatPayer:
          $ref: '#/components/schemas/PlatformPayer'
          title: 부가세를 부담할 주체
        isArchived:
          type: boolean
          title: 보관 여부
        appliedAt:
          type: string
          format: date-time
          title: 변경 적용 시점
        isForTest:
          type: boolean
      x-portone-title: 추가 수수료 정책
      x-portone-description: >-
        추가 수수료 정책는 고객사의 주문건에 대한 중개수수료에 별도로 추가로 부여되는 수수료입니다. 대표적인 사용 예시로 풀필먼트
        수수료, 로켓배송 수수료, 마케팅 채널 수수료등이 있습니다.
    PlatformAdditionalFeePolicyAlreadyExistsError:
      title: PlatformAdditionalFeePolicyAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformAdditionalFeePolicyFilterInput:
      title: 추가 수수료 정책 다건 조회를 위한 필터 조건
      description: 추가 수수료 정책 다건 조회를 위한 필터 조건
      type: object
      properties:
        isArchived:
          type: boolean
          title: 보관 조회 여부
          description: >-
            true 이면 보관된 추가 수수료 정책의 필터 옵션을 조회하고, false 이면 보관되지 않은 추가 수수료 정책의 필터
            옵션을 조회합니다. 기본값은 false 입니다.
        vatPayers:
          title: 금액 부담 주체
          type: array
          items:
            $ref: '#/components/schemas/PlatformPayer'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 부가세 부담 주체에 해당하는 추가 수수료 정책만 조회합니다.
        keyword:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicyFilterInputKeyword'
          title: 검색 키워드
      x-portone-title: 추가 수수료 정책 다건 조회를 위한 필터 조건
    PlatformAdditionalFeePolicyFilterInputKeyword:
      title: 검색 키워드 입력 정보
      description: >-
        검색 키워드 입력 정보


        검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 추가 수수료 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만
        적용됩니다.
      type: object
      properties:
        name:
          type: string
          description: 해당 값이 포함된 name 을 가진 추가 수수료 정책만 조회합니다.
        id:
          type: string
          description: 해당 값이 포함된 id 를 가진 추가 수수료 정책만 조회합니다.
        fee:
          type: string
          description: 해당 값과 같은 수수료 를 가진 추가 수수료 정책만 조회합니다.
      x-portone-title: 검색 키워드 입력 정보
      x-portone-description: >-
        검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 추가 수수료 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만
        적용됩니다.
    PlatformAdditionalFeePolicyNotFoundError:
      title: PlatformAdditionalFeePolicyNotFoundError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformAdditionalFeePolicyScheduleAlreadyExistsError:
      title: PlatformAdditionalFeePolicyScheduleAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError:
      title: >-
        PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError
      type: object
      required:
        - type
        - id
        - graphqlId
        - feeCurrency
        - settlementCurrency
      properties:
        type:
          type: string
        id:
          type: string
        graphqlId:
          type: string
        feeCurrency:
          $ref: '#/components/schemas/Currency'
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
        message:
          type: string
      x-portone-status-code: 400
    PlatformAmountExceededType:
      title: PlatformAmountExceededType
      type: string
      enum:
        - DISCOUNT_THAN_ORDER
        - DISCOUNT_TAX_FREE_THAN_DISCOUNT
        - DISCOUNT_TAX_FREE_THAN_ORDER_TAX_FREE
        - PAYMENT_TAX_FREE_THAN_PAYMENT
      x-portone-enum:
        DISCOUNT_THAN_ORDER:
          title: 할인금액이 주문금액을 초과
        DISCOUNT_TAX_FREE_THAN_DISCOUNT:
          title: 면세 할인금액이 할인금액을 초과
        DISCOUNT_TAX_FREE_THAN_ORDER_TAX_FREE:
          title: 면세 할인금액이 면세 주문금액을 초과
        PAYMENT_TAX_FREE_THAN_PAYMENT:
          title: 면세 결제금액이 결제금액을 초과
    PlatformArchivedAdditionalFeePolicyError:
      title: 보관된 추가 수수료 정책을 업데이트하려고 하는 경우
      description: 보관된 추가 수수료 정책을 업데이트하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 보관된 추가 수수료 정책을 업데이트하려고 하는 경우
      x-portone-status-code: 409
    PlatformArchivedContractError:
      title: 보관된 계약을 업데이트하려고 하는 경우
      description: 보관된 계약을 업데이트하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 보관된 계약을 업데이트하려고 하는 경우
      x-portone-status-code: 409
    PlatformArchivedDiscountSharePolicyError:
      title: 보관된 할인 분담 정책을 업데이트하려고 하는 경우
      description: 보관된 할인 분담 정책을 업데이트하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 보관된 할인 분담 정책을 업데이트하려고 하는 경우
      x-portone-status-code: 409
    PlatformArchivedPartnerError:
      title: 보관된 파트너를 업데이트하려고 하는 경우
      description: 보관된 파트너를 업데이트하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 보관된 파트너를 업데이트하려고 하는 경우
      x-portone-status-code: 409
    PlatformArchivedPartnerNtsNotAllowedError:
      title: 보관된 파트너는 국세청 연동/연동해제를 할 수 없는 경우
      description: 보관된 파트너는 국세청 연동/연동해제를 할 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 보관된 파트너는 국세청 연동/연동해제를 할 수 없는 경우
      x-portone-status-code: 409
    PlatformArchivedPartnersCannotBeScheduledError:
      title: 보관된 파트너들을 예약 업데이트하려고 하는 경우
      description: 보관된 파트너들을 예약 업데이트하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 보관된 파트너들을 예약 업데이트하려고 하는 경우
      x-portone-status-code: 409
    PlatformBankAccountDetail:
      title: 계좌 상세 정보
      description: 계좌 상세 정보
      type: object
      required:
        - accountNumber
        - bank
        - provider
      properties:
        accountNumber:
          type: string
          title: 계좌번호
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        provider:
          $ref: '#/components/schemas/PlatformBankAccountProvider'
          title: 제공자
        holder:
          type: string
          title: 예금주명
      x-portone-title: 계좌 상세 정보
    PlatformBankAccountProvider:
      title: 제공자
      description: 제공자
      type: string
      enum:
        - HYPHEN_DATA
        - HYPHEN_FIRM
        - DOZN
        - MOCK
      x-portone-title: 제공자
      x-portone-enum:
        HYPHEN_DATA:
          title: 하이픈 데이터
        HYPHEN_FIRM:
          title: 하이픈 펌뱅킹
        DOZN:
          title: 더즌
        MOCK:
          title: 모의
    PlatformBtxNotEnabledError:
      title: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
      description: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
      x-portone-status-code: 403
    PlatformBulkAccountTransfer:
      title: PlatformBulkAccountTransfer
      type: object
      required:
        - id
        - graphqlId
        - creatorId
        - bankAccountId
        - bankAccountGraphqlId
        - totalAmount
        - status
        - stats
        - statusUpdatedAt
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          title: 일괄 이체 고유 아이디
        graphqlId:
          type: string
        creatorId:
          type: string
        bankAccountId:
          type: string
          title: 출금 계좌 아이디
        bankAccountGraphqlId:
          type: string
        totalAmount:
          type: integer
          format: int64
        status:
          $ref: '#/components/schemas/PlatformBulkAccountTransferStatus'
        stats:
          $ref: '#/components/schemas/PlatformBulkAccountTransferStats'
        statusUpdatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        scheduledAt:
          type: string
          format: date-time
    PlatformBulkAccountTransferFilterInput:
      title: PlatformBulkAccountTransferFilterInput
      type: object
      properties:
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/PlatformBulkAccountTransferStatus'
        criteria:
          $ref: '#/components/schemas/PlatformBulkAccountTransferFilterInputCriteria'
    PlatformBulkAccountTransferFilterInputCriteria:
      title: PlatformBulkAccountTransferFilterInputCriteria
      type: object
      properties:
        timestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 생성 일시 범위
        statusUpdatedTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 상태 업데이트 일시 범위
        bulkAccountTransferId:
          type: string
          title: 일괄 이체 아이디
    PlatformBulkAccountTransferStats:
      title: PlatformBulkAccountTransferStats
      type: object
      required:
        - amount
        - count
      properties:
        amount:
          $ref: '#/components/schemas/PlatformAccountTransferStatusStats'
        count:
          $ref: '#/components/schemas/PlatformAccountTransferStatusStats'
    PlatformBulkAccountTransferStatus:
      title: PlatformBulkAccountTransferStatus
      type: string
      enum:
        - PREPARED
        - SCHEDULED
        - ONGOING
        - COMPLETED
      x-portone-enum:
        PREPARED: {}
        SCHEDULED: {}
        ONGOING: {}
        COMPLETED: {}
    PlatformBulkAccountTransferStatusStats:
      title: PlatformBulkAccountTransferStatusStats
      type: object
      required:
        - prepared
        - scheduled
        - ongoing
        - completed
      properties:
        prepared:
          type: integer
          format: int64
        scheduled:
          type: integer
          format: int64
        ongoing:
          type: integer
          format: int64
        completed:
          type: integer
          format: int64
    PlatformBulkPayout:
      title: PlatformBulkPayout
      type: object
      required:
        - id
        - graphqlId
        - name
        - creatorId
        - method
        - totalPayoutAmount
        - totalSettlementAmount
        - status
        - payoutStats
        - statusUpdatedAt
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          title: 일괄 지급 고유 아이디
        graphqlId:
          type: string
        name:
          type: string
          title: 이름
        creatorId:
          type: string
          title: 생성자 아이디
        method:
          $ref: '#/components/schemas/PlatformPayoutMethod'
          title: 지급 유형
        totalPayoutAmount:
          type: integer
          format: int64
          title: 총 지급 금액
        totalSettlementAmount:
          type: integer
          format: int64
          title: 총 정산 금액
        status:
          $ref: '#/components/schemas/PlatformBulkPayoutStatus'
          title: 상태
        payoutStats:
          $ref: '#/components/schemas/PlatformBulkPayoutStats'
          title: 지급 통계
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 일시
        createdAt:
          type: string
          format: date-time
          title: 생성 일시
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 일시
    PlatformBulkPayoutFilterInput:
      title: PlatformBulkPayoutFilterInput
      type: object
      properties:
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/PlatformBulkPayoutStatus'
        methods:
          type: array
          items:
            $ref: '#/components/schemas/PlatformPayoutMethod'
        criteria:
          $ref: '#/components/schemas/PlatformBulkPayoutFilterInputCriteria'
    PlatformBulkPayoutFilterInputCriteria:
      title: PlatformBulkPayoutFilterInputCriteria
      type: object
      properties:
        timestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 생성 일시 범위
        statusUpdatedTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 상태 업데이트 일시 범위
        bulkPayoutId:
          type: string
          title: 일괄 지급 아이디
    PlatformBulkPayoutIdAlreadyExistsError:
      title: 일괄 지급 아이디가 이미 존재하는 경우
      description: 일괄 지급 아이디가 이미 존재하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 일괄 지급 아이디가 이미 존재하는 경우
      x-portone-status-code: 409
    PlatformBulkPayoutStats:
      title: PlatformBulkPayoutStats
      type: object
      required:
        - amount
        - count
      properties:
        amount:
          $ref: '#/components/schemas/PlatformPayoutStatusStats'
        count:
          $ref: '#/components/schemas/PlatformPayoutStatusStats'
    PlatformBulkPayoutStatus:
      title: PlatformBulkPayoutStatus
      type: string
      enum:
        - PREPARING
        - PREPARED
        - ONGOING
        - POST_PROCESS_PENDING
        - CANCELLED
        - COMPLETED
      x-portone-enum:
        PREPARED: {}
        CANCELLED: {}
        COMPLETED: {}
        PREPARING: {}
        POST_PROCESS_PENDING: {}
        ONGOING: {}
    PlatformBulkPayoutStatusStats:
      title: PlatformBulkPayoutStatusStats
      type: object
      required:
        - preparing
        - prepared
        - ongoing
        - postProcessPending
        - completed
        - cancelled
      properties:
        preparing:
          type: integer
          format: int64
        prepared:
          type: integer
          format: int64
        ongoing:
          type: integer
          format: int64
        postProcessPending:
          type: integer
          format: int64
        completed:
          type: integer
          format: int64
        cancelled:
          type: integer
          format: int64
    PlatformBulkTask:
      title: PlatformBulkTask
      type: object
      required:
        - id
        - graphqlId
        - status
        - type
        - progressStats
        - isForTest
        - statusUpdatedAt
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
        graphqlId:
          type: string
        status:
          $ref: '#/components/schemas/PlatformBulkTaskStatus'
        type:
          $ref: '#/components/schemas/PlatformBulkTaskType'
        progressStats:
          $ref: '#/components/schemas/PlatformBulkTaskProgressStats'
        isForTest:
          type: boolean
        statusUpdatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    PlatformBulkTaskProgressStats:
      title: PlatformBulkTaskProgressStats
      type: object
      required:
        - preparedCount
        - processingCount
        - succeededCount
        - failedCount
        - canceledCount
      properties:
        preparedCount:
          type: integer
          format: int64
        processingCount:
          type: integer
          format: int64
        succeededCount:
          type: integer
          format: int64
        failedCount:
          type: integer
          format: int64
        canceledCount:
          type: integer
          format: int64
    PlatformBulkTaskStatus:
      title: PlatformBulkTaskStatus
      type: string
      enum:
        - PREPARED
        - PROCESSING
        - COMPLETED
        - CANCELED
      x-portone-enum:
        PREPARED: {}
        PROCESSING: {}
        COMPLETED: {}
        CANCELED: {}
    PlatformBulkTaskType:
      title: PlatformBulkTaskType
      type: string
      enum:
        - CREATE_TRANSFERS
        - CREATE_PARTNERS
        - CONNECT_MEMBER_COMPANIES
        - DISCONNECT_MEMBER_COMPANIES
        - SEND_PAYOUT_SETTLEMENT_STATEMENTS
      x-portone-enum:
        CREATE_TRANSFERS:
          title: 정산건 일괄 등록
        DISCONNECT_MEMBER_COMPANIES:
          title: 파트너 일괄 국세청 연동 해제
        CONNECT_MEMBER_COMPANIES:
          title: 파트너 일괄 국세청 연동
        SEND_PAYOUT_SETTLEMENT_STATEMENTS:
          title: 정산 내역서 일괄 발송
        CREATE_PARTNERS:
          title: 파트너 일괄 등록
    PlatformBusinessStatus:
      title: 플랫폼 사업자 상태
      description: 플랫폼 사업자 상태
      type: string
      enum:
        - IN_BUSINESS
        - CLOSED
        - SUSPENDED
      x-portone-title: 플랫폼 사업자 상태
      x-portone-enum:
        IN_BUSINESS:
          title: 사업 중
        CLOSED:
          title: 폐업
        SUSPENDED:
          title: 휴업
    PlatformCancelOrderTransfersExistsError:
      title: PlatformCancelOrderTransfersExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformCancellableAmountExceededError:
      title: 취소 가능한 금액이 초과한 경우
      description: 취소 가능한 금액이 초과한 경우
      type: object
      required:
        - type
        - cancellableAmount
        - requestAmount
        - amountType
      properties:
        type:
          type: string
        cancellableAmount:
          type: integer
          format: int64
        requestAmount:
          type: integer
          format: int64
        amountType:
          $ref: '#/components/schemas/PlatformCancellableAmountType'
        message:
          type: string
      x-portone-title: 취소 가능한 금액이 초과한 경우
      x-portone-status-code: 400
    PlatformCancellableAmountType:
      title: 금액 타입
      description: 금액 타입
      type: string
      enum:
        - SUPPLY_WITH_VAT
        - TAX_FREE
      x-portone-title: 금액 타입
      x-portone-enum:
        SUPPLY_WITH_VAT:
          title: 공급대가
          description: 공급가액과 부가세를 더한 금액입니다.
        TAX_FREE:
          title: 면세 금액
    PlatformCancellableDiscountAmountExceededError:
      title: PlatformCancellableDiscountAmountExceededError
      type: object
      required:
        - type
        - discountSharePolicyId
        - discountSharePolicyGraphqlId
        - cancellableAmount
        - requestAmount
      properties:
        type:
          type: string
        discountSharePolicyId:
          type: string
        discountSharePolicyGraphqlId:
          type: string
        cancellableAmount:
          type: integer
          format: int64
        requestAmount:
          type: integer
          format: int64
        productId:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformCancellableDiscountTaxFreeAmountExceededError:
      title: PlatformCancellableDiscountTaxFreeAmountExceededError
      type: object
      required:
        - type
        - discountSharePolicyId
        - discountSharePolicyGraphqlId
        - cancellableAmount
        - requestAmount
      properties:
        type:
          type: string
        discountSharePolicyId:
          type: string
        discountSharePolicyGraphqlId:
          type: string
        cancellableAmount:
          type: integer
          format: int64
        requestAmount:
          type: integer
          format: int64
        productId:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformCancellableProductQuantityExceededError:
      title: PlatformCancellableProductQuantityExceededError
      type: object
      required:
        - type
        - productId
        - cancellableQuantity
      properties:
        type:
          type: string
        productId:
          type: string
        cancellableQuantity:
          type: integer
          format: int64
        message:
          type: string
      x-portone-status-code: 400
    PlatformCancellationAndPaymentTypeMismatchedError:
      title: PlatformCancellationAndPaymentTypeMismatchedError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformCancellationNotFoundError:
      title: PlatformCancellationNotFoundError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformCannotArchiveScheduledAdditionalFeePolicyError:
      title: 예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우
      description: 예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우
      x-portone-status-code: 409
    PlatformCannotArchiveScheduledContractError:
      title: 예약된 업데이트가 있는 계약을 보관하려고 하는 경우
      description: 예약된 업데이트가 있는 계약을 보관하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 예약된 업데이트가 있는 계약을 보관하려고 하는 경우
      x-portone-status-code: 409
    PlatformCannotArchiveScheduledDiscountSharePolicyError:
      title: 예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우
      description: 예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우
      x-portone-status-code: 409
    PlatformCannotArchiveScheduledPartnerError:
      title: 예약된 업데이트가 있는 파트너를 보관하려고 하는 경우
      description: 예약된 업데이트가 있는 파트너를 보관하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 예약된 업데이트가 있는 파트너를 보관하려고 하는 경우
      x-portone-status-code: 409
    PlatformCannotSpecifyTransferError:
      title: 정산 건 식별에 실패한 경우
      description: 정산 건 식별에 실패한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 정산 건 식별에 실패한 경우
      x-portone-status-code: 400
    PlatformCompanyNotFoundError:
      title: 사업자 정보를 찾을 수 없는 경우
      description: 사업자 정보를 찾을 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 사업자 정보를 찾을 수 없는 경우
      x-portone-status-code: 404
    PlatformCompanyState:
      title: PlatformCompanyState
      type: object
      required:
        - taxationType
        - businessStatus
      properties:
        taxationType:
          $ref: '#/components/schemas/PlatformTaxationType'
        taxationTypeDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        businessStatus:
          $ref: '#/components/schemas/PlatformBusinessStatus'
        closedSuspendedDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
    PlatformCompanyVerificationAlreadyUsedError:
      title: 파트너 사업자 검증 아이디를 이미 사용한 경우
      description: 파트너 사업자 검증 아이디를 이미 사용한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 사업자 검증 아이디를 이미 사용한 경우
      x-portone-status-code: 409
    PlatformContact:
      title: 플랫폼 파트너 담당자 연락 정보
      description: |-
        플랫폼 파트너 담당자 연락 정보

        파트너 담당자에게 연락하기 위한 정보들 입니다.
      type: object
      required:
        - name
        - email
      properties:
        name:
          type: string
          title: 담당자 이름
        phoneNumber:
          type: string
          title: 담당자 휴대폰 번호
        email:
          type: string
          title: 담당자 이메일
      x-portone-title: 플랫폼 파트너 담당자 연락 정보
      x-portone-description: 파트너 담당자에게 연락하기 위한 정보들 입니다.
    PlatformContract:
      title: 계약
      description: |-
        계약

        계약은 플랫폼 고객사가 파트너에게 정산해줄 대금과 정산일을 계산하는 데 적용되는 정보입니다.
        고객사의 플랫폼에서 재화 및 서비스를 판매하기 위한 중개수수료와 판매금에 대한 정산일로 구성되어 있습니다.
      type: object
      required:
        - id
        - graphqlId
        - name
        - platformFee
        - settlementCycle
        - platformFeeVatPayer
        - subtractPaymentVatAmount
        - isArchived
        - appliedAt
        - isForTest
      properties:
        id:
          type: string
          title: 계약 고유 아이디
        graphqlId:
          type: string
        name:
          type: string
          title: 계약 이름
        memo:
          type: string
          title: 계약 내부 표기를 위한 메모
        platformFee:
          $ref: '#/components/schemas/PlatformFee'
          title: 중개수수료
        settlementCycle:
          $ref: '#/components/schemas/PlatformSettlementCycle'
          title: 정산 주기
        platformFeeVatPayer:
          $ref: '#/components/schemas/PlatformPayer'
          title: 중개수수료에 대한 부가세 부담 주체
        subtractPaymentVatAmount:
          type: boolean
          title: 정산 시 결제금액 부가세 감액 여부
          description: 'false인 경우 정산금에서 결제 금액 부가세를 감액하지 않고, true인 경우 정산금에서 결제 금액 부가세를 감액합니다.'
        isArchived:
          type: boolean
          title: 보관 여부
        appliedAt:
          type: string
          format: date-time
          title: 변경 적용 시점
        isForTest:
          type: boolean
      x-portone-title: 계약
      x-portone-description: |-
        계약은 플랫폼 고객사가 파트너에게 정산해줄 대금과 정산일을 계산하는 데 적용되는 정보입니다.
        고객사의 플랫폼에서 재화 및 서비스를 판매하기 위한 중개수수료와 판매금에 대한 정산일로 구성되어 있습니다.
    PlatformContractAlreadyExistsError:
      title: PlatformContractAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformContractFilterInput:
      title: 계약 다건 조회를 위한 필터 조건
      description: 계약 다건 조회를 위한 필터 조건
      type: object
      properties:
        platformFeePayers:
          title: 금액 부담 주체
          type: array
          items:
            $ref: '#/components/schemas/PlatformPayer'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 수수료 부담 주체를 가진 계약만 조회합니다.
        cycleTypes:
          title: 플랫폼 정산 주기 계산 방식
          type: array
          items:
            $ref: '#/components/schemas/PlatformSettlementCycleType'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 주기 계산 방식을 가진 계약만 조회합니다.
        datePolicies:
          title: 플랫폼 정산 기준일
          type: array
          items:
            $ref: '#/components/schemas/PlatformSettlementCycleDatePolicy'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 기준일을 가진 계약만 조회합니다.
        isArchived:
          type: boolean
          title: 보관 조회 여부
          description: 'true 이면 보관된 계약을 조회하고, false 이면 보관되지 않은 계약을 조회합니다. 기본값은 false 입니다.'
        keyword:
          $ref: '#/components/schemas/PlatformContractFilterInputKeyword'
          title: 검색 키워드
      x-portone-title: 계약 다건 조회를 위한 필터 조건
    PlatformContractFilterInputKeyword:
      title: 검색 키워드 입력 정보
      description: |-
        검색 키워드 입력 정보

        검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 계약만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.
      type: object
      properties:
        id:
          type: string
          description: 해당 값이 포함된 id 를 가진 계약만 조회합니다.
        name:
          type: string
          description: 해당 값이 포함된 name 을 가진 계약만 조회합니다.
      x-portone-title: 검색 키워드 입력 정보
      x-portone-description: '검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 계약만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.'
    PlatformContractNotFoundError:
      title: PlatformContractNotFoundError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError:
      title: >-
        PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError
      type: object
      required:
        - type
        - id
        - graphqlId
        - feeCurrency
        - settlementCurrency
      properties:
        type:
          type: string
        id:
          type: string
        graphqlId:
          type: string
        feeCurrency:
          $ref: '#/components/schemas/Currency'
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
        message:
          type: string
      x-portone-status-code: 400
    PlatformContractScheduleAlreadyExistsError:
      title: PlatformContractScheduleAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformContractsNotFoundError:
      title: PlatformContractsNotFoundError
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformCounterpartyNotConnectableStatusError:
      title: 파트너 거래처 연동 상태가 연동 가능한 상태가 아닌 경우
      description: 파트너 거래처 연동 상태가 연동 가능한 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 거래처 연동 상태가 연동 가능한 상태가 아닌 경우
      x-portone-status-code: 400
    PlatformCounterpartyNotConnectedError:
      title: 파트너가 거래처로 연동 되어있지 않은 경우
      description: 파트너가 거래처로 연동 되어있지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너가 거래처로 연동 되어있지 않은 경우
      x-portone-status-code: 400
    PlatformCounterpartyOngoingTaxInvoiceExistsError:
      title: 연동된 거래처에 진행 중인 세금계산서가 있는 경우
      description: 연동된 거래처에 진행 중인 세금계산서가 있는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 연동된 거래처에 진행 중인 세금계산서가 있는 경우
      x-portone-status-code: 409
    PlatformCurrencyNotSupportedError:
      title: 지원 되지 않는 통화를 선택한 경우
      description: 지원 되지 않는 통화를 선택한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 지원 되지 않는 통화를 선택한 경우
      x-portone-status-code: 400
    PlatformDepositAccountTransfer:
      title: PlatformDepositAccountTransfer
      type: object
      required:
        - type
        - id
        - bankAccountId
        - bankAccountGraphqlId
        - bankAccount
        - currency
        - amount
        - createdAt
        - updatedAt
        - depositorName
        - isForTest
        - statusUpdatedAt
        - status
      properties:
        type:
          type: string
          title: 계좌 이체 유형
        id:
          type: string
          title: 계좌 이체 아이디
        bankAccountId:
          type: string
          title: 입금 계좌 아이디
        bankAccountGraphqlId:
          type: string
        bankAccount:
          $ref: '#/components/schemas/PlatformBankAccountDetail'
          title: 입금 계좌 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        amount:
          type: integer
          format: int64
          title: 금액
        depositMemo:
          type: string
          title: 입금 계좌 적요
        tradedAt:
          type: string
          format: date-time
          title: 이체 일시
        createdAt:
          type: string
          format: date-time
          title: 생성 일시
        updatedAt:
          type: string
          format: date-time
          title: 수정 일시
        depositorName:
          type: string
          title: 입금자명
        isForTest:
          type: boolean
          title: 테스트 모드 여부
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 일시
        status:
          $ref: '#/components/schemas/PlatformAccountTransferStatus'
          title: 상태
    PlatformDiscountSharePoliciesNotFoundError:
      title: PlatformDiscountSharePoliciesNotFoundError
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformDiscountSharePolicy:
      title: 할인 분담 정책
      description: >-
        할인 분담 정책


        할인 분담은 고객사의 주문건에 쿠폰 및 포인트와 같은 할인금액이 적용될 때, 파트너 정산 시 할인금액에 대한 분담 정책을 가지는
        객체입니다.

        할인 유형에 대한 아이디와 메모, 그리고 파트너 분담율을 가집니다.
      type: object
      required:
        - id
        - graphqlId
        - name
        - partnerShareRate
        - isArchived
        - appliedAt
        - isForTest
      properties:
        id:
          type: string
        graphqlId:
          type: string
        name:
          type: string
          title: 할인 분담 정책 이름
        partnerShareRate:
          type: integer
          format: int32
          title: 할인 분담율
          description: >-
            파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은
            `할인금액 * partnerShareRate * 10^5` 로 책정합니다.
        memo:
          type: string
          title: 해당 할인 분담에 대한 메모
        isArchived:
          type: boolean
          title: 보관 여부
        appliedAt:
          type: string
          format: date-time
          title: 변경 적용 시점
        isForTest:
          type: boolean
      x-portone-title: 할인 분담 정책
      x-portone-description: >-
        할인 분담은 고객사의 주문건에 쿠폰 및 포인트와 같은 할인금액이 적용될 때, 파트너 정산 시 할인금액에 대한 분담 정책을 가지는
        객체입니다.

        할인 유형에 대한 아이디와 메모, 그리고 파트너 분담율을 가집니다.
    PlatformDiscountSharePolicyAlreadyExistsError:
      title: PlatformDiscountSharePolicyAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformDiscountSharePolicyFilterInput:
      title: 할인 분담 정책 다건 조회를 위한 필터 조건
      description: 할인 분담 정책 다건 조회를 위한 필터 조건
      type: object
      properties:
        isArchived:
          type: boolean
          title: 보관 조회 여부
          description: >-
            true 이면 보관된 할인 분담 정책을 조회하고, false 이면 보관되지 않은 할인 분담 정책을 조회합니다. 기본값은
            false 입니다.
        partnerShareRates:
          type: array
          items:
            type: integer
            format: int32
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 파트너 분담율을 가진 할인 분담 정책만 조회합니다.
        keyword:
          $ref: '#/components/schemas/PlatformDiscountSharePolicyFilterInputKeyword'
          title: 검색 키워드
      x-portone-title: 할인 분담 정책 다건 조회를 위한 필터 조건
    PlatformDiscountSharePolicyFilterInputKeyword:
      title: 검색 키워드 입력 정보
      description: >-
        검색 키워드 입력 정보


        검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 할인 분담 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만
        적용됩니다.
      type: object
      properties:
        id:
          type: string
          description: 해당 값이 포함된 id 를 가진 할인 분담 정책만 조회합니다.
        name:
          type: string
          description: 해당 값이 포함된 name 을 가진 할인 분담만 조회합니다.
      x-portone-title: 검색 키워드 입력 정보
      x-portone-description: >-
        검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 할인 분담 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만
        적용됩니다.
    PlatformDiscountSharePolicyFilterOptions:
      title: 할인 분담 정책 필터 옵션 조회 성공 응답 정보
      description: 할인 분담 정책 필터 옵션 조회 성공 응답 정보
      type: object
      required:
        - partnerShareRates
      properties:
        partnerShareRates:
          type: array
          items:
            type: integer
            format: int32
          title: 조회된 파트너 분담율 리스트
      x-portone-title: 할인 분담 정책 필터 옵션 조회 성공 응답 정보
    PlatformDiscountSharePolicyIdDuplicatedError:
      title: PlatformDiscountSharePolicyIdDuplicatedError
      type: object
      required:
        - type
        - id
        - graphqlId
      properties:
        type:
          type: string
        id:
          type: string
        graphqlId:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformDiscountSharePolicyNotFoundError:
      title: PlatformDiscountSharePolicyNotFoundError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformDiscountSharePolicyScheduleAlreadyExistsError:
      title: PlatformDiscountSharePolicyScheduleAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformDuplicatedPartnerSettlementIdsError:
      title: 선택된 정산건 아이디에 중복이 있는 경우
      description: 선택된 정산건 아이디에 중복이 있는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 선택된 정산건 아이디에 중복이 있는 경우
      x-portone-status-code: 400
    PlatformExternalApiFailedError:
      title: 외부 api 오류
      description: 외부 api 오류
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 외부 api 오류
      x-portone-status-code: 503
    PlatformExternalApiTemporarilyFailedError:
      title: 외부 api의 일시적인 오류
      description: 외부 api의 일시적인 오류
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 외부 api의 일시적인 오류
      x-portone-status-code: 503
    PlatformExternalPayment:
      title: 외부 결제 정보
      description: 외부 결제 정보
      type: object
      required:
        - type
        - id
        - currency
      properties:
        type:
          type: string
        id:
          type: string
          title: 결제 아이디
        orderName:
          type: string
          title: 주문 명
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        method:
          $ref: '#/components/schemas/PlatformPaymentMethod'
          title: 결제 수단
        paidAt:
          type: string
          format: date-time
          title: 결제 일시
      x-portone-title: 외부 결제 정보
    PlatformFee:
      title: 플랫폼 중개수수료 정보
      description: 플랫폼 중개수수료 정보
      oneOf:
        - $ref: '#/components/schemas/PlatformFixedAmountFee'
        - $ref: '#/components/schemas/PlatformFixedRateFee'
      discriminator:
        propertyName: type
        mapping:
          FIXED_AMOUNT: '#/components/schemas/PlatformFixedAmountFee'
          FIXED_RATE: '#/components/schemas/PlatformFixedRateFee'
      x-portone-title: 플랫폼 중개수수료 정보
      x-portone-discriminator:
        FIXED_RATE:
          title: 정률 수수료
        FIXED_AMOUNT:
          title: 정액 수수료
    PlatformFeeInput:
      title: 수수료 계산 방식을 특정하기 위한 입력 정보
      description: >-
        수수료 계산 방식을 특정하기 위한 입력 정보


        정률 수수료를 설정하고 싶은 경우 `fixedRate` 필드에, 정액 수수료를 설정하고 싶은 경우 `fixedAmount` 필드에
        값을 명시해 요청합니다.

        두 필드 모두 값이 들어있지 않은 경우 요청이 거절됩니다.
      type: object
      properties:
        fixedRate:
          type: integer
          format: int32
          title: 정률 수수료
        fixedAmount:
          type: integer
          format: int64
          title: 정액 수수료
      x-portone-title: 수수료 계산 방식을 특정하기 위한 입력 정보
      x-portone-description: >-
        정률 수수료를 설정하고 싶은 경우 `fixedRate` 필드에, 정액 수수료를 설정하고 싶은 경우 `fixedAmount` 필드에
        값을 명시해 요청합니다.

        두 필드 모두 값이 들어있지 않은 경우 요청이 거절됩니다.
    PlatformFixedAmountFee:
      title: 정액 수수료
      description: |-
        정액 수수료

        총 금액에 무관하게 정해진 수수료 금액을 책정합니다.
      type: object
      required:
        - type
        - amount
      properties:
        type:
          type: string
        amount:
          type: integer
          format: int64
          title: 고정된 수수료 금액
      x-portone-title: 정액 수수료
      x-portone-description: 총 금액에 무관하게 정해진 수수료 금액을 책정합니다.
    PlatformFixedRateFee:
      title: 정률 수수료
      description: |-
        정률 수수료

        총 금액에 정해진 비율을 곱한 만큼의 수수료를 책정합니다.
      type: object
      required:
        - type
        - rate
      properties:
        type:
          type: string
        rate:
          type: integer
          format: int32
          title: 수수료율
          description: >-
            총 금액 대비 수수료 비율을 의미하며, 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수입니다. `총 금액 * rate
            * 10^5` (`rate * 10^3 %`) 만큼 수수료를 책정합니다.
      x-portone-title: 정률 수수료
      x-portone-description: 총 금액에 정해진 비율을 곱한 만큼의 수수료를 책정합니다.
    PlatformInsufficientDataToChangePartnerTypeError:
      title: 파트너 타입 수정에 필요한 데이터가 부족한 경우
      description: 파트너 타입 수정에 필요한 데이터가 부족한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 타입 수정에 필요한 데이터가 부족한 경우
      x-portone-status-code: 400
    PlatformManualTransfer:
      title: 수기 정산건
      description: 수기 정산건
      type: object
      required:
        - type
        - id
        - graphqlId
        - partner
        - status
        - settlementDate
        - settlementCurrency
        - isForTest
        - userDefinedProperties
        - settlementAmount
        - settlementTaxFreeAmount
      properties:
        type:
          type: string
        id:
          type: string
          title: 정산건 아이디
        graphqlId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 파트너
        status:
          $ref: '#/components/schemas/PlatformTransferStatus'
          title: 정산 상태
        memo:
          type: string
          title: 메모
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 일
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        payoutId:
          type: string
          description: 더 이상 사용되지 않는 값입니다.
        payoutGraphqlId:
          type: string
        isForTest:
          type: boolean
          title: 테스트 모드 여부
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        settlementAmount:
          type: integer
          format: int64
          title: 정산 금액
        settlementTaxFreeAmount:
          type: integer
          format: int64
          title: 정산 면세 금액
      x-portone-title: 수기 정산건
    PlatformManualTransferSummary:
      title: PlatformManualTransferSummary
      type: object
      required:
        - type
        - id
        - graphqlId
        - partner
        - status
        - settlementDate
        - settlementCurrency
        - isForTest
        - partnerUserDefinedProperties
        - userDefinedProperties
        - settlementAmount
        - settlementTaxFreeAmount
      properties:
        type:
          type: string
        id:
          type: string
        graphqlId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformTransferSummaryPartner'
        status:
          $ref: '#/components/schemas/PlatformTransferStatus'
        memo:
          type: string
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
        isForTest:
          type: boolean
        partnerUserDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
          description: 5월 삭제 예정 필드입니다. partner.userDefinedProperties를 사용해주시길 바랍니다.
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        settlementAmount:
          type: integer
          format: int64
        settlementTaxFreeAmount:
          type: integer
          format: int64
    PlatformMemberCompanyConnectedPartnerBrnUnchangeableError:
      title: 연동 사업자로 연동된 파트너의 사업자등록번호를 변경하려고 시도한 경우
      description: 연동 사업자로 연동된 파트너의 사업자등록번호를 변경하려고 시도한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 연동 사업자로 연동된 파트너의 사업자등록번호를 변경하려고 시도한 경우
      x-portone-status-code: 409
    PlatformMemberCompanyConnectedPartnerCannotBeScheduledError:
      title: 연동 사업자로 연동된 파트너를 예약 수정하려고 시도한 경우
      description: 연동 사업자로 연동된 파트너를 예약 수정하려고 시도한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 연동 사업자로 연동된 파트너를 예약 수정하려고 시도한 경우
      x-portone-status-code: 409
    PlatformMemberCompanyConnectedPartnerTypeUnchangeableError:
      title: 연동 사업자로 연동된 파트너의 파트너 유형을 변경하려고 시도한 경우
      description: 연동 사업자로 연동된 파트너의 파트너 유형을 변경하려고 시도한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 연동 사업자로 연동된 파트너의 파트너 유형을 변경하려고 시도한 경우
      x-portone-status-code: 409
    PlatformMemberCompanyConnectedPartnersCannotBeScheduledError:
      title: 연동 사업자로 연동된 파트너들을 예약 수정하려고 시도한 경우
      description: 연동 사업자로 연동된 파트너들을 예약 수정하려고 시도한 경우
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-title: 연동 사업자로 연동된 파트너들을 예약 수정하려고 시도한 경우
      x-portone-status-code: 409
    PlatformNegativePayoutAmountPartnersError:
      title: 지급 금액의 총합이 음수인 파트너가 존재하는 경우
      description: 지급 금액의 총합이 음수인 파트너가 존재하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 지급 금액의 총합이 음수인 파트너가 존재하는 경우
      x-portone-status-code: 400
    PlatformNoSelectedPartnerSettlementsError:
      title: 선택된 정산건이 없는 경우
      description: 선택된 정산건이 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 선택된 정산건이 없는 경우
      x-portone-status-code: 400
    PlatformNonDeletablePartnerSettlementsError:
      title: 삭제할 수 없는 정산건이 포함된 경우
      description: 삭제할 수 없는 정산건이 포함된 경우
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-title: 삭제할 수 없는 정산건이 포함된 경우
      x-portone-status-code: 400
    PlatformNonPayablePartnerSettlementsError:
      title: 지급할 수 없는 정산건이 포함된 경우
      description: 지급할 수 없는 정산건이 포함된 경우
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-title: 지급할 수 없는 정산건이 포함된 경우
      x-portone-status-code: 400
    PlatformNotEnabledError:
      title: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
      description: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
      x-portone-status-code: 403
    PlatformNotSupportedBankError:
      title: 지원하지 않는 은행인 경우
      description: 지원하지 않는 은행인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 지원하지 않는 은행인 경우
      x-portone-status-code: 400
    PlatformOngoingTaxInvoiceExistsError:
      title: 진행 중인 세금계산서가 존재하는 경우
      description: 진행 중인 세금계산서가 존재하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 진행 중인 세금계산서가 존재하는 경우
      x-portone-status-code: 409
    PlatformOrderCancelTransfer:
      title: 주문 취소 정산건
      description: 주문 취소 정산건
      type: object
      required:
        - type
        - id
        - graphqlId
        - partner
        - status
        - settlementDate
        - settlementCurrency
        - isForTest
        - userDefinedProperties
        - amount
        - contract
        - payment
        - settlementStartDate
        - orderLines
        - additionalFees
        - discounts
        - cancellation
        - parameters
      properties:
        type:
          type: string
        id:
          type: string
          title: 정산건 아이디
        graphqlId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 파트너
        status:
          $ref: '#/components/schemas/PlatformTransferStatus'
          title: 정산 상태
        memo:
          type: string
          title: 메모
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 일
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        payoutId:
          type: string
          description: 더 이상 사용되지 않는 값입니다.
        payoutGraphqlId:
          type: string
        isForTest:
          type: boolean
          title: 테스트 모드 여부
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        amount:
          $ref: '#/components/schemas/PlatformOrderSettlementAmount'
          title: 정산 금액 정보
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 계약
        payment:
          $ref: '#/components/schemas/PlatformPayment'
          title: 결제 정보
        settlementStartDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 시작일
        orderLines:
          title: 주문 항목 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferOrderLine'
        additionalFees:
          title: 정산 금액 계산 시 사용된 추가 수수료 정보
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferAdditionalFee'
        discounts:
          title: 정산 금액 계산 시 사용된 할인 정보
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferDiscount'
        cancellation:
          $ref: '#/components/schemas/PlatformOrderTransferCancellation'
          title: 주문 취소 정보
        parameters:
          $ref: '#/components/schemas/TransferParameters'
          title: 정산 파라미터 (실험기능)
      x-portone-title: 주문 취소 정산건
    PlatformOrderCancelTransferSummary:
      title: PlatformOrderCancelTransferSummary
      type: object
      required:
        - type
        - id
        - graphqlId
        - storeId
        - partner
        - contract
        - status
        - settlementDate
        - settlementCurrency
        - isForTest
        - partnerUserDefinedProperties
        - userDefinedProperties
        - amount
        - payment
        - settlementStartDate
      properties:
        type:
          type: string
        id:
          type: string
        graphqlId:
          type: string
        storeId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformTransferSummaryPartner'
        contract:
          $ref: '#/components/schemas/PlatformContract'
        status:
          $ref: '#/components/schemas/PlatformTransferStatus'
        memo:
          type: string
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
        isForTest:
          type: boolean
        partnerUserDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
          description: 5월 삭제 예정 필드입니다. partner.userDefinedProperties를 사용해주시길 바랍니다.
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        amount:
          $ref: '#/components/schemas/PlatformOrderSettlementAmount'
        payment:
          $ref: '#/components/schemas/PlatformTransferSummaryPayment'
        settlementStartDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
    PlatformOrderDetailMismatchedError:
      title: PlatformOrderDetailMismatchedError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformOrderSettlementAmount:
      title: 정산 금액 정보
      description: |-
        정산 금액 정보

        정산 금액과 정산 금액 계산에 사용된 금액 정보들 입니다.
      type: object
      required:
        - settlement
        - settlementTaxFree
        - payment
        - paymentVat
        - paymentVatBurden
        - paymentTaxFree
        - paymentSupply
        - order
        - orderTaxFree
        - platformFee
        - platformFeeVat
        - additionalFee
        - additionalFeeVat
        - discount
        - discountTaxFree
        - discountShare
        - discountShareTaxFree
        - userDefinedFormulas
      properties:
        settlement:
          type: integer
          format: int64
          title: 정산 금액
        settlementTaxFree:
          type: integer
          format: int64
          title: 정산 면세 금액
        payment:
          type: integer
          format: int64
          title: 결제 금액
        paymentVat:
          type: integer
          format: int64
          title: 결제 금액 부가세
        paymentVatBurden:
          type: integer
          format: int64
          title: 결제 금액 부가세 부담금액
          description: '참조된 계약의 결제 금액 부가세 감액 여부에 따라 false인 경우 0원, true인 경우 결제 금액 부가세입니다.'
        paymentTaxFree:
          type: integer
          format: int64
          title: 결제 면세 금액
        paymentSupply:
          type: integer
          format: int64
          title: 결제 공급가액
        order:
          type: integer
          format: int64
          title: 주문 금액
        orderTaxFree:
          type: integer
          format: int64
          title: 면세 주문 금액
        platformFee:
          type: integer
          format: int64
          title: 중개 수수료
        platformFeeVat:
          type: integer
          format: int64
          title: 중개 수수료 부가세
        additionalFee:
          type: integer
          format: int64
          title: 추가 수수료
        additionalFeeVat:
          type: integer
          format: int64
          title: 추가 수수료 부가세
        discount:
          type: integer
          format: int64
          title: 할인 금액
        discountTaxFree:
          type: integer
          format: int64
          title: 면세 할인 금액
        discountShare:
          type: integer
          format: int64
          title: 할인 분담 금액
        discountShareTaxFree:
          type: integer
          format: int64
          title: 면세 할인 분담 금액
        userDefinedFormulas:
          $ref: '#/components/schemas/PlatformUserDefinedFormulaResults'
          title: 사용자 정의 수식 결과
      x-portone-title: 정산 금액 정보
      x-portone-description: 정산 금액과 정산 금액 계산에 사용된 금액 정보들 입니다.
    PlatformOrderTransfer:
      title: 주문 정산건
      description: 주문 정산건
      type: object
      required:
        - type
        - id
        - graphqlId
        - partner
        - status
        - settlementDate
        - settlementCurrency
        - isForTest
        - userDefinedProperties
        - amount
        - contract
        - payment
        - settlementStartDate
        - orderLines
        - additionalFees
        - discounts
        - parameters
      properties:
        type:
          type: string
        id:
          type: string
          title: 정산건 아이디
        graphqlId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 파트너
        status:
          $ref: '#/components/schemas/PlatformTransferStatus'
          title: 정산 상태
        memo:
          type: string
          title: 메모
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 일
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        payoutId:
          type: string
          description: 더 이상 사용되지 않는 값입니다.
        payoutGraphqlId:
          type: string
        isForTest:
          type: boolean
          title: 테스트 모드 여부
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        amount:
          $ref: '#/components/schemas/PlatformOrderSettlementAmount'
          title: 정산 금액 정보
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 계약
        payment:
          $ref: '#/components/schemas/PlatformPayment'
          title: 결제 정보
        settlementStartDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 시작일
        orderLines:
          title: 주문 항목 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferOrderLine'
        additionalFees:
          title: 정산 금액 계산 시 사용된 추가 수수료 정보
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferAdditionalFee'
        discounts:
          title: 정산 금액 계산 시 사용된 할인 정보
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferDiscount'
        parameters:
          $ref: '#/components/schemas/TransferParameters'
          title: 정산 파라미터 (실험기능)
      x-portone-title: 주문 정산건
    PlatformOrderTransferAdditionalFee:
      title: 추가 수수료 정보
      description: 추가 수수료 정보
      type: object
      required:
        - policy
        - amount
        - vat
      properties:
        policy:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          title: 추가 수수료 정책
        amount:
          type: integer
          format: int64
          title: 추가 수수료 금액
        vat:
          type: integer
          format: int64
          title: 추가 수수료 부가세 금액
      x-portone-title: 추가 수수료 정보
    PlatformOrderTransferAlreadyCancelledError:
      title: PlatformOrderTransferAlreadyCancelledError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformOrderTransferCancellation:
      title: 주문 취소 정보
      description: 주문 취소 정보
      type: object
      required:
        - id
        - cancelledAt
      properties:
        id:
          type: string
          title: 주문 취소 아이디
        cancelledAt:
          type: string
          format: date-time
          title: 취소 일시
      x-portone-title: 주문 취소 정보
    PlatformOrderTransferDiscount:
      title: 할인 정보
      description: 할인 정보
      type: object
      required:
        - sharePolicy
        - amount
        - taxFreeAmount
        - shareAmount
        - shareTaxFreeAmount
      properties:
        sharePolicy:
          $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          title: 할인 분담 정책
        amount:
          type: integer
          format: int64
          title: 할인 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 할인 금액
        shareAmount:
          type: integer
          format: int64
          title: 할인 분담 금액
        shareTaxFreeAmount:
          type: integer
          format: int64
          title: 면세 할인 분담 금액
      x-portone-title: 할인 정보
    PlatformOrderTransferOrderLine:
      title: 주문 항목
      description: 주문 항목
      type: object
      required:
        - product
        - quantity
        - discounts
        - additionalFees
        - amount
      properties:
        product:
          $ref: '#/components/schemas/PlatformOrderTransferProduct'
          title: 상품
        quantity:
          type: integer
          format: int32
          title: 상품 수량
        discounts:
          title: 상품 할인 정보
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferDiscount'
        additionalFees:
          title: 상품 추가 수수료 정보
          type: array
          items:
            $ref: '#/components/schemas/PlatformOrderTransferAdditionalFee'
        amount:
          $ref: '#/components/schemas/PlatformOrderSettlementAmount'
          title: 상품 정산 금액 정보
      x-portone-title: 주문 항목
    PlatformOrderTransferProduct:
      title: 상품
      description: 상품
      type: object
      required:
        - id
        - name
        - amount
        - taxFreeAmount
      properties:
        id:
          type: string
          title: 상품 아이디
        name:
          type: string
          title: 상품 이름
        amount:
          type: integer
          format: int64
          title: 상품 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 상품 면세 금액
        tag:
          type: string
          title: 태그
      x-portone-title: 상품
    PlatformOrderTransferSummary:
      title: PlatformOrderTransferSummary
      type: object
      required:
        - type
        - id
        - graphqlId
        - storeId
        - partner
        - contract
        - status
        - settlementDate
        - settlementCurrency
        - isForTest
        - partnerUserDefinedProperties
        - userDefinedProperties
        - amount
        - payment
        - settlementStartDate
      properties:
        type:
          type: string
        id:
          type: string
        graphqlId:
          type: string
        storeId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformTransferSummaryPartner'
        contract:
          $ref: '#/components/schemas/PlatformContract'
        status:
          $ref: '#/components/schemas/PlatformTransferStatus'
        memo:
          type: string
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
        isForTest:
          type: boolean
        partnerUserDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
          description: 5월 삭제 예정 필드입니다. partner.userDefinedProperties를 사용해주시길 바랍니다.
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
        amount:
          $ref: '#/components/schemas/PlatformOrderSettlementAmount'
        payment:
          $ref: '#/components/schemas/PlatformTransferSummaryPayment'
        settlementStartDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
    PlatformPartner:
      title: 파트너
      description: |-
        파트너

        파트너는 고객사가 정산해주어야 할 대상입니다.
        기본 사업자 정보와 정산정보, 그리고 적용될 계약의 정보를 등록 및 관리할 수 있습니다.
      type: object
      required:
        - id
        - graphqlId
        - name
        - contact
        - account
        - status
        - defaultContractId
        - tags
        - type
        - isArchived
        - appliedAt
        - userDefinedProperties
        - isForTest
      properties:
        id:
          type: string
          title: 파트너 고유 아이디
        graphqlId:
          type: string
        name:
          type: string
          title: 파트너 법인명 혹은 이름
        contact:
          $ref: '#/components/schemas/PlatformContact'
          title: 파트너 담당자 연락 정보
        account:
          $ref: '#/components/schemas/PlatformAccount'
          title: 정산 계좌
        status:
          $ref: '#/components/schemas/PlatformPartnerStatus'
          title: 파트너의 상태
        defaultContractId:
          type: string
          title: 파트너에 설정된 기본 계약 아이디
        memo:
          type: string
          title: 파트너에 대한 메모
        tags:
          type: array
          items:
            type: string
          title: 파트너의 태그 리스트
        type:
          $ref: '#/components/schemas/PlatformPartnerType'
          title: 파트너 유형별 정보
        isArchived:
          type: boolean
          title: 보관 여부
        appliedAt:
          type: string
          format: date-time
          title: 변경 적용 시점
        userDefinedProperties:
          $ref: '#/components/schemas/PlatformProperties'
          title: 사용자 정의 속성
        isForTest:
          type: boolean
      x-portone-title: 파트너
      x-portone-description: |-
        파트너는 고객사가 정산해주어야 할 대상입니다.
        기본 사업자 정보와 정산정보, 그리고 적용될 계약의 정보를 등록 및 관리할 수 있습니다.
    PlatformPartnerBusinessStatus:
      title: 플랫폼 파트너 사업자 상태
      description: 플랫폼 파트너 사업자 상태
      type: string
      enum:
        - NOT_VERIFIED
        - VERIFY_ERROR
        - NOT_FOUND
        - IN_BUSINESS
        - CLOSED
        - SUSPENDED
      x-portone-title: 플랫폼 파트너 사업자 상태
      x-portone-enum:
        SUSPENDED:
          title: 휴업
        NOT_VERIFIED:
          title: 조회 되지 않음
        IN_BUSINESS:
          title: 사업 중
        CLOSED:
          title: 폐업
        NOT_FOUND:
          title: 대응되는 사업자 없음
        VERIFY_ERROR:
          title: 조회 오류
    PlatformPartnerContractSummary:
      title: 파트너 계약 요약 정보
      description: 파트너 계약 요약 정보
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: string
          title: 계약 고유 아이디
        name:
          type: string
          title: 계약 이름
      x-portone-title: 파트너 계약 요약 정보
    PlatformPartnerFilterInput:
      title: 파트너 필터 입력 정보
      description: 파트너 필터 입력 정보
      type: object
      properties:
        isArchived:
          type: boolean
          title: 보관 조회 여부
          description: 'true 이면 보관된 파트너를 조회하고, false 이면 보관되지 않은 파트너를 조회합니다. 기본값은 false 입니다.'
        tags:
          type: array
          items:
            type: string
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 태그를 하나 이상 가지는 파트너만 조회합니다.
        banks:
          title: 은행
          type: array
          items:
            $ref: '#/components/schemas/Bank'
          description: '하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 계좌 은행을 가진 파트너만 조회합니다.'
        accountCurrencies:
          title: 통화 단위
          type: array
          items:
            $ref: '#/components/schemas/Currency'
          description: '하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 계좌 통화를 가진 파트너만 조회합니다.'
        ids:
          type: array
          items:
            type: string
          description: '하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 아이디를 가진 파트너만 조회합니다.'
        contractIds:
          type: array
          items:
            type: string
          description: '하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 기본 계약 id를 가진 파트너만 조회합니다.'
        accountStatuses:
          title: 플랫폼 계좌 상태
          type: array
          items:
            $ref: '#/components/schemas/PlatformAccountStatus'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 계좌 상태를 가진 파트너만 조회합니다.
        businessStatuses:
          title: 플랫폼 파트너 사업자 상태
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerBusinessStatus'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 사업자 상태를 가진 파트너만 조회합니다.
        types:
          title: 플랫폼 파트너 유형 이름
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerTypeName'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 사업자 유형을 가진 파트너만 조회합니다.
        taxationTypes:
          title: 플랫폼 파트너 과세 유형
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerTaxationType'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 과세 유형을 가진 파트너만 조회합니다.
        memberCompanyConnectionStatuses:
          title: 플랫폼 파트너 연동 사업자 연결 상태
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerMemberCompanyConnectionStatus'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 연동 사업자 연결 상태를 가진 파트너만 조회합니다.
        keyword:
          $ref: '#/components/schemas/PlatformPartnerFilterInputKeyword'
          title: 검색 키워드
      x-portone-title: 파트너 필터 입력 정보
    PlatformPartnerFilterInputKeyword:
      title: 파트너 검색 키워드 입력 정보
      description: |-
        파트너 검색 키워드 입력 정보

        검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 파트너만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.
      type: object
      properties:
        id:
          type: string
          description: 해당 값이 포함된 id 를 가진 파트너만 조회합니다.
        name:
          type: string
          description: 해당 값이 포함된 이름 을 가진 파트너만 조회합니다.
        email:
          type: string
          description: 해당 값이 포함된 이메일 주소를 가진 파트너만 조회합니다.
        businessRegistrationNumber:
          type: string
          description: 해당 값이 포함된 사업자등록번호를 가진 파트너만 조회합니다.
        defaultContractId:
          type: string
          description: 해당 값이 포함된 기본 계약 아이디를 가진 파트너만 조회합니다.
        memo:
          type: string
          description: 해당 값이 포함된 메모를 가진 파트너만 조회합니다.
        accountNumber:
          type: string
          description: 해당 값이 포함된 계좌번호를 가진 파트너만 조회합니다.
        accountHolder:
          type: string
          description: 해당 값이 포함된 계좌 예금주명을 가진 파트너만 조회합니다.
      x-portone-title: 파트너 검색 키워드 입력 정보
      x-portone-description: '검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 파트너만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.'
    PlatformPartnerFilterOptions:
      title: 파트너 필터 옵션 조회 성공 응답 정보
      description: 파트너 필터 옵션 조회 성공 응답 정보
      type: object
      required:
        - tags
        - contractSummary
      properties:
        tags:
          type: array
          items:
            type: string
          title: 조회된 태그 리스트
        contractSummary:
          title: 조회된 파트너 계약 요약 정보 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerContractSummary'
      x-portone-title: 파트너 필터 옵션 조회 성공 응답 정보
    PlatformPartnerIdAlreadyExistsError:
      title: PlatformPartnerIdAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformPartnerIdsAlreadyExistError:
      title: PlatformPartnerIdsAlreadyExistError
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformPartnerIdsDuplicatedError:
      title: PlatformPartnerIdsDuplicatedError
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformPartnerManualSettlement:
      title: PlatformPartnerManualSettlement
      type: object
      required:
        - type
        - id
        - graphqlId
        - partner
        - settlementDate
        - settlementCurrency
        - status
        - amount
        - taxFreeAmount
        - isForTest
      properties:
        type:
          type: string
        id:
          type: string
          title: 정산내역 아이디
        graphqlId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 파트너
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 일
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        status:
          $ref: '#/components/schemas/PlatformPartnerSettlementStatus'
          title: 정산 상태
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 일시
        memo:
          type: string
          title: 메모
        amount:
          type: integer
          format: int64
          title: 정산 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 정산 면세 금액
        isForTest:
          type: boolean
          title: 테스트 모드 여부
    PlatformPartnerMemberCompanyConnectionStatus:
      title: 플랫폼 파트너 연동 사업자 연결 상태
      description: 플랫폼 파트너 연동 사업자 연결 상태
      type: string
      enum:
        - NOT_CONNECTED
        - CONNECT_PENDING
        - CONNECTED
        - CONNECT_FAILED
        - DISCONNECT_PENDING
      x-portone-title: 플랫폼 파트너 연동 사업자 연결 상태
      x-portone-enum:
        CONNECT_PENDING:
          title: 연결 대기
        DISCONNECT_PENDING:
          title: 연결 해제 대기
        CONNECT_FAILED:
          title: 연결 실패
        CONNECTED:
          title: 연결됨
        NOT_CONNECTED:
          title: 연결되지 않음
    PlatformPartnerNotFoundError:
      title: PlatformPartnerNotFoundError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformPartnerOrderCancelSettlement:
      title: PlatformPartnerOrderCancelSettlement
      type: object
      required:
        - type
        - id
        - graphqlId
        - partner
        - settlementDate
        - settlementCurrency
        - status
        - contract
        - settlementStartDateRange
        - amount
        - isForTest
      properties:
        type:
          type: string
        id:
          type: string
          title: 정산내역 아이디
        graphqlId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 파트너
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 일
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        status:
          $ref: '#/components/schemas/PlatformPartnerSettlementStatus'
          title: 정산 상태
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 일시
        memo:
          type: string
          title: 메모
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 계약
        settlementStartDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산 시작 일 범위
        amount:
          $ref: '#/components/schemas/PlatformOrderSettlementAmount'
          title: 금액 정보
        isForTest:
          type: boolean
          title: 테스트 모드 여부
    PlatformPartnerOrderSettlement:
      title: PlatformPartnerOrderSettlement
      type: object
      required:
        - type
        - id
        - graphqlId
        - partner
        - settlementDate
        - settlementCurrency
        - status
        - contract
        - settlementStartDateRange
        - amount
        - isForTest
      properties:
        type:
          type: string
        id:
          type: string
          title: 정산내역 아이디
        graphqlId:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 파트너
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산 일
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        status:
          $ref: '#/components/schemas/PlatformPartnerSettlementStatus'
          title: 정산 상태
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 일시
        memo:
          type: string
          title: 메모
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 계약
        settlementStartDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산 시작 일 범위
        amount:
          $ref: '#/components/schemas/PlatformOrderSettlementAmount'
          title: 금액 정보
        isForTest:
          type: boolean
          title: 테스트 모드 여부
    PlatformPartnerPendingNtsOperationError:
      title: 파트너의 국세청 연동/해제가 진행 중인 경우
      description: 파트너의 국세청 연동/해제가 진행 중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너의 국세청 연동/해제가 진행 중인 경우
      x-portone-status-code: 409
    PlatformPartnerScheduleAlreadyExistsError:
      title: PlatformPartnerScheduleAlreadyExistsError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformPartnerScheduleExistsError:
      title: 파트너 수정 예약 건이 존재하는 경우
      description: 파트너 수정 예약 건이 존재하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 수정 예약 건이 존재하는 경우
      x-portone-status-code: 409
    PlatformPartnerSchedulesAlreadyExistError:
      title: PlatformPartnerSchedulesAlreadyExistError
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformPartnerSettlement:
      title: PlatformPartnerSettlement
      oneOf:
        - $ref: '#/components/schemas/PlatformPartnerManualSettlement'
        - $ref: '#/components/schemas/PlatformPartnerOrderCancelSettlement'
        - $ref: '#/components/schemas/PlatformPartnerOrderSettlement'
      discriminator:
        propertyName: type
        mapping:
          MANUAL: '#/components/schemas/PlatformPartnerManualSettlement'
          ORDER: '#/components/schemas/PlatformPartnerOrderSettlement'
          ORDER_CANCEL: '#/components/schemas/PlatformPartnerOrderCancelSettlement'
      x-portone-discriminator:
        ORDER: {}
        ORDER_CANCEL: {}
        MANUAL: {}
    PlatformPartnerSettlementFilterInput:
      title: PlatformPartnerSettlementFilterInput
      type: object
      properties:
        settlementDates:
          type: array
          items:
            description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
            type: string
            format: date
            x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        contractIds:
          type: array
          items:
            type: string
        partnerTags:
          type: array
          items:
            type: string
        settlementCurrencies:
          title: 통화 단위
          type: array
          items:
            $ref: '#/components/schemas/Currency'
        statuses:
          title: 정산 상태
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerSettlementStatus'
        partnerIds:
          type: array
          items:
            type: string
        settlementTypes:
          title: 정산 유형
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerSettlementType'
        keyword:
          $ref: '#/components/schemas/PlatformPartnerSettlementFilterKeywordInput'
    PlatformPartnerSettlementFilterKeywordInput:
      title: PlatformPartnerSettlementFilterKeywordInput
      type: object
      properties:
        partnerSettlementId:
          type: string
        payoutId:
          type: string
        bulkPayoutId:
          type: string
    PlatformPartnerSettlementStatus:
      title: 정산 상태
      description: 정산 상태
      type: string
      enum:
        - PAYOUT_SCHEDULED
        - PAYOUT_PREPARED
        - PAYOUT_WITHHELD
        - PAYOUT_EXCLUDED
        - PAYOUT_FAILED
        - IN_PAYOUT
        - PAID_OUT
        - CANCELLED
        - CONFIRMED
      x-portone-title: 정산 상태
      x-portone-enum:
        CONFIRMED:
          title: 지급 확정
        PAYOUT_FAILED:
          title: 지급 실패
        CANCELLED:
          title: 지급 취소
        PAYOUT_SCHEDULED:
          title: 지급 예약
        PAYOUT_WITHHELD:
          title: 지급 보류
        PAYOUT_EXCLUDED:
          title: 지급 제외
        PAID_OUT:
          title: 지급 완료
        PAYOUT_PREPARED:
          title: 지급 예정
        IN_PAYOUT:
          title: 지급 중
    PlatformPartnerSettlementStatusStats:
      title: PlatformPartnerSettlementStatusStats
      type: object
      required:
        - payoutScheduled
        - payoutPrepared
        - payoutWithheld
        - payoutExcluded
        - payoutFailed
        - payoutCancelled
        - payoutConfirmed
        - inPayout
        - paidOut
      properties:
        payoutScheduled:
          type: integer
          format: int64
        payoutPrepared:
          type: integer
          format: int64
        payoutWithheld:
          type: integer
          format: int64
        payoutExcluded:
          type: integer
          format: int64
        payoutFailed:
          type: integer
          format: int64
        payoutCancelled:
          type: integer
          format: int64
        payoutConfirmed:
          type: integer
          format: int64
        inPayout:
          type: integer
          format: int64
        paidOut:
          type: integer
          format: int64
    PlatformPartnerSettlementType:
      title: 정산 유형
      description: 정산 유형
      type: string
      enum:
        - MANUAL
        - ORDER
        - ORDER_CANCEL
      x-portone-title: 정산 유형
      x-portone-enum:
        MANUAL:
          title: 수동 정산
        ORDER:
          title: 주문 정산
        ORDER_CANCEL:
          title: 주문 취소 정산
    PlatformPartnerSettlementsNotFoundError:
      title: 요청한 정산건 목록을 찾을 수 없는 경우
      description: 요청한 정산건 목록을 찾을 수 없는 경우
      type: object
      required:
        - type
        - ids
        - graphqlIds
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        graphqlIds:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-title: 요청한 정산건 목록을 찾을 수 없는 경우
      x-portone-status-code: 404
    PlatformPartnerStatus:
      title: 플랫폼 파트너 상태
      description: 플랫폼 파트너 상태
      type: string
      enum:
        - PENDING
        - APPROVED
        - REJECTED
      x-portone-title: 플랫폼 파트너 상태
      x-portone-enum:
        PENDING:
          title: 승인 대기 중
        APPROVED:
          title: 승인 완료
        REJECTED:
          title: 승인 거절
    PlatformPartnerTaxationType:
      title: 플랫폼 파트너 과세 유형
      description: 플랫폼 파트너 과세 유형
      type: string
      enum:
        - NORMAL
        - SIMPLE_TAX_INVOICE_ISSUER
        - SIMPLE
        - TAX_FREE
      x-portone-title: 플랫폼 파트너 과세 유형
      x-portone-enum:
        NORMAL:
          title: 일반 과세
        SIMPLE_TAX_INVOICE_ISSUER:
          title: 간이과세(세금계산서 발행)
        SIMPLE:
          title: 간이과세(세금계산서 미발행)
        TAX_FREE:
          title: 면세
    PlatformPartnerTaxationTypeIsSimpleError:
      title: 파트너의 과세 유형이 간이 과세 세금계산서 미발행 유형인 경우
      description: 파트너의 과세 유형이 간이 과세 세금계산서 미발행 유형인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너의 과세 유형이 간이 과세 세금계산서 미발행 유형인 경우
      x-portone-status-code: 400
    PlatformPartnerType:
      title: 파트너 유형별 추가 정보
      description: 파트너 유형별 추가 정보
      oneOf:
        - $ref: '#/components/schemas/PlatformPartnerTypeBusiness'
        - $ref: '#/components/schemas/PlatformPartnerTypeNonWhtPayer'
        - $ref: '#/components/schemas/PlatformPartnerTypeWhtPayer'
      discriminator:
        propertyName: type
        mapping:
          BUSINESS: '#/components/schemas/PlatformPartnerTypeBusiness'
          NON_WHT_PAYER: '#/components/schemas/PlatformPartnerTypeNonWhtPayer'
          WHT_PAYER: '#/components/schemas/PlatformPartnerTypeWhtPayer'
      x-portone-title: 파트너 유형별 추가 정보
      x-portone-discriminator:
        BUSINESS:
          title: 사업자 파트너 정보
        WHT_PAYER:
          title: 원천징수 대상자 파트너 정보
        NON_WHT_PAYER:
          title: 원천징수 비대상자 파트너 정보
    PlatformPartnerTypeBusiness:
      title: 사업자 파트너 정보
      description: |-
        사업자 파트너 정보

        사업자 유형의 파트너 추가 정보 입니다.
      type: object
      required:
        - type
        - companyName
        - taxationType
        - businessStatus
        - businessRegistrationNumber
        - representativeName
        - memberCompanyConnectionStatus
      properties:
        type:
          type: string
        companyName:
          type: string
          title: 상호명
        taxationType:
          $ref: '#/components/schemas/PlatformPartnerTaxationType'
          title: 과세 유형
        businessStatus:
          $ref: '#/components/schemas/PlatformPartnerBusinessStatus'
          title: 사업자 상태
        businessRegistrationNumber:
          type: string
          title: 사업자등록번호
        representativeName:
          type: string
          title: 대표자 이름
        companyAddress:
          type: string
          title: 사업장 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        memberCompanyConnectionStatus:
          $ref: '#/components/schemas/PlatformPartnerMemberCompanyConnectionStatus'
          title: 연동사업자 연동 상태
        memberCompanyConnectionFailedReason:
          type: string
          title: 연동사업자 연동 실패 사유
      x-portone-title: 사업자 파트너 정보
      x-portone-description: 사업자 유형의 파트너 추가 정보 입니다.
    PlatformPartnerTypeIsNotBusinessError:
      title: 파트너 유형이 사업자가 아닌 경우
      description: 파트너 유형이 사업자가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 유형이 사업자가 아닌 경우
      x-portone-status-code: 400
    PlatformPartnerTypeName:
      title: 플랫폼 파트너 유형 이름
      description: 플랫폼 파트너 유형 이름
      type: string
      enum:
        - BUSINESS
        - WHT_PAYER
        - NON_WHT_PAYER
      x-portone-title: 플랫폼 파트너 유형 이름
      x-portone-enum:
        BUSINESS:
          title: 사업자
        WHT_PAYER:
          title: 원천징수 대상자
        NON_WHT_PAYER:
          title: 원천징수 비대상자
    PlatformPartnerTypeNonWhtPayer:
      title: 원천징수 비대상자 파트너 정보
      description: |-
        원천징수 비대상자 파트너 정보

        비사업자 유형의 파트너 추가 정보 입니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
      x-portone-title: 원천징수 비대상자 파트너 정보
      x-portone-description: 비사업자 유형의 파트너 추가 정보 입니다.
    PlatformPartnerTypeWhtPayer:
      title: 원천징수 대상자 파트너 정보
      description: |-
        원천징수 대상자 파트너 정보

        비사업자 유형의 파트너 추가 정보 입니다.
      type: object
      required:
        - type
      properties:
        type:
          type: string
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
      x-portone-title: 원천징수 대상자 파트너 정보
      x-portone-description: 비사업자 유형의 파트너 추가 정보 입니다.
    PlatformPayer:
      title: 금액 부담 주체
      description: |-
        금액 부담 주체

        플랫폼에서 발생한 결제 수수료, 부가세 등 금액을 부담하는 주체를 나타냅니다.
      type: string
      enum:
        - PARTNER
        - MERCHANT
      x-portone-title: 금액 부담 주체
      x-portone-description: '플랫폼에서 발생한 결제 수수료, 부가세 등 금액을 부담하는 주체를 나타냅니다.'
      x-portone-enum:
        PARTNER:
          title: 파트너가 부담하는 경우
        MERCHANT:
          title: 고객사가 부담하는 경우
    PlatformPayment:
      title: 결제 정보
      description: 결제 정보
      oneOf:
        - $ref: '#/components/schemas/PlatformExternalPayment'
        - $ref: '#/components/schemas/PlatformPortOnePayment'
      discriminator:
        propertyName: type
        mapping:
          EXTERNAL: '#/components/schemas/PlatformExternalPayment'
          PORT_ONE: '#/components/schemas/PlatformPortOnePayment'
      x-portone-title: 결제 정보
      x-portone-discriminator:
        PORT_ONE:
          title: 포트원 결제 정보
        EXTERNAL:
          title: 외부 결제 정보
    PlatformPaymentMethod:
      title: 결제 수단
      description: 결제 수단
      oneOf:
        - $ref: '#/components/schemas/PlatformPaymentMethodCard'
        - $ref: '#/components/schemas/PlatformPaymentMethodEasyPay'
        - $ref: '#/components/schemas/PlatformPaymentMethodGiftCertificate'
        - $ref: '#/components/schemas/PlatformPaymentMethodMobile'
        - $ref: '#/components/schemas/PlatformPaymentMethodTransfer'
        - $ref: '#/components/schemas/PlatformPaymentMethodVirtualAccount'
      discriminator:
        propertyName: type
        mapping:
          CARD: '#/components/schemas/PlatformPaymentMethodCard'
          EASY_PAY: '#/components/schemas/PlatformPaymentMethodEasyPay'
          GIFT_CERTIFICATE: '#/components/schemas/PlatformPaymentMethodGiftCertificate'
          MOBILE: '#/components/schemas/PlatformPaymentMethodMobile'
          TRANSFER: '#/components/schemas/PlatformPaymentMethodTransfer'
          VIRTUAL_ACCOUNT: '#/components/schemas/PlatformPaymentMethodVirtualAccount'
      x-portone-title: 결제 수단
      x-portone-discriminator:
        GIFT_CERTIFICATE:
          title: 상품권
        VIRTUAL_ACCOUNT:
          title: 가상계좌
        MOBILE:
          title: 모바일
        CARD:
          title: 카드
        TRANSFER:
          title: 계좌이체
        EASY_PAY:
          title: 간편 결제
    PlatformPaymentMethodCard:
      title: 카드
      description: 카드
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 카드
    PlatformPaymentMethodCardInput:
      title: PlatformPaymentMethodCardInput
      type: object
    PlatformPaymentMethodEasyPay:
      title: 간편 결제
      description: 간편 결제
      type: object
      required:
        - type
      properties:
        type:
          type: string
        provider:
          $ref: '#/components/schemas/EasyPayProvider'
          title: 간편 결제사
        methodType:
          $ref: '#/components/schemas/EasyPayMethodType'
          title: 간편 결제 수단
      x-portone-title: 간편 결제
    PlatformPaymentMethodEasyPayInput:
      title: 간편 결제 입력 정보
      description: 간편 결제 입력 정보
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/EasyPayProvider'
          title: 간편 결제사
        methodType:
          $ref: '#/components/schemas/EasyPayMethodType'
          title: 간편 결제 수단
      x-portone-title: 간편 결제 입력 정보
    PlatformPaymentMethodGiftCertificate:
      title: 상품권
      description: 상품권
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 상품권
    PlatformPaymentMethodGiftCertificateInput:
      title: PlatformPaymentMethodGiftCertificateInput
      type: object
    PlatformPaymentMethodInput:
      title: 결제 수단 입력 정보
      description: 결제 수단 입력 정보
      type: object
      properties:
        card:
          $ref: '#/components/schemas/PlatformPaymentMethodCardInput'
          title: 카드
        transfer:
          $ref: '#/components/schemas/PlatformPaymentMethodTransferInput'
          title: 계좌이체
        virtualAccount:
          $ref: '#/components/schemas/PlatformPaymentMethodVirtualAccountInput'
          title: 가상계좌
        giftCertificate:
          $ref: '#/components/schemas/PlatformPaymentMethodGiftCertificateInput'
          title: 상품권
        mobile:
          $ref: '#/components/schemas/PlatformPaymentMethodMobileInput'
          title: 모바일
        easyPay:
          $ref: '#/components/schemas/PlatformPaymentMethodEasyPayInput'
          title: 간편 결제
      x-portone-title: 결제 수단 입력 정보
    PlatformPaymentMethodMobile:
      title: 모바일
      description: 모바일
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 모바일
    PlatformPaymentMethodMobileInput:
      title: PlatformPaymentMethodMobileInput
      type: object
    PlatformPaymentMethodTransfer:
      title: 계좌이체
      description: 계좌이체
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 계좌이체
    PlatformPaymentMethodTransferInput:
      title: PlatformPaymentMethodTransferInput
      type: object
    PlatformPaymentMethodVirtualAccount:
      title: 가상계좌
      description: 가상계좌
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 가상계좌
    PlatformPaymentMethodVirtualAccountInput:
      title: PlatformPaymentMethodVirtualAccountInput
      type: object
    PlatformPaymentNotFoundError:
      title: PlatformPaymentNotFoundError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformPayout:
      title: PlatformPayout
      type: object
      required:
        - id
        - graphqlId
        - bulkPayoutId
        - bulkPayoutGraphqlId
        - method
        - status
        - statusUpdatedAt
        - partner
        - account
        - taxInvoiceStatus
        - currency
        - amount
        - supplyAmount
        - taxFreeAmount
        - vatAmount
        - settlementAmount
        - settlementTaxFreeAmount
        - incomeTaxAmount
        - localIncomeTaxAmount
        - createdAt
        - deductWht
        - settlementAmountType
        - settlementStatement
      properties:
        id:
          type: string
          title: 지급 고유 아이디
        graphqlId:
          type: string
        bulkPayoutId:
          type: string
        bulkPayoutGraphqlId:
          type: string
        method:
          $ref: '#/components/schemas/PlatformPayoutMethod'
        status:
          $ref: '#/components/schemas/PlatformPayoutStatus'
        statusUpdatedAt:
          type: string
          format: date-time
        memo:
          type: string
        partner:
          $ref: '#/components/schemas/PlatformPartner'
        account:
          $ref: '#/components/schemas/PlatformPayoutAccount'
        taxInvoiceId:
          type: string
          title: 세금계산서 아이디
        taxInvoiceStatus:
          $ref: '#/components/schemas/PlatformPayoutTaxInvoiceStatus'
          title: 세금계산서 상태
        currency:
          $ref: '#/components/schemas/Currency'
        amount:
          type: integer
          format: int64
          title: 지급금액
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 금액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        settlementAmount:
          type: integer
          format: int64
          title: 정산 금액
        settlementTaxFreeAmount:
          type: integer
          format: int64
          title: 정산 면세 금액
        incomeTaxAmount:
          type: integer
          format: int64
          title: 원천징수세액 (소득세)
        localIncomeTaxAmount:
          type: integer
          format: int64
          title: 원천징수세액 (지방소득세)
        withdrawalMemo:
          type: string
        depositMemo:
          type: string
        createdAt:
          type: string
          format: date-time
        scheduledAt:
          type: string
          format: date-time
        failReason:
          type: string
          title: 실패 사유
        deductWht:
          type: boolean
          title: 지급 금액에서 원천징수세 차감 여부
        settlementAmountType:
          $ref: '#/components/schemas/SettlementAmountType'
          title: 정산 금액 취급 기준
        settlementStatement:
          $ref: '#/components/schemas/PlatformPayoutSettlementStatementSummary'
          title: 정산 내역서 요약 정보
    PlatformPayoutAccount:
      title: PlatformPayoutAccount
      type: object
      required:
        - bank
        - number
        - holder
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
        number:
          type: string
        holder:
          type: string
    PlatformPayoutFilterInput:
      title: 지급 내역 필터 입력 정보
      description: 지급 내역 필터 입력 정보
      type: object
      required:
        - criteria
      properties:
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/PlatformPayoutStatus'
          title: 지급 상태
          description: 값이 존재하는 경우 해당 리스트에 포함되는 지급 상태를 가진 지급 내역을 조회합니다.
        partnerIds:
          type: array
          items:
            type: string
          title: 파트너 아이디
          description: 값이 존재하는 경우 해당 리스트에 포함되는 파트너 아이디를 가진 지급 내역을 조회합니다.
        criteria:
          $ref: '#/components/schemas/PlatformPayoutFilterInputCriteria'
          title: 조회 기준
        payoutAccountBanks:
          title: 지급 계좌 은행
          type: array
          items:
            $ref: '#/components/schemas/Bank'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 지급 계좌 은행을 가진 지급 내역을 조회합니다.
        partnerTags:
          type: array
          items:
            type: string
          title: 파트너 태그
          description: 값이 존재하는 경우 해당 리스트에 포함되는 파트너 태그를 하나 이상 가진 지급 내역을 조회합니다.
        payoutCurrencies:
          title: 지급 통화
          type: array
          items:
            $ref: '#/components/schemas/Currency'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 지급 통화를 가진 지급 내역을 조회합니다.
        payoutIds:
          type: array
          items:
            type: string
          title: 지급 아이디
          description: 값이 존재하는 경우 해당 리스트에 포함되는 지급 아이디를 가진 지급 내역을 조회합니다.
        taxInvoiceStatuses:
          type: array
          items:
            $ref: '#/components/schemas/PlatformPayoutTaxInvoiceStatus'
          title: 세금계산서 상태
          description: 값이 존재하는 경우 해당 리스트에 포함되는 세금계산서 상태를 가진 지급 내역을 조회합니다.
        partnerTypes:
          title: 파트너 유형
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerTypeName'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 파트너 유형을 가진 지급 내역을 조회합니다.
        partnerTaxationTypes:
          title: 파트너 과세 유형
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerTaxationType'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 파트너 과세 유형을 가진 지급 내역을 조회합니다.
        settlementStatementStatuses:
          title: 정산 내역서 상태
          type: array
          items:
            $ref: '#/components/schemas/PlatformPayoutSettlementStatementStatus'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 정산 내역서 상태를 가진 지급 내역을 조회합니다.
      x-portone-title: 지급 내역 필터 입력 정보
    PlatformPayoutFilterInputCriteria:
      title: 검색 기준 입력 정보
      description: 검색 기준 입력 정보
      type: object
      properties:
        timestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 생성 일시 범위
        statusUpdatedTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 상태 업데이트 일시 범위
        scheduledTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 지급 예정 일시 범위
        settlementStatementIssuedTimestampRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 정산 내역서 발송 일시 범위
        payoutId:
          type: string
          title: 지급 아이디
        bulkPayoutId:
          type: string
          title: 일괄 지급 아이디
        taxInvoiceId:
          type: string
          title: 세금계산서 아이디
        settlementStatementId:
          type: string
          title: 정산 내역서 아이디
      x-portone-title: 검색 기준 입력 정보
    PlatformPayoutMethod:
      title: PlatformPayoutMethod
      type: string
      enum:
        - DIRECT
        - AGENCY
      x-portone-enum:
        DIRECT: {}
        AGENCY: {}
    PlatformPayoutSettlementStatementStatus:
      title: 정산 내역서 발송 상태
      description: 정산 내역서 발송 상태
      type: string
      enum:
        - UNSENT
        - SENT
        - SEND_FAILED
        - SEND_PREPARED
      x-portone-title: 정산 내역서 발송 상태
      x-portone-enum:
        UNSENT:
          title: 미발송
        SENT:
          title: 발송 성공
        SEND_FAILED:
          title: 발송 실패
        SEND_PREPARED:
          title: 발송 대기
    PlatformPayoutSettlementStatementSummary:
      title: 정산 내역서 요약 정보
      description: 정산 내역서 요약 정보
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/PlatformPayoutSettlementStatementStatus'
          title: 상태
        id:
          type: string
          title: 아이디
        issuedAt:
          type: string
          format: date-time
          title: 발송 일시
      x-portone-title: 정산 내역서 요약 정보
    PlatformPayoutStatus:
      title: PlatformPayoutStatus
      type: string
      enum:
        - CONFIRMED
        - PREPARED
        - CANCELLED
        - STOPPED
        - PROCESSING
        - SUCCEEDED
        - FAILED
        - SCHEDULED
      x-portone-enum:
        CONFIRMED: {}
        STOPPED: {}
        PREPARED: {}
        CANCELLED: {}
        SUCCEEDED: {}
        SCHEDULED: {}
        PROCESSING: {}
        FAILED: {}
    PlatformPayoutStatusStats:
      title: PlatformPayoutStatusStats
      type: object
      required:
        - confirmed
        - prepared
        - cancelled
        - stopped
        - processing
        - succeeded
        - failed
        - scheduled
      properties:
        confirmed:
          type: integer
          format: int64
        prepared:
          type: integer
          format: int64
        cancelled:
          type: integer
          format: int64
        stopped:
          type: integer
          format: int64
        processing:
          type: integer
          format: int64
        succeeded:
          type: integer
          format: int64
        failed:
          type: integer
          format: int64
        scheduled:
          type: integer
          format: int64
    PlatformPayoutTaxInvoiceStatus:
      title: PlatformPayoutTaxInvoiceStatus
      type: string
      enum:
        - NONE
        - DRAFTED
        - DRAFT_PENDING
        - DRAFT_FAILED
        - REQUESTED
        - REQUEST_PENDING
        - REQUEST_FAILED
        - REQUEST_CANCELLED
        - REQUEST_REFUSED
        - ISSUED
        - ISSUE_PENDING
        - ISSUE_FAILED
        - ISSUANCE_CANCELLED
        - CANCEL_PENDING
        - BEFORE_SENDING
        - WAITING_SENDING
        - SENDING
        - SENDING_PENDING
        - SENDING_COMPLETED
        - SENDING_FAILED
      x-portone-enum:
        BEFORE_SENDING: {}
        DRAFTED: {}
        REQUEST_CANCELLED: {}
        ISSUE_PENDING: {}
        REQUEST_REFUSED: {}
        SENDING_PENDING: {}
        SENDING_COMPLETED: {}
        CANCEL_PENDING: {}
        DRAFT_PENDING: {}
        SENDING_FAILED: {}
        REQUEST_FAILED: {}
        SENDING: {}
        WAITING_SENDING: {}
        ISSUANCE_CANCELLED: {}
        ISSUE_FAILED: {}
        REQUESTED: {}
        ISSUED: {}
        NONE: {}
        DRAFT_FAILED: {}
        REQUEST_PENDING: {}
    PlatformPortOnePayment:
      title: 포트원 결제 정보
      description: 포트원 결제 정보
      type: object
      required:
        - type
        - id
        - storeId
        - channelKey
        - orderName
        - currency
        - paidAt
      properties:
        type:
          type: string
        id:
          type: string
          title: 결제 아이디
        storeId:
          type: string
          title: 상점 아이디
        channelKey:
          type: string
          title: 채널 키
        orderName:
          type: string
          title: 주문 명
        method:
          $ref: '#/components/schemas/PlatformPaymentMethod'
          title: 결제 수단
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        paidAt:
          type: string
          format: date-time
          title: 결제 일시
      x-portone-title: 포트원 결제 정보
    PlatformPortOnePaymentCancelAmountType:
      title: 금액 타입
      description: 금액 타입
      type: string
      enum:
        - SUPPLY_WITH_VAT
        - TAX_FREE
      x-portone-title: 금액 타입
      x-portone-enum:
        SUPPLY_WITH_VAT:
          title: 공급대가
          description: 공급가액과 부가세를 더한 금액입니다.
        TAX_FREE:
          title: 면세 금액
    PlatformProductIdDuplicatedError:
      title: PlatformProductIdDuplicatedError
      type: object
      required:
        - type
        - id
      properties:
        type:
          type: string
        id:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformProductIdNotFoundError:
      title: PlatformProductIdNotFoundError
      type: object
      required:
        - type
        - id
      properties:
        type:
          type: string
        id:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformProperties:
      title: PlatformProperties
      type: object
      additionalProperties:
        $ref: '#/components/schemas/PlatformUserDefinedPropertyValue'
    PlatformReferencedCancelOrderTransfersExistError:
      title: 취소 정산건이 참조 중인 정산건이 포함된 경우
      description: 취소 정산건이 참조 중인 정산건이 포함된 경우
      type: object
      required:
        - type
        - ids
      properties:
        type:
          type: string
        ids:
          type: array
          items:
            type: string
        message:
          type: string
      x-portone-title: 취소 정산건이 참조 중인 정산건이 포함된 경우
      x-portone-status-code: 400
    PlatformSetting:
      title: 플랫폼 설정
      description: 플랫폼 설정
      type: object
      required:
        - supportsMultipleOrderTransfersPerPartner
        - adjustSettlementDateAfterHolidayIfEarlier
        - deductWht
        - settlementAmountType
        - isForTest
      properties:
        defaultWithdrawalMemo:
          type: string
          title: 기본 보내는 이 통장 메모
        defaultDepositMemo:
          type: string
          title: 기본 받는 이 통장 메모
        supportsMultipleOrderTransfersPerPartner:
          type: boolean
          title: 'paymentId, storeId, partnerId가 같은 주문 정산건에 대한 중복 정산 지원 여부'
        adjustSettlementDateAfterHolidayIfEarlier:
          type: boolean
          title: 정산일이 정산시작일보다 작거나 같을 경우 공휴일 후 영업일로 정산일 다시 계산 여부
        deductWht:
          type: boolean
          title: 지급 금액에서 원천징수세 차감 여부
        settlementAmountType:
          $ref: '#/components/schemas/SettlementAmountType'
          title: 정산 금액 취급 기준
        isForTest:
          type: boolean
      x-portone-title: 플랫폼 설정
    PlatformSettlementAmountExceededError:
      title: 정산 가능한 금액을 초과한 경우
      description: 정산 가능한 금액을 초과한 경우
      type: object
      required:
        - type
        - requestedAmount
        - allowedAmount
        - type
      properties:
        type:
          $ref: '#/components/schemas/PlatformAmountExceededType'
        message:
          type: string
        productId:
          type: string
          title: 상품 아이디
          description: 주문 항목의 상품 아이디입니다.
        requestedAmount:
          type: integer
          format: int64
          title: 요청 받은 금액
        allowedAmount:
          type: integer
          format: int64
          title: 초과한 금액
      x-portone-title: 정산 가능한 금액을 초과한 경우
      x-portone-status-code: 400
    PlatformSettlementCancelAmountExceededPortOneCancelError:
      title: 정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우
      description: 정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우
      type: object
      required:
        - type
        - registeredSettlementCancelAmount
        - requestSettlementCancelAmount
        - portOneCancelAmount
        - amountType
      properties:
        type:
          type: string
        registeredSettlementCancelAmount:
          type: integer
          format: int64
        requestSettlementCancelAmount:
          type: integer
          format: int64
        portOneCancelAmount:
          type: integer
          format: int64
        amountType:
          $ref: '#/components/schemas/PlatformPortOnePaymentCancelAmountType'
        message:
          type: string
      x-portone-title: 정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우
      x-portone-status-code: 400
    PlatformSettlementCycle:
      title: 정산 주기
      description: |-
        정산 주기

        지체일, 정산일, 기준일로 구성되며, 해당 요소들의 조합으로 실제 정산일을 계산합니다.
      type: object
      required:
        - lagDays
        - datePolicy
        - method
      properties:
        lagDays:
          type: integer
          format: int32
          title: 지체일 (d+n 의 n)
          description: >-
            정산시작일(통상 주문완료일)로부터 더해진 다음 날짜로부터 가장 가까운 날에 정산이 됩니다. 최소 1 에서 최대 10 까지
            지정할 수 있습니다.
        datePolicy:
          $ref: '#/components/schemas/PlatformSettlementCycleDatePolicy'
          title: '기준일로, 정산일 계산 시 공휴일을 고려하기 위한 정보입니다.'
        method:
          $ref: '#/components/schemas/PlatformSettlementCycleMethod'
          title: 정산 주기 계산 방식
      x-portone-title: 정산 주기
      x-portone-description: '지체일, 정산일, 기준일로 구성되며, 해당 요소들의 조합으로 실제 정산일을 계산합니다.'
    PlatformSettlementCycleDatePolicy:
      title: 플랫폼 정산 기준일
      description: 플랫폼 정산 기준일
      type: string
      enum:
        - HOLIDAY_BEFORE
        - HOLIDAY_AFTER
        - CALENDAR_DAY
      x-portone-title: 플랫폼 정산 기준일
      x-portone-enum:
        HOLIDAY_BEFORE:
          title: 공휴일 전 영업일
        HOLIDAY_AFTER:
          title: 공휴일 후 영업일
        CALENDAR_DAY:
          title: 달력일
    PlatformSettlementCycleInput:
      title: 플랫폼 정산 주기 입력 정보
      description: 플랫폼 정산 주기 입력 정보
      type: object
      required:
        - lagDays
        - datePolicy
        - method
      properties:
        lagDays:
          type: integer
          format: int32
          title: 지체일 (d+n 의 n)
          description: >-
            정산시작일(통상 주문완료일)로부터 더해진 다음 날짜로부터 가장 가까운 날에 정산이 됩니다. 최소 1 에서 최대 10 까지
            지정할 수 있습니다.
        datePolicy:
          $ref: '#/components/schemas/PlatformSettlementCycleDatePolicy'
          title: '기준일로, 정산일 계산 시 공휴일을 고려하기 위한 정보입니다.'
        method:
          $ref: '#/components/schemas/PlatformSettlementCycleMethodInput'
          title: 정산 주기 계산 방식
      x-portone-title: 플랫폼 정산 주기 입력 정보
    PlatformSettlementCycleMethod:
      title: 플랫폼 정산 주기 계산 방식
      description: 플랫폼 정산 주기 계산 방식
      oneOf:
        - $ref: '#/components/schemas/PlatformSettlementCycleMethodDaily'
        - $ref: '#/components/schemas/PlatformSettlementCycleMethodManualDates'
        - $ref: '#/components/schemas/PlatformSettlementCycleMethodMonthly'
        - $ref: '#/components/schemas/PlatformSettlementCycleMethodWeekly'
      discriminator:
        propertyName: type
        mapping:
          DAILY: '#/components/schemas/PlatformSettlementCycleMethodDaily'
          MANUAL_DATES: '#/components/schemas/PlatformSettlementCycleMethodManualDates'
          MONTHLY: '#/components/schemas/PlatformSettlementCycleMethodMonthly'
          WEEKLY: '#/components/schemas/PlatformSettlementCycleMethodWeekly'
      x-portone-title: 플랫폼 정산 주기 계산 방식
      x-portone-discriminator:
        DAILY:
          title: 매일 정산
        WEEKLY:
          title: 매주 정해진 요일에 정산
        MONTHLY:
          title: 매월 정해진 날(일)에 정산
        MANUAL_DATES:
          title: '정해진 날짜(월, 일)에 정산'
    PlatformSettlementCycleMethodDaily:
      title: 매일 정산
      description: 매일 정산
      type: object
      required:
        - type
      properties:
        type:
          type: string
      x-portone-title: 매일 정산
    PlatformSettlementCycleMethodDailyInput:
      title: PlatformSettlementCycleMethodDailyInput
      type: object
    PlatformSettlementCycleMethodInput:
      title: 플랫폼 정산 주기 계산 방식 입력 정보
      description: |-
        플랫폼 정산 주기 계산 방식 입력 정보

        하나의 하위 필드에만 값을 명시하여 요청합니다.
      type: object
      properties:
        daily:
          $ref: '#/components/schemas/PlatformSettlementCycleMethodDailyInput'
          title: 매일 정산
        weekly:
          $ref: '#/components/schemas/PlatformSettlementCycleMethodWeeklyInput'
          title: 매주 정해진 요일에 정산
        monthly:
          $ref: '#/components/schemas/PlatformSettlementCycleMethodMonthlyInput'
          title: 매월 정해진 날(일)에 정산
        manualDates:
          $ref: '#/components/schemas/PlatformSettlementCycleMethodManualDatesInput'
          title: '정해진 날짜(월, 일)에 정산'
      x-portone-title: 플랫폼 정산 주기 계산 방식 입력 정보
      x-portone-description: 하나의 하위 필드에만 값을 명시하여 요청합니다.
    PlatformSettlementCycleMethodManualDates:
      title: '정해진 날짜(월, 일)에 정산'
      description: '정해진 날짜(월, 일)에 정산'
      type: object
      required:
        - type
        - dates
      properties:
        type:
          type: string
        dates:
          title: 월 및 일자 정보
          type: array
          items:
            $ref: '#/components/schemas/MonthDay'
      x-portone-title: '정해진 날짜(월, 일)에 정산'
    PlatformSettlementCycleMethodManualDatesInput:
      title: PlatformSettlementCycleMethodManualDatesInput
      type: object
      required:
        - dates
      properties:
        dates:
          title: 월 및 일자 정보
          type: array
          items:
            $ref: '#/components/schemas/MonthDay'
    PlatformSettlementCycleMethodMonthly:
      title: 매월 정해진 날(일)에 정산
      description: 매월 정해진 날(일)에 정산
      type: object
      required:
        - type
        - daysOfMonth
      properties:
        type:
          type: string
        daysOfMonth:
          type: array
          items:
            type: integer
            format: int32
      x-portone-title: 매월 정해진 날(일)에 정산
    PlatformSettlementCycleMethodMonthlyInput:
      title: PlatformSettlementCycleMethodMonthlyInput
      type: object
      required:
        - daysOfMonth
      properties:
        daysOfMonth:
          type: array
          items:
            type: integer
            format: int32
    PlatformSettlementCycleMethodWeekly:
      title: 매주 정해진 요일에 정산
      description: 매주 정해진 요일에 정산
      type: object
      required:
        - type
        - daysOfWeek
      properties:
        type:
          type: string
        daysOfWeek:
          title: 요일
          type: array
          items:
            $ref: '#/components/schemas/DayOfWeek'
      x-portone-title: 매주 정해진 요일에 정산
    PlatformSettlementCycleMethodWeeklyInput:
      title: PlatformSettlementCycleMethodWeeklyInput
      type: object
      required:
        - daysOfWeek
      properties:
        daysOfWeek:
          title: 요일
          type: array
          items:
            $ref: '#/components/schemas/DayOfWeek'
    PlatformSettlementCycleType:
      title: 플랫폼 정산 주기 계산 방식
      description: 플랫폼 정산 주기 계산 방식
      type: string
      enum:
        - DAILY
        - WEEKLY
        - MONTHLY
        - MANUAL_DATES
      x-portone-title: 플랫폼 정산 주기 계산 방식
      x-portone-enum:
        DAILY:
          title: 매일 정산
        WEEKLY:
          title: 매주 정해진 요일에 정산
        MONTHLY:
          title: 매월 정해진 날(일)에 정산
        MANUAL_DATES:
          title: '정해진 날짜(월, 일)에 정산'
    PlatformSettlementDateEarlierThanSettlementStartDateError:
      title: 정산일이 정산 시작일보다 빠른 경우
      description: 정산일이 정산 시작일보다 빠른 경우
      type: object
      required:
        - type
        - settlementStartDate
        - settlementDate
      properties:
        type:
          type: string
        message:
          type: string
        settlementStartDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
      x-portone-title: 정산일이 정산 시작일보다 빠른 경우
      x-portone-status-code: 400
    PlatformSettlementParameterNotFoundError:
      title: 정산 파라미터가 존재하지 않는 경우
      description: 정산 파라미터가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 정산 파라미터가 존재하지 않는 경우
      x-portone-status-code: 404
    PlatformSettlementParameterValue:
      title: 플랫폼 정산 파라미터 값
      description: 플랫폼 정산 파라미터 값
      type: object
      required:
        - decimal
      properties:
        decimal:
          type: integer
          format: int64
          title: 크기가 조정되지 않은 숫자
        decimalScale:
          type: integer
          format: int32
          title: 소수 자리수
          description: |-
            정산 시 필요한 `decimalScale`이 지정되지 않은 경우 기본값으로 0을 사용합니다.
            입력 가능한 법위는 0 ~ 5 입니다.
      x-portone-title: 플랫폼 정산 파라미터 값
    PlatformSettlementPaymentAmountExceededPortOnePaymentError:
      title: 정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우
      description: 정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우
      type: object
      required:
        - type
        - registeredSettlementPaymentAmount
        - requestSettlementPaymentAmount
        - portOnePaymentAmount
      properties:
        type:
          type: string
        registeredSettlementPaymentAmount:
          type: integer
          format: int64
        requestSettlementPaymentAmount:
          type: integer
          format: int64
        portOnePaymentAmount:
          type: integer
          format: int64
        message:
          type: string
      x-portone-title: 정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우
      x-portone-status-code: 400
    PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError:
      title: 정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우
      description: 정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우
      type: object
      required:
        - type
        - registeredSettlementSupplyWithVatAmount
        - requestSettlementSupplyWithVatAmount
        - portOneSupplyWithVatAmount
      properties:
        type:
          type: string
        registeredSettlementSupplyWithVatAmount:
          type: integer
          format: int64
        requestSettlementSupplyWithVatAmount:
          type: integer
          format: int64
        portOneSupplyWithVatAmount:
          type: integer
          format: int64
        message:
          type: string
      x-portone-title: 정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우
      x-portone-status-code: 400
    PlatformSettlementTaxFreeAmountExceededPortOnePaymentError:
      title: 정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우
      description: 정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우
      type: object
      required:
        - type
        - registeredSettlementTaxFreeAmount
        - requestSettlementTaxFreeAmount
        - portOneTaxFreeAmount
      properties:
        type:
          type: string
        registeredSettlementTaxFreeAmount:
          type: integer
          format: int64
        requestSettlementTaxFreeAmount:
          type: integer
          format: int64
        portOneTaxFreeAmount:
          type: integer
          format: int64
        message:
          type: string
      x-portone-title: 정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우
      x-portone-status-code: 400
    PlatformTargetPartnerNotFoundError:
      title: 처리 대상 파트너가 존재하지 않는 경우
      description: 처리 대상 파트너가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 처리 대상 파트너가 존재하지 않는 경우
      x-portone-status-code: 404
    PlatformTaxationType:
      title: 플랫폼 과세 유형
      description: 플랫폼 과세 유형
      type: string
      enum:
        - NORMAL
        - SIMPLE_TAX_INVOICE_ISSUER
        - SIMPLE
        - TAX_FREE
        - ASSIGNED_ID_NUMBER
        - SPECIAL
      x-portone-title: 플랫폼 과세 유형
      x-portone-enum:
        SIMPLE:
          title: 간이과세(세금계산서 미발행)
        ASSIGNED_ID_NUMBER:
          title: '고유 번호 부여 사업자 (비영리, 국가 등 납세 의무가 없는)'
        TAX_FREE:
          title: 면세
        SIMPLE_TAX_INVOICE_ISSUER:
          title: 간이과세(세금계산서 발행)
        SPECIAL:
          title: 과세 특례자
        NORMAL:
          title: 일반 과세
    PlatformTransfer:
      title: 정산건
      description: |-
        정산건

        정산건은 파트너에 정산해줄 정산 금액과 정산 방식 등이 포함되어 있는 정산 정보입니다.
        정산 방식은은 주문 정산, 주문 취소 정산, 수기 정산이 있습니다.
      oneOf:
        - $ref: '#/components/schemas/PlatformManualTransfer'
        - $ref: '#/components/schemas/PlatformOrderCancelTransfer'
        - $ref: '#/components/schemas/PlatformOrderTransfer'
      discriminator:
        propertyName: type
        mapping:
          MANUAL: '#/components/schemas/PlatformManualTransfer'
          ORDER: '#/components/schemas/PlatformOrderTransfer'
          ORDER_CANCEL: '#/components/schemas/PlatformOrderCancelTransfer'
      x-portone-title: 정산건
      x-portone-description: |-
        정산건은 파트너에 정산해줄 정산 금액과 정산 방식 등이 포함되어 있는 정산 정보입니다.
        정산 방식은은 주문 정산, 주문 취소 정산, 수기 정산이 있습니다.
      x-portone-discriminator:
        MANUAL:
          title: 수기 정산건
        ORDER:
          title: 주문 정산건
        ORDER_CANCEL:
          title: 주문 취소 정산건
    PlatformTransferAlreadyExistsError:
      title: PlatformTransferAlreadyExistsError
      type: object
      required:
        - type
        - transferId
        - transferGraphqlId
      properties:
        type:
          type: string
        transferId:
          type: string
        transferGraphqlId:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformTransferDiscountSharePolicyNotFoundError:
      title: PlatformTransferDiscountSharePolicyNotFoundError
      type: object
      required:
        - type
        - discountSharePolicyId
        - discountSharePolicyGraphqlId
      properties:
        type:
          type: string
        discountSharePolicyId:
          type: string
        discountSharePolicyGraphqlId:
          type: string
        productId:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformTransferFilterInput:
      title: 정산건 필터 입력 정보
      description: |-
        정산건 필터 입력 정보

        정산 시작일 범위와 정산 일 범위는 둘 중 하나만 입력 가능합니다.
      type: object
      properties:
        settlementStartDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산 시작일 범위
        settlementDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산 일 범위
        partnerTags:
          type: array
          items:
            type: string
          title: 파트너 태그 리스트
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 태그를 하나 이상 가지는 파트너에 대한 정산건만 조회합니다.
        contractIds:
          type: array
          items:
            type: string
          title: 계약 아이디 리스트
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 계약 아이디를 가지는 정산건만 조회합니다.
        discountSharePolicyIds:
          type: array
          items:
            type: string
          title: 할인 분담 정책 아이디 리스트
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 할인 분담 정책 아이디를 하나 이상 가지는 정산건만 조회합니다.
        additionalFeePolicyIds:
          type: array
          items:
            type: string
          title: 추가 수수료 정책 아이디 리스트
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 추가 수수료 아이디를 하나 이상 가지는 정산건만 조회합니다.
        paymentMethodTypes:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodType'
          title: 결제 수단 리스트
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 결제 수단을 가지는 파트너만 조회합니다.
        channelKeys:
          type: array
          items:
            type: string
          title: 채널 키 리스트
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 채널 키를 가지는 정산건만 조회합니다.
        types:
          type: array
          items:
            $ref: '#/components/schemas/PlatformTransferType'
          title: 정산 방식 리스트
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 방식의 정산건만 조회합니다.
        statuses:
          title: 정산 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformTransferStatus'
          description: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 상태인 정산건만 조회합니다.
        userDefinedProperty:
          $ref: '#/components/schemas/PlatformTransferPropertyExactMatchInput'
          title: 사용자 정의 속성 exact match
          description: 사용자 정의 속성의 key와 value가 정확히 일치하는 정산건만 조회합니다.
        keyword:
          $ref: '#/components/schemas/PlatformTransferFilterInputKeyword'
          title: 검색 키워드
        isForTest:
          type: boolean
          title: 테스트 모드 여부
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Filter의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로
            적용됩니다.
      x-portone-title: 정산건 필터 입력 정보
      x-portone-description: 정산 시작일 범위와 정산 일 범위는 둘 중 하나만 입력 가능합니다.
    PlatformTransferFilterInputKeyword:
      title: 정산건 검색 키워드 입력 정보
      description: |-
        정산건 검색 키워드 입력 정보

        검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 정산건만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.
      type: object
      properties:
        all:
          type: string
          description: 해당 값이 포함된 정보를 가진 정산건만 조회합니다.
        paymentId:
          type: string
          description: 해당 값이랑 일치하는 paymentId 를 가진 정산건만 조회합니다.
        transferId:
          type: string
          description: 해당 값이랑 일치하는 transferId 를 가진 정산건만 조회합니다.
        transferMemo:
          type: string
          description: 해당 값이 포함된 transferMemo 를 가진 정산건만 조회합니다.
        productId:
          type: string
          description: 해당 값이랑 일치하는 productId 를 가진 정산건만 조회합니다.
        productName:
          type: string
          description: 해당 값이랑 일치하는 productName 을 가진 정산건만 조회합니다.
        partnerId:
          type: string
          description: 해당 값이랑 일치하는 partnerId 를 가진 정산건만 조회합니다.
        partnerName:
          type: string
          description: 해당 값이 포함된 partnerName 을 가진 정산건만 조회합니다.
        partnerMemo:
          type: string
          description: 해당 값이 포함된 partnerMemo 를 가진 정산건만 조회합니다.
        partnerSettlementId:
          type: string
          description: 해당 값이 포함된 partnerSettlementId 를 가진 정산건만 조회합니다.
        payoutId:
          type: string
          description: 해당 값과 일치하는 지급건에 연관된 정산건만 조회합니다.
      x-portone-title: 정산건 검색 키워드 입력 정보
      x-portone-description: '검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 정산건만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.'
    PlatformTransferIdAlreadyUsedError:
      title: PlatformTransferIdAlreadyUsedError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 409
    PlatformTransferNonDeletableStatusError:
      title: PlatformTransferNonDeletableStatusError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 400
    PlatformTransferNotFoundError:
      title: PlatformTransferNotFoundError
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-status-code: 404
    PlatformTransferPropertyExactMatchInput:
      title: 사용자 정의 속성 key/value exact match
      description: 사용자 정의 속성 key/value exact match
      type: object
      required:
        - key
        - value
      properties:
        key:
          type: string
          title: 키
        value:
          type: string
          title: 값
      x-portone-title: 사용자 정의 속성 key/value exact match
    PlatformTransferStatus:
      title: 정산 상태
      description: 정산 상태
      type: string
      enum:
        - SCHEDULED
        - IN_PROCESS
        - SETTLED
        - IN_PAYOUT
        - PAID_OUT
        - PAYOUT_CONFIRMED
      x-portone-title: 정산 상태
      x-portone-enum:
        SETTLED:
          title: 정산 완료
        PAYOUT_CONFIRMED:
          title: 지급 확정
        SCHEDULED:
          title: 정산 예약
        PAID_OUT:
          title: 지급 완료
        IN_PROCESS:
          title: 정산 중
        IN_PAYOUT:
          title: 지급 중
    PlatformTransferSummary:
      title: PlatformTransferSummary
      oneOf:
        - $ref: '#/components/schemas/PlatformManualTransferSummary'
        - $ref: '#/components/schemas/PlatformOrderCancelTransferSummary'
        - $ref: '#/components/schemas/PlatformOrderTransferSummary'
      discriminator:
        propertyName: type
        mapping:
          MANUAL: '#/components/schemas/PlatformManualTransferSummary'
          ORDER: '#/components/schemas/PlatformOrderTransferSummary'
          ORDER_CANCEL: '#/components/schemas/PlatformOrderCancelTransferSummary'
      x-portone-discriminator:
        MANUAL: {}
        ORDER: {}
        ORDER_CANCEL: {}
    PlatformTransferSummaryExternalPayment:
      title: PlatformTransferSummaryExternalPayment
      type: object
      required:
        - type
        - id
        - currency
      properties:
        type:
          type: string
        id:
          type: string
        orderName:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        methodType:
          $ref: '#/components/schemas/PaymentMethodType'
    PlatformTransferSummaryPartner:
      title: PlatformTransferSummaryPartner
      type: object
      required:
        - id
        - graphqlId
        - name
        - type
        - userDefinedProperties
      properties:
        id:
          type: string
        graphqlId:
          type: string
        name:
          type: string
        type:
          $ref: '#/components/schemas/PlatformTransferSummaryPartnerType'
        taxationType:
          $ref: '#/components/schemas/PlatformPartnerTaxationType'
        userDefinedProperties:
          title: 사용자 정의 속성
          type: array
          items:
            $ref: '#/components/schemas/PlatformUserDefinedPropertyKeyValue'
    PlatformTransferSummaryPartnerType:
      title: 파트너 유형
      description: 파트너 유형
      type: string
      enum:
        - BUSINESS
        - WHT_PAYER
        - NON_WHT_PAYER
      x-portone-title: 파트너 유형
      x-portone-enum:
        BUSINESS:
          title: 사업자
        WHT_PAYER:
          title: 원천징수 대상자
        NON_WHT_PAYER:
          title: 원천징수 비대상자
    PlatformTransferSummaryPayment:
      title: PlatformTransferSummaryPayment
      oneOf:
        - $ref: '#/components/schemas/PlatformTransferSummaryExternalPayment'
        - $ref: '#/components/schemas/PlatformTransferSummaryPortOnePayment'
      discriminator:
        propertyName: type
        mapping:
          EXTERNAL: '#/components/schemas/PlatformTransferSummaryExternalPayment'
          PORT_ONE: '#/components/schemas/PlatformTransferSummaryPortOnePayment'
      x-portone-discriminator:
        PORT_ONE: {}
        EXTERNAL: {}
    PlatformTransferSummaryPortOnePayment:
      title: PlatformTransferSummaryPortOnePayment
      type: object
      required:
        - type
        - id
        - orderName
        - currency
      properties:
        type:
          type: string
        id:
          type: string
        orderName:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        methodType:
          $ref: '#/components/schemas/PaymentMethodType'
    PlatformTransferType:
      title: PlatformTransferType
      type: string
      enum:
        - ORDER
        - ORDER_CANCEL
        - MANUAL
      x-portone-enum:
        ORDER: {}
        ORDER_CANCEL: {}
        MANUAL: {}
    PlatformUserDefinedFormulaResults:
      title: PlatformUserDefinedFormulaResults
      type: object
      additionalProperties:
        type: integer
        format: int64
    PlatformUserDefinedPropertyKeyValue:
      title: 사용자 정의 속성
      description: 사용자 정의 속성
      type: object
      required:
        - key
        - value
      properties:
        key:
          type: string
          title: 사용자 정의 속성 키
        value:
          $ref: '#/components/schemas/PlatformUserDefinedPropertyValue'
          title: 사용자 정의 속성 값
      x-portone-title: 사용자 정의 속성
    PlatformUserDefinedPropertyNotFoundError:
      title: 사용자 정의 속성이 존재 하지 않는 경우
      description: 사용자 정의 속성이 존재 하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 사용자 정의 속성이 존재 하지 않는 경우
      x-portone-status-code: 404
    PlatformUserDefinedPropertyValue:
      title: PlatformUserDefinedPropertyValue
      type: object
      required:
        - string
      properties:
        string:
          type: string
    PlatformWithdrawalAccountTransfer:
      title: PlatformWithdrawalAccountTransfer
      type: object
      required:
        - type
        - id
        - bankAccountId
        - bankAccountGraphqlId
        - bankAccount
        - currency
        - depositBank
        - depositAccountNumber
        - depositAccountHolder
        - amount
        - createdAt
        - updatedAt
        - isForTest
        - withdrawalType
        - statusUpdatedAt
        - status
      properties:
        type:
          type: string
          title: 계좌 이체 유형
        id:
          type: string
          title: 계좌 이체 아이디
        bankAccountId:
          type: string
          title: 출금 계좌 아이디
        bankAccountGraphqlId:
          type: string
        bankAccount:
          $ref: '#/components/schemas/PlatformBankAccountDetail'
          title: 출금 계좌 정보
        sequenceNumber:
          type: integer
          format: int32
          title: 거래 일련번호
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        depositBank:
          $ref: '#/components/schemas/Bank'
          title: 이체 계좌 은행
        depositAccountNumber:
          type: string
          title: 이체 계좌 번호
        depositAccountHolder:
          type: string
          title: 예금주
        amount:
          type: integer
          format: int64
          title: 금액
        withdrawalMemo:
          type: string
          title: 보내는 이 통장 메모
        depositMemo:
          type: string
          title: 받는 이 통장 메모
        balance:
          type: integer
          format: int64
          title: 잔액
        failReason:
          type: string
          title: 실패 사유
        tradedAt:
          type: string
          format: date-time
          title: 이체 일시
        createdAt:
          type: string
          format: date-time
          title: 생성 일시
        updatedAt:
          type: string
          format: date-time
          title: 수정 일시
        isForTest:
          type: boolean
          title: 테스트 모드 여부
        withdrawalType:
          $ref: '#/components/schemas/Type'
          title: 출금 유형
        partnerId:
          type: string
          title: 파트너 고유 아이디
        partnerGraphqlId:
          type: string
        bulkPayoutId:
          type: string
          title: 일괄 지급 고유 아이디
        bulkPayoutGraphqlId:
          type: string
        payoutId:
          type: string
          title: 지급 고유 아이디
        payoutGraphqlId:
          type: string
        bulkAccountTransferId:
          type: string
        bulkAccountTransferGraphqlId:
          type: string
        documentId:
          type: string
          title: 전자서명 아이디
        statusUpdatedAt:
          type: string
          format: date-time
          title: 상태 업데이트 일시
        status:
          $ref: '#/components/schemas/PlatformAccountTransferStatus'
          title: 상태
        scheduledAt:
          type: string
          format: date-time
          title: 예정 일시
    PortOneVersion:
      title: 포트원 버전
      description: 포트원 버전
      type: string
      enum:
        - V1
        - V2
      x-portone-title: 포트원 버전
      x-portone-enum:
        V1: {}
        V2: {}
    PreRegisterPaymentBody:
      title: 결제 정보 사전 등록 입력 정보
      description: 결제 정보 사전 등록 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 결제 면세 금액
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화 단위
      x-portone-title: 결제 정보 사전 등록 입력 정보
    PreRegisterPaymentError:
      title: PreRegisterPaymentError
      oneOf:
        - $ref: '#/components/schemas/AlreadyPaidError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          ALREADY_PAID: '#/components/schemas/AlreadyPaidError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    PreRegisterPaymentResponse:
      title: 결제 사전 등록 성공 응답
      description: 결제 사전 등록 성공 응답
      type: object
      x-portone-title: 결제 사전 등록 성공 응답
    Promotion:
      title: 프로모션
      description: 프로모션
      oneOf:
        - $ref: '#/components/schemas/CardPromotion'
      discriminator:
        propertyName: type
        mapping:
          CARD: '#/components/schemas/CardPromotion'
      x-portone-title: 프로모션
      x-portone-discriminator:
        CARD:
          title: 카드 프로모션
    PromotionAmountDiscountScheme:
      title: PromotionAmountDiscountScheme
      type: object
      required:
        - type
        - amount
      properties:
        type:
          type: string
          title: 프로모션 할인 유형
        amount:
          type: integer
          format: int64
    PromotionCardCompany:
      title: 프로모션 적용 가능한 카드사
      description: 프로모션 적용 가능한 카드사
      type: string
      enum:
        - WOORI_CARD
        - BC_CARD
        - SAMSUNG_CARD
        - SHINHAN_CARD
        - HYUNDAI_CARD
        - LOTTE_CARD
        - NH_CARD
        - HANA_CARD
        - KOOKMIN_CARD
      x-portone-title: 프로모션 적용 가능한 카드사
      x-portone-enum:
        HANA_CARD:
          title: 하나카드
        HYUNDAI_CARD:
          title: 현대카드
        BC_CARD:
          title: BC카드
        WOORI_CARD:
          title: 우리카드
        LOTTE_CARD:
          title: 롯데카드
        SAMSUNG_CARD:
          title: 삼성카드
        SHINHAN_CARD:
          title: 신한카드
        NH_CARD:
          title: NH카드
        KOOKMIN_CARD:
          title: 국민카드
    PromotionDiscountPartition:
      title: 금액 구간별 프로모션 할인 정책
      description: 금액 구간별 프로모션 할인 정책
      type: object
      required:
        - amountFrom
        - scheme
      properties:
        amountFrom:
          type: integer
          format: int64
        scheme:
          $ref: '#/components/schemas/PromotionDiscountScheme'
      x-portone-title: 금액 구간별 프로모션 할인 정책
    PromotionDiscountPolicy:
      title: 프로모션 할인 정책
      description: 프로모션 할인 정책
      type: object
      required:
        - partitions
      properties:
        partitions:
          title: 금액 구간별 프로모션 할인 정책
          type: array
          items:
            $ref: '#/components/schemas/PromotionDiscountPartition'
      x-portone-title: 프로모션 할인 정책
    PromotionDiscountRetainOption:
      title: PromotionDiscountRetainOption
      type: string
      enum:
        - RETAIN
        - RELEASE
      x-portone-enum:
        RETAIN: {}
        RELEASE: {}
    PromotionDiscountRetainOptionShouldNotBeChangedError:
      title: 프로모션 혜택 유지 옵션을 이전 부분 취소와 다른 것으로 입력한 경우
      description: 프로모션 혜택 유지 옵션을 이전 부분 취소와 다른 것으로 입력한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 프로모션 혜택 유지 옵션을 이전 부분 취소와 다른 것으로 입력한 경우
      x-portone-status-code: 400
    PromotionDiscountScheme:
      title: PromotionDiscountScheme
      oneOf:
        - $ref: '#/components/schemas/PromotionAmountDiscountScheme'
        - $ref: '#/components/schemas/PromotionPercentDiscountScheme'
      discriminator:
        propertyName: type
        mapping:
          AMOUNT: '#/components/schemas/PromotionAmountDiscountScheme'
          PERCENT: '#/components/schemas/PromotionPercentDiscountScheme'
      x-portone-discriminator:
        PERCENT:
          title: 정률 할인
        AMOUNT:
          title: 정액 할인
    PromotionNotFoundError:
      title: 프로모션이 존재하지 않는 경우
      description: 프로모션이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 프로모션이 존재하지 않는 경우
      x-portone-status-code: 404
    PromotionPayMethodDoesNotMatchError:
      title: 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우
      description: 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 결제수단이 프로모션에 지정된 것과 일치하지 않는 경우
      x-portone-status-code: 400
    PromotionPercentDiscountScheme:
      title: PromotionPercentDiscountScheme
      type: object
      required:
        - type
        - percent
      properties:
        type:
          type: string
          title: 프로모션 할인 유형
        percent:
          type: integer
          format: int32
    PromotionRecoverOption:
      title: PromotionRecoverOption
      oneOf:
        - $ref: '#/components/schemas/PromotionRecoverOptionNoRecover'
        - $ref: '#/components/schemas/PromotionRecoverOptionRecover'
      discriminator:
        propertyName: type
        mapping:
          NO_RECOVER: '#/components/schemas/PromotionRecoverOptionNoRecover'
          RECOVER: '#/components/schemas/PromotionRecoverOptionRecover'
      x-portone-discriminator:
        RECOVER:
          title: 결제 취소 시 프로모션 예산 복구
        NO_RECOVER:
          title: 결제 취소 시 프로모션 예산 미복구
    PromotionRecoverOptionNoRecover:
      title: 결제 취소 시 프로모션 예산 미복구
      description: 결제 취소 시 프로모션 예산 미복구
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 결제 취소 시 프로모션 예산 복구 옵션
        spareBudget:
          $ref: '#/components/schemas/PromotionSpareBudget'
      x-portone-title: 결제 취소 시 프로모션 예산 미복구
    PromotionRecoverOptionRecover:
      title: 결제 취소 시 프로모션 예산 복구
      description: 결제 취소 시 프로모션 예산 복구
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 결제 취소 시 프로모션 예산 복구 옵션
      x-portone-title: 결제 취소 시 프로모션 예산 복구
    PromotionSpareBudget:
      title: PromotionSpareBudget
      oneOf:
        - $ref: '#/components/schemas/PromotionSpareBudgetAmount'
        - $ref: '#/components/schemas/PromotionSpareBudgetPercent'
      discriminator:
        propertyName: type
        mapping:
          AMOUNT: '#/components/schemas/PromotionSpareBudgetAmount'
          PERCENT: '#/components/schemas/PromotionSpareBudgetPercent'
      x-portone-discriminator:
        PERCENT:
          title: 추가 예산 비율
        AMOUNT:
          title: 추가 예산 금액
    PromotionSpareBudgetAmount:
      title: PromotionSpareBudgetAmount
      type: object
      required:
        - type
        - amount
      properties:
        type:
          type: string
          title: 환불 대비용 프로모션 추가 예산
        amount:
          type: integer
          format: int64
    PromotionSpareBudgetPercent:
      title: PromotionSpareBudgetPercent
      type: object
      required:
        - type
        - percent
      properties:
        type:
          type: string
          title: 환불 대비용 프로모션 추가 예산
        percent:
          type: integer
          format: int32
    PromotionStatus:
      title: PromotionStatus
      type: string
      enum:
        - SCHEDULED
        - IN_PROGRESS
        - PAUSED
        - BUDGET_EXHAUSTED
        - TERMINATED
        - COMPLETED
      x-portone-enum:
        IN_PROGRESS:
          title: 진행중
        TERMINATED:
          title: 중단됨
        COMPLETED:
          title: 완료됨
        SCHEDULED:
          title: 예정됨
        PAUSED:
          title: 일시 중지됨
        BUDGET_EXHAUSTED:
          title: 예산 소진됨
    ReadyIdentityVerification:
      title: 준비 상태의 본인인증 내역
      description: 준비 상태의 본인인증 내역
      type: object
      required:
        - status
        - id
        - requestedCustomer
        - requestedAt
        - updatedAt
        - statusChangedAt
        - version
      properties:
        status:
          type: string
          title: 본인인증 상태
        id:
          type: string
          title: 고객사 본인인증 번호
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 사용된 본인인증 채널
        requestedCustomer:
          $ref: '#/components/schemas/IdentityVerificationRequestedCustomer'
          title: 요청 시 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        requestedAt:
          type: string
          format: date-time
          title: 본인인증 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        pgTxId:
          type: string
          title: 본인인증 내역 PG사 아이디
      x-portone-title: 준비 상태의 본인인증 내역
    ReadyPayment:
      title: 준비 상태 건
      description: 준비 상태 건
      type: object
      required:
        - status
        - id
        - transactionId
        - merchantId
        - storeId
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - origin
      properties:
        status:
          type: string
          title: 결제 건 상태
        id:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제의 배송 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
      x-portone-title: 준비 상태 건
    ReadyPaymentTransaction:
      title: 준비 상태 건
      description: 준비 상태 건
      type: object
      required:
        - status
        - id
        - paymentId
        - merchantId
        - storeId
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
      properties:
        status:
          type: string
          title: 결제 시도 상태
        id:
          type: string
          title: 결제 시도 아이디 (transactionId)
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        paymentId:
          type: string
          title: 결제 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제의 배송 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
      x-portone-title: 준비 상태 건
    ReconciliationPgProvider:
      title: ReconciliationPgProvider
      type: string
      enum:
        - KAKAOPAY
        - NICEPAY
        - NAVERPAY
        - UPLUS
        - TOSSPAYMENTS
        - TOSSPAY
        - PAYCO
        - KCP
        - DANAL
        - EXIMBAY
        - INICIS
        - HECTO
        - KSNET
        - KPN
        - HYPHEN
        - PAYPAL
        - HECTO_EASY
        - MOBILIANS
        - PAYLETTER_GLOBAL
        - KIWOOMPAY
        - PAYMENTWALL
      x-portone-enum:
        PAYMENTWALL: {}
        NAVERPAY: {}
        HECTO: {}
        TOSSPAY: {}
        INICIS: {}
        PAYPAL: {}
        KPN: {}
        DANAL: {}
        NICEPAY: {}
        TOSSPAYMENTS: {}
        EXIMBAY: {}
        KIWOOMPAY: {}
        PAYLETTER_GLOBAL: {}
        PAYCO: {}
        MOBILIANS: {}
        UPLUS: {}
        HYPHEN: {}
        HECTO_EASY: {}
        KAKAOPAY: {}
        KSNET: {}
        KCP: {}
    ReconciliationPgSpecifier:
      title: 대사용 PG사 가맹점 식별자
      description: 대사용 PG사 가맹점 식별자
      type: object
      required:
        - pgMerchantId
        - pgProvider
      properties:
        pgMerchantId:
          type: string
          title: PG사 가맹점 식별 아이디
        pgProvider:
          $ref: '#/components/schemas/ReconciliationPgProvider'
          title: PG사
      x-portone-title: 대사용 PG사 가맹점 식별자
    RecoverPlatformAdditionalFeePolicyError:
      title: RecoverPlatformAdditionalFeePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RecoverPlatformAdditionalFeePolicyResponse:
      title: 추가 수수료 정책 복원 성공 응답
      description: 추가 수수료 정책 복원 성공 응답
      type: object
      required:
        - additionalFeePolicy
      properties:
        additionalFeePolicy:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          title: 복원된 추가 수수료 정책
      x-portone-title: 추가 수수료 정책 복원 성공 응답
    RecoverPlatformContractError:
      title: RecoverPlatformContractError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RecoverPlatformContractResponse:
      title: 계약 복원 성공 응답
      description: 계약 복원 성공 응답
      type: object
      required:
        - contract
      properties:
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 복원된 계약
      x-portone-title: 계약 복원 성공 응답
    RecoverPlatformDiscountSharePolicyError:
      title: RecoverPlatformDiscountSharePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RecoverPlatformDiscountSharePolicyResponse:
      title: 할인 분담 복원 성공 응답
      description: 할인 분담 복원 성공 응답
      type: object
      required:
        - discountSharePolicy
      properties:
        discountSharePolicy:
          $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          title: 복원된 할인 분담
      x-portone-title: 할인 분담 복원 성공 응답
    RecoverPlatformPartnerError:
      title: RecoverPlatformPartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformPartnerPendingNtsOperationError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_PARTNER_PENDING_NTS_OPERATION: '#/components/schemas/PlatformPartnerPendingNtsOperationError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RecoverPlatformPartnerResponse:
      title: 파트너 복원 성공 응답
      description: 파트너 복원 성공 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 복원된 파트너
      x-portone-title: 파트너 복원 성공 응답
    RefreshTokenBody:
      title: 토큰 재발급을 위한 입력 정보
      description: 토큰 재발급을 위한 입력 정보
      type: object
      required:
        - refreshToken
      properties:
        refreshToken:
          type: string
          title: 리프레시 토큰
      x-portone-title: 토큰 재발급을 위한 입력 정보
    RefreshTokenError:
      title: RefreshTokenError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RefreshTokenResponse:
      title: 토큰 재발급 성공 응답
      description: 토큰 재발급 성공 응답
      type: object
      required:
        - accessToken
        - refreshToken
      properties:
        accessToken:
          type: string
          title: 인증에 사용하는 엑세스 토큰
          description: 30분의 유효기간을 가지고 있습니다.
        refreshToken:
          type: string
          title: 토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰
          description: >-
            하루의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다.

            동일한 유저가 로그인 또는 토큰 재발급을 진행할 때마다 기존에 발급된 리프레시 토큰은 즉시 만료되므로 API 사용에
            유의해주세요.
      x-portone-title: 토큰 재발급 성공 응답
    RefuseB2bTaxInvoiceRequestBody:
      title: 세금계산서 역발행 요청 거부 정보
      description: 세금계산서 역발행 요청 거부 정보
      type: object
      properties:
        memo:
          type: string
          title: 메모
      x-portone-title: 세금계산서 역발행 요청 거부 정보
    RefuseB2bTaxInvoiceRequestError:
      title: RefuseB2bTaxInvoiceRequestError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_NOT_REQUESTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError'
          B2B_TAX_INVOICE_NO_SUPPLIER_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RefuseB2bTaxInvoiceRequestResponse:
      title: 세금계산서 역발행 요청 거부 응답
      description: 세금계산서 역발행 요청 거부 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 역발행 요청 거부 응답
    RegisterEscrowLogisticsBody:
      title: 에스크로 배송 정보 등록 입력 정보
      description: 에스크로 배송 정보 등록 입력 정보
      type: object
      required:
        - logistics
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        sender:
          $ref: '#/components/schemas/PaymentEscrowSenderInput'
          title: 에스크로 발송자 정보
        receiver:
          $ref: '#/components/schemas/PaymentEscrowReceiverInput'
          title: 에스크로 수취인 정보
        logistics:
          $ref: '#/components/schemas/PaymentLogistics'
          title: 에스크로 물류 정보
        sendEmail:
          type: boolean
          title: 이메일 알림 전송 여부
          description: 에스크로 구매 확정 시 이메일로 알림을 보낼지 여부입니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
      x-portone-title: 에스크로 배송 정보 등록 입력 정보
    RegisterStoreReceiptBody:
      title: 영수증 내 하위 상점 거래 등록 정보
      description: 영수증 내 하위 상점 거래 등록 정보
      type: object
      required:
        - items
      properties:
        items:
          title: 하위 상점 거래 목록
          type: array
          items:
            $ref: '#/components/schemas/RegisterStoreReceiptBodyItem'
        storeId:
          type: string
          title: 상점 아이디
      x-portone-title: 영수증 내 하위 상점 거래 등록 정보
    RegisterStoreReceiptBodyItem:
      title: 하위 상점 거래 정보
      description: 하위 상점 거래 정보
      type: object
      required:
        - storeBusinessRegistrationNumber
        - storeName
        - totalAmount
        - currency
      properties:
        storeBusinessRegistrationNumber:
          type: string
          title: 하위 상점 사업자등록번호
        storeName:
          type: string
          title: 하위 상점명
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세액
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
      x-portone-title: 하위 상점 거래 정보
    RegisterStoreReceiptError:
      title: RegisterStoreReceiptError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PaymentNotPaidError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PAYMENT_NOT_PAID: '#/components/schemas/PaymentNotPaidError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RegisterStoreReceiptResponse:
      title: 영수증 내 하위 상점 거래 등록 응답
      description: 영수증 내 하위 상점 거래 등록 응답
      type: object
      properties:
        receiptUrl:
          type: string
          title: 결제 영수증 URL
      x-portone-title: 영수증 내 하위 상점 거래 등록 응답
    RegisteredPaymentEscrow:
      title: 배송 정보 등록 완료
      description: 배송 정보 등록 완료
      type: object
      required:
        - status
        - company
        - invoiceNumber
      properties:
        status:
          type: string
          title: 에스크로 상태
        company:
          type: string
          title: 택배사
        invoiceNumber:
          type: string
          title: 송장번호
        sentAt:
          type: string
          format: date-time
          title: 발송 일시
        appliedAt:
          type: string
          format: date-time
          title: 배송등록 처리 일자
      x-portone-title: 배송 정보 등록 완료
    RejectConfirmedPaymentEscrow:
      title: 구매 거절 확정
      description: 구매 거절 확정
      type: object
      required:
        - status
        - company
        - invoiceNumber
      properties:
        status:
          type: string
          title: 에스크로 상태
        company:
          type: string
          title: 택배사
        invoiceNumber:
          type: string
          title: 송장번호
        sentAt:
          type: string
          format: date-time
          title: 발송 일시
        appliedAt:
          type: string
          format: date-time
          title: 배송등록 처리 일자
      x-portone-title: 구매 거절 확정
    RejectedPaymentEscrow:
      title: 구매 거절
      description: 구매 거절
      type: object
      required:
        - status
        - company
        - invoiceNumber
      properties:
        status:
          type: string
          title: 에스크로 상태
        company:
          type: string
          title: 택배사
        invoiceNumber:
          type: string
          title: 송장번호
        sentAt:
          type: string
          format: date-time
          title: 발송 일시
        appliedAt:
          type: string
          format: date-time
          title: 배송등록 처리 일자
      x-portone-title: 구매 거절
    RequestB2bTaxInvoiceResponse:
      title: 세금계산서 역발행 요청 응답
      description: 세금계산서 역발행 요청 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 역발행 요청 응답
    RequestB2bTaxInvoiceReverseIssuanceBody:
      title: 세금계산서 역발행 즉시 요청 정보
      description: 세금계산서 역발행 즉시 요청 정보
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoiceInput'
          title: 세금계산서 생성 요청 정보
        memo:
          type: string
          title: 메모
        modification:
          $ref: '#/components/schemas/B2bTaxInvoiceModificationCreateBody'
          title: 수정 세금계산서 입력 정보
      x-portone-title: 세금계산서 역발행 즉시 요청 정보
    RequestB2bTaxInvoiceReverseIssuanceError:
      title: RequestB2bTaxInvoiceReverseIssuanceError
      oneOf:
        - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError'
        - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bIdAlreadyExistsError'
        - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError'
        - $ref: '#/components/schemas/B2bModificationNotProvidedError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bRecipientNotFoundError'
        - $ref: '#/components/schemas/B2bSupplierNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError'
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError'
          B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError'
          B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
          B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError'
          B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
          B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
          B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RequestB2bTaxInvoiceReverseIssuanceResponse:
      title: 세금계산서 역발행 즉시 요청 응답
      description: 세금계산서 역발행 즉시 요청 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 역발행 즉시 요청 응답
    RequestedPaymentCancellation:
      title: 취소 요청 상태
      description: 취소 요청 상태
      type: object
      required:
        - status
        - id
        - totalAmount
        - taxFreeAmount
        - vatAmount
        - reason
        - requestedAt
      properties:
        status:
          type: string
          title: 결제 취소 내역 상태
        id:
          type: string
          title: 취소 내역 아이디
        pgCancellationId:
          type: string
          title: PG사 결제 취소 내역 아이디
        totalAmount:
          type: integer
          format: int64
          title: 취소 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 취소 금액 중 면세 금액
        vatAmount:
          type: integer
          format: int64
          title: 취소 금액 중 부가세액
        easyPayDiscountAmount:
          type: integer
          format: int64
          title: 적립형 포인트의 환불 금액
        reason:
          type: string
          title: 취소 사유
        cancelledAt:
          type: string
          format: date-time
          title: 취소 시점
        requestedAt:
          type: string
          format: date-time
          title: 취소 요청 시점
        trigger:
          $ref: '#/components/schemas/Trigger'
          title: 취소 요청 경로
      x-portone-title: 취소 요청 상태
    RescheduleAdditionalFeePolicyError:
      title: RescheduleAdditionalFeePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RescheduleContractError:
      title: RescheduleContractError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RescheduleDiscountSharePolicyError:
      title: RescheduleDiscountSharePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ReschedulePartnerError:
      title: ReschedulePartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerCannotBeScheduledError
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_MEMBER_COMPANY_CONNECTED_PARTNER_CANNOT_BE_SCHEDULED: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerCannotBeScheduledError
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ReschedulePlatformAdditionalFeePolicyBody:
      title: 추가 수수료 정책 예약 업데이트 재설정을 위한 입력 정보
      description: 추가 수수료 정책 예약 업데이트 재설정을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 추가 수수료 정책 예약 업데이트 재설정을 위한 입력 정보
    ReschedulePlatformAdditionalFeePolicyResponse:
      title: 추가 수수료 정책 예약 업데이트 재설정 성공 응답
      description: 추가 수수료 정책 예약 업데이트 재설정 성공 응답
      type: object
      required:
        - scheduledAdditionalFeePolicy
      properties:
        scheduledAdditionalFeePolicy:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          title: 예약된 추가 수수료 정책
      x-portone-title: 추가 수수료 정책 예약 업데이트 재설정 성공 응답
    ReschedulePlatformContractBody:
      title: 계약 예약 업데이트 재설정을 위한 입력 정보
      description: 계약 예약 업데이트 재설정을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformContractBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 계약 예약 업데이트 재설정을 위한 입력 정보
    ReschedulePlatformContractResponse:
      title: 계약 예약 업데이트 재설정 성공 응답
      description: 계약 예약 업데이트 재설정 성공 응답
      type: object
      required:
        - scheduledContract
      properties:
        scheduledContract:
          $ref: '#/components/schemas/PlatformContract'
          title: 예약된 계약 정보
      x-portone-title: 계약 예약 업데이트 재설정 성공 응답
    ReschedulePlatformDiscountSharePolicyBody:
      title: 할인 분담 정책 예약 업데이트 재설정을 위한 입력 정보
      description: 할인 분담 정책 예약 업데이트 재설정을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 할인 분담 정책 예약 업데이트 재설정을 위한 입력 정보
    ReschedulePlatformDiscountSharePolicyResponse:
      title: 할인 분담 정책 예약 업데이트 재설정 성공 응답
      description: 할인 분담 정책 예약 업데이트 재설정 성공 응답
      type: object
      required:
        - scheduledDiscountSharePolicy
      properties:
        scheduledDiscountSharePolicy:
          $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          title: 예약된 할인 분담 정보
      x-portone-title: 할인 분담 정책 예약 업데이트 재설정 성공 응답
    ReschedulePlatformPartnerBody:
      title: 파트너 예약 업데이트 재설정을 위한 입력 정보
      description: 파트너 예약 업데이트 재설정을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformPartnerBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 파트너 예약 업데이트 재설정을 위한 입력 정보
    ReschedulePlatformPartnerResponse:
      title: 파트너 예약 업데이트 재설정 성공 응답
      description: 파트너 예약 업데이트 재설정 성공 응답
      type: object
      required:
        - scheduledPartner
      properties:
        scheduledPartner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 예약된 파트너 정보
      x-portone-title: 파트너 예약 업데이트 재설정 성공 응답
    ResendIdentityVerificationError:
      title: ResendIdentityVerificationError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/IdentityVerificationAlreadyVerifiedError'
        - $ref: '#/components/schemas/IdentityVerificationNotFoundError'
        - $ref: '#/components/schemas/IdentityVerificationNotSentError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          IDENTITY_VERIFICATION_ALREADY_VERIFIED: '#/components/schemas/IdentityVerificationAlreadyVerifiedError'
          IDENTITY_VERIFICATION_NOT_FOUND: '#/components/schemas/IdentityVerificationNotFoundError'
          IDENTITY_VERIFICATION_NOT_SENT: '#/components/schemas/IdentityVerificationNotSentError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ResendIdentityVerificationResponse:
      title: 본인인증 요청 재전송 성공 응답
      description: 본인인증 요청 재전송 성공 응답
      type: object
      x-portone-title: 본인인증 요청 재전송 성공 응답
    ResendWebhookBody:
      title: ResendWebhookBody
      description: 웹훅 재발송을 위한 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        webhookId:
          type: string
          title: 웹훅 아이디
          description: 입력하지 않으면 결제 건의 가장 최근 웹훅 아이디가 기본 적용됩니다
      x-portone-description: 웹훅 재발송을 위한 입력 정보
    ResendWebhookError:
      title: ResendWebhookError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/MaxWebhookRetryCountReachedError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
        - $ref: '#/components/schemas/WebhookNotFoundError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          MAX_WEBHOOK_RETRY_COUNT_REACHED: '#/components/schemas/MaxWebhookRetryCountReachedError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
          WEBHOOK_NOT_FOUND: '#/components/schemas/WebhookNotFoundError'
    ResendWebhookResponse:
      title: 웹훅 재발송 응답 정보
      description: 웹훅 재발송 응답 정보
      type: object
      required:
        - webhook
      properties:
        webhook:
          $ref: '#/components/schemas/PaymentWebhook'
          title: 재발송 웹훅 정보
      x-portone-title: 웹훅 재발송 응답 정보
    RevokePaymentSchedulesBody:
      title: 결제 예약 건 취소 요청 입력 정보
      description: 결제 예약 건 취소 요청 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        billingKey:
          type: string
          title: 빌링키
        scheduleIds:
          type: array
          items:
            type: string
          title: 결제 예약 건 아이디 목록
      x-portone-title: 결제 예약 건 취소 요청 입력 정보
    RevokePaymentSchedulesError:
      title: RevokePaymentSchedulesError
      oneOf:
        - $ref: '#/components/schemas/BillingKeyAlreadyDeletedError'
        - $ref: '#/components/schemas/BillingKeyNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentScheduleAlreadyProcessedError'
        - $ref: '#/components/schemas/PaymentScheduleAlreadyRevokedError'
        - $ref: '#/components/schemas/PaymentScheduleNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          BILLING_KEY_ALREADY_DELETED: '#/components/schemas/BillingKeyAlreadyDeletedError'
          BILLING_KEY_NOT_FOUND: '#/components/schemas/BillingKeyNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_SCHEDULE_ALREADY_PROCESSED: '#/components/schemas/PaymentScheduleAlreadyProcessedError'
          PAYMENT_SCHEDULE_ALREADY_REVOKED: '#/components/schemas/PaymentScheduleAlreadyRevokedError'
          PAYMENT_SCHEDULE_NOT_FOUND: '#/components/schemas/PaymentScheduleNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RevokePaymentSchedulesResponse:
      title: 결제 예약 건 취소 성공 응답
      description: 결제 예약 건 취소 성공 응답
      type: object
      required:
        - revokedScheduleIds
      properties:
        revokedScheduleIds:
          type: array
          items:
            type: string
          title: 취소 완료된 결제 예약 건 아이디 목록
        revokedAt:
          type: string
          format: date-time
          title: 결제 예약 건 취소 완료 시점
      x-portone-title: 결제 예약 건 취소 성공 응답
    RevokedPaymentSchedule:
      title: 결제 예약 취소 상태
      description: 결제 예약 취소 상태
      type: object
      required:
        - status
        - id
        - merchantId
        - storeId
        - paymentId
        - billingKey
        - orderName
        - isCulturalExpense
        - isEscrow
        - customer
        - customData
        - totalAmount
        - currency
        - createdAt
        - timeToPay
        - revokedAt
      properties:
        status:
          type: string
          title: 결제 예약 건 상태
        id:
          type: string
          title: 결제 예약 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        billingKey:
          type: string
          title: 빌링키
        orderName:
          type: string
          title: 주문명
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        createdAt:
          type: string
          format: date-time
          title: 결제 예약 등록 시점
        timeToPay:
          type: string
          format: date-time
          title: 결제 예정 시점
        revokedAt:
          type: string
          format: date-time
          title: 결제 취소 시점
      x-portone-title: 결제 예약 취소 상태
    ScheduleAdditionalFeePolicyError:
      title: ScheduleAdditionalFeePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformAdditionalFeePolicyScheduleAlreadyExistsError
        - $ref: '#/components/schemas/PlatformArchivedAdditionalFeePolicyError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_ADDITIONAL_FEE_POLICY_SCHEDULE_ALREADY_EXISTS: >-
            #/components/schemas/PlatformAdditionalFeePolicyScheduleAlreadyExistsError
          PLATFORM_ARCHIVED_ADDITIONAL_FEE_POLICY: '#/components/schemas/PlatformArchivedAdditionalFeePolicyError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ScheduleContractError:
      title: ScheduleContractError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedContractError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformContractScheduleAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ARCHIVED_CONTRACT: '#/components/schemas/PlatformArchivedContractError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_CONTRACT_SCHEDULE_ALREADY_EXISTS: '#/components/schemas/PlatformContractScheduleAlreadyExistsError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ScheduleDiscountSharePolicyError:
      title: ScheduleDiscountSharePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedDiscountSharePolicyError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformDiscountSharePolicyScheduleAlreadyExistsError
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ARCHIVED_DISCOUNT_SHARE_POLICY: '#/components/schemas/PlatformArchivedDiscountSharePolicyError'
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_DISCOUNT_SHARE_POLICY_SCHEDULE_ALREADY_EXISTS: >-
            #/components/schemas/PlatformDiscountSharePolicyScheduleAlreadyExistsError
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    SchedulePartnerError:
      title: SchedulePartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAccountVerificationAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformAccountVerificationFailedError'
        - $ref: '#/components/schemas/PlatformAccountVerificationNotFoundError'
        - $ref: '#/components/schemas/PlatformArchivedPartnerError'
        - $ref: '#/components/schemas/PlatformCompanyVerificationAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformInsufficientDataToChangePartnerTypeError
        - $ref: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerBrnUnchangeableError
        - $ref: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerCannotBeScheduledError
        - $ref: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerTypeUnchangeableError
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformPartnerScheduleAlreadyExistsError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ACCOUNT_VERIFICATION_ALREADY_USED: '#/components/schemas/PlatformAccountVerificationAlreadyUsedError'
          PLATFORM_ACCOUNT_VERIFICATION_FAILED: '#/components/schemas/PlatformAccountVerificationFailedError'
          PLATFORM_ACCOUNT_VERIFICATION_NOT_FOUND: '#/components/schemas/PlatformAccountVerificationNotFoundError'
          PLATFORM_ARCHIVED_PARTNER: '#/components/schemas/PlatformArchivedPartnerError'
          PLATFORM_COMPANY_VERIFICATION_ALREADY_USED: '#/components/schemas/PlatformCompanyVerificationAlreadyUsedError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_INSUFFICIENT_DATA_TO_CHANGE_PARTNER_TYPE: >-
            #/components/schemas/PlatformInsufficientDataToChangePartnerTypeError
          PLATFORM_MEMBER_COMPANY_CONNECTED_PARTNER_BRN_UNCHANGEABLE: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerBrnUnchangeableError
          PLATFORM_MEMBER_COMPANY_CONNECTED_PARTNER_CANNOT_BE_SCHEDULED: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerCannotBeScheduledError
          PLATFORM_MEMBER_COMPANY_CONNECTED_PARTNER_TYPE_UNCHANGEABLE: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerTypeUnchangeableError
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_PARTNER_SCHEDULE_ALREADY_EXISTS: '#/components/schemas/PlatformPartnerScheduleAlreadyExistsError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    SchedulePlatformAdditionalFeePolicyBody:
      title: 추가 수수료 정책 업데이트 예약을 위한 입력 정보
      description: 추가 수수료 정책 업데이트 예약을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformAdditionalFeePolicyBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 추가 수수료 정책 업데이트 예약을 위한 입력 정보
    SchedulePlatformAdditionalFeePolicyResponse:
      title: 추가 수수료 정책 업데이트 예약 성공 응답
      description: 추가 수수료 정책 업데이트 예약 성공 응답
      type: object
      required:
        - scheduledAdditionalFeePolicy
      properties:
        scheduledAdditionalFeePolicy:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          title: 예약된 추가 수수료 정책
      x-portone-title: 추가 수수료 정책 업데이트 예약 성공 응답
    SchedulePlatformContractBody:
      title: 계약 업데이트 예약을 위한 입력 정보
      description: 계약 업데이트 예약을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformContractBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 계약 업데이트 예약을 위한 입력 정보
    SchedulePlatformContractResponse:
      title: 계약 업데이트 예약 성공 응답
      description: 계약 업데이트 예약 성공 응답
      type: object
      required:
        - scheduledContract
      properties:
        scheduledContract:
          $ref: '#/components/schemas/PlatformContract'
          title: 예약된 계약 정보
      x-portone-title: 계약 업데이트 예약 성공 응답
    SchedulePlatformDiscountSharePolicyBody:
      title: 할인 분담 정책 업데이트 예약을 위한 입력 정보
      description: 할인 분담 정책 업데이트 예약을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformDiscountSharePolicyBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 할인 분담 정책 업데이트 예약을 위한 입력 정보
    SchedulePlatformDiscountSharePolicyResponse:
      title: 할인 분담 정책 업데이트 예약 성공 응답
      description: 할인 분담 정책 업데이트 예약 성공 응답
      type: object
      required:
        - scheduledDiscountSharePolicy
      properties:
        scheduledDiscountSharePolicy:
          $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          title: 예약된 할인 분담 정보
      x-portone-title: 할인 분담 정책 업데이트 예약 성공 응답
    SchedulePlatformPartnerBody:
      title: 파트너 업데이트 예약을 위한 입력 정보
      description: 파트너 업데이트 예약을 위한 입력 정보
      type: object
      required:
        - update
        - appliedAt
      properties:
        update:
          $ref: '#/components/schemas/UpdatePlatformPartnerBody'
          title: 반영할 업데이트 내용
        appliedAt:
          type: string
          format: date-time
          title: 업데이트 적용 시점
      x-portone-title: 파트너 업데이트 예약을 위한 입력 정보
    SchedulePlatformPartnerResponse:
      title: 파트너 업데이트 예약 성공 응답
      description: 파트너 업데이트 예약 성공 응답
      type: object
      required:
        - scheduledPartner
      properties:
        scheduledPartner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 예약된 파트너 정보
      x-portone-title: 파트너 업데이트 예약 성공 응답
    SchedulePlatformPartnersBody:
      title: SchedulePlatformPartnersBody
      type: object
      required:
        - update
        - appliedAt
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerFilterInput'
        update:
          $ref: '#/components/schemas/SchedulePlatformPartnersBodyUpdate'
        appliedAt:
          type: string
          format: date-time
    SchedulePlatformPartnersBodyUpdate:
      title: SchedulePlatformPartnersBodyUpdate
      type: object
      properties:
        name:
          type: string
        contact:
          $ref: '#/components/schemas/SchedulePlatformPartnersBodyUpdateContact'
        type:
          $ref: '#/components/schemas/SchedulePlatformPartnersBodyUpdateType'
        account:
          $ref: '#/components/schemas/SchedulePlatformPartnersBodyUpdateAccount'
        defaultContractId:
          type: string
        memo:
          type: string
        tags:
          type: array
          items:
            type: string
        userDefinedProperties:
          $ref: '#/components/schemas/PlatformProperties'
    SchedulePlatformPartnersBodyUpdateAccount:
      title: 파트너 계좌 업데이트를 위한 입력 정보
      description: 파트너 계좌 업데이트를 위한 입력 정보
      type: object
      required:
        - bank
        - currency
        - number
        - holder
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        currency:
          $ref: '#/components/schemas/Currency'
          title: 정산에 사용할 통화
        number:
          type: string
          title: 계좌번호
        holder:
          type: string
          title: 예금주명
        accountVerificationId:
          type: string
          title: 계좌 검증 아이디
      x-portone-title: 파트너 계좌 업데이트를 위한 입력 정보
    SchedulePlatformPartnersBodyUpdateContact:
      title: 파트너 업데이트를 위한 유형별 추가 정보
      description: 파트너 업데이트를 위한 유형별 추가 정보
      type: object
      properties:
        name:
          type: string
          title: 담당자 이름
        phoneNumber:
          type: string
          title: 담당자 휴대폰 번호
        email:
          type: string
          title: 담당자 이메일
      x-portone-title: 파트너 업데이트를 위한 유형별 추가 정보
    SchedulePlatformPartnersBodyUpdateType:
      title: 파트너 유형별 정보 업데이트를 위한 입력 정보
      description: |-
        파트너 유형별 정보 업데이트를 위한 입력 정보

        파트너 유형별 추가 정보를 수정합니다.
        최초 생성된 유형 내에서 세부 정보만 수정할 수 있고 파트너의 유형 자체를 수정할 수는 없습니다.
      type: object
      properties:
        business:
          $ref: '#/components/schemas/SchedulePlatformPartnersBodyUpdateTypeBusiness'
          title: 사업자 추가 정보
        whtPayer:
          $ref: '#/components/schemas/SchedulePlatformPartnersBodyUpdateTypeWhtPayer'
          title: 원천징수 대상자 추가 정보
        nonWhtPayer:
          $ref: >-
            #/components/schemas/SchedulePlatformPartnersBodyUpdateTypeNonWhtPayer
          title: 원천징수 비대상자 추가 정보
      x-portone-title: 파트너 유형별 정보 업데이트를 위한 입력 정보
      x-portone-description: |-
        파트너 유형별 추가 정보를 수정합니다.
        최초 생성된 유형 내에서 세부 정보만 수정할 수 있고 파트너의 유형 자체를 수정할 수는 없습니다.
    SchedulePlatformPartnersBodyUpdateTypeBusiness:
      title: SchedulePlatformPartnersBodyUpdateTypeBusiness
      type: object
      properties:
        companyName:
          type: string
          title: 상호명
        taxationType:
          $ref: '#/components/schemas/PlatformPartnerTaxationType'
          title: 사업자 유형
        businessRegistrationNumber:
          type: string
          title: 사업자등록번호
        representativeName:
          type: string
          title: 대표자 이름
        companyAddress:
          type: string
          title: 사업장 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        companyVerificationId:
          type: string
          title: 사업자 조회 검증 아이디
    SchedulePlatformPartnersBodyUpdateTypeNonWhtPayer:
      title: SchedulePlatformPartnersBodyUpdateTypeNonWhtPayer
      type: object
      properties:
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
    SchedulePlatformPartnersBodyUpdateTypeWhtPayer:
      title: SchedulePlatformPartnersBodyUpdateTypeWhtPayer
      type: object
      properties:
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
    SchedulePlatformPartnersError:
      title: SchedulePlatformPartnersError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedPartnersCannotBeScheduledError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnersCannotBeScheduledError
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerSchedulesAlreadyExistError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ARCHIVED_PARTNERS_CANNOT_BE_SCHEDULED: '#/components/schemas/PlatformArchivedPartnersCannotBeScheduledError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_MEMBER_COMPANY_CONNECTED_PARTNERS_CANNOT_BE_SCHEDULED: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnersCannotBeScheduledError
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_SCHEDULES_ALREADY_EXIST: '#/components/schemas/PlatformPartnerSchedulesAlreadyExistError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    SchedulePlatformPartnersResponse:
      title: SchedulePlatformPartnersResponse
      type: object
    ScheduledPaymentSchedule:
      title: 결제 예약 완료 상태
      description: 결제 예약 완료 상태
      type: object
      required:
        - status
        - id
        - merchantId
        - storeId
        - paymentId
        - billingKey
        - orderName
        - isCulturalExpense
        - isEscrow
        - customer
        - customData
        - totalAmount
        - currency
        - createdAt
        - timeToPay
      properties:
        status:
          type: string
          title: 결제 예약 건 상태
        id:
          type: string
          title: 결제 예약 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        billingKey:
          type: string
          title: 빌링키
        orderName:
          type: string
          title: 주문명
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        createdAt:
          type: string
          format: date-time
          title: 결제 예약 등록 시점
        timeToPay:
          type: string
          format: date-time
          title: 결제 예정 시점
      x-portone-title: 결제 예약 완료 상태
    SelectedChannel:
      title: '(결제, 본인인증 등에) 선택된 채널 정보'
      description: '(결제, 본인인증 등에) 선택된 채널 정보'
      type: object
      required:
        - type
        - pgProvider
        - pgMerchantId
      properties:
        type:
          $ref: '#/components/schemas/SelectedChannelType'
          title: 채널 타입
        id:
          type: string
          title: 채널 아이디
        key:
          type: string
          title: 채널 키
        name:
          type: string
          title: 채널 명
        pgProvider:
          $ref: '#/components/schemas/PgProvider'
          title: PG사 결제 모듈
        pgMerchantId:
          type: string
          title: PG사 고객사 식별 아이디
      x-portone-title: '(결제, 본인인증 등에) 선택된 채널 정보'
    SelectedChannelType:
      title: 채널 타입
      description: 채널 타입
      type: string
      enum:
        - LIVE
        - TEST
      x-portone-title: 채널 타입
      x-portone-enum:
        LIVE:
          title: 실 연동 채널
        TEST:
          title: 테스트 연동 채널
    SendIdentityVerificationBody:
      title: 본인인증 요청을 위한 입력 정보
      description: 본인인증 요청을 위한 입력 정보
      type: object
      required:
        - channelKey
        - customer
        - operator
        - method
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        channelKey:
          type: string
          title: 채널 키
        customer:
          $ref: '#/components/schemas/SendIdentityVerificationBodyCustomer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        bypass:
          type: object
          title: PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고)
        operator:
          $ref: '#/components/schemas/IdentityVerificationOperator'
          title: 통신사
        method:
          $ref: '#/components/schemas/IdentityVerificationMethod'
          title: 본인인증 방식
      x-portone-title: 본인인증 요청을 위한 입력 정보
    SendIdentityVerificationBodyCustomer:
      title: 본인인증 요청을 위한 고객 정보
      description: 본인인증 요청을 위한 고객 정보
      type: object
      required:
        - name
        - phoneNumber
        - ipAddress
      properties:
        id:
          type: string
          title: 식별 아이디
        name:
          type: string
          title: 이름
        phoneNumber:
          type: string
          title: 전화번호
          description: 특수 문자(-) 없이 숫자만 입력합니다.
        identityNumber:
          type: string
          title: 주민등록번호 앞 7자리
          description: SMS 방식의 경우 필수로 입력합니다.
        ipAddress:
          type: string
          title: IP 주소
          description: 고객의 요청 속도 제한에 사용됩니다.
      x-portone-title: 본인인증 요청을 위한 고객 정보
    SendIdentityVerificationError:
      title: SendIdentityVerificationError
      oneOf:
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/IdentityVerificationAlreadySentError'
        - $ref: '#/components/schemas/IdentityVerificationAlreadyVerifiedError'
        - $ref: '#/components/schemas/IdentityVerificationNotFoundError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/MaxTransactionCountReachedError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          IDENTITY_VERIFICATION_ALREADY_SENT: '#/components/schemas/IdentityVerificationAlreadySentError'
          IDENTITY_VERIFICATION_ALREADY_VERIFIED: '#/components/schemas/IdentityVerificationAlreadyVerifiedError'
          IDENTITY_VERIFICATION_NOT_FOUND: '#/components/schemas/IdentityVerificationNotFoundError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          MAX_TRANSACTION_COUNT_REACHED: '#/components/schemas/MaxTransactionCountReachedError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    SendIdentityVerificationResponse:
      title: 본인인증 요청 전송 성공 응답
      description: 본인인증 요청 전송 성공 응답
      type: object
      x-portone-title: 본인인증 요청 전송 성공 응답
    SendToNtsB2bTaxInvoiceError:
      title: SendToNtsB2bTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_NOT_ISSUED_STATUS: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    SendToNtsB2bTaxInvoiceResponse:
      title: 세금계산서 국세청 즉시 전송 응답
      description: 세금계산서 국세청 즉시 전송 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 국세청 즉시 전송 응답
    SeparatedAddress:
      title: 분리 형식 주소
      description: |-
        분리 형식 주소

        한 줄 형식 주소와 분리 형식 주소 모두 존재합니다.
        한 줄 형식 주소는 분리 형식 주소를 이어 붙인 형태로 생성됩니다.
      type: object
      required:
        - type
        - oneLine
        - addressLine1
        - addressLine2
      properties:
        type:
          type: string
        oneLine:
          type: string
          title: 주소 (한 줄)
        addressLine1:
          type: string
          title: 상세 주소 1
        addressLine2:
          type: string
          title: 상세 주소 2
        city:
          type: string
          title: 시/군/구
        province:
          type: string
          title: 주/도/시
        country:
          $ref: '#/components/schemas/Country'
          title: 국가
      x-portone-title: 분리 형식 주소
      x-portone-description: |-
        한 줄 형식 주소와 분리 형식 주소 모두 존재합니다.
        한 줄 형식 주소는 분리 형식 주소를 이어 붙인 형태로 생성됩니다.
    SeparatedAddressInput:
      title: 분리 형식 주소 입력 정보
      description: 분리 형식 주소 입력 정보
      type: object
      required:
        - addressLine1
        - addressLine2
      properties:
        addressLine1:
          type: string
          title: 상세 주소 1
        addressLine2:
          type: string
          title: 상세 주소 2
        city:
          type: string
          title: 시/군/구
        province:
          type: string
          title: 주/도/시
        country:
          $ref: '#/components/schemas/Country'
          title: 국가
      x-portone-title: 분리 형식 주소 입력 정보
    SettlementAmountType:
      title: SettlementAmountType
      type: string
      enum:
        - NET
        - GROSS
      x-portone-enum:
        NET:
          title: 순액(공급가액)
        GROSS:
          title: '총액(공급가액, 부가세)'
    SimplifiedPaymentMethodType:
      title: 간소화된 결제수단 목록
      description: 간소화된 결제수단 목록
      type: string
      enum:
        - CARD
        - VIRTUAL_ACCOUNT
        - TRANSFER
        - CHARGE
        - MOBILE
        - POINT
        - ETC
      x-portone-title: 간소화된 결제수단 목록
      x-portone-enum:
        TRANSFER:
          title: 계좌이체
        VIRTUAL_ACCOUNT:
          title: 가상계좌
        CHARGE:
          title: 머니
        POINT:
          title: 포인트
        ETC:
          title: 기타
        MOBILE:
          title: 모바일
        CARD:
          title: 신용카드/체크카드
    SortOrder:
      title: 정렬 방식
      description: 정렬 방식
      type: string
      enum:
        - DESC
        - ASC
      x-portone-title: 정렬 방식
      x-portone-enum:
        DESC:
          title: 내림차순
        ASC:
          title: 오름차순
    StartedPaymentSchedule:
      title: 결제 시작 상태
      description: 결제 시작 상태
      type: object
      required:
        - status
        - id
        - merchantId
        - storeId
        - paymentId
        - billingKey
        - orderName
        - isCulturalExpense
        - isEscrow
        - customer
        - customData
        - totalAmount
        - currency
        - createdAt
        - timeToPay
        - startedAt
      properties:
        status:
          type: string
          title: 결제 예약 건 상태
        id:
          type: string
          title: 결제 예약 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        billingKey:
          type: string
          title: 빌링키
        orderName:
          type: string
          title: 주문명
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        createdAt:
          type: string
          format: date-time
          title: 결제 예약 등록 시점
        timeToPay:
          type: string
          format: date-time
          title: 결제 예정 시점
        startedAt:
          type: string
          format: date-time
          title: 결제 시작 시점
      x-portone-title: 결제 시작 상태
    StopPaymentCancellationBody:
      title: 결제 취소 요청 취소 입력 정보
      description: 결제 취소 요청 취소 입력 정보
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
      x-portone-title: 결제 취소 요청 취소 입력 정보
    StopPaymentCancellationError:
      title: StopPaymentCancellationError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PaymentCancellationNotFoundError'
        - $ref: '#/components/schemas/PaymentCancellationNotPendingError'
        - $ref: '#/components/schemas/PaymentNotFoundError'
        - $ref: '#/components/schemas/PgProviderError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PAYMENT_CANCELLATION_NOT_FOUND: '#/components/schemas/PaymentCancellationNotFoundError'
          PAYMENT_CANCELLATION_NOT_PENDING: '#/components/schemas/PaymentCancellationNotPendingError'
          PAYMENT_NOT_FOUND: '#/components/schemas/PaymentNotFoundError'
          PG_PROVIDER: '#/components/schemas/PgProviderError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    StopPaymentCancellationResponse:
      title: 결제 취소 요청 취소 성공 응답
      description: 결제 취소 요청 취소 성공 응답
      type: object
      required:
        - stoppedAt
      properties:
        stoppedAt:
          type: string
          format: date-time
          title: 결제 취소 요청 취소 완료 시각
      x-portone-title: 결제 취소 요청 취소 성공 응답
    SucceededPaymentCancellation:
      title: 취소 완료 상태
      description: 취소 완료 상태
      type: object
      required:
        - status
        - id
        - totalAmount
        - taxFreeAmount
        - vatAmount
        - reason
        - requestedAt
      properties:
        status:
          type: string
          title: 결제 취소 내역 상태
        id:
          type: string
          title: 취소 내역 아이디
        pgCancellationId:
          type: string
          title: PG사 결제 취소 내역 아이디
        totalAmount:
          type: integer
          format: int64
          title: 취소 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 취소 금액 중 면세 금액
        vatAmount:
          type: integer
          format: int64
          title: 취소 금액 중 부가세액
        easyPayDiscountAmount:
          type: integer
          format: int64
          title: 적립형 포인트의 환불 금액
        reason:
          type: string
          title: 취소 사유
        cancelledAt:
          type: string
          format: date-time
          title: 취소 시점
        requestedAt:
          type: string
          format: date-time
          title: 취소 요청 시점
        receiptUrl:
          type: string
          title: 취소 영수증 URL
        trigger:
          $ref: '#/components/schemas/Trigger'
          title: 취소 요청 경로
      x-portone-title: 취소 완료 상태
    SucceededPaymentSchedule:
      title: 결제 성공 상태
      description: 결제 성공 상태
      type: object
      required:
        - status
        - id
        - merchantId
        - storeId
        - paymentId
        - billingKey
        - orderName
        - isCulturalExpense
        - isEscrow
        - customer
        - customData
        - totalAmount
        - currency
        - createdAt
        - timeToPay
        - startedAt
        - completedAt
      properties:
        status:
          type: string
          title: 결제 예약 건 상태
        id:
          type: string
          title: 결제 예약 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        paymentId:
          type: string
          title: 결제 건 아이디
        billingKey:
          type: string
          title: 빌링키
        orderName:
          type: string
          title: 주문명
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        isEscrow:
          type: boolean
          title: 에스크로 결제 여부
        customer:
          $ref: '#/components/schemas/Customer'
          title: 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        totalAmount:
          type: integer
          format: int64
          title: 결제 총 금액
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        installmentMonth:
          type: integer
          format: int32
          title: 할부 개월 수
        noticeUrls:
          type: array
          items:
            type: string
          title: 웹훅 주소
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        createdAt:
          type: string
          format: date-time
          title: 결제 예약 등록 시점
        timeToPay:
          type: string
          format: date-time
          title: 결제 예정 시점
        startedAt:
          type: string
          format: date-time
          title: 결제 시작 시점
        completedAt:
          type: string
          format: date-time
          title: 결제 완료 시점
      x-portone-title: 결제 성공 상태
    SumOfPartsExceedsCancelAmountError:
      title: 면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우
      description: 면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우
      x-portone-status-code: 409
    SumOfPartsExceedsTotalAmountError:
      title: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우
      description: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우
      x-portone-status-code: 409
    TaxInvoicesSheetField:
      title: 다운로드 할 시트 컬럼
      description: 다운로드 할 시트 컬럼
      type: string
      enum:
        - STATUS
        - CANCEL_REASON
        - ISSUANCE_TYPE
        - DOCUMENT_MODIFICATION_TYPE
        - IS_DELAYED
        - WRITE_DATE
        - ISSUANCE_DUE_DATE
        - TAXATION_TYPE
        - PURPOSE_TYPE
        - SUPPLIER_COMPANY_NAME
        - SUPPLIER_BRN
        - SUPPLIER_REPRESENTATIVE_NAME
        - TOTAL_AMOUNT
        - TOTAL_SUPPLY_AMOUNT
        - TOTAL_TAX_AMOUNT
        - MEMO
        - REQUESTED_AT
        - ISSUED_AT
        - NTS_SENT_AT
        - STATUS_UPDATED_AT
        - BULK_TAX_INVOICE_ID
        - PLAIN_ID
        - SUPPLIER_DOCUMENT_KEY
        - RECIPIENT_DOCUMENT_KEY
        - RECIPIENT_COMPANY_NAME
        - RECIPIENT_BRN
        - RECIPIENT_REPRESENTATIVE_NAME
        - SUPPLIER_COUNTERPARTY_ID
        - RECIPIENT_COUNTERPARTY_ID
        - PAYOUT_ID
        - ITEMS
      x-portone-title: 다운로드 할 시트 컬럼
      x-portone-enum:
        NTS_SENT_AT:
          title: 국세청 전송일시
        TOTAL_SUPPLY_AMOUNT:
          title: 공급가액
        STATUS_UPDATED_AT:
          title: 상태 업데이트 일시
        RECIPIENT_COMPANY_NAME:
          title: 공급받는자 상호
        DOCUMENT_MODIFICATION_TYPE:
          title: 문서형태
        STATUS:
          title: 상태
        MEMO:
          title: 관리용 메모
        REQUESTED_AT:
          title: 발행요청일시
        RECIPIENT_COUNTERPARTY_ID:
          title: 공급받는자 거래처 아이디
        RECIPIENT_DOCUMENT_KEY:
          title: 공급받는자 문서번호
        SUPPLIER_COMPANY_NAME:
          title: 공급자 상호
        TAXATION_TYPE:
          title: 과세형태
        ITEMS:
          title: 품목
        WRITE_DATE:
          title: 작성일자
        ISSUANCE_DUE_DATE:
          title: 발행마감일
        IS_DELAYED:
          title: 지연발행
        SUPPLIER_REPRESENTATIVE_NAME:
          title: 공급자 대표자명
        ISSUANCE_TYPE:
          title: 발행유형
        PAYOUT_ID:
          title: 지급 아이디
        PURPOSE_TYPE:
          title: 영수/청구
        SUPPLIER_DOCUMENT_KEY:
          title: 공급자 문서번호
        SUPPLIER_BRN:
          title: 공급자 사업자등록번호
        PLAIN_ID:
          title: 세금계산서 아이디
        RECIPIENT_BRN:
          title: 공급받는자 사업자등록번호
        ISSUED_AT:
          title: 발행완료일시
        RECIPIENT_REPRESENTATIVE_NAME:
          title: 공급받는자 대표자명
        TOTAL_TAX_AMOUNT:
          title: 세액
        SUPPLIER_COUNTERPARTY_ID:
          title: 공급자 거래처 아이디
        TOTAL_AMOUNT:
          title: 합계금액
        CANCEL_REASON:
          title: 취소사유
        BULK_TAX_INVOICE_ID:
          title: 일괄 세금계산서 아이디
    TransferParameters:
      title: TransferParameters
      type: object
      additionalProperties:
        $ref: '#/components/schemas/PlatformSettlementParameterValue'
    Trigger:
      title: Trigger
      type: string
      enum:
        - CONSOLE
        - API
        - PORTONE_ADMIN
        - CHARGEBACK
      x-portone-enum:
        CONSOLE: {}
        API: {}
        PORTONE_ADMIN: {}
        CHARGEBACK: {}
    Type:
      title: Type
      type: string
      enum:
        - PARTNER_PAYOUT
        - REMIT
      x-portone-enum:
        PARTNER_PAYOUT: {}
        REMIT: {}
    UnauthorizedError:
      title: 인증 정보가 올바르지 않은 경우
      description: 인증 정보가 올바르지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 인증 정보가 올바르지 않은 경우
      x-portone-status-code: 401
    UpdateB2bCounterpartyBody:
      title: 거래처 정보 수정 요청
      description: 거래처 정보 수정 요청
      type: object
      required:
        - counterparty
      properties:
        counterparty:
          $ref: '#/components/schemas/B2bCounterpartyInput'
          title: 거래처 정보
        options:
          $ref: '#/components/schemas/B2bCounterpartyCreateOptions'
          title: 확인 옵션
          description: 사업자 정보 및 휴폐업 상태 조회 옵션입니다.
      x-portone-title: 거래처 정보 수정 요청
    UpdateB2bCounterpartyError:
      title: UpdateB2bCounterpartyError
      oneOf:
        - $ref: '#/components/schemas/B2bCounterpartyBrnModificationNotAllowedError'
        - $ref: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError'
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyPartnerNotUpdatableError'
        - $ref: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationInvalidError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COUNTERPARTY_BRN_MODIFICATION_NOT_ALLOWED: '#/components/schemas/B2bCounterpartyBrnModificationNotAllowedError'
          B2B_COUNTERPARTY_MISSING_REQUIRED_FIELDS: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError'
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_PARTNER_NOT_UPDATABLE: '#/components/schemas/B2bCounterpartyPartnerNotUpdatableError'
          B2B_COUNTERPARTY_TOO_MANY_ADDITIONAL_CONTACTS: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError'
          B2B_COUNTERPARTY_VERIFICATION_BRN_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError'
          B2B_COUNTERPARTY_VERIFICATION_INVALID: '#/components/schemas/B2bCounterpartyVerificationInvalidError'
          B2B_COUNTERPARTY_VERIFICATION_NOT_FOUND: '#/components/schemas/B2bCounterpartyVerificationNotFoundError'
          B2B_COUNTERPARTY_VERIFICATION_TYPE_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdateB2bCounterpartyResponse:
      title: 거래처 정보 수정 응답
      description: 거래처 정보 수정 응답
      type: object
      required:
        - counterparty
      properties:
        counterparty:
          $ref: '#/components/schemas/B2bCounterparty'
          title: 거래처 정보
      x-portone-title: 거래처 정보 수정 응답
    UpdateB2bTaxInvoiceDraftBody:
      title: 세금계산서 임시저장 수정 정보
      description: 세금계산서 임시저장 수정 정보
      type: object
      required:
        - taxInvoiceKey
        - taxInvoice
      properties:
        brn:
          type: string
          title: 사업자등록번호
          description: taxInvoiceKeyType이 TAX_INVOICE_ID가 아닌 경우 필수 값입니다.
        taxInvoiceKey:
          type: string
          title: 세금계산서 문서 번호
        taxInvoiceKeyType:
          $ref: '#/components/schemas/B2bTaxInvoiceKeyType'
          title: 문서 번호 유형
          description: '기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.'
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoiceInput'
          title: 세금계산서 임시저장 수정 정보
        memo:
          type: string
          title: 메모
      x-portone-title: 세금계산서 임시저장 수정 정보
    UpdateB2bTaxInvoiceDraftError:
      title: UpdateB2bTaxInvoiceDraftError
      oneOf:
        - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError'
        - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
        - $ref: '#/components/schemas/B2bDocumentKeyCannotBeChangedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bIdAlreadyExistsError'
        - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError'
        - $ref: '#/components/schemas/B2bModificationNotProvidedError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bRecipientNotFoundError'
        - $ref: '#/components/schemas/B2bSupplierNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
        - $ref: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError'
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
          B2B_DOCUMENT_KEY_CANNOT_BE_CHANGED: '#/components/schemas/B2bDocumentKeyCannotBeChangedError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError'
          B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError'
          B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
          B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError'
          B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError'
          B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError
          B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
          B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: >-
            #/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdateB2bTaxInvoiceDraftResponse:
      title: 세금계산서 임시저장 수정 응답
      description: 세금계산서 임시저장 수정 응답
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoice'
      x-portone-title: 세금계산서 임시저장 수정 응답
    UpdatePlatformAdditionalFeePolicyBody:
      title: 추가 수수료 정책 업데이트를 위한 입력 정보
      description: |-
        추가 수수료 정책 업데이트를 위한 입력 정보

        값이 명시하지 않은 필드는 업데이트되지 않습니다.
      type: object
      properties:
        fee:
          $ref: '#/components/schemas/PlatformFeeInput'
          title: 책정 수수료
        name:
          type: string
          title: 추가 수수료 정책 이름
        memo:
          type: string
          title: 해당 추가 수수료 정책에 대한 메모
        vatPayer:
          $ref: '#/components/schemas/PlatformPayer'
          title: 부가세를 부담할 주체
      x-portone-title: 추가 수수료 정책 업데이트를 위한 입력 정보
      x-portone-description: 값이 명시하지 않은 필드는 업데이트되지 않습니다.
    UpdatePlatformAdditionalFeePolicyError:
      title: UpdatePlatformAdditionalFeePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformArchivedAdditionalFeePolicyError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ADDITIONAL_FEE_POLICY_NOT_FOUND: '#/components/schemas/PlatformAdditionalFeePolicyNotFoundError'
          PLATFORM_ARCHIVED_ADDITIONAL_FEE_POLICY: '#/components/schemas/PlatformArchivedAdditionalFeePolicyError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdatePlatformAdditionalFeePolicyResponse:
      title: 추가 수수료 정책 업데이트 성공 응답
      description: 추가 수수료 정책 업데이트 성공 응답
      type: object
      required:
        - additionalFeePolicy
      properties:
        additionalFeePolicy:
          $ref: '#/components/schemas/PlatformAdditionalFeePolicy'
          title: 업데이트된 추가 수수료 정책
      x-portone-title: 추가 수수료 정책 업데이트 성공 응답
    UpdatePlatformContractBody:
      title: 계약 업데이트를 위한 입력 정보. 값이 명시되지 않은 필드는 업데이트되지 않습니다.
      description: |-
        계약 업데이트를 위한 입력 정보. 값이 명시되지 않은 필드는 업데이트되지 않습니다.

        값이 명시되지 않은 필드는 업데이트되지 않습니다.
      type: object
      properties:
        name:
          type: string
          title: 계약 이름
        memo:
          type: string
          title: 계약 내부 표기를 위한 메모
        platformFee:
          $ref: '#/components/schemas/PlatformFeeInput'
          title: 중개수수료
        settlementCycle:
          $ref: '#/components/schemas/PlatformSettlementCycleInput'
          title: 정산 주기
        platformFeeVatPayer:
          $ref: '#/components/schemas/PlatformPayer'
          title: 중개수수료에 대한 부가세 부담 주체
        subtractPaymentVatAmount:
          type: boolean
          title: 정산 시 결제금액 부가세 감액 여부
      x-portone-title: 계약 업데이트를 위한 입력 정보. 값이 명시되지 않은 필드는 업데이트되지 않습니다.
      x-portone-description: 값이 명시되지 않은 필드는 업데이트되지 않습니다.
    UpdatePlatformContractError:
      title: UpdatePlatformContractError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedContractError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ARCHIVED_CONTRACT: '#/components/schemas/PlatformArchivedContractError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdatePlatformContractResponse:
      title: 계약 객체 업데이트 성공 응답
      description: 계약 객체 업데이트 성공 응답
      type: object
      required:
        - contract
      properties:
        contract:
          $ref: '#/components/schemas/PlatformContract'
          title: 업데이트된 계약 객체
      x-portone-title: 계약 객체 업데이트 성공 응답
    UpdatePlatformDiscountSharePolicyBody:
      title: 할인 분담 정책 업데이트를 위한 입력 정보
      description: |-
        할인 분담 정책 업데이트를 위한 입력 정보

        값이 명시되지 않은 필드는 업데이트하지 않습니다.
      type: object
      properties:
        name:
          type: string
          title: 할인 분담 정책 이름
        partnerShareRate:
          type: integer
          format: int32
          title: 할인 분담율
          description: >-
            파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은
            `할인금액 * partnerShareRate * 10^5` 로 책정합니다.
        memo:
          type: string
          title: 해당 할인 분담에 대한 메모
      x-portone-title: 할인 분담 정책 업데이트를 위한 입력 정보
      x-portone-description: 값이 명시되지 않은 필드는 업데이트하지 않습니다.
    UpdatePlatformDiscountSharePolicyError:
      title: UpdatePlatformDiscountSharePolicyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedDiscountSharePolicyError'
        - $ref: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ARCHIVED_DISCOUNT_SHARE_POLICY: '#/components/schemas/PlatformArchivedDiscountSharePolicyError'
          PLATFORM_DISCOUNT_SHARE_POLICY_NOT_FOUND: '#/components/schemas/PlatformDiscountSharePolicyNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdatePlatformDiscountSharePolicyResponse:
      title: 할인 분담 정책 업데이트 성공 응답
      description: 할인 분담 정책 업데이트 성공 응답
      type: object
      required:
        - discountSharePolicy
      properties:
        discountSharePolicy:
          $ref: '#/components/schemas/PlatformDiscountSharePolicy'
          title: 업데이트된 할인 분담 정책
      x-portone-title: 할인 분담 정책 업데이트 성공 응답
    UpdatePlatformPartnerBody:
      title: 파트너 업데이트를 위한 입력 정보
      description: |-
        파트너 업데이트를 위한 입력 정보

        값이 명시되지 않은 필드는 업데이트되지 않습니다.
      type: object
      properties:
        name:
          type: string
          title: 파트너 법인명 혹은 이름
        contact:
          $ref: '#/components/schemas/UpdatePlatformPartnerBodyContact'
          title: 파트너 담당자 연락 정보
        account:
          $ref: '#/components/schemas/UpdatePlatformPartnerBodyAccount'
          title: 정산 계좌
        defaultContractId:
          type: string
          title: 파트너에 설정된 기본 계약 아이디
        memo:
          type: string
          title: 파트너에 대한 메모
        tags:
          type: array
          items:
            type: string
          title: 파트너의 태그 리스트
        type:
          $ref: '#/components/schemas/UpdatePlatformPartnerBodyType'
          title: 파트너 유형별 정보
        userDefinedProperties:
          $ref: '#/components/schemas/PlatformProperties'
          title: 사용자 정의 속성
      x-portone-title: 파트너 업데이트를 위한 입력 정보
      x-portone-description: 값이 명시되지 않은 필드는 업데이트되지 않습니다.
    UpdatePlatformPartnerBodyAccount:
      title: 파트너 계좌 업데이트를 위한 입력 정보
      description: 파트너 계좌 업데이트를 위한 입력 정보
      type: object
      required:
        - bank
        - currency
        - number
        - holder
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        currency:
          $ref: '#/components/schemas/Currency'
          title: 정산에 사용할 통화
        number:
          type: string
          title: 계좌번호
        holder:
          type: string
          title: 예금주명
        accountVerificationId:
          type: string
          title: 계좌 검증 아이디
      x-portone-title: 파트너 계좌 업데이트를 위한 입력 정보
    UpdatePlatformPartnerBodyContact:
      title: 파트너 담당자 업데이트를 위한 정보
      description: 파트너 담당자 업데이트를 위한 정보
      type: object
      properties:
        name:
          type: string
          title: 담당자 이름
        phoneNumber:
          type: string
          title: 담당자 휴대폰 번호
        email:
          type: string
          title: 담당자 이메일
      x-portone-title: 파트너 담당자 업데이트를 위한 정보
    UpdatePlatformPartnerBodyType:
      title: 파트너 업데이트를 위한 유형별 추가 정보
      description: |-
        파트너 업데이트를 위한 유형별 추가 정보

        파트너 유형별 추가 정보를 수정합니다.
        기존과 다른 파트너 유형 정보가 입력된 경우, 파트너의 유형 자체가 변경됩니다.
      type: object
      properties:
        business:
          $ref: '#/components/schemas/UpdatePlatformPartnerBodyTypeBusiness'
          title: 사업자 추가 정보
        whtPayer:
          $ref: '#/components/schemas/UpdatePlatformPartnerBodyTypeWhtPayer'
          title: 원천징수 대상자 추가 정보
        nonWhtPayer:
          $ref: '#/components/schemas/UpdatePlatformPartnerBodyTypeNonWhtPayer'
          title: 원천징수 비대상자 추가 정보
      x-portone-title: 파트너 업데이트를 위한 유형별 추가 정보
      x-portone-description: |-
        파트너 유형별 추가 정보를 수정합니다.
        기존과 다른 파트너 유형 정보가 입력된 경우, 파트너의 유형 자체가 변경됩니다.
    UpdatePlatformPartnerBodyTypeBusiness:
      title: UpdatePlatformPartnerBodyTypeBusiness
      type: object
      properties:
        companyName:
          type: string
          title: 상호명
        taxationType:
          $ref: '#/components/schemas/PlatformPartnerTaxationType'
          title: 사업자 유형
        businessRegistrationNumber:
          type: string
          title: 사업자등록번호
        representativeName:
          type: string
          title: 대표자 이름
        companyAddress:
          type: string
          title: 사업장 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        companyVerificationId:
          type: string
          title: 사업자 조회 검증 아이디
    UpdatePlatformPartnerBodyTypeNonWhtPayer:
      title: UpdatePlatformPartnerBodyTypeNonWhtPayer
      type: object
      properties:
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
    UpdatePlatformPartnerBodyTypeWhtPayer:
      title: UpdatePlatformPartnerBodyTypeWhtPayer
      type: object
      properties:
        birthdate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 생년월일
    UpdatePlatformPartnerError:
      title: UpdatePlatformPartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformAccountVerificationAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformAccountVerificationFailedError'
        - $ref: '#/components/schemas/PlatformAccountVerificationNotFoundError'
        - $ref: '#/components/schemas/PlatformArchivedPartnerError'
        - $ref: '#/components/schemas/PlatformCompanyVerificationAlreadyUsedError'
        - $ref: '#/components/schemas/PlatformContractNotFoundError'
        - $ref: >-
            #/components/schemas/PlatformInsufficientDataToChangePartnerTypeError
        - $ref: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerBrnUnchangeableError
        - $ref: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerTypeUnchangeableError
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $ref: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_ACCOUNT_VERIFICATION_ALREADY_USED: '#/components/schemas/PlatformAccountVerificationAlreadyUsedError'
          PLATFORM_ACCOUNT_VERIFICATION_FAILED: '#/components/schemas/PlatformAccountVerificationFailedError'
          PLATFORM_ACCOUNT_VERIFICATION_NOT_FOUND: '#/components/schemas/PlatformAccountVerificationNotFoundError'
          PLATFORM_ARCHIVED_PARTNER: '#/components/schemas/PlatformArchivedPartnerError'
          PLATFORM_COMPANY_VERIFICATION_ALREADY_USED: '#/components/schemas/PlatformCompanyVerificationAlreadyUsedError'
          PLATFORM_CONTRACT_NOT_FOUND: '#/components/schemas/PlatformContractNotFoundError'
          PLATFORM_INSUFFICIENT_DATA_TO_CHANGE_PARTNER_TYPE: >-
            #/components/schemas/PlatformInsufficientDataToChangePartnerTypeError
          PLATFORM_MEMBER_COMPANY_CONNECTED_PARTNER_BRN_UNCHANGEABLE: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerBrnUnchangeableError
          PLATFORM_MEMBER_COMPANY_CONNECTED_PARTNER_TYPE_UNCHANGEABLE: >-
            #/components/schemas/PlatformMemberCompanyConnectedPartnerTypeUnchangeableError
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          PLATFORM_USER_DEFINED_PROPERTY_NOT_FOUND: '#/components/schemas/PlatformUserDefinedPropertyNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdatePlatformPartnerResponse:
      title: 파트너 업데이트 성공 응답
      description: 파트너 업데이트 성공 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          title: 업데이트된 파트너
      x-portone-title: 파트너 업데이트 성공 응답
    UpdatePlatformSettingBody:
      title: 플랫폼 설정 업데이트를 위한 입력 정보
      description: 플랫폼 설정 업데이트를 위한 입력 정보
      type: object
      properties:
        defaultWithdrawalMemo:
          type: string
          title: 기본 보내는 이 통장 메모
        defaultDepositMemo:
          type: string
          title: 기본 받는 이 통장 메모
        supportsMultipleOrderTransfersPerPartner:
          type: boolean
          title: 'paymentId, storeId, partnerId가 같은 주문 정산건에 대한 중복 정산 지원 여부'
        adjustSettlementDateAfterHolidayIfEarlier:
          type: boolean
          title: 정산일이 정산시작일보다 작거나 같을 경우 공휴일 후 영업일로 정산일 다시 계산 여부
        deductWht:
          type: boolean
          title: 지급 금액에서 원천징수세 차감 여부
        settlementAmountType:
          $ref: '#/components/schemas/SettlementAmountType'
          title: 정산 금액 취급 기준
      x-portone-title: 플랫폼 설정 업데이트를 위한 입력 정보
    UpdatePlatformSettingError:
      title: UpdatePlatformSettingError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdatePlatformSettingResponse:
      title: 플랫폼 설정 업데이트 결과
      description: 플랫폼 설정 업데이트 결과
      type: object
      required:
        - setting
      properties:
        setting:
          $ref: '#/components/schemas/PlatformSetting'
      x-portone-title: 플랫폼 설정 업데이트 결과
    ValidateB2bCounterpartyCertificateError:
      title: ValidateB2bCounterpartyCertificateError
      oneOf:
        - $ref: '#/components/schemas/B2bCertificateUnregisteredError'
        - $ref: '#/components/schemas/B2bCounterpartyNotFoundError'
        - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_CERTIFICATE_UNREGISTERED: '#/components/schemas/B2bCertificateUnregisteredError'
          B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError'
          B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ValidateB2bCounterpartyCertificateResponse:
      title: 인증서 유효성 검증 응답 정보
      description: 인증서 유효성 검증 응답 정보
      type: object
      required:
        - isValid
      properties:
        isValid:
          type: boolean
          title: 인증서 유효 여부
      x-portone-title: 인증서 유효성 검증 응답 정보
    VerifiedIdentityVerification:
      title: 완료된 본인인증 내역
      description: 완료된 본인인증 내역
      type: object
      required:
        - status
        - id
        - verifiedCustomer
        - requestedAt
        - updatedAt
        - statusChangedAt
        - verifiedAt
        - pgTxId
        - pgRawResponse
        - version
      properties:
        status:
          type: string
          title: 본인인증 상태
        id:
          type: string
          title: 고객사 본인인증 번호
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 사용된 본인인증 채널
        verifiedCustomer:
          $ref: '#/components/schemas/IdentityVerificationVerifiedCustomer'
          title: 인증된 고객 정보
        customData:
          type: string
          title: 사용자 지정 데이터
        requestedAt:
          type: string
          format: date-time
          title: 본인인증 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        verifiedAt:
          type: string
          format: date-time
          title: 본인인증 완료 시점
        pgTxId:
          type: string
          title: 본인인증 내역 PG사 아이디
        pgRawResponse:
          type: string
          title: PG사 응답 데이터
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
      x-portone-title: 완료된 본인인증 내역
    VirtualAccountIssuedPayment:
      title: 가상계좌 발급 완료 상태 건
      description: 가상계좌 발급 완료 상태 건
      type: object
      required:
        - status
        - id
        - transactionId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
        - origin
      properties:
        status:
          type: string
          title: 결제 건 상태
        id:
          type: string
          title: 결제 건 아이디
        transactionId:
          type: string
          title: 결제 건 포트원 채번 아이디
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        origin:
          $ref: '#/components/schemas/PaymentOrigin'
          title: 결제 출처 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        pgTxId:
          type: string
          title: PG사 거래 아이디
      x-portone-title: 가상계좌 발급 완료 상태 건
    VirtualAccountIssuedPaymentTransaction:
      title: 가상계좌 발급 완료 상태 건
      description: 가상계좌 발급 완료 상태 건
      type: object
      required:
        - status
        - id
        - paymentId
        - merchantId
        - storeId
        - channel
        - version
        - requestedAt
        - updatedAt
        - statusChangedAt
        - orderName
        - amount
        - currency
        - customer
      properties:
        status:
          type: string
          title: 결제 시도 상태
        id:
          type: string
          title: 결제 시도 아이디 (transactionId)
          description: V1 결제 건의 경우 imp_uid에 해당합니다.
        paymentId:
          type: string
          title: 결제 건 아이디
        merchantId:
          type: string
          title: 고객사 아이디
        storeId:
          type: string
          title: 상점 아이디
        method:
          $ref: '#/components/schemas/PaymentMethod'
          title: 결제수단 정보
        channel:
          $ref: '#/components/schemas/SelectedChannel'
          title: 결제 채널
        channelGroup:
          $ref: '#/components/schemas/ChannelGroupSummary'
          title: 결제 채널 그룹 정보
        version:
          $ref: '#/components/schemas/PortOneVersion'
          title: 포트원 버전
        scheduleId:
          type: string
          title: 결제 예약 건 아이디
          description: 결제 예약을 이용한 경우에만 존재
        billingKey:
          type: string
          title: 결제 시 사용된 빌링키
          description: 빌링키 결제인 경우에만 존재
        webhooks:
          title: 웹훅 발송 내역
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhook'
        requestedAt:
          type: string
          format: date-time
          title: 결제 요청 시점
        updatedAt:
          type: string
          format: date-time
          title: 업데이트 시점
        statusChangedAt:
          type: string
          format: date-time
          title: 상태 업데이트 시점
        orderName:
          type: string
          title: 주문명
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          title: 결제 금액 관련 세부 정보
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
        customer:
          $ref: '#/components/schemas/Customer'
          title: 구매자 정보
        promotionId:
          type: string
          title: 프로모션 아이디
        isCulturalExpense:
          type: boolean
          title: 문화비 지출 여부
        escrow:
          $ref: '#/components/schemas/PaymentEscrow'
          title: 에스크로 결제 정보
          description: 에스크로 결제인 경우 존재합니다.
        products:
          title: 상품 정보
          type: array
          items:
            $ref: '#/components/schemas/PaymentProduct'
        productCount:
          type: integer
          format: int32
          title: 상품 갯수
        customData:
          type: string
          title: 사용자 지정 데이터
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        pgTxId:
          type: string
          title: PG사 거래 아이디
      x-portone-title: 가상계좌 발급 완료 상태 건
    WebhookNotFoundError:
      title: 웹훅 내역이 존재하지 않는 경우
      description: 웹훅 내역이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 웹훅 내역이 존재하지 않는 경우
      x-portone-status-code: 404
    requestB2bTaxInvoiceError:
      title: requestB2bTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError'
        - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError'
        - $ref: '#/components/schemas/B2bModificationNotProvidedError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
        - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError'
          B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError'
          B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError'
          B2B_TAX_INVOICE_NO_RECIPIENT_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError'
          B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
  securitySchemes:
    bearerJwt:
      type: http
      description: 'Authorization: Bearer `엑세스 토큰`'
      scheme: bearer
    portOne:
      type: http
      description: 'Authorization: PortOne `발급된 API 시크릿`'
      scheme: portone
x-portone-categories:
  - id: payment
    title: 결제 관련 API
    description: 결제와 관련된 API 기능을 제공합니다.
    children:
      - id: payment.paymentSchedule
        title: 결제 예약 관련 API
        description: 결제 예약과 관련된 API 기능을 제공합니다.
      - id: payment.billingKey
        title: 빌링키 관련 API
        description: 빌링키와 관련된 API 기능을 제공합니다.
      - id: payment.cashReceipt
        title: 현금 영수증 관련 API
        description: 현금 영수증과 관련된 API 기능을 제공합니다.
      - id: payment.promotion
        title: 프로모션 관련 API
        description: 프로모션과 관련된 API 기능을 제공합니다.
      - id: payment.additionalFeature
        title: 결제 부가기능 관련 API
        description: 결제 부가기능과 관련된 API 기능을 제공합니다.
  - id: identityVerification
    title: 본인인증 관련 API
    description: 본인인증과 관련된 API 기능을 제공합니다.
  - id: pgSpecific
    title: 특정 PG사 관련 API
    description: 특정 PG사에 국한된 API 기능을 제공합니다.
  - id: reconciliation
    title: 대사 서비스 API
    description: 거래 대사 및 정산 대사 관련 API 기능을 제공합니다.
  - id: b2b
    title: 세금계산서 API
    description: 세금계산서 API 기능을 제공합니다.
    children:
      - id: b2b.counterparty
        title: 거래처 관련 API
        description: 거래처 관련 API 기능을 제공합니다.
      - id: b2b.taxInvoice
        title: 세금계산서 발행 관련 API
        description: 세금계산서 발행 관련 API 기능을 제공합니다.
  - id: platform
    title: 파트너 정산 관련 API
    description: 파트너 정산 서비스 API 기능을 제공합니다.
    children:
      - id: platform.policy
        title: 정책 관련 API
        description: 파트너 정산에 적용할 정책에 관한 API 입니다.
      - id: platform.partner
        title: 파트너 관련 API
        description: 파트너 정산에 적용할 파트너에 관한 API 입니다.
      - id: platform.transfer
        title: 정산 상세내역 관련 API
        description: 파트너 정산 서비스의 정산 상세내역과 관련된 API 입니다.
      - id: platform.account
        title: 계좌 관련 API
        description: 파트너 정산 서비스의 계좌와 관련된 API 입니다.
      - id: platform.partnerSettlement
        title: 정산 내역 관련 API
        description: 파트너 정산 서비스의 정산 내역과 관련된 API 입니다.
      - id: platform.payout
        title: 지급 내역 관련 API
        description: 파트너 정산 서비스의 지급 내역과 관련된 API 입니다.
      - id: platform.bulkPayout
        title: 일괄 지급 내역 관련 API
        description: 파트너 정산 서비스의 일괄 지급 내역과 관련된 API 입니다.
      - id: platform.accountTransfer
        title: 이체 내역 관련 API
        description: 파트너 정산 서비스의 이체 내역과 관련된 API 입니다.
      - id: platform.bulkAccountTransfer
        title: 일괄 이체 내역 관련 API
        description: 파트너 정산 서비스의 일괄 이체 내역과 관련된 API 입니다.
      - id: platform.company
        title: 사업자 관련 API
        description: 파트너 정산 서비스의 사업자와 관련된 API 입니다.
  - id: auth
    title: 인증 관련 API
    description: >-
      인증과 관련된 API 기능을 제공합니다.

      접근 토큰 방식으로 인증하기를 원하는 경우, API 시크릿을 통해 토큰을 발급받은 후 Authorization 헤더에 `Bearer
      ACCESS_TOKEN` 형식으로 전달합니다.
  - id: common
    title: 공통 API
    description: 공통 API 기능을 제공합니다.
