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
      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/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`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `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`: 공급받는자가 존재하지 않은 경우
            * `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`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `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`: 공급받는자가 존재하지 않은 경우
            * `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`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `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`: 공급받는자가 존재하지 않은 경우
            * `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`: 세금계산서에 공급 받는자
            문서 번호가 이미 사용 중인 경우

            * `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`: 공급받는자가 존재하지 않은 경우
            * `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: '네이버페이: 자동결제 해지 요청 주체입니다. 명시가 필요합니다.'
      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}/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'
  /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:
    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/member-company-connect/{id}':
    post:
      summary: 파트너 국세청 연동
      description: |-
        파트너 국세청 연동

        파트너를 국세청 연동합니다.
      operationId: connectPartnerMemberCompany
      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/ConnectPartnerMemberCompanyResponse'
          x-portone-description: 성공 응답으로 파트너 객체를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

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

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

            * `PlatformMemberCompanyNotConnectableStatusError`: 파트너 연동 사업자 연동
            상태가 연동 가능한 상태가 아닌 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerMemberCompanyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerMemberCompanyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerMemberCompanyError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerMemberCompanyError'
        '409':
          description: '* `PlatformPartnerScheduleExistsError`: 파트너 수정 예약 건이 존재하는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerMemberCompanyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectPartnerMemberCompanyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 국세청 연동
      x-portone-description: 파트너를 국세청 연동합니다.
      x-portone-error:
        $ref: '#/components/schemas/ConnectPartnerMemberCompanyError'
  /platform/partners/member-company-connect:
    post:
      summary: 파트너 일괄 국세청 연동
      description: |-
        파트너 일괄 국세청 연동

        파트너들을 일괄 국세청 연동합니다.
      operationId: connectBulkPartnerMemberCompany
      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/ConnectBulkPartnerMemberCompanyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 일괄 작업 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerMemberCompanyResponse'
          x-portone-description: 성공 응답으로 일괄 작업 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerMemberCompanyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerMemberCompanyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerMemberCompanyError'
        '404':
          description: |-
            * `PlatformPartnerNotFoundError`
            * `PlatformTargetPartnerNotFoundError`: 처리 대상 파트너가 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerMemberCompanyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectBulkPartnerMemberCompanyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 일괄 국세청 연동
      x-portone-description: 파트너들을 일괄 국세청 연동합니다.
      x-portone-error:
        $ref: '#/components/schemas/ConnectBulkPartnerMemberCompanyError'
  '/platform/partners/member-company-disconnect/{id}':
    post:
      summary: 파트너 국세청 연동 해제
      description: |-
        파트너 국세청 연동 해제

        파트너를 국세청 연동 해제합니다.
      operationId: disconnectPartnerMemberCompany
      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/DisconnectPartnerMemberCompanyResponse'
          x-portone-description: 성공 응답으로 파트너 객체를 반환합니다.
        '400':
          description: >-
            * `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우

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

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

            * `PlatformMemberCompanyNotConnectedError`: 파트너가 연동 사업자로 연동 되어있지 않은
            경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerMemberCompanyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerMemberCompanyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerMemberCompanyError'
        '404':
          description: '* `PlatformPartnerNotFoundError`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerMemberCompanyError'
        '409':
          description: '* `PlatformOngoingTaxInvoiceExistsError`: 진행 중인 세금계산서가 존재하는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerMemberCompanyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectPartnerMemberCompanyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 국세청 연동 해제
      x-portone-description: 파트너를 국세청 연동 해제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DisconnectPartnerMemberCompanyError'
  /platform/partners/member-company-disconnect:
    post:
      summary: 파트너 일괄 국세청 연동 해제
      description: |-
        파트너 일괄 국세청 연동 해제

        파트너들을 일괄 국세청 연동 해제합니다.
      operationId: disconnectBulkPartnerMemberCompany
      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/DisconnectBulkPartnerMemberCompanyBody'
        required: true
      responses:
        '200':
          description: 성공 응답으로 일괄 작업 객체를 반환합니다.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DisconnectBulkPartnerMemberCompanyResponse
          x-portone-description: 성공 응답으로 일괄 작업 객체를 반환합니다.
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerMemberCompanyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerMemberCompanyError'
        '403':
          description: |-
            * `PlatformNotEnabledError`: 플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
            * `ForbiddenError`: 요청이 거절된 경우
            * `PlatformBtxNotEnabledError`: BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerMemberCompanyError'
        '404':
          description: |-
            * `PlatformPartnerNotFoundError`
            * `PlatformTargetPartnerNotFoundError`: 처리 대상 파트너가 존재하지 않는 경우
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerMemberCompanyError'
        '503':
          description: '* `PlatformExternalApiFailedError`: 외부 api 오류'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectBulkPartnerMemberCompanyError'
      security:
        - bearerJwt: []
        - portOne: []
      x-portone-category: platform.partner
      x-portone-title: 파트너 일괄 국세청 연동 해제
      x-portone-description: 파트너들을 일괄 국세청 연동 해제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DisconnectBulkPartnerMemberCompanyError'
  /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`: 예약된 업데이트가 있는 파트너를
            보관하려고 하는 경우
          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'
      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`: 요청된 입력 정보가 유효하지 않은 경우'
          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'
      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`'
          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`'
          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: 분리 형식
    AddressAutocompleteBody:
      title: AddressAutocompleteBody
      description: 주소 자동완성을 위한 입력 정보
      type: object
      required:
        - country
      properties:
        query:
          type: string
          title: 검색어
          description: '`query`와 `addressKey` 중 하나만 입력해 주세요.'
        addressKey:
          type: string
          title: 주소 키
          description: >-
            `query`와 `addressKey` 중 하나만 입력해 주세요.

            - 국제 주소의 경우, `InternationalAddressSummary`의 `addressKey`를 입력하여 하위
            주소를 얻을 수 있습니다.
              - 사용한 `InternationalAddressSummary`의 `entryCount`가 2 이상이면 하위 `InternationalAddressSummary`들을 반환합니다.
              - 사용한 `InternationalAddressSummary`의 `entryCount`가 1이면 `InternationalAddressDetail`을 반환합니다.
            - 미국 주소의 경우, `UsAddress`의 `entryCount`가 2 이상이면 `addressKey`를 입력하여 하위
            주소들을 얻을 수 있습니다.
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        maxResults:
          type: integer
          format: int32
          title: 최대 결과 개수
          description: 기본값은 10입니다.
        language:
          $ref: '#/components/schemas/AddressLanguage'
          title: 상세 주소 표시 언어
          description: |-
            기본값은 `NATIVE`입니다.
            특송사 제약 사항 등으로 인해 국제 주소 상세가 영어로만 표시되도록 원할 경우 `ENGLISH`로 설정합니다.
      x-portone-description: 주소 자동완성을 위한 입력 정보
    AddressAutocompleteError:
      title: AddressAutocompleteError
      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'
    AddressAutocompleteResponse:
      title: 주소 자동완성 응답
      description: 주소 자동완성 응답
      oneOf:
        - $ref: '#/components/schemas/AddressAutocompleteResponseInternationalDetail'
        - $ref: '#/components/schemas/AddressAutocompleteResponseInternationalSummary'
        - $ref: '#/components/schemas/AddressAutocompleteResponseUs'
      discriminator:
        propertyName: type
        mapping:
          INTERNATIONAL_DETAIL: '#/components/schemas/AddressAutocompleteResponseInternationalDetail'
          INTERNATIONAL_SUMMARY: '#/components/schemas/AddressAutocompleteResponseInternationalSummary'
          US: '#/components/schemas/AddressAutocompleteResponseUs'
      x-portone-title: 주소 자동완성 응답
      x-portone-discriminator:
        US:
          title: 미국 주소 목록
        INTERNATIONAL_SUMMARY:
          title: 국제 주소 요약 목록
        INTERNATIONAL_DETAIL:
          title: 국제 주소 상세
          description: '`entryCount`가 1인 국제 주소 요약의 `addressKey`를 입력해야 조회 가능합니다.'
    AddressAutocompleteResponseInternationalDetail:
      title: 국제 주소 상세
      description: |-
        국제 주소 상세

        `entryCount`가 1인 국제 주소 요약의 `addressKey`를 입력해야 조회 가능합니다.
      type: object
      required:
        - type
        - internationalDetail
      properties:
        type:
          type: string
        internationalDetail:
          $ref: '#/components/schemas/InternationalAddressDetail'
          title: 국제 주소 상세
      x-portone-title: 국제 주소 상세
      x-portone-description: '`entryCount`가 1인 국제 주소 요약의 `addressKey`를 입력해야 조회 가능합니다.'
    AddressAutocompleteResponseInternationalSummary:
      title: 국제 주소 요약 목록
      description: 국제 주소 요약 목록
      type: object
      required:
        - type
        - internationalSummaries
      properties:
        type:
          type: string
        internationalSummaries:
          title: 국제 주소 요약 목록
          type: array
          items:
            $ref: '#/components/schemas/InternationalAddressSummary'
      x-portone-title: 국제 주소 요약 목록
    AddressAutocompleteResponseUs:
      title: 미국 주소 목록
      description: 미국 주소 목록
      type: object
      required:
        - type
        - usAddresses
      properties:
        type:
          type: string
        usAddresses:
          title: 미국 주소 목록
          type: array
          items:
            $ref: '#/components/schemas/UsAddress'
      x-portone-title: 미국 주소 목록
    AddressLanguage:
      title: 주소 언어
      description: 주소 언어
      type: string
      enum:
        - NATIVE
        - ENGLISH
      x-portone-title: 주소 언어
      x-portone-enum:
        AddressLanguage:
          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
    Analytics:
      title: Analytics
      type: object
    AnalyticsAverageAmountChart:
      title: 고객사의 평균 거래액 현황 조회 응답
      description: 고객사의 평균 거래액 현황 조회 응답
      type: object
      required:
        - stats
        - summary
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsAverageAmountChartStat'
        summary:
          $ref: '#/components/schemas/AnalyticsAverageAmountChartSummary'
      x-portone-title: 고객사의 평균 거래액 현황 조회 응답
    AnalyticsAverageAmountChartStat:
      title: AnalyticsAverageAmountChartStat
      description: '특정 시점의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다.'
      type: object
      required:
        - timestamp
        - paymentAverageAmount
        - customerAverageAmount
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        paymentAverageAmount:
          type: integer
          format: int64
          title: 건별 평균 거래액
        customerAverageAmount:
          type: integer
          format: int64
          title: 고객 당 평균 거래액
      x-portone-description: '특정 시점의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다.'
    AnalyticsAverageAmountChartSummary:
      title: AnalyticsAverageAmountChartSummary
      description: '전체 구간의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다.'
      type: object
      required:
        - paymentAverageAmount
        - customerAverageAmount
      properties:
        paymentAverageAmount:
          type: integer
          format: int64
          title: 건별 평균 거래액
        customerAverageAmount:
          type: integer
          format: int64
          title: 고객 당 평균 거래액
      x-portone-description: '전체 구간의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다.'
    AnalyticsCancellationRate:
      title: 고객사의 환불율 정보
      description: 고객사의 환불율 정보
      type: object
      required:
        - cancellationRate
      properties:
        cancellationRate:
          type: number
          format: double
      x-portone-title: 고객사의 환불율 정보
    AnalyticsCardChart:
      title: 고객사의 카드결제 현황 차트 정보
      description: 고객사의 카드결제 현황 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsCardChartStat'
      x-portone-title: 고객사의 카드결제 현황 차트 정보
    AnalyticsCardChartStat:
      title: AnalyticsCardChartStat
      description: 특정 시점의 카드결제 거래 건 수와 금액을 나타냅니다.
      type: object
      required:
        - timestamp
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        amount:
          type: integer
          format: int64
          title: 거래액
        count:
          type: integer
          format: int64
          title: 거래 건수
      x-portone-description: 특정 시점의 카드결제 거래 건 수와 금액을 나타냅니다.
    AnalyticsCardCompanyChart:
      title: 고객사의 카드사별 결제 현황 조회 응답
      description: 고객사의 카드사별 결제 현황 조회 응답
      type: object
      required:
        - stats
        - remainderStats
        - summary
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsCardCompanyChartStat'
        remainderStats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsCardCompanyChartRemainderStat'
        summary:
          $ref: '#/components/schemas/AnalyticsCardCompanyChartSummary'
      x-portone-title: 고객사의 카드사별 결제 현황 조회 응답
    AnalyticsCardCompanyChartRemainderStat:
      title: AnalyticsCardCompanyChartRemainderStat
      description: '특정 시점의 나머지 카드사들의 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - timestamp
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        amount:
          type: integer
          format: int64
          title: 결제금액
        count:
          type: integer
          format: int64
          title: 결제 건수
      x-portone-description: '특정 시점의 나머지 카드사들의 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsCardCompanyChartStat:
      title: AnalyticsCardCompanyChartStat
      description: '특정 시점의 카드사 별 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - timestamp
        - cardCompany
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        cardCompany:
          $ref: '#/components/schemas/CardCompany'
          title: 카드사
        amount:
          type: integer
          format: int64
          title: 결제금액
        count:
          type: integer
          format: int64
          title: 결제 건수
      x-portone-description: '특정 시점의 카드사 별 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsCardCompanyChartSummary:
      title: AnalyticsCardCompanyChartSummary
      description: '결제금액, 결제 건수의 총합을 나타냅니다.'
      type: object
      required:
        - totalAmount
        - totalCount
      properties:
        totalAmount:
          type: integer
          format: int64
          title: 결제금액 합
        totalCount:
          type: integer
          format: int64
          title: 결제 건수 합
      x-portone-description: '결제금액, 결제 건수의 총합을 나타냅니다.'
    AnalyticsEasyPayChart:
      title: 고객사의 간편결제 현황 차트 정보
      description: 고객사의 간편결제 현황 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsEasyPayChartStat'
      x-portone-title: 고객사의 간편결제 현황 차트 정보
    AnalyticsEasyPayChartStat:
      title: AnalyticsEasyPayChartStat
      description: 특정 시점의 간편결제 거래 건수와 금액을 나타냅니다.
      type: object
      required:
        - timestamp
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        amount:
          type: integer
          format: int64
          title: 거래액
        count:
          type: integer
          format: int64
          title: 거래 건수
      x-portone-description: 특정 시점의 간편결제 거래 건수와 금액을 나타냅니다.
    AnalyticsEasyPayProviderChart:
      title: 고객사의 간편결제사별 결제 현황 차트 정보
      description: 고객사의 간편결제사별 결제 현황 차트 정보
      type: object
      required:
        - stats
        - remainderStats
        - summary
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsEasyPayProviderChartStat'
        remainderStats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsEasyPayProviderChartRemainderStat'
        summary:
          $ref: '#/components/schemas/AnalyticsEasyPayProviderChartSummary'
      x-portone-title: 고객사의 간편결제사별 결제 현황 차트 정보
    AnalyticsEasyPayProviderChartRemainderStat:
      title: AnalyticsEasyPayProviderChartRemainderStat
      description: '특정 시점의 나머지 간편결제사들의 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - timestamp
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        amount:
          type: integer
          format: int64
          title: 결제금액
        count:
          type: integer
          format: int64
          title: 결제 건수
      x-portone-description: '특정 시점의 나머지 간편결제사들의 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsEasyPayProviderChartStat:
      title: AnalyticsEasyPayProviderChartStat
      description: '특정 시점의 간편결제사별 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - timestamp
        - easyPayProvider
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        easyPayProvider:
          $ref: '#/components/schemas/EasyPayProvider'
          title: 간편결제사
        amount:
          type: integer
          format: int64
          title: 결제금액
        count:
          type: integer
          format: int64
          title: 결제 건수
      x-portone-description: '특정 시점의 간편결제사별 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsEasyPayProviderChartSummary:
      title: AnalyticsEasyPayProviderChartSummary
      description: '결제금액, 결제 건수의 총합을 나타냅니다.'
      type: object
      required:
        - totalAmount
        - totalCount
      properties:
        totalAmount:
          type: integer
          format: int64
          title: 결제금액의 합
        totalCount:
          type: integer
          format: int64
          title: 결제 건수의 합
      x-portone-description: '결제금액, 결제 건수의 총합을 나타냅니다.'
    AnalyticsOverseasPaymentUsage:
      title: 고객사의 해외 결제 사용 여부
      description: 고객사의 해외 결제 사용 여부
      type: object
      required:
        - isUsing
      properties:
        isUsing:
          type: boolean
      x-portone-title: 고객사의 해외 결제 사용 여부
    AnalyticsPaymentChart:
      title: 고객사의 결제 현황 차트 정보
      description: 고객사의 결제 현황 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsPaymentChartStat'
      x-portone-title: 고객사의 결제 현황 차트 정보
    AnalyticsPaymentChartInsight:
      title: 고객사의 결제 현황 인사이트 정보
      description: 고객사의 결제 현황 인사이트 정보
      type: object
      required:
        - highestHourInDay
        - lowestHourInDay
      properties:
        highestDateInMonth:
          type: integer
          format: int64
          title: 월간 최고 거래액 발생일
        lowestDateInMonth:
          type: integer
          format: int64
          title: 월간 최저 거래액 발생일
        highestDayInWeek:
          $ref: '#/components/schemas/DayOfWeek'
          title: 주간 최고 거래액 발생 요일
        lowestDayInWeek:
          $ref: '#/components/schemas/DayOfWeek'
          title: 주간 최저 거래액 발생 요일
        highestHourInDay:
          type: integer
          format: int64
          title: 일간 최고 거래액 발생 시간
        lowestHourInDay:
          type: integer
          format: int64
          title: 일간 최저 거래액 발생 시간
      x-portone-title: 고객사의 결제 현황 인사이트 정보
    AnalyticsPaymentChartStat:
      title: AnalyticsPaymentChartStat
      description: 특정 시점의 거래 건 수와 금액을 나타냅니다.
      type: object
      required:
        - timestamp
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        amount:
          type: integer
          format: int64
          title: 거래액
        count:
          type: integer
          format: int64
          title: 거래 건수
      x-portone-description: 특정 시점의 거래 건 수와 금액을 나타냅니다.
    AnalyticsPaymentMethodChart:
      title: 고객사의 결제수단 현황 차트 정보
      description: 고객사의 결제수단 현황 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsPaymentMethodChartStat'
      x-portone-title: 고객사의 결제수단 현황 차트 정보
    AnalyticsPaymentMethodChartStat:
      title: AnalyticsPaymentMethodChartStat
      description: '결제수단별 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - amount
        - count
      properties:
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethodType'
          title: 결제수단
        amount:
          type: integer
          format: int64
          title: 결제수단별 결제금액
        count:
          type: integer
          format: int64
          title: 결제수단별 결제 건수
      x-portone-description: '결제수단별 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsPaymentMethodTrendChart:
      title: 고객사의 결제수단 트렌드 차트 정보
      description: 고객사의 결제수단 트렌드 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsPaymentMethodTrendChartStat'
          title: '결제수단별 결제금액, 결제 건수 데이터'
          description: '(timestamp, paymentMethod) 를 기준으로 오름차순 정렬되어 주어집니다.'
      x-portone-title: 고객사의 결제수단 트렌드 차트 정보
    AnalyticsPaymentMethodTrendChartStat:
      title: AnalyticsPaymentMethodTrendChartStat
      description: '특정 시점의 결제수단별 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - timestamp
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethodType'
          title: 결제수단
        amount:
          type: integer
          format: int64
          title: 결제금액
        count:
          type: integer
          format: int64
          title: 결제 건수
      x-portone-description: '특정 시점의 결제수단별 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsPaymentStatusByPaymentClientChart:
      title: 고객사의 결제 환경 별 결제 상태 차트 정보
      description: 고객사의 결제 환경 별 결제 상태 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: >-
              #/components/schemas/AnalyticsPaymentStatusByPaymentClientChartStat
      x-portone-title: 고객사의 결제 환경 별 결제 상태 차트 정보
    AnalyticsPaymentStatusByPaymentClientChartStat:
      title: AnalyticsPaymentStatusByPaymentClientChartStat
      description: 고객사의 결제 환경 별 결제 상태 차트 정보
      type: object
      required:
        - paymentClientType
        - paymentStatus
        - amount
        - count
      properties:
        paymentClientType:
          $ref: '#/components/schemas/PaymentClientType'
          title: 결제가 발생한 클라이언트 환경
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
          title: 결제 건 상태
        amount:
          type: integer
          format: int64
          title: 거래액
        count:
          type: integer
          format: int64
          title: 거래 건수
      x-portone-description: 고객사의 결제 환경 별 결제 상태 차트 정보
    AnalyticsPaymentStatusByPaymentMethodChart:
      title: 고객사의 결제 수단 별 결제 상태 차트 정보
      description: 고객사의 결제 수단 별 결제 상태 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: >-
              #/components/schemas/AnalyticsPaymentStatusByPaymentMethodChartStat
      x-portone-title: 고객사의 결제 수단 별 결제 상태 차트 정보
    AnalyticsPaymentStatusByPaymentMethodChartStat:
      title: AnalyticsPaymentStatusByPaymentMethodChartStat
      description: '각 결제수단, 상태 별 건수와 금액을 나타냅니다.'
      type: object
      required:
        - paymentStatus
        - amount
        - count
      properties:
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethodType'
          title: 결제수단
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
          title: 결제 건 상태
        amount:
          type: integer
          format: int64
          title: 거래액
        count:
          type: integer
          format: int64
          title: 거래 건수
      x-portone-description: '각 결제수단, 상태 별 건수와 금액을 나타냅니다.'
    AnalyticsPaymentStatusByPgCompanyChart:
      title: 고객사의 PG사 별 결제 상태 차트 정보
      description: 고객사의 PG사 별 결제 상태 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsPaymentStatusByPgCompanyChartStat'
      x-portone-title: 고객사의 PG사 별 결제 상태 차트 정보
    AnalyticsPaymentStatusByPgCompanyChartStat:
      title: AnalyticsPaymentStatusByPgCompanyChartStat
      description: '각 상태의 건수와 금액, 사분위수를 나타냅니다.'
      type: object
      required:
        - pgCompany
        - paymentStatus
        - amount
        - count
      properties:
        pgCompany:
          $ref: '#/components/schemas/PgCompany'
          title: PG사
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
          title: 결제 건 상태
        amount:
          type: integer
          format: int64
          title: 거래액
        count:
          type: integer
          format: int64
          title: 거래 건수
      x-portone-description: '각 상태의 건수와 금액, 사분위수를 나타냅니다.'
    AnalyticsPaymentStatusChart:
      title: 고객사의 결제 상태 차트 정보
      description: 고객사의 결제 상태 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsPaymentStatusChartStat'
      x-portone-title: 고객사의 결제 상태 차트 정보
    AnalyticsPaymentStatusChartStat:
      title: AnalyticsPaymentStatusChartStat
      description: '각 상태의 건수와 금액, 사분위수를 나타냅니다.'
      type: object
      required:
        - paymentStatus
        - amount
        - count
        - averageRatio
        - firstQuantile
        - median
        - thirdQuantile
      properties:
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
          title: 결제 건 상태
        amount:
          type: integer
          format: int64
          title: 거래액
        count:
          type: integer
          format: int64
          title: 거래 건수
        averageRatio:
          type: integer
          format: int64
          title: 해당 상태 비율
        firstQuantile:
          type: integer
          format: int64
          title: 1 사분위수
        median:
          type: integer
          format: int64
          title: 중앙값
        thirdQuantile:
          type: integer
          format: int64
          title: 3 사분위수
      x-portone-description: '각 상태의 건수와 금액, 사분위수를 나타냅니다.'
    AnalyticsPgCompanyChart:
      title: 고객사의 결제대행사 현황 차트 정보
      description: 고객사의 결제대행사 현황 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsPgCompanyChartStat'
      x-portone-title: 고객사의 결제대행사 현황 차트 정보
    AnalyticsPgCompanyChartStat:
      title: AnalyticsPgCompanyChartStat
      description: '결제대행사별 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - pgCompany
        - amount
        - count
      properties:
        pgCompany:
          $ref: '#/components/schemas/PgCompany'
          title: 결제대행사
        amount:
          type: integer
          format: int64
          title: 결제대행사별 결제금액
        count:
          type: integer
          format: int64
          title: 결제대행사별 결제 건수
      x-portone-description: '결제대행사별 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsPgCompanyTrendChart:
      title: 고객사의 결제대행사별 거래 추이 차트 정보
      description: 고객사의 결제대행사별 거래 추이 차트 정보
      type: object
      required:
        - stats
      properties:
        stats:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsPgCompanyTrendChartStat'
      x-portone-title: 고객사의 결제대행사별 거래 추이 차트 정보
    AnalyticsPgCompanyTrendChartStat:
      title: AnalyticsPgCompanyTrendChartStat
      description: '특정 시점의 결제대행사 별 결제금액, 결제 건수를 나타냅니다.'
      type: object
      required:
        - timestamp
        - pgCompany
        - amount
        - count
      properties:
        timestamp:
          type: string
          format: date-time
          title: 시점
        pgCompany:
          $ref: '#/components/schemas/PgCompany'
          title: 결제대행사
        amount:
          type: integer
          format: int64
          title: 결제금액
        count:
          type: integer
          format: int64
          title: 결제 건수
      x-portone-description: '특정 시점의 결제대행사 별 결제금액, 결제 건수를 나타냅니다.'
    AnalyticsTimeGranularity:
      title: 조회 시간 단위
      description: |-
        조회 시간 단위

        하나의 단위 필드만 선택하여 입력합니다.
      type: object
      properties:
        minute:
          $ref: '#/components/schemas/AnalyticsTimeGranularityMinute'
        hour:
          $ref: '#/components/schemas/AnalyticsTimeGranularityHour'
        day:
          $ref: '#/components/schemas/AnalyticsTimeGranularityDay'
        week:
          $ref: '#/components/schemas/AnalyticsTimeGranularityWeek'
        month:
          $ref: '#/components/schemas/AnalyticsTimeGranularityMonth'
      x-portone-title: 조회 시간 단위
      x-portone-description: 하나의 단위 필드만 선택하여 입력합니다.
    AnalyticsTimeGranularityDay:
      title: 일
      description: 일
      type: object
      required:
        - timezoneHourOffset
      properties:
        timezoneHourOffset:
          type: integer
          format: int32
      x-portone-title: 일
    AnalyticsTimeGranularityHour:
      title: 시간
      description: 시간
      type: object
      x-portone-title: 시간
    AnalyticsTimeGranularityMinute:
      title: 분
      description: 분
      type: object
      x-portone-title: 분
    AnalyticsTimeGranularityMonth:
      title: 월
      description: 월
      type: object
      required:
        - timezoneHourOffset
      properties:
        timezoneHourOffset:
          type: integer
          format: int32
      x-portone-title: 월
    AnalyticsTimeGranularityWeek:
      title: 주
      description: 주
      type: object
      required:
        - timezoneHourOffset
      properties:
        timezoneHourOffset:
          type: integer
          format: int32
      x-portone-title: 주
    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: 에스크로 배송 정보 등록 성공 응답
    ApprovePlatformPartnerBody:
      title: 파트너 상태를 승인 완료로 변경하기 위한 입력 정보
      description: 파트너 상태를 승인 완료로 변경하기 위한 입력 정보
      type: object
      properties:
        memo:
          type: string
          title: 파트너 메모. 값이 명시되지 않은 경우 업데이트하지 않습니다.
      x-portone-title: 파트너 상태를 승인 완료로 변경하기 위한 입력 정보
    ApprovePlatformPartnerError:
      title: ApprovePlatformPartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedPartnerError'
        - $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_ARCHIVED_PARTNER: '#/components/schemas/PlatformArchivedPartnerError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ApprovePlatformPartnerResponse:
      title: 파트너 승인 성공 응답
      description: 파트너 승인 성공 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          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/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPartnerNotFoundError'
        - $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_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          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
    B2bBankAccountNotFoundError:
      title: 계좌가 존재하지 않는 경우
      description: 계좌가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 계좌가 존재하지 않는 경우
      x-portone-status-code: 404
    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: 조회 실패 시 에러 메시지
      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
    B2bCompanyAlreadyRegisteredError:
      title: 사업자가 이미 연동되어 있는 경우
      description: 사업자가 이미 연동되어 있는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 사업자가 이미 연동되어 있는 경우
      x-portone-status-code: 409
    B2bCompanyContact:
      title: 담당자 정보
      description: 담당자 정보
      type: object
      required:
        - name
        - phoneNumber
        - email
      properties:
        name:
          type: string
          title: 담당자 성명
        phoneNumber:
          type: string
          title: 담당자 핸드폰 번호
        email:
          type: string
          title: 담당자 이메일
      x-portone-title: 담당자 정보
    B2bCompanyContactInput:
      title: 담당자 관련 입력 정보
      description: 담당자 관련 입력 정보
      type: object
      required:
        - name
        - phoneNumber
        - email
      properties:
        name:
          type: string
          title: 담당자 성명
        phoneNumber:
          type: string
          title: 담당자 핸드폰 번호
        email:
          type: string
          title: 담당자 이메일
      x-portone-title: 담당자 관련 입력 정보
    B2bCompanyNotFoundError:
      title: 사업자가 존재하지 않는 경우
      description: 사업자가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 사업자가 존재하지 않는 경우
      x-portone-status-code: 404
    B2bCompanyState:
      title: 사업자 상태
      description: 사업자 상태
      type: object
      required:
        - taxationType
        - businessStatus
      properties:
        taxationType:
          $ref: '#/components/schemas/B2bCompanyStateTaxationType'
          title: 사업자 과세 유형
        taxationTypeUpdateDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 과세 유형 변경 일자
        businessStatus:
          $ref: '#/components/schemas/B2bCompanyStateBusinessStatus'
          title: 사업자 영업 상태
        closedSuspendedDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 휴폐업 일자
      x-portone-title: 사업자 상태
    B2bCompanyStateBusinessStatus:
      title: 영업 상태
      description: 영업 상태
      type: string
      enum:
        - IN_BUSINESS
        - CLOSED
        - SUSPENDED
      x-portone-title: 영업 상태
      x-portone-enum:
        IN_BUSINESS:
          title: 영업중
        CLOSED:
          title: 폐업
        SUSPENDED:
          title: 휴업
    B2bCompanyStateTaxationType:
      title: 사업자 과세 유형
      description: 사업자 과세 유형
      type: string
      enum:
        - NORMAL
        - TAX_FREE
        - SIMPLE
        - SIMPLE_TAX_INVOICE_ISSUER
        - ASSIGNED_ID_NUMBER
      x-portone-title: 사업자 과세 유형
      x-portone-enum:
        SIMPLE:
          title: 간이 과세
        ASSIGNED_ID_NUMBER:
          title: '비영리법인 또는 국가기관, 고유번호가 부여된 단체'
        TAX_FREE:
          title: 면세
        SIMPLE_TAX_INVOICE_ISSUER:
          title: 간이 과세 세금계산서 발급 사업자
        NORMAL:
          title: 일반 과세
    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
    B2bFinancialSystemCommunicationError:
      title: 금융기관과의 통신에 실패한 경우
      description: 금융기관과의 통신에 실패한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 금융기관과의 통신에 실패한 경우
      x-portone-status-code: 503
    B2bFinancialSystemFailureError:
      title: 금융기관 장애
      description: 금융기관 장애
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 금융기관 장애
      x-portone-status-code: 503
    B2bFinancialSystemUnderMaintenanceError:
      title: 금융기관 시스템이 점검 중인 경우
      description: 금융기관 시스템이 점검 중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 금융기관 시스템이 점검 중인 경우
      x-portone-status-code: 503
    B2bForeignExchangeAccountError:
      title: 계좌 정보 조회가 불가능한 외화 계좌인 경우
      description: 계좌 정보 조회가 불가능한 외화 계좌인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 계좌 정보 조회가 불가능한 외화 계좌인 경우
      x-portone-status-code: 404
    B2bHometaxUnderMaintenanceError:
      title: 홈택스가 점검중이거나 순단이 발생한 경우
      description: 홈택스가 점검중이거나 순단이 발생한 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 홈택스가 점검중이거나 순단이 발생한 경우
      x-portone-status-code: 503
    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
    B2bMemberCompany:
      title: B2bMemberCompany
      type: object
      required:
        - id
        - graphqlId
        - brn
        - companyName
        - representativeName
        - address
        - businessType
        - businessClass
        - contact
        - isConnectedToExternal
      properties:
        id:
          type: string
          title: 사업자 고유 아이디
        graphqlId:
          type: string
        externalId:
          type: string
          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/B2bCompanyContact'
          title: 담당자 정보
        isConnectedToExternal:
          type: boolean
          title: 국세청 연동 여부
    B2bMemberCompanyInput:
      title: 사업자 입력 정보
      description: 사업자 입력 정보
      type: object
      required:
        - brn
        - companyName
        - representativeName
        - address
        - businessType
        - businessClass
        - contact
      properties:
        brn:
          type: string
          title: 사업자등록번호
        companyName:
          type: string
          title: 회사명
        representativeName:
          type: string
          title: 대표자 성명
        address:
          type: string
          title: 회사 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        contact:
          $ref: '#/components/schemas/B2bCompanyContactInput'
          title: 담당자 정보
      x-portone-title: 사업자 입력 정보
    B2bMemberCompanyNotFoundError:
      title: 연동 사업자가 존재하지 않는 경우
      description: 연동 사업자가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 연동 사업자가 존재하지 않는 경우
      x-portone-status-code: 404
    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
    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
      x-portone-title: 공급받는자가 존재하지 않은 경우
      x-portone-status-code: 404
    B2bRegularMaintenanceTimeError:
      title: 금융기관 시스템이 정기 점검 중인 경우
      description: 금융기관 시스템이 정기 점검 중인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 금융기관 시스템이 정기 점검 중인 경우
      x-portone-status-code: 503
    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
      x-portone-title: 공급자가 존재하지 않은 경우
      x-portone-status-code: 404
    B2bSuspendedAccountError:
      title: 정지 계좌인 경우
      description: 정지 계좌인 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          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: 최대 3개
        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: 이메일
      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
      required:
        - brn
        - name
        - representativeName
        - contact
      properties:
        brn:
          type: string
          title: 사업자등록번호
          description: '`-`를 제외한 10자리'
        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
        - supplier
        - 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: 최대 3개
      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
    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
      x-portone-enum:
        BEFORE_SENDING:
          title: 전송전
        DRAFTED:
          title: 임시저장
        REQUEST_CANCELLED:
          title: 공급받는자에 의한 발행취소
        ISSUE_PENDING:
          title: 발행 대기
        REQUEST_REFUSED:
          title: 공급자의 발행거부
        ISSUED:
          title: 발행완료
        SENDING_COMPLETED:
          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: 공급자 문서번호
        recipientBrn:
          type: string
          title: 공급받는자 사업자등록번호
        recipientName:
          type: string
          title: 공급받는자 상호
        recipientRepresentativeName:
          type: string
          title: 공급받는자 대표자 성명
        recipientDocumentKey:
          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: 면세
    B2bTaxInvoiceWebhookEventType:
      title: 이벤트 유형
      description: 이벤트 유형
      type: string
      enum:
        - Issue
        - CLOSEDOWN
        - OPEN
        - CancelRequest
        - CancelIssue
        - NTS
        - Request
        - Refuse
      x-portone-title: 이벤트 유형
      x-portone-enum:
        Request: {}
        CLOSEDOWN: {}
        CancelRequest: {}
        CancelIssue: {}
        NTS: {}
        Refuse: {}
        OPEN: {}
        Issue: {}
    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사별 연동 가이드" 참고)
      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: 계좌 이체
    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: '계좌 환불일 경우 입력합니다. 계좌 환불이 필요한 경우는 가상계좌 환불, 휴대폰 익월 환불 등이 있습니다.'
        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
        - 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: 구매자 정보
        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
      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: '해당 이벤트에서 처리된 금액으로, 취소 이벤트인 경우 음수로 표기됩니다.'
      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: {}
    CardCompany:
      title: 카드사
      description: 카드사
      type: string
      enum:
        - KOREA_DEVELOPMENT_BANK
        - SUHYUP_BANK
        - KFCC
        - SHINHYUP
        - EPOST
        - SAVINGS_BANK_KOREA
        - KAKAO_BANK
        - K_BANK
        - TOSS_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
        - UNIDENTIFIED_GLOBAL_CARD
        - CHAI_CARD
        - AMEX_CARD
        - MIR_CARD
        - UNION_CARD
        - JCB_CARD
        - VISA_CARD
        - MASTER_CARD
        - DINERS_CARD
        - DISCOVER_CARD
        - IBK
        - NH_BANK
        - DAEGU_CARD
        - BUSAN_CARD
        - SC_BANK
        - KYONGNAM_CARD
        - WOORI_BANK
        - CHINA_BANK
        - NFCF
        - KB_SECURITIES
        - YUANTA_SECURITIES
        - NH_SECURITIES
        - DB_SECURITIES
        - SK_SECURITIES
        - EUGENE_SECURITIES
        - KYOBO_SECURITIES
        - MIRAE_ASSET_SECURITIES
        - KOREA_SECURITIES
        - HANHWA_SECURITIES
        - SSG
        - KONA_I
        - CHAI
        - TOSS_CARD
        - PAYCO
        - GMONEY_TRANS
        - FINT
        - KG_MOBILIANS
        - HANPASS
        - FINSHOT
        - BIZPLAY
        - NICE
        - DANAL
        - SECTA
        - GME
        - LORD_SYSTEM
        - NAVERPAY
        - KAKAOPAY
        - KDBC
        - TEEN_CASH
        - EGG_MONEY
        - ON_CASH
        - GALAXIA_MONEY_TREE
        - FIRFIN
      x-portone-title: 카드사
      x-portone-enum:
        KOREA_SECURITIES:
          title: 한국투자증권
        TEEN_CASH:
          title: 틴캐쉬
        DISCOVER_CARD:
          title: DISCOVER카드
        GALAXIA_MONEY_TREE:
          title: 갤럭시아 머니트리
        KYONGNAM_CARD:
          title: 경남은행
        WOORI_CARD:
          title: 우리카드
        VISA_CARD:
          title: VISA카드
        SK_SECURITIES:
          title: SK증권
        NICE:
          title: 나이스정보통신
        KB_SECURITIES:
          title: KB증권
        WOORI_BANK:
          title: 우리은행
        FINSHOT:
          title: 핀샷
        KONA_I:
          title: 코나아이
        HANA_CARD:
          title: 하나카드
        GME:
          title: 글로벌머니익스프레스
        KOREA_DEVELOPMENT_BANK:
          title: KDB산업은행
        SUHYUP_CARD:
          title: 수협카드
        FIRFIN:
          title: 레몬트리 퍼핀
        GWANGJU_CARD:
          title: 광주카드
        HYUNDAI_CARD:
          title: 현대카드
        JEONBUK_CARD:
          title: 전북카드
        NH_BANK:
          title: NH농협은행
        PAYCO:
          title: 페이코
        IBK:
          title: IBK기업은행
        CHINA_BANK:
          title: 중국은행
        SHINHYUP:
          title: 신협
        HANHWA_SECURITIES:
          title: 한화투자증권
        DINERS_CARD:
          title: DINERS카드
        EPOST:
          title: 우체국
        NAVERPAY:
          title: 네이버페이
        BC_CARD:
          title: BC카드
        SUHYUP_BANK:
          title: 수협은행
        K_BANK:
          title: 케이뱅크
        DB_SECURITIES:
          title: DB금융투자
        MASTER_CARD:
          title: MASTER카드
        SECTA:
          title: 섹타나인
        CHAI_CARD:
          title: 차이뱅크
        CHAI:
          title: 차이코퍼레이션
        JEJU_CARD:
          title: 제주카드
        EUGENE_SECURITIES:
          title: 유진투자증권
        KOOKMIN_CARD:
          title: 국민카드
        MIRAE_ASSET_SECURITIES:
          title: 미래에셋증권
        NH_CARD:
          title: NH카드
        ON_CASH:
          title: 온캐쉬
        DAEGU_CARD:
          title: 대구은행
        UNIDENTIFIED_GLOBAL_CARD:
          title: 해외카드
        LOTTE_CARD:
          title: 롯데카드
        UNION_CARD:
          title: 은련카드
        SAMSUNG_CARD:
          title: 삼성카드
        NFCF:
          title: 산림조합중앙회
        SC_BANK:
          title: SC제일은행
        LORD_SYSTEM:
          title: 로드시스템
        AMEX_CARD:
          title: 아맥스카드
        SHINHAN_CARD:
          title: 신한카드
        CITI_CARD:
          title: 씨티카드
        KG_MOBILIANS:
          title: KG모빌리언스
        FINT:
          title: 디셈버앤컴퍼니
        NH_SECURITIES:
          title: NH투자증권
        BIZPLAY:
          title: 비즈플레이
        TOSS_CARD:
          title: 토스카드
        SAVINGS_BANK_KOREA:
          title: 저축은행
        SSG:
          title: SSG카드
        DANAL:
          title: 다날
        KFCC:
          title: 새마을금고
        TOSS_BANK:
          title: 토스뱅크
        HANPASS:
          title: 한패스
        KAKAO_BANK:
          title: 카카오뱅크
        MIR_CARD:
          title: 러시아 미르카드
        GMONEY_TRANS:
          title: 지머니트랜스
        KAKAOPAY:
          title: 카카오페이
        YUANTA_SECURITIES:
          title: 유안타증권
        KDBC:
          title: KCB산은캐피탈
        JCB_CARD:
          title: JCB카드
        EGG_MONEY:
          title: 에그머니
        BUSAN_CARD:
          title: 부산은행
        KYOBO_SECURITIES:
          title: 교보증권
    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: 지출증빙용
    Channel:
      title: 채널 정보
      description: 채널 정보
      type: object
      required:
        - id
        - name
        - pgProvider
        - pgCompany
        - type
        - pgMerchantId
        - isForPayment
        - isForIdentityVerification
        - key
      properties:
        id:
          type: string
          title: 채널 아이디
        name:
          type: string
          title: 채널명
        pgProvider:
          $ref: '#/components/schemas/PgProvider'
          title: PG사 모듈
        pgCompany:
          $ref: '#/components/schemas/PgCompany'
          title: PG사 모듈에 해당하는 PG사
        type:
          $ref: '#/components/schemas/ChannelType'
          title: 채널 유형
        pgMerchantId:
          type: string
          title: PG사 상점 아이디
        isForPayment:
          type: boolean
          title: 결제용 채널 여부
        isForIdentityVerification:
          type: boolean
          title: 본인인증용 채널 여부
        key:
          type: string
          title: 채널 키
      x-portone-title: 채널 정보
    ChannelDuplicateNameError:
      title: 이름 중복이 허용되지 않는데 이름이 겹치는 대상이 있는 경우
      description: 이름 중복이 허용되지 않는데 이름이 겹치는 대상이 있는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 이름 중복이 허용되지 않는데 이름이 겹치는 대상이 있는 경우
      x-portone-status-code: 409
    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
    ChannelType:
      title: 채널 유형
      description: 채널 유형
      type: string
      enum:
        - LIVE
        - MERCHANT_TEST
        - SHARED_TEST
      x-portone-title: 채널 유형
      x-portone-enum:
        LIVE:
          title: 라이브 채널
        MERCHANT_TEST:
          title: 고객사 전용 테스트 채널
        SHARED_TEST:
          title: 공용 테스트 채널
    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: 가상계좌 말소 성공 응답
    ConfirmBillingKeyBody:
      title: 빌링키 발급 승인 입력 정보
      description: 빌링키 발급 승인 입력 정보
      type: object
      required:
        - billingIssueToken
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        billingIssueToken:
          type: string
          title: 빌링키 발급 토큰
          description: 빌링키 발급 요청 완료 시 발급된 토큰입니다.
        isTest:
          type: boolean
          title: 테스트 결제 여부
          description: '검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다.'
      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: '검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다.'
      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: '검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다. 값 전달을 권장합니다.'
      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'
    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: 결제 수동 승인 완료된 결제 건 요약 정보
    ConnectBulkPartnerMemberCompanyBody:
      title: 파트너 일괄 국세청 연동 요청 정보
      description: |-
        파트너 일괄 국세청 연동 요청 정보

        파트너들을 일괄 국세청 연동합니다.
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerFilterInput'
          title: 일괄 국세청 연동할 파트너 조건 필터
      x-portone-title: 파트너 일괄 국세청 연동 요청 정보
      x-portone-description: 파트너들을 일괄 국세청 연동합니다.
    ConnectBulkPartnerMemberCompanyError:
      title: ConnectBulkPartnerMemberCompanyError
      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'
    ConnectBulkPartnerMemberCompanyResponse:
      title: 파트너 일괄 국세청 연동 응답
      description: 파트너 일괄 국세청 연동 응답
      type: object
      required:
        - bulkTask
      properties:
        bulkTask:
          $ref: '#/components/schemas/PlatformBulkTask'
      x-portone-title: 파트너 일괄 국세청 연동 응답
    ConnectPartnerMemberCompanyError:
      title: ConnectPartnerMemberCompanyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBtxNotEnabledError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformMemberCompanyNotConnectableStatusError'
        - $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_BTX_NOT_ENABLED: '#/components/schemas/PlatformBtxNotEnabledError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_MEMBER_COMPANY_NOT_CONNECTABLE_STATUS: '#/components/schemas/PlatformMemberCompanyNotConnectableStatusError'
          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'
    ConnectPartnerMemberCompanyResponse:
      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
    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'
    CreatePaymentReconciliationChannelError:
      title: CreatePaymentReconciliationChannelError
      oneOf:
        - $ref: '#/components/schemas/ChannelDuplicateNameError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/NotAllowedPgMerchantIdError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          DUPLICATE_CHANNEL_NAME: '#/components/schemas/ChannelDuplicateNameError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          NOT_ALLOWED_PG_MERCHANT_ID: '#/components/schemas/NotAllowedPgMerchantIdError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    CreatePaymentReconciliationChannelResponse:
      title: CreatePaymentReconciliationChannelResponse
      type: object
      required:
        - channel
      properties:
        channel:
          $ref: '#/components/schemas/PaymentReconciliationChannel'
    CreatePaymentScheduleBody:
      title: 결제 예약 요청 입력 정보
      description: 결제 예약 요청 입력 정보
      type: object
      required:
        - payment
        - timeToPay
      properties:
        payment:
          $ref: '#/components/schemas/BillingKeyPaymentInput'
          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'
      x-portone-title: 수기 정산건 생성을 위한 입력 정보
    CreatePlatformManualTransferError:
      title: CreatePlatformManualTransferError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $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_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'
    CreatePlatformOrderCancelTransferBody:
      title: 주문 취소 정산 등록을 위한 입력 정보
      description: >-
        주문 취소 정산 등록을 위한 입력 정보


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

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

        transferId를 입력한 경우 (partnerId, paymentId)는 생략 가능합니다.
      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'
      x-portone-title: 주문 취소 정산 등록을 위한 입력 정보
      x-portone-description: >-
        하나의 payment에 하나의 정산 건만 존재하는 경우에는 (partnerId, paymentId)로 취소 정산을 등록하실 수
        있습니다.

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

        transferId를 입력한 경우 (partnerId, paymentId)는 생략 가능합니다.
    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/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_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'
      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/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_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
    CursorPageInfo:
      title: 커서 기반 페이지 정보
      description: 커서 기반 페이지 정보
      type: object
      required:
        - startCursor
        - endCursor
        - hasPreviousPage
        - hasNextPage
      properties:
        startCursor:
          type: string
        endCursor:
          type: string
        hasPreviousPage:
          type: boolean
        hasNextPage:
          type: boolean
      x-portone-title: 커서 기반 페이지 정보
    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 타입
    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: 빌링키 삭제 성공 응답
    DeletePaymentReconciliationChannelError:
      title: DeletePaymentReconciliationChannelError
      oneOf:
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/IncludedInChannelGroupError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INCLUDED_IN_CHANNEL_GROUP: '#/components/schemas/IncludedInChannelGroupError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DeletePaymentReconciliationChannelResponse:
      title: DeletePaymentReconciliationChannelResponse
      type: object
    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: 배송 완료
    DirectReconciliationPgDataFilterInput:
      title: PG 데이터 기준 직접 대사 데이터 조회 필터
      description: PG 데이터 기준 직접 대사 데이터 조회 필터
      type: object
      properties:
        pgSpecifiers:
          title: PG 식별자 목록
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
          x-portone-title: 대사용 PG사 가맹점 식별자
          properties:
            pgMerchantId:
              title: PG사 가맹점 식별 아이디
            pgProvider:
              title: PG사
        reconciliationStatuses:
          title: 대사 상태 목록
          type: array
          items:
            $ref: '#/components/schemas/DirectReconciliationStatus'
          x-portone-title: 직접 대사 상태
          x-portone-enum:
            MATCHED:
              title: 일치
            NOT_MATCHED:
              title: 불일치
        actionTypes:
          title: 거래 상태 목록
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationActionType'
          x-portone-title: 거래상태
          x-portone-enum:
            UNCLASSIFIED_CANCEL:
              title: 상태 모르는 취소
            PARTIAL_CANCEL:
              title: 부분 취소
            FULL_CANCEL:
              title: 전체 취소
            APPROVAL:
              title: 결제 승인
            POST_CORRECTION:
              title: 후보정
        transactionCurrencies:
          title: 거래 통화 목록
          type: array
          items:
            $ref: '#/components/schemas/Currency'
          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
      x-portone-title: PG 데이터 기준 직접 대사 데이터 조회 필터
    DirectReconciliationPgDataOrderInput:
      title: PG 데이터 기준 직접 대사 데이터 정렬 조건
      description: PG 데이터 기준 직접 대사 데이터 정렬 조건
      type: object
      properties:
        direction:
          $ref: '#/components/schemas/SortOrder'
          title: 정렬 방향
      x-portone-title: PG 데이터 기준 직접 대사 데이터 정렬 조건
    DirectReconciliationPgDataSearchInput:
      title: PG 데이터 기준 직접 대사 데이터 검색 필터
      description: PG 데이터 기준 직접 대사 데이터 검색 필터
      type: object
      properties:
        pgTxId:
          type: string
          title: PG 거래 ID
        paymentId:
          type: string
          title: 결제 ID
      x-portone-title: PG 데이터 기준 직접 대사 데이터 검색 필터
    DirectReconciliationRevenueDataFilterInput:
      title: 자체 데이터 기준 직접 대사 데이터 조회 필터
      description: 자체 데이터 기준 직접 대사 데이터 조회 필터
      type: object
      properties:
        reconciliationStatuses:
          title: 대사 상태 목록
          type: array
          items:
            $ref: '#/components/schemas/DirectReconciliationStatus'
          x-portone-title: 직접 대사 상태
          x-portone-enum:
            MATCHED:
              title: 일치
            NOT_MATCHED:
              title: 불일치
        revenueCurrencies:
          title: 거래 통화 목록
          type: array
          items:
            $ref: '#/components/schemas/Currency'
          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
      x-portone-title: 자체 데이터 기준 직접 대사 데이터 조회 필터
    DirectReconciliationRevenueDataOrderInput:
      title: 자체 데이터 기준 직접 대사 데이터 정렬 조건
      description: 자체 데이터 기준 직접 대사 데이터 정렬 조건
      type: object
      properties:
        direction:
          $ref: '#/components/schemas/SortOrder'
          title: 정렬 방향
      x-portone-title: 자체 데이터 기준 직접 대사 데이터 정렬 조건
    DirectReconciliationRevenueDataSearchInput:
      title: 자체 데이터 기준 직접 대사 데이터 검색 조건
      description: 자체 데이터 기준 직접 대사 데이터 검색 조건
      type: object
      properties:
        paymentId:
          type: string
          title: 결제 ID
      x-portone-title: 자체 데이터 기준 직접 대사 데이터 검색 조건
    DirectReconciliationStatus:
      title: 직접 대사 상태
      description: 직접 대사 상태
      type: string
      enum:
        - MATCHED
        - NOT_MATCHED
      x-portone-title: 직접 대사 상태
      x-portone-enum:
        MATCHED:
          title: 일치
        NOT_MATCHED:
          title: 불일치
    DisconnectBulkPartnerMemberCompanyBody:
      title: 파트너 일괄 국세청 연동 해제 요청 정보
      description: |-
        파트너 일괄 국세청 연동 해제 요청 정보

        파트너들을 일괄 국세청 연동 해제합니다.
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerFilterInput'
          title: 일괄 국세청 연동 해제할 파트너 조건 필터
      x-portone-title: 파트너 일괄 국세청 연동 해제 요청 정보
      x-portone-description: 파트너들을 일괄 국세청 연동 해제합니다.
    DisconnectBulkPartnerMemberCompanyError:
      title: DisconnectBulkPartnerMemberCompanyError
      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'
    DisconnectBulkPartnerMemberCompanyResponse:
      title: 파트너 일괄 국세청 연동 해제 응답
      description: 파트너 일괄 국세청 연동 해제 응답
      type: object
      required:
        - bulkTask
      properties:
        bulkTask:
          $ref: '#/components/schemas/PlatformBulkTask'
      x-portone-title: 파트너 일괄 국세청 연동 해제 응답
    DisconnectPartnerMemberCompanyError:
      title: DisconnectPartnerMemberCompanyError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBtxNotEnabledError'
        - $ref: '#/components/schemas/PlatformExternalApiFailedError'
        - $ref: '#/components/schemas/PlatformMemberCompanyNotConnectedError'
        - $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_BTX_NOT_ENABLED: '#/components/schemas/PlatformBtxNotEnabledError'
          PLATFORM_EXTERNAL_API_FAILED: '#/components/schemas/PlatformExternalApiFailedError'
          PLATFORM_MEMBER_COMPANY_NOT_CONNECTED: '#/components/schemas/PlatformMemberCompanyNotConnectedError'
          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'
    DisconnectPartnerMemberCompanyResponse:
      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
    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'
    DownloadCreateBulkPlatformPartnersSheetError:
      title: DownloadCreateBulkPlatformPartnersSheetError
      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'
    DownloadCreateBulkPlatformTransfersSheetError:
      title: DownloadCreateBulkPlatformTransfersSheetError
      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'
    DownloadDirectReconciliationPgDataSheetBody:
      title: DownloadDirectReconciliationPgDataSheetBody
      type: object
      required:
        - transactionDateRange
      properties:
        transactionDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 거래일 범위
        filter:
          $ref: '#/components/schemas/DirectReconciliationPgDataFilterInput'
          title: 필터
        search:
          $ref: '#/components/schemas/DirectReconciliationPgDataSearchInput'
          title: 검색 조건
        order:
          $ref: '#/components/schemas/DirectReconciliationPgDataOrderInput'
          title: 정렬
    DownloadDirectReconciliationPgDataSheetError:
      title: DownloadDirectReconciliationPgDataSheetError
      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'
    DownloadDirectReconciliationRevenueDataSheetBody:
      title: DownloadDirectReconciliationRevenueDataSheetBody
      type: object
      required:
        - revenueRecognitionDateRange
      properties:
        revenueRecognitionDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 매출 인식 일자 범위
        filter:
          $ref: '#/components/schemas/DirectReconciliationRevenueDataFilterInput'
          title: 필터
        search:
          $ref: '#/components/schemas/DirectReconciliationRevenueDataSearchInput'
          title: 검색 조건
        order:
          $ref: '#/components/schemas/DirectReconciliationRevenueDataOrderInput'
          title: 정렬
    DownloadDirectReconciliationRevenueDataSheetError:
      title: DownloadDirectReconciliationRevenueDataSheetError
      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'
    DownloadPaymentEventsExcelBody:
      title: 결제 이벤트 엑셀 다운로드를 위한 입력 정보
      description: 결제 이벤트 엑셀 다운로드를 위한 입력 정보
      type: object
      required:
        - reason
      properties:
        filter:
          $ref: '#/components/schemas/PaymentEventFilterInput'
          title: 조회하여 다운로드할 결제 이벤트의 조건 필터
        option:
          $ref: '#/components/schemas/PaymentEventExcelOptionInput'
          title: 엑셀 옵션
        storeId:
          type: string
          title: 상점 아이디
        password:
          type: string
          title: 엑셀 비밀번호
        reason:
          type: string
          title: 엑셀 다운로드 사유
      x-portone-title: 결제 이벤트 엑셀 다운로드를 위한 입력 정보
    DownloadPaymentEventsExcelError:
      title: DownloadPaymentEventsExcelError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DownloadPaymentsExcelBody:
      title: 결제 내역 엑셀 다운로드를 위한 입력 정보
      description: 결제 내역 엑셀 다운로드를 위한 입력 정보
      type: object
      required:
        - reason
      properties:
        filter:
          $ref: '#/components/schemas/PaymentFilterInputV2'
          title: 조회하여 다운로드할 결제 건의 조건 필터
        option:
          $ref: '#/components/schemas/PaymentExcelOptionInput'
          title: 엑셀 옵션
        storeId:
          type: string
          title: 상점 아이디
        password:
          type: string
          title: 엑셀 비밀번호
        reason:
          type: string
          title: 엑셀 다운로드 사유
      x-portone-title: 결제 내역 엑셀 다운로드를 위한 입력 정보
    DownloadPaymentsExcelError:
      title: DownloadPaymentsExcelError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DownloadPlatformAccountTransfersSheetError:
      title: DownloadPlatformAccountTransfersSheetError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DownloadPlatformBulkAccountTransfersSheetBody:
      title: DownloadPlatformBulkAccountTransfersSheetBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformBulkAccountTransferFilterInput'
        fields:
          type: array
          items:
            type: string
          title: 컬럼 키 목록
          description: >-
            - BULK_ACCOUNT_TRANSFER_ID: 일괄 이체 아이디

            - BULK_ACCOUNT_TRANSFER_CREATOR_ID: 생성자 아이디

            - BULK_ACCOUNT_TRANSFER_TOTAL_AMOUNT: 일괄 이체 총액

            - BULK_ACCOUNT_TRANSFER_TOTAL_COUNT: 일괄 이체 총건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_PREPARED_AMOUNT: 이체 대기 총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_PREPARED_COUNT: 이체 대기 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_SCHEDULED_AMOUNT: 이체 예약 총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_SCHEDULED_COUNT: 이체 예약 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_CANCELLED_AMOUNT: 이체 취소 총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_CANCELLED_COUNT: 이체 취소 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_STOPPED_AMOUNT: 이체 중단 총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_STOPPED_COUNT: 이체 중단 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_PROCESSING_AMOUNT: 이체 처리중
            총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_PROCESSING_COUNT: 이체 처리중 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_ASYNC_PROCESSING_COUNT: 이체
            비동기 처리중 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_ASYNC_PROCESSING_AMOUNT: 이체
            비동기 처리중 총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_TOTAL_PROCESSING_COUNT: 이체
            처리중 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_TOTAL_PROCESSING_AMOUNT: 이체
            처리중 총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_SUCCEEDED_COUNT: 이체 성공 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_SUCCEEDED_AMOUNT: 이체 성공 총액

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_FAILED_COUNT: 이체 실패 건수

            - BULK_ACCOUNT_TRANSFER_ACCOUNT_TRANSFER_FAILED_AMOUNT: 이체 실패 총액

            - BULK_ACCOUNT_TRANSFER_STATUS: 일괄 이체 상태

            - BULK_ACCOUNT_TRANSFER_STATUS_UPDATED_AT: 상태 업데이트 일시

            - BULK_ACCOUNT_TRANSFER_SCHEDULED_AT: 일괄 이체 예약 일시

            - BULK_ACCOUNT_TRANSFER_CREATED_AT: 생성 일시

            - BULK_ACCOUNT_TRANSFER_UPDATED_AT: 최종 업데이트 일시
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    DownloadPlatformBulkAccountTransfersSheetError:
      title: DownloadPlatformBulkAccountTransfersSheetError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DownloadPlatformBulkPayoutsSheetBody:
      title: DownloadPlatformBulkPayoutsSheetBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformBulkPayoutFilterInput'
        fields:
          type: array
          items:
            type: string
          title: 컬럼 키 목록
          description: |-
            - BULK_PAYOUT_METHOD: 지급 방법
            - BULK_PAYOUT_STATUS: 일괄지급 상태
            - BULK_PAYOUT_CREATED_AT: 일괄지급 생성 일시
            - BULK_PAYOUT_STATUS_UPDATED_AT: 상태 업데이트 일시
            - BULK_PAYOUT_BULK_PAYOUT_ID: 일괄지급 아이디
            - BULK_PAYOUT_NAME: 이름
            - BULK_PAYOUT_TOTAL_PAYOUT_AMOUNT: 일괄지급 총액
            - BULK_PAYOUT_TOTAL_PAYOUT_COUNT: 일괄지급 총건수
            - BULK_PAYOUT_PAYOUT_CONFIRMED_AMOUNT: 지급확정 총액
            - BULK_PAYOUT_PAYOUT_CONFIRMED_COUNT: 지급확정 총건수
            - BULK_PAYOUT_PAYOUT_SCHEDULED_AMOUNT: 지급예약 총액
            - BULK_PAYOUT_PAYOUT_SCHEDULED_COUNT: 지급예약 건수
            - BULK_PAYOUT_PAYOUT_PREPARED_AMOUNT: 지급대기 총액
            - BULK_PAYOUT_PAYOUT_PREPARED_COUNT: 지급대기 건수
            - BULK_PAYOUT_PAYOUT_PROCESSING_AMOUNT: 지급중 총액
            - BULK_PAYOUT_PAYOUT_PROCESSING_COUNT: 지급중 건수
            - BULK_PAYOUT_PAYOUT_SUCCEEDED_AMOUNT: 지급성공 총액
            - BULK_PAYOUT_PAYOUT_SUCCEEDED_COUNT: 지급성공 건수
            - BULK_PAYOUT_PAYOUT_FAILED_AMOUNT: 지급실패 총액
            - BULK_PAYOUT_PAYOUT_FAILED_COUNT: 지급실패 건수
            - BULK_PAYOUT_PAYOUT_STOPPED_AMOUNT: 지급중단 총액
            - BULK_PAYOUT_PAYOUT_STOPPED_COUNT: 지급중단 건수
            - BULK_PAYOUT_PAYOUT_CANCELLED_AMOUNT: 지급취소 총액
            - BULK_PAYOUT_PAYOUT_CANCELLED_COUNT: 지급취소 건수
            - BULK_PAYOUT_CREATOR_ID: 생성자 아이디
            - BULK_PAYOUT_UPDATED_AT: 최종 업데이트 일시
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    DownloadPlatformBulkPayoutsSheetError:
      title: DownloadPlatformBulkPayoutsSheetError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DownloadPlatformPartnerSettlementSheetBody:
      title: DownloadPlatformPartnerSettlementSheetBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerSettlementFilterInput'
          title: 컬럼 키 목록
          description: >-
            - PARTNER_SETTLEMENT_ID: 정산 아이디

            - PARTNER_SETTLEMENT_STATUS: 상태

            - PARTNER_SETTLEMENT_SETTLEMENT_TYPE: 정산 유형

            - PARTNER_SETTLEMENT_SETTLEMENT_DATE: 정산일

            - PARTNER_SETTLEMENT_SETTLEMENT_START_DATE_RANGE: 정산 시작일 범위

            - PARTNER_SETTLEMENT_SETTLEMENT_AMOUNT: 정산 금액

            - PARTNER_SETTLEMENT_SETTLEMENT_TAX_FREE_AMOUNT: 정산 면세액

            - PARTNER_SETTLEMENT_SETTLEMENT_ORDER_AMOUNT: 주문 금액

            - PARTNER_SETTLEMENT_SETTLEMENT_ORDER_TAX_FREE_AMOUNT: 주문 면세액

            - PARTNER_SETTLEMENT_SETTLEMENT_PAYMENT_AMOUNT: 결제 금액

            - PARTNER_SETTLEMENT_SETTLEMENT_PAYMENT_SUPPLY_AMOUNT: 결제 공급가액

            - PARTNER_SETTLEMENT_SETTLEMENT_PAYMENT_VAT_AMOUNT: 결제 부가세액

            - PARTNER_SETTLEMENT_SETTLEMENT_PAYMENT_TAX_FREE_AMOUNT: 결제 면세액

            - PARTNER_SETTLEMENT_SETTLEMENT_PAYMENT_VAT_BURDEN_AMOUNT: 결제 부가세
            부담금

            - PARTNER_SETTLEMENT_SETTLEMENT_PLATFORM_FEE_AMOUNT: 중개수수료

            - PARTNER_SETTLEMENT_SETTLEMENT_PLATFORM_FEE_VAT_AMOUNT: 중개수수료 부가세
            부담금

            - PARTNER_SETTLEMENT_SETTLEMENT_DISCOUNT_AMOUNT: 할인 금액

            - PARTNER_SETTLEMENT_SETTLEMENT_DISCOUNT_TAX_FREE_AMOUNT: 할인 면세액

            - PARTNER_SETTLEMENT_SETTLEMENT_DISCOUNT_SHARE_AMOUNT: 할인 분담금

            - PARTNER_SETTLEMENT_SETTLEMENT_DISCOUNT_SHARE_TAX_FREE_AMOUNT: 할인
            면세 분담금

            - PARTNER_SETTLEMENT_SETTLEMENT_ADDITIONAL_FEE_AMOUNT: 추가수수료

            - PARTNER_SETTLEMENT_SETTLEMENT_ADDITIONAL_FEE_VAT_AMOUNT: 추가수수료 부가세
            부담금

            - PARTNER_SETTLEMENT_SETTLEMENT_CURRENCY: 정산 통화

            - PARTNER_SETTLEMENT_MEMO: 메모

            - PARTNER_* : 파트너 컬럼 키 사용 가능(w/o PARTNER_STATUS_UPDATED_AT)

            - FORMULA_{UserDefinedFormula.Key}

            - CONTRACT_ID

            - CONTRACT_NAME
        fields:
          type: array
          items:
            type: string
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    DownloadPlatformPartnerSettlementSheetError:
      title: DownloadPlatformPartnerSettlementSheetError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    DownloadPlatformPartnersSheetBody:
      title: DownloadPlatformPartnersSheetBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerFilterInput'
        fields:
          type: array
          items:
            type: string
          title: 컬럼 키 목록
          description: |-
            - PARTNER_ID: 파트너 아이디
            - PARTNER_NAME: 파트너 이름
            - PARTNER_CONTACT_NAME: 담당자 이름
            - PARTNER_CONTACT_EMAIL: 담당자 이메일
            - PARTNER_CONTACT_PHONE_NUMBER: 담당자 연락처
            - PARTNER_DEFAULT_CONTRACT_ID: 계약 아이디
            - PARTNER_ACCOUNT_BANK: 파트너 계좌 은행
            - PARTNER_ACCOUNT_NUMBER: 파트너 계좌 번호
            - PARTNER_ACCOUNT_HOLDER: 예금주명
            - PARTNER_ACCOUNT_CURRENCY: 통화
            - PARTNER_MEMO: 메모
            - PARTNER_TAGS: 태그
            - PARTNER_TYPE: 파트너 유형
            - PARTNER_TAXATION_TYPE_OR_INCOME_TYPE: 과세·소득 유형
            - PARTNER_BRN: 사업자 등록번호
            - PARTNER_REPRESENTATIVE_NAME: 대표자명
            - PARTNER_COMPANY_NAME: 상호
            - PARTNER_COMPANY_ADDRESS: 사업장 주소
            - PARTNER_BUSINESS_CLASS: 업종
            - PARTNER_BUSINESS_TYPE: 업태
            - PARTNER_BIRTH_DATE: 대표자 생년월일
            - PARTNER_MEMBER_COMPANY_CONNECTION_STATUS: 국세청 연동 상태
            - PARTNER_BUSINESS_STATUS: 휴폐업 상태
            - PARTNER_BRN_OR_BIRTH_DATE: 등록번호·생년월일
            - PARTNER_ACCOUNT_STATUS: 예금주 검증 상태
            - PARTNER_MEMBER_COMPANY_CONNECTION_FAILED_REASON: 실패 사유
            - PARTNER_{UserDefinedProperty.Key}
            - CONTRACT_NAME: 계약 이름
            - PARTNER_STATUS_UPDATED_AT: 상태 업데이트 일시
        isForTest:
          type: boolean
    DownloadPlatformPartnersSheetError:
      title: DownloadPlatformPartnersSheetError
      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'
    DownloadPlatformPayoutsSheetBody:
      title: DownloadPlatformPayoutsSheetBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPayoutFilterInput'
        fields:
          type: array
          items:
            type: string
          title: 컬럼 키 목록
          description: |-
            - PAYOUT_PAYOUT_ID: 지급 아이디
            - PAYOUT_BULK_PAYOUT_ID: 일괄지급 아이디
            - PAYOUT_METHOD: 지급 방법
            - PAYOUT_STATUS: 상태
            - PAYOUT_SETTLEMENT_CURRENCY: 정산 통화
            - PAYOUT_ACCOUNT_BANK: 지급 계좌 은행
            - PAYOUT_ACCOUNT_NUMBER: 지급 계좌 번호
            - PAYOUT_ACCOUNT_HOLDER: 예금주명
            - PAYOUT_AMOUNT: 지급 금액
            - PAYOUT_SETTLEMENT_AMOUNT: 정산 금액
            - PAYOUT_INCOME_TAX_AMOUNT: 원천징수세액 (소득세)
            - PAYOUT_LOCAL_INCOME_TAX_AMOUNT: 원천징수세액 (지방소득세)
            - PAYOUT_WITHDRAWAL_MEMO: 보내는 이 통장메모
            - PAYOUT_DEPOSIT_MEMO: 받는 이 통장메모
            - PAYOUT_MEMO: 메모
            - PAYOUT_STATUS_UPDATED_AT: 상태 업데이트 일시
            - PAYOUT_CREATED_AT: 지급 생성 일시
            - PAYOUT_SCHEDULED_AT: 지급 예정 일시
            - PAYOUT_SETTLEMENT_TAX_FREE_AMOUNT: 정산 면세액
            - PAYOUT_TAX_FREE_AMOUNT: 확정 면세액
            - PAYOUT_SUPPLY_AMOUNT: 확정 공급가액
            - PAYOUT_VAT_AMOUNT: 확정 부가세액
            - PAYOUT_FAIL_REASON: 지급 실패 사유
            - PAYOUT_DEDUCT_WHT: 원천징수세액 차감 여부
            - PAYOUT_SETTLEMENT_AMOUNT_TYPE: 정산 금액 취급 기준
            - PAYOUT_TAX_INVOICE_ID: 세금계산서 아이디
            - PAYOUT_TAX_INVOICE_STATUS: 세금계산서 상태
            - PAYOUT_SETTLEMENT_STATEMENT_ID: 정산내역서 아이디
            - PAYOUT_SETTLEMENT_STATEMENT_STATUS: 정산내역서 상태
            - PAYOUT_SETTLEMENT_STATEMENT_ISSUED_AT: 정산내역서 발송 일시
            - PARTNER_* : 파트너 컬럼 키 사용 가능(w/o PARTNER_STATUS_UPDATED_AT)
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    DownloadPlatformPayoutsSheetError:
      title: DownloadPlatformPayoutsSheetError
      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'
    DownloadPromotionPaymentsExcelBody:
      title: 프로모션 결제건 엑셀 다운로드를 위한 입력 정보
      description: 프로모션 결제건 엑셀 다운로드를 위한 입력 정보
      type: object
      required:
        - filter
      properties:
        filter:
          $ref: '#/components/schemas/DownloadPromotionPaymentsExcelFilter'
          title: 조회하여 다운로드할 결제 건의 조건 필터
      x-portone-title: 프로모션 결제건 엑셀 다운로드를 위한 입력 정보
    DownloadPromotionPaymentsExcelFilter:
      title: DownloadPromotionPaymentsExcelFilter
      type: object
      required:
        - storeId
        - promotionId
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        promotionId:
          type: string
          title: 프로모션 아이디
    DownloadPromotionsExcelBody:
      title: 프로모션 내역 엑셀 다운로드를 위한 입력 정보
      description: 프로모션 내역 엑셀 다운로드를 위한 입력 정보
      type: object
      required:
        - storeId
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        datetimeRange:
          $ref: '#/components/schemas/DateTimeRange'
          title: 시각 범위
        datetimeRangeField:
          $ref: '#/components/schemas/PromotionTimeRangeField'
          title: 시각 범위를 적용할 필드
      x-portone-title: 프로모션 내역 엑셀 다운로드를 위한 입력 정보
    DraftB2bTaxInvoiceBody:
      title: 세금계산서 임시 저장 정보
      description: 세금계산서 임시 저장 정보
      type: object
      required:
        - taxInvoice
      properties:
        taxInvoice:
          $ref: '#/components/schemas/B2bTaxInvoiceInput'
          title: 세금계산서 생성 요청 정보
        modification:
          $ref: '#/components/schemas/B2bTaxInvoiceModificationCreateBody'
          title: 수정 세금계산서 입력 정보
        memo:
          type: string
          title: 메모
      x-portone-title: 세금계산서 임시 저장 정보
    DraftB2bTaxInvoiceError:
      title: DraftB2bTaxInvoiceError
      oneOf:
        - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError'
        - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
        - $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_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
      x-portone-title: 간편 결제사
      x-portone-enum:
        MIR: {}
        SMILEPAY: {}
        KLARNA: {}
        NAVERPAY: {}
        CHAI: {}
        GRABPAY: {}
        TOSS_BRANDPAY: {}
        LGPAY: {}
        JKOPAY: {}
        SHOPEEPAY: {}
        ALIPAY: {}
        LPAY: {}
        DBARAI: {}
        KB_APP: {}
        LINEPAY: {}
        PAYCO: {}
        PINPAY: {}
        WECHAT: {}
        TMONEY: {}
        TOSSPAY: {}
        SSGPAY: {}
        MERPAY: {}
        PAYPAL: {}
        APPLEPAY: {}
        HYPHEN: {}
        AUPAY: {}
        SAMSUNGPAY: {}
        KPAY: {}
        AMAZONPAY: {}
        SKPAY: {}
        RAKUTENPAY: {}
        PAYPAY: {}
        KAKAOPAY: {}
    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
        - 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: 구매자 정보
        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: 그 외 성별
    GetAccountTransfersBody:
      title: GetAccountTransfersBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformAccountTransferFilter'
        fields:
          type: array
          items:
            type: string
          title: 컬럼 키 목록
          description: |-
            - ACCOUNT_TRANSFER_ID: 이체 아이디
            - ACCOUNT_TRANSFER_BULK_ACCOUNT_TRANSFER_ID: 일괄이체 아이디
            - ACCOUNT_TRANSFER_PAYOUT_ID: 지급 아이디
            - ACCOUNT_TRANSFER_TYPE: 구분
            - ACCOUNT_TRANSFER_DEPOSITOR_NAME: 입금자명
            - ACCOUNT_TRANSFER_DEPOSIT_ACCOUNT_NUMBER: 이체 계좌 번호
            - ACCOUNT_TRANSFER_DEPOSIT_BANK: 이체 계좌 은행
            - ACCOUNT_TRANSFER_DEPOSIT_ACCOUNT_HOLDER: 예금주
            - ACCOUNT_TRANSFER_DEPOSIT_MEMO: 받는 이 통장메모
            - ACCOUNT_TRANSFER_WITHDRAWAL_MEMO: 보내는 이 통장메모
            - ACCOUNT_TRANSFER_CURRENCY: 통화
            - ACCOUNT_TRANSFER_AMOUNT: 금액
            - ACCOUNT_TRANSFER_BALANCE: 출금 후 금액
            - ACCOUNT_TRANSFER_STATUS: 상태
            - ACCOUNT_TRANSFER_TRADED_AT: 이체 일시
            - ACCOUNT_TRANSFER_CREATED_AT: 이체 생성 일시
            - ACCOUNT_TRANSFER_UPDATED_AT: 최종 업데이트 일시
            - ACCOUNT_TRANSFER_STATUS_UPDATED_AT: 상태 업데이트 일시
            - ACCOUNT_TRANSFER_SCHEDULED_AT: 이체 예정 일시
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    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'
    GetAnalyticsAverageAmountChartBody:
      title: 고객사의 평균 거래액 현황 조회를 위한 입력 정보
      description: 고객사의 평균 거래액 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
        - timeGranularity
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 평균 거래액 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 평균 거래액 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 평균 거래액 현황 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
      x-portone-title: 고객사의 평균 거래액 현황 조회를 위한 입력 정보
    GetAnalyticsCancellationRateBody:
      title: 고객사의 환불율 조회를 위한 입력 정보
      description: 고객사의 환불율 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
      properties:
        from:
          type: string
          format: date-time
          title: 환불율 조회 기간의 시작 시간
        until:
          type: string
          format: date-time
          title: 환불율 조회 기간의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
      x-portone-title: 고객사의 환불율 조회를 위한 입력 정보
    GetAnalyticsCancellationRateError:
      title: GetAnalyticsCancellationRateError
      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'
    GetAnalyticsCardChartBody:
      title: 고객사의 카드결제 현황 조회를 위한 입력 정보
      description: 고객사의 카드결제 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
        - timeGranularity
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 카드결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 카드결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 카드결제 현황 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
      x-portone-title: 고객사의 카드결제 현황 조회를 위한 입력 정보
    GetAnalyticsCardChartError:
      title: GetAnalyticsCardChartError
      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'
    GetAnalyticsCardCompanyChartBody:
      title: 고객사의 카드사별 결제 현황 조회를 위한 입력 정보
      description: 고객사의 카드사별 결제 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
        - timeGranularity
        - cardCompanies
        - excludesFromRemainders
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 카드사별 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 카드사별 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 카드사별 결제 현황 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
        cardCompanies:
          title: 조회할 카드사
          type: array
          items:
            $ref: '#/components/schemas/CardCompany'
        excludesFromRemainders:
          title: 나머지 집계에 포함되지 않을 카드사
          type: array
          items:
            $ref: '#/components/schemas/CardCompany'
      x-portone-title: 고객사의 카드사별 결제 현황 조회를 위한 입력 정보
    GetAnalyticsCardCompanyChartError:
      title: GetAnalyticsCardCompanyChartError
      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'
    GetAnalyticsEasyPayChartBody:
      title: 고객사의 간편결제 현황 조회를 위한 입력 정보
      description: 고객사의 간편결제 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
        - timeGranularity
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 간편결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 간편결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 간편결제 현황 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
      x-portone-title: 고객사의 간편결제 현황 조회를 위한 입력 정보
    GetAnalyticsEasyPayChartError:
      title: GetAnalyticsEasyPayChartError
      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'
    GetAnalyticsEasyPayProviderChartBody:
      title: 고객사의 간편결제사별 결제 현황 조회를 위한 입력 정보
      description: 고객사의 간편결제사별 결제 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
        - timeGranularity
        - easyPayProviders
        - excludesFromRemainders
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 간편결제사별 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 간편결제사별 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 간편결제사별 결제 현황 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
        easyPayProviders:
          title: 조회할 간편결제사
          type: array
          items:
            $ref: '#/components/schemas/EasyPayProvider'
        excludesFromRemainders:
          title: 나머지 집계에 포함되지 않을 간편결제사
          type: array
          items:
            $ref: '#/components/schemas/EasyPayProvider'
      x-portone-title: 고객사의 간편결제사별 결제 현황 조회를 위한 입력 정보
    GetAnalyticsEasyPayProviderChartError:
      title: GetAnalyticsEasyPayProviderChartError
      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'
    GetAnalyticsOverseasPaymentUsageError:
      title: GetAnalyticsOverseasPaymentUsageError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetAnalyticsPaymentChartBody:
      title: 고객사의 결제 현황 조회를 위한 입력 정보
      description: 고객사의 결제 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - timeGranularity
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 결제 현황 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
      x-portone-title: 고객사의 결제 현황 조회를 위한 입력 정보
    GetAnalyticsPaymentChartError:
      title: GetAnalyticsPaymentChartError
      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'
    GetAnalyticsPaymentChartInsightBody:
      title: 고객사의 결제 현황 인사이트 조회를 위한 입력 정보
      description: 고객사의 결제 현황 인사이트 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - timezoneHourOffset
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timezoneHourOffset:
          type: integer
          format: int32
          title: 타임존 시간 오프셋
          description: '입력된 시간 오프셋 기준으로 일, 주, 월이 집계 됩니다.'
      x-portone-title: 고객사의 결제 현황 인사이트 조회를 위한 입력 정보
    GetAnalyticsPaymentChartInsightError:
      title: GetAnalyticsPaymentChartInsightError
      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'
    GetAnalyticsPaymentMethodChartBody:
      title: 고객사의 결제수단 현황 조회를 위한 입력 정보
      description: 고객사의 결제수단 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제수단 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제수단 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
      x-portone-title: 고객사의 결제수단 현황 조회를 위한 입력 정보
    GetAnalyticsPaymentMethodTrendChartBody:
      title: 고객사의 결제수단 트렌드 조회를 위한 입력 정보
      description: 고객사의 결제수단 트렌드 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
        - timeGranularity
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제수단 트렌드의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제수단 트렌드의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 결제 결제수단 트렌드 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
      x-portone-title: 고객사의 결제수단 트렌드 조회를 위한 입력 정보
    GetAnalyticsPaymentStatusByPaymentClientChartBody:
      title: 고객사의 결제환경별 결제전환율 조회를 위한 입력 정보
      description: 고객사의 결제환경별 결제전환율 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
      x-portone-title: 고객사의 결제환경별 결제전환율 조회를 위한 입력 정보
    GetAnalyticsPaymentStatusByPaymentMethodChartBody:
      title: 고객사의 결제수단별 결제전환율 조회를 위한 입력 정보
      description: 고객사의 결제수단별 결제전환율 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
      x-portone-title: 고객사의 결제수단별 결제전환율 조회를 위한 입력 정보
    GetAnalyticsPaymentStatusByPgCompanyChartBody:
      title: 고객사의 PG사별 결제전환율 조회를 위한 입력 정보
      description: 고객사의 PG사별 결제전환율 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
      x-portone-title: 고객사의 PG사별 결제전환율 조회를 위한 입력 정보
    GetAnalyticsPaymentStatusChartBody:
      title: 고객사의 결제상태 이력 집계 조회를 위한 입력 정보
      description: 고객사의 결제상태 이력 집계 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
      x-portone-title: 고객사의 결제상태 이력 집계 조회를 위한 입력 정보
    GetAnalyticsPgCompanyChartBody:
      title: 고객사의 결제대행사 현황 조회를 위한 입력 정보
      description: 고객사의 결제대행사 현황 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제대행사 현황의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제대행사 현황의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
      x-portone-title: 고객사의 결제대행사 현황 조회를 위한 입력 정보
    GetAnalyticsPgCompanyTrendChartBody:
      title: 고객사의 결제대행사별 거래 추이 조회를 위한 입력 정보
      description: 고객사의 결제대행사별 거래 추이 조회를 위한 입력 정보
      type: object
      required:
        - from
        - until
        - currency
        - excludeCancelled
        - timeGranularity
        - pgCompanies
      properties:
        from:
          type: string
          format: date-time
          title: 조회할 결제대행사별 거래 추이의 시작 시간
        until:
          type: string
          format: date-time
          title: 조회할 결제대행사별 거래 추이의 끝 시간
        currency:
          $ref: '#/components/schemas/Currency'
          title: 조회할 결제 통화
          description: 입력된 통화로 발생한 결제내역만 응답에 포함됩니다.
        excludeCancelled:
          type: boolean
          title: 결제취소건 제외 여부
          description: >-
            true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이
            응답에 반영됩니다.
        timeGranularity:
          $ref: '#/components/schemas/AnalyticsTimeGranularity'
          title: 결제 결제대행사별 거래 추이 조회 단위
          description: '시간별, 월별 단위만 지원됩니다.'
        pgCompanies:
          title: 조회할 결제대행사
          type: array
          items:
            $ref: '#/components/schemas/PgCompany'
      x-portone-title: 고객사의 결제대행사별 거래 추이 조회를 위한 입력 정보
    GetAverageAmountChartError:
      title: GetAverageAmountChartError
      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'
    GetB2bAccountHolderError:
      title: GetB2bAccountHolderError
      oneOf:
        - $ref: '#/components/schemas/B2bBankAccountNotFoundError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bFinancialSystemCommunicationError'
        - $ref: '#/components/schemas/B2bFinancialSystemFailureError'
        - $ref: '#/components/schemas/B2bFinancialSystemUnderMaintenanceError'
        - $ref: '#/components/schemas/B2bForeignExchangeAccountError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bRegularMaintenanceTimeError'
        - $ref: '#/components/schemas/B2bSuspendedAccountError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_BANK_ACCOUNT_NOT_FOUND: '#/components/schemas/B2bBankAccountNotFoundError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_FINANCIAL_SYSTEM_COMMUNICATION: '#/components/schemas/B2bFinancialSystemCommunicationError'
          B2B_FINANCIAL_SYSTEM_FAILURE: '#/components/schemas/B2bFinancialSystemFailureError'
          B2B_FINANCIAL_SYSTEM_UNDER_MAINTENANCE: '#/components/schemas/B2bFinancialSystemUnderMaintenanceError'
          B2B_FOREIGN_EXCHANGE_ACCOUNT: '#/components/schemas/B2bForeignExchangeAccountError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_REGULAR_MAINTENANCE_TIME: '#/components/schemas/B2bRegularMaintenanceTimeError'
          B2B_SUSPENDED_ACCOUNT: '#/components/schemas/B2bSuspendedAccountError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bAccountHolderPreviewError:
      title: GetB2bAccountHolderPreviewError
      oneOf:
        - $ref: '#/components/schemas/B2bBankAccountNotFoundError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bFinancialSystemCommunicationError'
        - $ref: '#/components/schemas/B2bFinancialSystemFailureError'
        - $ref: '#/components/schemas/B2bFinancialSystemUnderMaintenanceError'
        - $ref: '#/components/schemas/B2bForeignExchangeAccountError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/B2bRegularMaintenanceTimeError'
        - $ref: '#/components/schemas/B2bSuspendedAccountError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_BANK_ACCOUNT_NOT_FOUND: '#/components/schemas/B2bBankAccountNotFoundError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_FINANCIAL_SYSTEM_COMMUNICATION: '#/components/schemas/B2bFinancialSystemCommunicationError'
          B2B_FINANCIAL_SYSTEM_FAILURE: '#/components/schemas/B2bFinancialSystemFailureError'
          B2B_FINANCIAL_SYSTEM_UNDER_MAINTENANCE: '#/components/schemas/B2bFinancialSystemUnderMaintenanceError'
          B2B_FOREIGN_EXCHANGE_ACCOUNT: '#/components/schemas/B2bForeignExchangeAccountError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          B2B_REGULAR_MAINTENANCE_TIME: '#/components/schemas/B2bRegularMaintenanceTimeError'
          B2B_SUSPENDED_ACCOUNT: '#/components/schemas/B2bSuspendedAccountError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bBankAccountHolderBody:
      title: 예금주 조회 요청 정보
      description: 예금주 조회 요청 정보
      type: object
      required:
        - bank
        - accountNumber
      properties:
        bank:
          $ref: '#/components/schemas/Bank'
          title: 은행
        accountNumber:
          type: string
          title: 계좌번호
      x-portone-title: 예금주 조회 요청 정보
    GetB2bBankAccountHolderPreviewResponse:
      title: 예금주 조회 응답 정보
      description: 예금주 조회 응답 정보
      type: object
      required:
        - accountHolder
      properties:
        accountHolder:
          type: string
          title: 예금주
      x-portone-title: 예금주 조회 응답 정보
    GetB2bBankAccountHolderResponse:
      title: 예금주 조회 응답 정보
      description: 예금주 조회 응답 정보
      type: object
      required:
        - accountHolder
      properties:
        accountHolder:
          type: string
          title: 예금주
      x-portone-title: 예금주 조회 응답 정보
    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: 사업자등록 정보 조회 성공 응답
    GetB2bCertificateError:
      title: GetB2bCertificateError
      oneOf:
        - $ref: '#/components/schemas/B2bCertificateUnregisteredError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bMemberCompanyNotFoundError'
        - $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_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_MEMBER_COMPANY_NOT_FOUND: '#/components/schemas/B2bMemberCompanyNotFoundError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bCertificateRegistrationUrlError:
      title: GetB2bCertificateRegistrationUrlError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bMemberCompanyNotFoundError'
        - $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_MEMBER_COMPANY_NOT_FOUND: '#/components/schemas/B2bMemberCompanyNotFoundError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bCertificateRegistrationUrlResponse:
      title: 인증서 등록 URL 조회 응답 정보
      description: 인증서 등록 URL 조회 응답 정보
      type: object
      required:
        - url
      properties:
        url:
          type: string
          title: 인증서 등록 URL
      x-portone-title: 인증서 등록 URL 조회 응답 정보
    GetB2bCompanyStateError:
      title: GetB2bCompanyStateError
      oneOf:
        - $ref: '#/components/schemas/B2bCompanyNotFoundError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bHometaxUnderMaintenanceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COMPANY_NOT_FOUND: '#/components/schemas/B2bCompanyNotFoundError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_HOMETAX_UNDER_MAINTENANCE: '#/components/schemas/B2bHometaxUnderMaintenanceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bCompanyStatePreviewError:
      title: GetB2bCompanyStatePreviewError
      oneOf:
        - $ref: '#/components/schemas/B2bCompanyNotFoundError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bHometaxUnderMaintenanceError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COMPANY_NOT_FOUND: '#/components/schemas/B2bCompanyNotFoundError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_HOMETAX_UNDER_MAINTENANCE: '#/components/schemas/B2bHometaxUnderMaintenanceError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetB2bMemberCompanyError:
      title: GetB2bMemberCompanyError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bMemberCompanyNotFoundError'
        - $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_MEMBER_COMPANY_NOT_FOUND: '#/components/schemas/B2bMemberCompanyNotFoundError'
          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: 필터
      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'
      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: 현금영수증 다건 조회 성공 응답 정보
    GetChannelsBody:
      title: GetChannelsBody
      type: object
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: '접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.'
        page:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
    GetChannelsError:
      title: GetChannelsError
      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'
    GetChannelsResponse:
      title: 채널 다건 조회 성공 응답 정보
      description: 채널 다건 조회 성공 응답 정보
      type: object
      required:
        - items
        - page
      properties:
        items:
          title: 조회된 채널 리스트
          type: array
          items:
            $ref: '#/components/schemas/Channel'
        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: 카카오페이 주문 조회 응답
    GetMerchantError:
      title: GetMerchantError
      oneOf:
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    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'
    GetPaymentMethodChartError:
      title: GetPaymentMethodChartError
      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'
    GetPaymentMethodTrendChartError:
      title: GetPaymentMethodTrendChartError
      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'
    GetPaymentReconciliationChannelError:
      title: GetPaymentReconciliationChannelError
      oneOf:
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentReconciliationChannelResponse:
      title: GetPaymentReconciliationChannelResponse
      type: object
      required:
        - channel
      properties:
        channel:
          $ref: '#/components/schemas/PaymentReconciliationChannel'
    GetPaymentReconciliationCollectionHistoriesBody:
      title: GetPaymentReconciliationCollectionHistoriesBody
      type: object
      properties:
        channelKey:
          type: string
          title: 채널키
        collectionType:
          $ref: '#/components/schemas/PaymentReconciliationCollectionType'
          title: 수집 형태
        page:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
    GetPaymentReconciliationCollectionHistoriesError:
      title: GetPaymentReconciliationCollectionHistoriesError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentReconciliationCollectionHistoriesResponse:
      title: GetPaymentReconciliationCollectionHistoriesResponse
      type: object
      required:
        - collectionHistories
        - page
      properties:
        collectionHistories:
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationCollectionHistory'
        page:
          $ref: '#/components/schemas/PageInfo'
    GetPaymentReconciliationSettlementSummariesBody:
      title: GetPaymentReconciliationSettlementSummariesBody
      type: object
      required:
        - dateRange
        - size
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산일 범위
        size:
          type: integer
          format: int32
          title: 조회할 건 수
        after:
          type: string
          title: 이전 페이지의 마지막 커서
    GetPaymentReconciliationSettlementSummariesError:
      title: GetPaymentReconciliationSettlementSummariesError
      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'
    GetPaymentReconciliationSettlementSummariesResponse:
      title: GetPaymentReconciliationSettlementSummariesResponse
      type: object
      required:
        - items
        - pageInfo
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/PaymentReconciliationSettlementSummaryWithCursor
        pageInfo:
          $ref: '#/components/schemas/CursorPageInfo'
    GetPaymentReconciliationSettlementSummaryExcelFileBody:
      title: GetPaymentReconciliationSettlementSummaryExcelFileBody
      type: object
      required:
        - dateRange
        - columns
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산일 범위
        filter:
          $ref: >-
            #/components/schemas/PaymentReconciliationSettlementSummaryExcelFileFilterInput
        columns:
          title: 액셀파일 요청시 선택 필드
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationSettlementSummaryColumn'
    GetPaymentReconciliationSettlementSummaryExcelFileError:
      title: GetPaymentReconciliationSettlementSummaryExcelFileError
      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'
    GetPaymentReconciliationSettlementVatReferenceExcelFileBody:
      title: GetPaymentReconciliationSettlementVatReferenceExcelFileBody
      type: object
      required:
        - dateRange
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산일 범위
        filter:
          $ref: >-
            #/components/schemas/PaymentReconciliationSettlementSummaryFilterInput
    GetPaymentReconciliationSettlementVatReferenceExcelFileError:
      title: GetPaymentReconciliationSettlementVatReferenceExcelFileError
      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'
    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사
    GetPaymentReconciliationTransactionSummariesBody:
      title: GetPaymentReconciliationTransactionSummariesBody
      type: object
      required:
        - dateRange
        - size
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 거래일 범위
        size:
          type: integer
          format: int32
          title: 조회할 건 수
        after:
          type: string
          title: 이전 페이지의 마지막 커서
    GetPaymentReconciliationTransactionSummariesError:
      title: GetPaymentReconciliationTransactionSummariesError
      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'
    GetPaymentReconciliationTransactionSummariesResponse:
      title: GetPaymentReconciliationTransactionSummariesResponse
      type: object
      required:
        - items
        - pageInfo
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/PaymentReconciliationTransactionSummaryWithCursor
        pageInfo:
          $ref: '#/components/schemas/CursorPageInfo'
    GetPaymentReconciliationTransactionSummaryExcelFileBody:
      title: GetPaymentReconciliationTransactionSummaryExcelFileBody
      type: object
      required:
        - dateRange
        - columns
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 거래일 범위
        filter:
          $ref: >-
            #/components/schemas/PaymentReconciliationTransactionSummaryExcelFilterInput
        columns:
          title: 액셀파일 요청시 선택 필드
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationTransactionSummaryColumn'
    GetPaymentReconciliationTransactionSummaryExcelFileError:
      title: GetPaymentReconciliationTransactionSummaryExcelFileError
      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'
    GetPaymentReconciliationTransactionVatReferenceExcelFileBody:
      title: GetPaymentReconciliationTransactionVatReferenceExcelFileBody
      type: object
      required:
        - dateRange
      properties:
        dateRange:
          $ref: '#/components/schemas/DateRange'
          title: 거래일 범위
        filter:
          $ref: >-
            #/components/schemas/PaymentReconciliationTransactionSummaryFilterInput
    GetPaymentReconciliationTransactionVatReferenceExcelFileError:
      title: GetPaymentReconciliationTransactionVatReferenceExcelFileError
      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'
    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사
    GetPaymentReconciliationsBody:
      title: GetPaymentReconciliationsBody
      type: object
      required:
        - dateCondition
        - size
      properties:
        dateCondition:
          $ref: '#/components/schemas/ReconciliationDateConditionInput'
        searchCondition:
          $ref: '#/components/schemas/PaymentReconciliationSearchConditionInput'
        filter:
          $ref: '#/components/schemas/PaymentReconciliationFilterInput'
        size:
          type: integer
          format: int32
          title: 조회할 건 수
        after:
          type: string
          title: 이전 페이지의 마지막 커서
    GetPaymentReconciliationsError:
      title: GetPaymentReconciliationsError
      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'
    GetPaymentReconciliationsExcelFileBody:
      title: GetPaymentReconciliationsExcelFileBody
      type: object
      required:
        - columns
        - dateCondition
      properties:
        columns:
          title: 엑셀파일 요청시 선택 필드
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationColumn'
        dateCondition:
          $ref: '#/components/schemas/ReconciliationDateConditionInput'
        searchCondition:
          $ref: '#/components/schemas/PaymentReconciliationSearchConditionInput'
        filter:
          $ref: '#/components/schemas/PaymentReconciliationExcelFileFilterInput'
        order:
          $ref: '#/components/schemas/PaymentReconciliationOrderInput'
    GetPaymentReconciliationsExcelFileError:
      title: GetPaymentReconciliationsExcelFileError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPaymentReconciliationsResponse:
      title: GetPaymentReconciliationsResponse
      type: object
      required:
        - items
        - pageInfo
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationWithCursor'
        pageInfo:
          $ref: '#/components/schemas/CursorPageInfo'
    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: 결제 예약 다건 조회 성공 응답 정보
    GetPaymentStatusByPaymentClientChartError:
      title: GetPaymentStatusByPaymentClientChartError
      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'
    GetPaymentStatusByPaymentMethodChartError:
      title: GetPaymentStatusByPaymentMethodChartError
      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'
    GetPaymentStatusByPgCompanyChartError:
      title: GetPaymentStatusByPgCompanyChartError
      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'
    GetPaymentStatusChartError:
      title: GetPaymentStatusChartError
      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'
    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사 카드 프로모션 조회 응답
    GetPgCompanyChartError:
      title: GetPgCompanyChartError
      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'
    GetPgCompanyTrendChartError:
      title: GetPgCompanyTrendChartError
      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'
    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'
    GetPlatformBulkAccountTransferError:
      title: GetPlatformBulkAccountTransferError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBulkAccountTransferNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_BULK_ACCOUNT_TRANSFER_NOT_FOUND: '#/components/schemas/PlatformBulkAccountTransferNotFoundError'
          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'
    GetPlatformBulkPayoutError:
      title: GetPlatformBulkPayoutError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBulkPayoutNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_BULK_PAYOUT_NOT_FOUND: '#/components/schemas/PlatformBulkPayoutNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformBulkPayoutPartnerSettlementsBody:
      title: GetPlatformBulkPayoutPartnerSettlementsBody
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/PlatformBulkPayoutPartnerSettlementsFilterInput'
        page:
          $ref: '#/components/schemas/PageInput'
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    GetPlatformBulkPayoutPartnerSettlementsError:
      title: GetPlatformBulkPayoutPartnerSettlementsError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformBulkPayoutNotFoundError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_BULK_PAYOUT_NOT_FOUND: '#/components/schemas/PlatformBulkPayoutNotFoundError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformBulkPayoutPartnerSettlementsResponse:
      title: GetPlatformBulkPayoutPartnerSettlementsResponse
      type: object
      required:
        - items
        - page
        - counts
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlatformBulkPayoutPartnerSettlement'
        page:
          $ref: '#/components/schemas/PageInfo'
        counts:
          $ref: '#/components/schemas/PlatformPartnerSettlementStatusStats'
    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'
    GetPlatformHolidaysError:
      title: GetPlatformHolidaysError
      oneOf:
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    GetPlatformHolidaysResponse:
      title: 공휴일 조회
      description: 공휴일 조회
      type: object
      required:
        - holidays
      properties:
        holidays:
          title: 공휴일 리스트
          type: array
          items:
            $ref: '#/components/schemas/PlatformHoliday'
      x-portone-title: 공휴일 조회
    GetPlatformPartnerDashboardBody:
      title: 파트너 현황 조회를 위한 입력 정보
      description: 파트너 현황 조회를 위한 입력 정보
      type: object
      properties:
        isForTest:
          type: boolean
          title: 테스트 조회 여부
          description: >-
            true 이면 isForTest 가 true 인 파트너들을 조회하고, false 이면 isForTest 가 false 인
            파트너들을 조회합니다. 기본값은 false 입니다.
      x-portone-title: 파트너 현황 조회를 위한 입력 정보
    GetPlatformPartnerDashboardError:
      title: GetPlatformPartnerDashboardError
      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'
    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'
    GetPlatformPartnerSettlementCurrenciesBody:
      title: GetPlatformPartnerSettlementCurrenciesBody
      type: object
      properties:
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    GetPlatformPartnerSettlementCurrenciesError:
      title: GetPlatformPartnerSettlementCurrenciesError
      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'
    GetPlatformPartnerSettlementCurrenciesResponse:
      title: 정산내역 통화 조회 결과
      description: 정산내역 통화 조회 결과
      type: object
      required:
        - settlementCurrencies
      properties:
        settlementCurrencies:
          title: 통화 단위
          type: array
          items:
            $ref: '#/components/schemas/Currency'
      x-portone-title: 정산내역 통화 조회 결과
    GetPlatformPartnerSettlementDashboardBody:
      title: GetPlatformPartnerSettlementDashboardBody
      type: object
      required:
        - filter
      properties:
        filter:
          $ref: '#/components/schemas/PlatformPartnerSettlementFilterInput'
    GetPlatformPartnerSettlementDashboardError:
      title: GetPlatformPartnerSettlementDashboardError
      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'
    GetPlatformPartnerSettlementDatesBody:
      title: GetPlatformPartnerSettlementDatesBody
      type: object
      properties:
        isForTest:
          type: boolean
          description: >-
            Query Parameter의 test에 값이 제공된 경우 Query Parameter의 test를 사용하고 해당 값은
            무시됩니다.

            Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인
            false로 적용됩니다.
    GetPlatformPartnerSettlementDatesError:
      title: GetPlatformPartnerSettlementDatesError
      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'
    GetPlatformPartnerSettlementDatesResponse:
      title: 정산일 리스트 조회 결과
      description: 정산일 리스트 조회 결과
      type: object
      required:
        - settlementDates
      properties:
        settlementDates:
          type: array
          items:
            description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
            type: string
            format: date
            x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
      x-portone-title: 정산일 리스트 조회 결과
    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: 파트너 다건 조회 성공 응답 정보
    GetPlatformPayableSettlementDatesError:
      title: GetPlatformPayableSettlementDatesError
      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'
    GetPlatformPayableSettlementDatesResponse:
      title: 지급 가능한 정산일 리스트 조회 성공 응답 정보
      description: 지급 가능한 정산일 리스트 조회 성공 응답 정보
      type: object
      required:
        - settlementDates
      properties:
        settlementDates:
          type: array
          items:
            description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
            type: string
            format: date
            x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 'IN_PROCESS, SETTLED 상태의 Transfer가 등록되어 있는 정산일 리스트'
      x-portone-title: 지급 가능한 정산일 리스트 조회 성공 응답 정보
    GetPlatformPayoutError:
      title: GetPlatformPayoutError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformNotEnabledError'
        - $ref: '#/components/schemas/PlatformPayoutNotFoundError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PAYOUT_NOT_FOUND: '#/components/schemas/PlatformPayoutNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    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'
    GetPlatformTransferDashboardBody:
      title: GetPlatformTransferDashboardBody
      type: object
      required:
        - settlementDate
      properties:
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
    GetPlatformTransferDashboardError:
      title: GetPlatformTransferDashboardError
      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'
    GetPlatformTransferFilterOptionsError:
      title: GetPlatformTransferFilterOptionsError
      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'
    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'
    GetPromotionGroupError:
      title: GetPromotionGroupError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PromotionGroupNotFoundError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          PROMOTION_GROUP_NOT_FOUND: '#/components/schemas/PromotionGroupNotFoundError'
    GiftCertificateType:
      title: 상품권 타입
      description: 상품권 타입
      type: string
      enum:
        - BOOKNLIFE
        - SMART_MUNSANG
        - CULTURELAND
        - HAPPYMONEY
        - CULTURE_GIFT
      x-portone-title: 상품권 타입
      x-portone-enum:
        SMART_MUNSANG:
          title: 스마트 문화상품권
        CULTURE_GIFT:
          title: 문화상품권
        BOOKNLIFE:
          title: 도서문화 상품권
        CULTURELAND:
          title: 컬쳐랜드 상품권
        HAPPYMONEY:
          title: 해피머니
    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: 인증된 고객 정보
    IncludedInChannelGroupError:
      title: 삭제하려는 채널이 채널 그룹에 포함되어 있는 경우
      description: 삭제하려는 채널이 채널 그룹에 포함되어 있는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 삭제하려는 채널이 채널 그룹에 포함되어 있는 경우
      x-portone-status-code: 409
    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: 해당 결제에 적용할 프로모션 아이디
      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: 수기 결제가 완료된 결제 건 요약 정보
    InternationalAddressDetail:
      title: 국제 주소 상세
      description: 국제 주소 상세
      type: object
      required:
        - streetLine
        - country
      properties:
        streetLine:
          type: string
          title: 상세 주소 (도로명 등)
        locality:
          type: string
          title: 지역명
        administrativeArea:
          type: string
          title: 행정 구역
        administrativeAreaShort:
          type: string
          title: 행정 구역 약칭
        administrativeAreaLong:
          type: string
          title: 행정 구역 전체명
        country:
          $ref: '#/components/schemas/Country'
          title: 국가 코드
        postalCode:
          type: string
          title: 우편번호
      x-portone-title: 국제 주소 상세
    InternationalAddressSummary:
      title: 국제 주소 요약 항목
      description: 국제 주소 요약 항목
      type: object
      required:
        - addressText
        - addressKey
        - entryCount
      properties:
        addressText:
          type: string
          title: 주소 텍스트
        addressKey:
          type: string
          title: 주소 키
          description: 주소 자동완성 API 호출 시 입력하여 하위 주소를 얻을 수 있습니다.
        entryCount:
          type: integer
          format: int32
          title: 하위 주소 개수
          description: >-
            2 이상인 경우 `addressKey`로 주소 자동완성 API를 재호출하여 하위
            `InternationalAddressSummary` 목록을 얻을 수 있습니다. 1인 경우 `addressKey`로 주소
            자동완성 API를 재호출하여 `InternationalAddressDetail`을 얻을 수 있습니다.
      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: 수정 세금계산서 입력 정보
      x-portone-title: 세금계산서 즉시 정발행 요청 정보
    IssueB2bTaxInvoiceImmediatelyError:
      title: IssueB2bTaxInvoiceImmediatelyError
      oneOf:
        - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError'
        - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError'
        - $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_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: |-
            빌링키 발급 시 요청을 받을 웹훅 주소입니다.
            상점에 설정되어 있는 값보다 우선적으로 적용됩니다.
            입력된 값이 없을 경우에는 빈 배열로 해석됩니다.
      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: 고객 식별값
        name:
          type: string
          title: 이름
        email:
          type: string
          title: 이메일
        phoneNumber:
          type: string
          title: 전화번호
      x-portone-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: 러시아어 (러시아)
    LoginViaApiKeyBody:
      title: API key 로그인을 위한 입력 정보
      description: API key 로그인을 위한 입력 정보
      type: object
      required:
        - apiKey
      properties:
        apiKey:
          type: string
          title: 발급받은 API key
      x-portone-title: API key 로그인을 위한 입력 정보
    LoginViaApiKeyError:
      title: LoginViaApiKeyError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    LoginViaApiKeyResponse:
      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 로그인 성공 응답
    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
    Merchant:
      title: 고객사 정보
      description: 고객사 정보
      type: object
      required:
        - id
        - graphqlId
        - analytics
      properties:
        id:
          type: string
          title: 고객사 아이디
        graphqlId:
          type: string
        analytics:
          $ref: '#/components/schemas/Analytics'
          title: 리포트 정보
      x-portone-title: 고객사 정보
    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
    NotAllowedPgMerchantIdError:
      title: 포트원에서 허용되지 않는 PG 상점 아이디로 채널 등록을 시도했을 경우
      description: 포트원에서 허용되지 않는 PG 상점 아이디로 채널 등록을 시도했을 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 포트원에서 허용되지 않는 PG 상점 아이디로 채널 등록을 시도했을 경우
      x-portone-status-code: 409
    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
        - 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: 구매자 정보
        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'
      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
      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: '해당 이벤트에서 처리된 금액으로, 취소 이벤트인 경우 음수로 표기됩니다.'
      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
        - 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: 구매자 정보
        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
      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: '해당 이벤트에서 처리된 금액으로, 취소 이벤트인 경우 음수로 표기됩니다.'
      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
      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: 구매자 정보
        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: 취소 완료
    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: 결제 취소 이벤트
    PaymentEventExcelOptionInput:
      title: PaymentEventExcelOptionInput
      type: object
      properties:
        includeCustomerDetail:
          type: boolean
          title: 고객 정보 포함 여부
        includePgDetail:
          type: boolean
          title: 결제대행사 정보 포함 여부
        includeCardDetail:
          type: boolean
          title: 카드 정보 포함 여부
        includeBankDetail:
          type: boolean
          title: 은행 정보 포함 여부
        includeCountry:
          type: boolean
          title: 국가코드 포함 여부
        includeCustomData:
          type: boolean
          title: 커스텀 데이터 포함 여부
        includeStoreDetail:
          type: boolean
          title: 상점 정보 포함 여부
    PaymentEventFilterInput:
      title: 결제 이벤트 다건 조회를 위한 입력 정보
      description: 결제 이벤트 다건 조회를 위한 입력 정보
      type: object
      properties:
        timeRangeField:
          $ref: '#/components/schemas/PaymentEventTimeRangeField'
          title: '결제 이벤트 다건 조회 시, 시각 범위를 적용할 필드'
        from:
          type: string
          format: date-time
          title: 결제 이벤트 요청/생성 시점 범위의 시작
        until:
          type: string
          format: date-time
          title: 결제 이벤트 요청/생성 시점 범위의 끝
        statuses:
          title: 결제 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentStatus'
        methods:
          title: 결제 수단 상세 유형 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodDetailType'
        types:
          title: 결제 유형 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentType'
        channelTypes:
          title: 채널 타입 리스트
          type: array
          items:
            $ref: '#/components/schemas/SelectedChannelType'
        pgProviders:
          title: PG사 결제 모듈 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgProvider'
        pgCompanies:
          title: PG사 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgCompany'
        currencies:
          title: 통화 리스트
          type: array
          items:
            $ref: '#/components/schemas/Currency'
        lastWebhookStatuses:
          title: 마지막 웹훅 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhookStatus'
        textSearch:
          $ref: '#/components/schemas/PaymentTextSearchV2'
          title: 텍스트 검색 필터
      x-portone-title: 결제 이벤트 다건 조회를 위한 입력 정보
    PaymentEventTimeRangeField:
      title: '결제 이벤트 다건 조회 시, 시각 범위를 적용할 필드'
      description: '결제 이벤트 다건 조회 시, 시각 범위를 적용할 필드'
      type: string
      enum:
        - REQUESTED_AT
        - CREATED_AT
      x-portone-title: '결제 이벤트 다건 조회 시, 시각 범위를 적용할 필드'
      x-portone-enum:
        REQUESTED_AT:
          title: 결제 요청 시각
        CREATED_AT:
          title: 결제 이벤트 생성 시각
    PaymentEventWithCursor:
      title: 결제 이벤트 및 커서 정보
      description: 결제 이벤트 및 커서 정보
      type: object
      required:
        - paymentEvent
        - cursor
      properties:
        paymentEvent:
          $ref: '#/components/schemas/PaymentEvent'
          title: 결제 이벤트 정보
        cursor:
          type: string
          title: 해당 결제 이벤트의 커서 정보
      x-portone-title: 결제 이벤트 및 커서 정보
    PaymentExcelOptionInput:
      title: PaymentExcelOptionInput
      type: object
      properties:
        includeCustomerDetail:
          type: boolean
          title: 고객 정보 포함 여부
        includePgDetail:
          type: boolean
          title: 결제대행사 정보 포함 여부
        includeCardDetail:
          type: boolean
          title: 카드 정보 포함 여부
        includeBankDetail:
          type: boolean
          title: 은행 정보 포함 여부
        includeCancellationDetail:
          type: boolean
          title: 결제 취소 상세이력 포함 여부
        includeCountry:
          type: boolean
          title: 국가코드 포함 여부
        includeCustomData:
          type: boolean
          title: 커스텀 데이터 포함 여부
        includeStoreDetail:
          type: boolean
          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: {}
    PaymentFilterInputV2:
      title: 결제 다건 조회를 위한 입력 정보
      description: 결제 다건 조회를 위한 입력 정보
      type: object
      properties:
        timestampType:
          $ref: '#/components/schemas/PaymentTimestampType'
        from:
          type: string
          format: date-time
          title: 결제 요청/상태 승인 시점 범위의 시작
        until:
          type: string
          format: date-time
          title: 결제 요청/상태 승인 시점 범위의 끝
        statuses:
          title: 결제 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentStatus'
        types:
          title: 결제 유형 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentType'
        methods:
          title: 결제 수단 상세 유형 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodDetailType'
        pgProviders:
          title: PG사 결제 모듈 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgProvider'
        pgCompanies:
          title: PG사 리스트
          type: array
          items:
            $ref: '#/components/schemas/PgCompany'
        channelTypes:
          title: 채널 타입 리스트
          type: array
          items:
            $ref: '#/components/schemas/SelectedChannelType'
        currencies:
          title: 통화 리스트
          type: array
          items:
            $ref: '#/components/schemas/Currency'
        lastWebhookStatuses:
          title: 최종 결제 상태의 웹훅 상태 리스트
          type: array
          items:
            $ref: '#/components/schemas/PaymentWebhookStatus'
        channelGroupIds:
          type: array
          items:
            type: string
          title: 채널 그룹 아이디 리스트
        textSearch:
          $ref: '#/components/schemas/PaymentTextSearchV2'
          title: 텍스트 검색 필터
      x-portone-title: 결제 다건 조회를 위한 입력 정보
    PaymentInstallment:
      title: 할부 정보
      description: 할부 정보
      type: object
      required:
        - month
        - isInterestFree
      properties:
        month:
          type: integer
          format: int32
          title: 할부 개월 수
        isInterestFree:
          type: boolean
          title: 무이자할부 여부
      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/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'
          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: 상품권 상세 정보
        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: 편의점 결제 상세 정보
    PaymentMethodDetailType:
      title: 결제 수단 상세 유형
      description: 결제 수단 상세 유형
      type: string
      enum:
        - CARD
        - TRANSFER
        - VIRTUAL_ACCOUNT
        - GIFT_CERTIFICATE
        - MOBILE
        - EASY_PAY
        - CONVENIENCE_STORE
        - POINT
        - ETC
      x-portone-title: 결제 수단 상세 유형
      x-portone-enum:
        CONVENIENCE_STORE:
          title: 편의점 결제
        GIFT_CERTIFICATE:
          title: 상품권
        VIRTUAL_ACCOUNT:
          title: 가상계좌
        POINT:
          title: 간편결제 포인트(충전식/적립식)
        ETC:
          title: 기타
          description: 결제수단 또는 간편결제 수단을 알 수 없는 경우
        MOBILE:
          title: 휴대폰
        CARD:
          title: 카드 또는 간편결제 카드
        TRANSFER:
          title: 계좌이체 또는 간편결제 계좌이체
        EASY_PAY:
          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
      x-portone-enum:
        CONVENIENCE_STORE: {}
        GIFT_CERTIFICATE: {}
        VIRTUAL_ACCOUNT: {}
        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
    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: '서비스, 온라인 상품 등 실물이 존재하지 않는 무형의 상품을 의미합니다.'
    PaymentReconciliation:
      title: PaymentReconciliation
      oneOf:
        - $ref: '#/components/schemas/PaymentReconciliationIncomparable'
        - $ref: '#/components/schemas/PaymentReconciliationMatched'
        - $ref: '#/components/schemas/PaymentReconciliationNotCollected'
        - $ref: '#/components/schemas/PaymentReconciliationNotMatched'
        - $ref: '#/components/schemas/PaymentReconciliationPostCorrection'
      discriminator:
        propertyName: status
        mapping:
          INCOMPARABLE: '#/components/schemas/PaymentReconciliationIncomparable'
          MATCHED: '#/components/schemas/PaymentReconciliationMatched'
          NOT_COLLECTED: '#/components/schemas/PaymentReconciliationNotCollected'
          NOT_MATCHED: '#/components/schemas/PaymentReconciliationNotMatched'
          POST_CORRECTION: '#/components/schemas/PaymentReconciliationPostCorrection'
      x-portone-discriminator:
        NOT_COLLECTED: {}
        NOT_MATCHED: {}
        MATCHED: {}
        INCOMPARABLE: {}
        POST_CORRECTION: {}
    PaymentReconciliationActionType:
      title: 거래상태
      description: 거래상태
      type: string
      enum:
        - APPROVAL
        - FULL_CANCEL
        - PARTIAL_CANCEL
        - UNCLASSIFIED_CANCEL
        - POST_CORRECTION
      x-portone-title: 거래상태
      x-portone-enum:
        UNCLASSIFIED_CANCEL:
          title: 상태 모르는 취소
        PARTIAL_CANCEL:
          title: 부분 취소
        FULL_CANCEL:
          title: 전체 취소
        APPROVAL:
          title: 결제 승인
        POST_CORRECTION:
          title: 후보정
    PaymentReconciliationChannel:
      title: 거래대사용 채널
      description: 거래대사용 채널
      type: object
      required:
        - channelKey
        - channelName
        - pgMerchantId
        - credential
      properties:
        channelKey:
          type: string
          title: 채널 키
        channelName:
          type: string
          title: 채널 이름
        pgMerchantId:
          type: string
          title: PG사 상점 아이디
        credential:
          $ref: '#/components/schemas/PaymentReconciliationChannelCredential'
          title: PG사별 크레덴셜
        taxationType:
          $ref: '#/components/schemas/TaxationType'
          title: 과세 구분
      x-portone-title: 거래대사용 채널
    PaymentReconciliationChannelCredential:
      title: PG사별 크레덴셜
      description: PG사별 크레덴셜
      oneOf:
        - $ref: '#/components/schemas/PaymentReconciliationDanalCredential'
        - $ref: '#/components/schemas/PaymentReconciliationEximbayCredential'
        - $ref: '#/components/schemas/PaymentReconciliationHectoCredential'
        - $ref: '#/components/schemas/PaymentReconciliationHyphenCredential'
        - $ref: '#/components/schemas/PaymentReconciliationInicisCredential'
        - $ref: '#/components/schemas/PaymentReconciliationKakaopayCredential'
        - $ref: '#/components/schemas/PaymentReconciliationKcpCredential'
        - $ref: '#/components/schemas/PaymentReconciliationKpnCredential'
        - $ref: '#/components/schemas/PaymentReconciliationKsnetCredential'
        - $ref: '#/components/schemas/PaymentReconciliationMobiliansCredential'
        - $ref: '#/components/schemas/PaymentReconciliationNaverpayCredential'
        - $ref: '#/components/schemas/PaymentReconciliationNicepayHttpCredential'
        - $ref: '#/components/schemas/PaymentReconciliationNicepaySftpCredential'
        - $ref: '#/components/schemas/PaymentReconciliationPaycoCredential'
        - $ref: '#/components/schemas/PaymentReconciliationTosspayCredential'
        - $ref: '#/components/schemas/PaymentReconciliationTosspaymentsCredential'
        - $ref: '#/components/schemas/PaymentReconciliationUplusCredential'
      discriminator:
        propertyName: type
        mapping:
          DANAL: '#/components/schemas/PaymentReconciliationDanalCredential'
          EXIMBAY: '#/components/schemas/PaymentReconciliationEximbayCredential'
          HECTO: '#/components/schemas/PaymentReconciliationHectoCredential'
          HYPHEN: '#/components/schemas/PaymentReconciliationHyphenCredential'
          INICIS: '#/components/schemas/PaymentReconciliationInicisCredential'
          KAKAOPAY: '#/components/schemas/PaymentReconciliationKakaopayCredential'
          KCP: '#/components/schemas/PaymentReconciliationKcpCredential'
          KPN: '#/components/schemas/PaymentReconciliationKpnCredential'
          KSNET: '#/components/schemas/PaymentReconciliationKsnetCredential'
          MOBILIANS: '#/components/schemas/PaymentReconciliationMobiliansCredential'
          NAVERPAY: '#/components/schemas/PaymentReconciliationNaverpayCredential'
          NICEPAY_HTTP: '#/components/schemas/PaymentReconciliationNicepayHttpCredential'
          NICEPAY_SFTP: '#/components/schemas/PaymentReconciliationNicepaySftpCredential'
          PAYCO: '#/components/schemas/PaymentReconciliationPaycoCredential'
          TOSSPAY: '#/components/schemas/PaymentReconciliationTosspayCredential'
          TOSSPAYMENTS: '#/components/schemas/PaymentReconciliationTosspaymentsCredential'
          UPLUS: '#/components/schemas/PaymentReconciliationUplusCredential'
      x-portone-title: PG사별 크레덴셜
      x-portone-discriminator:
        PAYCO: {}
        NAVERPAY: {}
        HECTO: {}
        TOSSPAY: {}
        INICIS: {}
        NICEPAY_SFTP: {}
        KPN: {}
        TOSSPAYMENTS: {}
        KAKAOPAY: {}
        EXIMBAY: {}
        MOBILIANS: {}
        UPLUS: {}
        HYPHEN: {}
        NICEPAY_HTTP: {}
        DANAL: {}
        KSNET: {}
        KCP: {}
    PaymentReconciliationChannelInput:
      title: PaymentReconciliationChannelInput
      type: object
      required:
        - channelName
        - pgMerchantId
        - credential
      properties:
        channelName:
          type: string
          title: 채널 이름
        pgMerchantId:
          type: string
          title: PG사 상점 아이디
        credential:
          $ref: '#/components/schemas/PaymentReconciliationChannelCredential'
          title: PG사별 크레덴셜
        taxationType:
          $ref: '#/components/schemas/TaxationType'
          title: 과세 구분
    PaymentReconciliationCollectionHistory:
      title: PaymentReconciliationCollectionHistory
      type: object
      required:
        - id
        - channelKey
        - collectedAt
        - collectionType
        - targetDate
        - transactionDates
        - isDaily
      properties:
        id:
          type: string
          title: 수집 이력 건별 고유 아이디
        channelKey:
          type: string
          title: 채널키
        collectedAt:
          type: string
          format: date-time
          title: 수집 시각
        collectionType:
          $ref: '#/components/schemas/PaymentReconciliationCollectionType'
          title: 수집 형태
        targetDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 수집 대상 일자
        transactionDates:
          type: array
          items:
            description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
            type: string
            format: date
            x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 수집된 건들의 거래일자
        isDaily:
          type: boolean
          title: 일일 자동 수집 여부
    PaymentReconciliationCollectionType:
      title: PaymentReconciliationCollectionType
      type: string
      enum:
        - TRANSACTION
        - SETTLEMENT
      x-portone-enum:
        TRANSACTION: {}
        SETTLEMENT: {}
    PaymentReconciliationColumn:
      title: 거래대사 엑셀파일 필드
      description: |-
        거래대사 엑셀파일 필드

        중복으로 필드를 선택 가능합니다
      type: string
      enum:
        - RECONCILIATION_STATUS
        - ACTION_TYPE
        - RECONCILIATION_PG_SPECIFIER
        - STORE_ID
        - PAYMENT_AMOUNT
        - TAX_FREE_AMOUNT
        - VAT_AMOUNT
        - SUPPLY_AMOUNT
        - ANOMALY_AMOUNT
        - PAYMENT_CURRENCY
        - PAYMENT_DATETIME
        - IS_ESCROW
        - PAYMENT_METHOD_TYPE
        - PAYMENT_METHOD_CARD_ISSUER
        - PAYMENT_METHOD_CARD_ACQUIRER
        - PAYMENT_METHOD_CARD_APPROVAL_NUMBER
        - PAYMENT_METHOD_GIFT_CERTIFICATE_APPROVAL_NUMBER
        - PAYMENT_METHOD_GIFT_CERTIFICATE_TYPE
        - PAYMENT_METHOD_MOBILE_CARRIER
        - PAYMENT_METHOD_TRANSFER_BANK
        - PAYMENT_METHOD_TRANSFER_APPROVAL_NUMBER
        - PAYMENT_METHOD_VIRTUAL_ACCOUNT_BANK
        - PAYMENT_METHOD_VIRTUAL_ACCOUNT_APPROVAL_NUMBER
        - PAYMENT_METHOD_EASY_PAY_METHOD
        - PAYMENT_METHOD_ETC_NAME
        - PG_TX_ID
        - INSTALLMENT_MONTH
        - PAYMENT_ID
        - TRANSACTION_ID
        - ORDER_NAME
        - NOT_MATCHED_REASONS
        - SETTLEMENT_FEE
        - SETTLEMENT_FEE_VAT
        - SETTLEMENT_AMOUNT
        - SETTLEMENT_CURRENCY
        - SETTLEMENT_DATE
      x-portone-title: 거래대사 엑셀파일 필드
      x-portone-description: 중복으로 필드를 선택 가능합니다
      x-portone-enum:
        SETTLEMENT_CURRENCY:
          title: 정산 통화 필드
        PAYMENT_METHOD_MOBILE_CARRIER:
          title: 모바일 결제 통신사 필드
        PAYMENT_METHOD_CARD_ISSUER:
          title: 카드 발급사 필드
        PAYMENT_DATETIME:
          title: 결제 발생 시간 필드
        VAT_AMOUNT:
          title: 부가세 필드
        PAYMENT_METHOD_GIFT_CERTIFICATE_TYPE:
          title: 상품권 타입 필드
        PG_TX_ID:
          title: PG사 결제 아이디 필드
        SETTLEMENT_AMOUNT:
          title: 정산금액 필드
        TAX_FREE_AMOUNT:
          title: 면세 금액 필드
        PAYMENT_METHOD_CARD_ACQUIRER:
          title: 카드 매입사 필드
        SUPPLY_AMOUNT:
          title: 공급가액 필드
        PAYMENT_AMOUNT:
          title: 결제 금액 필드
        PAYMENT_CURRENCY:
          title: 결제 통화 필드
        PAYMENT_ID:
          title: 고객사 거래내역 아이디 필드
        PAYMENT_METHOD_EASY_PAY_METHOD:
          title: 간편결제 수단 필드
        PAYMENT_METHOD_CARD_APPROVAL_NUMBER:
          title: 카드 승인번호 필드
        RECONCILIATION_PG_SPECIFIER:
          title: 대사용 PG사 가맹점 식별자 필드
        ACTION_TYPE:
          title: 거래 상태 필드
        SETTLEMENT_FEE_VAT:
          title: PG 수수료 부가세 필드
        PAYMENT_METHOD_TRANSFER_APPROVAL_NUMBER:
          title: 계좌이체 승인번호 필드
        IS_ESCROW:
          title: 에스크로건 필드
        ANOMALY_AMOUNT:
          title: 거래이상 금액 필드
        PAYMENT_METHOD_GIFT_CERTIFICATE_APPROVAL_NUMBER:
          title: 상품권 승인번호 필드
        TRANSACTION_ID:
          title: 포트원 결제 아이디 필드
        SETTLEMENT_FEE:
          title: PG 수수료 필드
        PAYMENT_METHOD_ETC_NAME:
          title: 기타결제 수단 이름 필드
        NOT_MATCHED_REASONS:
          title: 거래대사 불일치 필드
        RECONCILIATION_STATUS:
          title: 거래대사 상태 필드
        PAYMENT_METHOD_TYPE:
          title: 결제 수단 필드
        PAYMENT_METHOD_TRANSFER_BANK:
          title: 계좌이체 은행 필드
        INSTALLMENT_MONTH:
          title: 할부 개월 수 필드
        ORDER_NAME:
          title: 결제 주문명 필드
        PAYMENT_METHOD_VIRTUAL_ACCOUNT_BANK:
          title: 가상계좌 은행 필드
        SETTLEMENT_DATE:
          title: 정산일 필드
        STORE_ID:
          title: 포트원 상점 아이디 필드
        PAYMENT_METHOD_VIRTUAL_ACCOUNT_APPROVAL_NUMBER:
          title: 가상계좌 승인번호 필드
    PaymentReconciliationDanalCredential:
      title: PaymentReconciliationDanalCredential
      type: object
      required:
        - type
        - cppwd
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        cppwd:
          type: string
    PaymentReconciliationExcelFileFilterInput:
      title: 거래대사 엑셀 파일 다운로드 필터 목록
      description: |-
        거래대사 엑셀 파일 다운로드 필터 목록

        필드 중복으로 적용됩니다.
      type: object
      properties:
        storeIds:
          type: array
          items:
            type: string
          title: 거래대사 하위 가맹점 아이디 필터
          description: storeId가 존재하지 않는 건을 검색하고 싶은 경우 빈 문자열을 포함시켜주세요.
        pgSpecifiers:
          title: 거래대사 결제사(PG) 식별자 필터
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
        paymentMethodTypes:
          title: 거래대사 결제 수단 필터
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPaymentMethodType'
        paymentReconciliationStatuses:
          title: 거래대사 대사 상태 필터
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationStatus'
        actionTypes:
          title: 거래대사 결제 상태 필터
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationActionType'
        transactionCurrencies:
          title: 거래대사 결제 통화 필터
          type: array
          items:
            $ref: '#/components/schemas/Currency'
        settlementCurrencies:
          title: 거래대사 정산 통화 필터
          type: array
          items:
            $ref: '#/components/schemas/Currency'
      x-portone-title: 거래대사 엑셀 파일 다운로드 필터 목록
      x-portone-description: 필드 중복으로 적용됩니다.
    PaymentReconciliationEximbayCredential:
      title: PaymentReconciliationEximbayCredential
      type: object
      required:
        - type
        - secretKey
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        secretKey:
          type: string
    PaymentReconciliationFilterInput:
      title: 거래대사 조회시 적용가능한 필터 목록
      description: |-
        거래대사 조회시 적용가능한 필터 목록

        필드 중복으로 적용됩니다.
      type: object
      properties:
        storeIds:
          type: array
          items:
            type: string
          title: 거래대사 하위 가맹점 아이디 필터
        channelKeys:
          type: array
          items:
            type: string
          title: 거래대사 채널 키 필터
        pgSpecifiers:
          title: 거래대사 결제사(PG) 식별자 필터
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
        paymentMethodTypes:
          title: 거래대사 결제 수단 필터
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPaymentMethodType'
        paymentReconciliationStatuses:
          title: 거래대사 대사 상태 필터
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationStatus'
        actionTypes:
          title: 거래대사 결제 상태 필터
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationActionType'
        transactionCurrencies:
          title: 거래대사 결제 통화 필터
          type: array
          items:
            $ref: '#/components/schemas/Currency'
        settlementCurrencies:
          title: 거래대사 정산 통화 필터
          type: array
          items:
            $ref: '#/components/schemas/Currency'
      x-portone-title: 거래대사 조회시 적용가능한 필터 목록
      x-portone-description: 필드 중복으로 적용됩니다.
    PaymentReconciliationHectoCredential:
      title: PaymentReconciliationHectoCredential
      type: object
      required:
        - type
        - authKey
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        authKey:
          type: string
    PaymentReconciliationHyphenCredential:
      title: PaymentReconciliationHyphenCredential
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 크레덴셜 종류
    PaymentReconciliationIncomparable:
      title: PaymentReconciliationIncomparable
      type: object
      required:
        - status
        - id
        - graphqlId
        - actionType
        - pgSpecifier
        - merchantId
        - merchantGraphqlId
        - paymentAmount
        - portonePaymentAmount
        - taxFreeAmount
        - vatAmount
        - supplyAmount
        - anomalyAmount
        - paidAt
        - paymentCurrency
        - paymentMethod
        - pgTxId
      properties:
        status:
          type: string
        id:
          type: string
          title: 거래대사 아이디
        graphqlId:
          type: string
        actionType:
          $ref: '#/components/schemas/PaymentReconciliationActionType'
        pgSpecifier:
          $ref: '#/components/schemas/ReconciliationPgSpecifier'
          title: 대사용 PG사 가맹점 식별자
        merchantId:
          type: string
          title: 고객사 아이디
        merchantGraphqlId:
          type: string
        paymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (PG)
        portonePaymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (포트원)
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세가액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        anomalyAmount:
          type: integer
          format: int64
          title: 거래이상 금액
        paidAt:
          type: string
          format: date-time
          title: 결제일
        isEscrow:
          type: boolean
          title: 에스크로 여부
        paymentCurrency:
          $ref: '#/components/schemas/Currency'
          title: 결제 통화
        paymentMethod:
          $ref: '#/components/schemas/ReconciliationPaymentMethod'
          title: 결제수단 상세 정보
        pgTxId:
          type: string
          title: PG사 거래 아이디
        settlement:
          $ref: '#/components/schemas/Settlement'
          title: 거래건의 정산 정보
        paymentId:
          type: string
          title: 고객사 결제 아이디
        orderName:
          type: string
          title: 주문명
    PaymentReconciliationInicisCredential:
      title: PaymentReconciliationInicisCredential
      type: object
      required:
        - type
        - reconciliationPassword
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        reconciliationPassword:
          type: string
    PaymentReconciliationKakaopayCredential:
      title: PaymentReconciliationKakaopayCredential
      type: object
      required:
        - type
        - apiKey
        - transactionBucketId
        - settlementBucketId
        - depositBucketId
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        apiKey:
          type: string
        transactionBucketId:
          type: string
        settlementBucketId:
          type: string
        depositBucketId:
          type: string
    PaymentReconciliationKcpCredential:
      title: PaymentReconciliationKcpCredential
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 크레덴셜 종류
    PaymentReconciliationKpnCredential:
      title: PaymentReconciliationKpnCredential
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 크레덴셜 종류
    PaymentReconciliationKsnetCredential:
      title: PaymentReconciliationKsnetCredential
      type: object
      required:
        - type
        - reconciliationApiKey
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        reconciliationApiKey:
          type: string
    PaymentReconciliationMatched:
      title: PaymentReconciliationMatched
      type: object
      required:
        - status
        - id
        - graphqlId
        - actionType
        - pgSpecifier
        - merchantId
        - merchantGraphqlId
        - paymentAmount
        - portonePaymentAmount
        - taxFreeAmount
        - vatAmount
        - supplyAmount
        - paidAt
        - paymentCurrency
        - paymentMethod
        - pgTxId
        - transactionId
        - paymentId
        - orderName
        - storeId
        - storeGraphqlId
      properties:
        status:
          type: string
        id:
          type: string
          title: 거래대사 아이디
        graphqlId:
          type: string
        actionType:
          $ref: '#/components/schemas/PaymentReconciliationActionType'
        pgSpecifier:
          $ref: '#/components/schemas/ReconciliationPgSpecifier'
          title: 대사용 PG사 가맹점 식별자
        merchantId:
          type: string
          title: 고객사 아이디
        merchantGraphqlId:
          type: string
        paymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (PG)
        portonePaymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (포트원)
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세가액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        paidAt:
          type: string
          format: date-time
          title: 결제일
        portonePaidAt:
          type: string
          format: date-time
          title: 포트원 결제일
        isEscrow:
          type: boolean
          title: 에스크로 여부
        paymentCurrency:
          $ref: '#/components/schemas/Currency'
          title: 결제 통화
        paymentMethod:
          $ref: '#/components/schemas/ReconciliationPaymentMethod'
          title: 결제수단 상세 정보
        pgTxId:
          type: string
          title: PG사 거래 아이디
        settlement:
          $ref: '#/components/schemas/Settlement'
          title: 거래건의 정산 정보
        transactionId:
          type: string
          title: 포트원 결제 아이디
        paymentId:
          type: string
          title: 고객사 결제 아이디
        orderName:
          type: string
          title: 주문명
        storeId:
          type: string
          title: 하위 가맹점 아이디
        storeGraphqlId:
          type: string
    PaymentReconciliationMobiliansCredential:
      title: PaymentReconciliationMobiliansCredential
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        transactionDkey:
          type: string
        transactionNo:
          type: string
        settlementDkey:
          type: string
        settlementNo:
          type: string
    PaymentReconciliationNaverpayCredential:
      title: PaymentReconciliationNaverpayCredential
      type: object
      required:
        - type
        - apiKeys
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        chainId:
          type: string
        clientId:
          type: string
        clientSecret:
          type: string
        apiKeys:
          type: array
          items:
            type: string
    PaymentReconciliationNicepayHttpCredential:
      title: PaymentReconciliationNicepayHttpCredential
      type: object
      required:
        - type
        - usrId
        - merchantKey
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        usrId:
          type: string
        merchantKey:
          type: string
    PaymentReconciliationNicepaySftpCredential:
      title: PaymentReconciliationNicepaySftpCredential
      type: object
      required:
        - type
        - sftpUsername
        - sftpPassword
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        sftpUsername:
          type: string
        sftpPassword:
          type: string
    PaymentReconciliationNotCollected:
      title: PaymentReconciliationNotCollected
      type: object
      required:
        - status
        - id
        - graphqlId
        - actionType
        - pgSpecifier
        - merchantId
        - merchantGraphqlId
        - paymentAmount
        - portonePaymentAmount
        - taxFreeAmount
        - vatAmount
        - supplyAmount
        - anomalyAmount
        - paidAt
        - paymentCurrency
        - paymentMethod
      properties:
        status:
          type: string
        id:
          type: string
          title: 거래대사 아이디
        graphqlId:
          type: string
        actionType:
          $ref: '#/components/schemas/PaymentReconciliationActionType'
        pgSpecifier:
          $ref: '#/components/schemas/ReconciliationPgSpecifier'
          title: 대사용 PG사 가맹점 식별자
        merchantId:
          type: string
          title: 고객사 아이디
        merchantGraphqlId:
          type: string
        paymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (PG)
        portonePaymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (포트원)
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세가액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        anomalyAmount:
          type: integer
          format: int64
          title: 거래이상 금액
        paidAt:
          type: string
          format: date-time
          title: 결제일
        portonePaidAt:
          type: string
          format: date-time
          title: 포트원 결제일
        isEscrow:
          type: boolean
          title: 에스크로 여부
        paymentCurrency:
          $ref: '#/components/schemas/Currency'
          title: 결제 통화
        paymentMethod:
          $ref: '#/components/schemas/ReconciliationPaymentMethod'
          title: 결제수단 상세 정보
        pgTxId:
          type: string
          title: PG사 거래 아이디
        settlement:
          $ref: '#/components/schemas/Settlement'
          title: 거래건의 정산 정보
        transactionId:
          type: string
          title: 포트원 결제 아이디
        paymentId:
          type: string
          title: 고객사 결제 아이디
        orderName:
          type: string
          title: 주문명
        storeId:
          type: string
          title: 하위 가맹점 아이디
        storeGraphqlId:
          type: string
    PaymentReconciliationNotMatched:
      title: PaymentReconciliationNotMatched
      type: object
      required:
        - status
        - id
        - graphqlId
        - actionType
        - pgSpecifier
        - merchantId
        - merchantGraphqlId
        - paymentAmount
        - portonePaymentAmount
        - taxFreeAmount
        - vatAmount
        - supplyAmount
        - anomalyAmount
        - paidAt
        - paymentCurrency
        - paymentMethod
        - transactionId
        - paymentId
        - pgTxId
        - notMatchedReasons
        - orderName
        - storeId
        - storeGraphqlId
      properties:
        status:
          type: string
        id:
          type: string
          title: 거래대사 아이디
        graphqlId:
          type: string
        actionType:
          $ref: '#/components/schemas/PaymentReconciliationActionType'
        pgSpecifier:
          $ref: '#/components/schemas/ReconciliationPgSpecifier'
          title: 대사용 PG사 가맹점 식별자
        merchantId:
          type: string
          title: 고객사 아이디
        merchantGraphqlId:
          type: string
        paymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (PG)
        portonePaymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (포트원)
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세가액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        anomalyAmount:
          type: integer
          format: int64
          title: 거래이상 금액
        paidAt:
          type: string
          format: date-time
          title: 결제일
        portonePaidAt:
          type: string
          format: date-time
          title: 포트원 결제일
        isEscrow:
          type: boolean
          title: 에스크로 여부
        paymentCurrency:
          $ref: '#/components/schemas/Currency'
          title: 결제 통화
        paymentMethod:
          $ref: '#/components/schemas/ReconciliationPaymentMethod'
          title: 결제수단 상세 정보
        transactionId:
          type: string
          title: 포트원 결제 아이디
        paymentId:
          type: string
          title: 고객사 결제 아이디
        pgTxId:
          type: string
          title: PG사 거래 아이디
        settlement:
          $ref: '#/components/schemas/Settlement'
          title: 거래건의 정산 정보
        notMatchedReasons:
          title: 거래대사 불일치 사유
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationNotMatchedReason'
        orderName:
          type: string
          title: 주문명
        storeId:
          type: string
          title: 하위 가맹점 아이디
        storeGraphqlId:
          type: string
    PaymentReconciliationNotMatchedReason:
      title: 거래대사 매치 실패 사유
      description: 거래대사 매치 실패 사유
      type: string
      enum:
        - PAYMENT_AMOUNT_NOT_MATCHED
        - TAX_FREE_AMOUNT_NOT_MATCHED
        - VAT_AMOUNT_NOT_MATCHED
        - ESCROW_NOT_MATCHED
        - INSTALLMENT_MONTH_NOT_MATCHED
        - PAYMENT_DATE_NOT_MATCHED
      x-portone-title: 거래대사 매치 실패 사유
      x-portone-enum:
        ESCROW_NOT_MATCHED:
          title: 에스크로 여부 불일치
        INSTALLMENT_MONTH_NOT_MATCHED:
          title: 할부 개월 수 불일치
        TAX_FREE_AMOUNT_NOT_MATCHED:
          title: 면세 금액 불일치
        PAYMENT_AMOUNT_NOT_MATCHED:
          title: 결제 금액 불일치
        PAYMENT_DATE_NOT_MATCHED:
          title: 결제일자 불일치
        VAT_AMOUNT_NOT_MATCHED:
          title: 부가세 금액 불일치
    PaymentReconciliationOrderInput:
      title: 거래대사 거래 건 별 조회 정렬 조건
      description: |-
        거래대사 거래 건 별 조회 정렬 조건

        필드중 하나만 명시하여야 합니다
      type: object
      properties:
        settlementDate:
          $ref: '#/components/schemas/SortOrder'
          title: 정산일 기준 정렬
        transactionDate:
          $ref: '#/components/schemas/SortOrder'
          title: 결제일 기준 정렬
        transactionAmount:
          $ref: '#/components/schemas/SortOrder'
          title: PG사 결제 금액 기준 정렬
        portoneTransactionAmount:
          $ref: '#/components/schemas/SortOrder'
          title: 포트원 결제 금액 기준 정렬
        anomalyAmount:
          $ref: '#/components/schemas/SortOrder'
          title: 거래이상 금액 기준 정렬
        settlementAmount:
          $ref: '#/components/schemas/SortOrder'
          title: 정산 금액 기준 정렬
      x-portone-title: 거래대사 거래 건 별 조회 정렬 조건
      x-portone-description: 필드중 하나만 명시하여야 합니다
    PaymentReconciliationPaycoCredential:
      title: PaymentReconciliationPaycoCredential
      type: object
      required:
        - type
        - sellerKey
        - token
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        sellerKey:
          type: string
        token:
          type: string
    PaymentReconciliationPostCorrection:
      title: PaymentReconciliationPostCorrection
      type: object
      required:
        - status
        - id
        - graphqlId
        - actionType
        - pgSpecifier
        - merchantId
        - merchantGraphqlId
        - paymentAmount
        - portonePaymentAmount
        - taxFreeAmount
        - vatAmount
        - supplyAmount
        - anomalyAmount
        - paidAt
        - paymentCurrency
        - paymentMethod
      properties:
        status:
          type: string
        id:
          type: string
          title: 거래대사 아이디
        graphqlId:
          type: string
        actionType:
          $ref: '#/components/schemas/PaymentReconciliationActionType'
        pgSpecifier:
          $ref: '#/components/schemas/ReconciliationPgSpecifier'
          title: 대사용 PG사 가맹점 식별자
        merchantId:
          type: string
          title: 고객사 아이디
        merchantGraphqlId:
          type: string
        paymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (PG)
        portonePaymentAmount:
          type: integer
          format: int64
          title: 결제 금액 (포트원)
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세가액
        vatAmount:
          type: integer
          format: int64
          title: 부가세
        supplyAmount:
          type: integer
          format: int64
          title: 공급가액
        anomalyAmount:
          type: integer
          format: int64
          title: 거래이상 금액
        paidAt:
          type: string
          format: date-time
          title: 결제일
        isEscrow:
          type: boolean
          title: 에스크로 여부
        paymentCurrency:
          $ref: '#/components/schemas/Currency'
          title: 결제 통화
        paymentMethod:
          $ref: '#/components/schemas/ReconciliationPaymentMethod'
          title: 결제수단 상세 정보
        pgTxId:
          type: string
          title: PG사 거래 아이디
        settlement:
          $ref: '#/components/schemas/Settlement'
          title: 거래건의 정산 정보
        transactionId:
          type: string
          title: 포트원 결제 아이디
        paymentId:
          type: string
          title: 고객사 결제 아이디
        orderName:
          type: string
          title: 주문명
        storeId:
          type: string
          title: 하위 가맹점 아이디
        storeGraphqlId:
          type: string
    PaymentReconciliationSearchConditionInput:
      title: 거래대사 거래내역 검색용 필드
      description: |-
        거래대사 거래내역 검색용 필드

        각 필드 중 하나만 적용 됩니다.
      type: object
      properties:
        paymentId:
          type: string
          title: 고객사 거래 아이디 필드
        transactionId:
          type: string
          title: 포트원 결제 아이디 필드
        pgTxId:
          type: string
          title: PG사 거래 아이디 필드
        orderName:
          type: string
          title: 주문명 필드
      x-portone-title: 거래대사 거래내역 검색용 필드
      x-portone-description: 각 필드 중 하나만 적용 됩니다.
    PaymentReconciliationSettlementSummary:
      title: 거래대사 정산내역 일별 요약
      description: 거래대사 정산내역 일별 요약
      type: object
      required:
        - date
        - settlementCurrency
        - transactionCurrency
        - aggregate
        - details
      properties:
        date:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 정산일
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        transactionCurrency:
          $ref: '#/components/schemas/Currency'
          title: 결제 통화
        aggregate:
          $ref: '#/components/schemas/PaymentReconciliationSettlementSummaryAggregate'
          title: 정산내역 합산 데이터
        details:
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationSettlementSummaryDetail'
          title: 정산내역 일별 상세 데이터 목록
      x-portone-title: 거래대사 정산내역 일별 요약
    PaymentReconciliationSettlementSummaryAggregate:
      title: PaymentReconciliationSettlementSummaryAggregate
      type: object
      required:
        - settlementAmount
        - settlementCount
        - feeAmount
        - feeVatAmount
        - cancelAmount
        - cancelCount
        - transactionAmount
        - postCorrectionCount
        - postCorrectionAmount
      properties:
        settlementAmount:
          type: integer
          format: int64
          title: 정산 금액
        settlementCount:
          type: integer
          format: int64
          title: 정산 건 수
        feeAmount:
          type: integer
          format: int64
          title: PG 수수료
        feeVatAmount:
          type: integer
          format: int64
          title: PG 수수료 부가세
        cancelAmount:
          type: integer
          format: int64
          title: 취소 금액
        cancelCount:
          type: integer
          format: int64
          title: 취소 건 수
        transactionAmount:
          type: integer
          format: int64
          title: 거래 합계 금액
        postCorrectionCount:
          type: integer
          format: int64
          title: 후보정 건 수
        postCorrectionAmount:
          type: integer
          format: int64
          title: 후보정 금액
    PaymentReconciliationSettlementSummaryColumn:
      title: 거래대사 정산 요약 내역 엑셀파일 필드
      description: 거래대사 정산 요약 내역 엑셀파일 필드
      type: string
      enum:
        - SETTLEMENT_DATE
        - STORE_ID
        - RECONCILIATION_PG_SPECIFIER
        - SETTLEMENT_COUNT
        - SETTLEMENT_AMOUNT
        - SETTLEMENT_FEE
        - SETTLEMENT_FEE_VAT
        - CANCEL_COUNT
        - CANCEL_AMOUNT
        - TRANSACTION_AMOUNT
        - POST_CORRECTION_COUNT
        - POST_CORRECTION_AMOUNT
      x-portone-title: 거래대사 정산 요약 내역 엑셀파일 필드
      x-portone-enum:
        CANCEL_AMOUNT:
          title: 취소금액 필드
        CANCEL_COUNT:
          title: 취소건수 필드
        SETTLEMENT_FEE:
          title: PG 수수료 필드
        POST_CORRECTION_AMOUNT:
          title: 후보정금액 필드
        TRANSACTION_AMOUNT:
          title: 거래금액 필드
        SETTLEMENT_DATE:
          title: 정산일 필드
        STORE_ID:
          title: 포트원 상점 아이디 필드
        SETTLEMENT_AMOUNT:
          title: 정산금액 필드
        SETTLEMENT_COUNT:
          title: 정산건수 필드
        RECONCILIATION_PG_SPECIFIER:
          title: 대사용 PG사 가맹점 식별자 필드
        POST_CORRECTION_COUNT:
          title: 후보정건수 필드
        SETTLEMENT_FEE_VAT:
          title: PG 수수료 부가세 필드
    PaymentReconciliationSettlementSummaryDetail:
      title: PaymentReconciliationSettlementSummaryDetail
      type: object
      required:
        - pgSpecifier
        - settlementAmount
        - settlementCount
        - feeAmount
        - feeVatAmount
        - cancelAmount
        - cancelCount
        - transactionAmount
        - postCorrectionCount
        - postCorrectionAmount
      properties:
        storeId:
          type: string
          title: 상점 ID
        storeGraphqlId:
          type: string
        pgSpecifier:
          $ref: '#/components/schemas/ReconciliationPgSpecifier'
          title: 대사용 PG사 가맹점 식별자
        settlementAmount:
          type: integer
          format: int64
          title: 정산 금액
        settlementCount:
          type: integer
          format: int64
          title: 정산 건 수
        feeAmount:
          type: integer
          format: int64
          title: PG 수수료
        feeVatAmount:
          type: integer
          format: int64
          title: PG 수수료 부가세
        cancelAmount:
          type: integer
          format: int64
          title: 취소 금액
        cancelCount:
          type: integer
          format: int64
          title: 취소 건 수
        transactionAmount:
          type: integer
          format: int64
          title: 거래 합계 금액
        postCorrectionCount:
          type: integer
          format: int64
          title: 후보정 건 수
        postCorrectionAmount:
          type: integer
          format: int64
          title: 후보정 금액
    PaymentReconciliationSettlementSummaryExcelFileFilterInput:
      title: 거래대사 정산 요약 엑셀 파일 필터
      description: |-
        거래대사 정산 요약 엑셀 파일 필터

        필드 중복으로 적용됩니다.
      type: object
      properties:
        pgSpecifiers:
          title: PG사 가맹점 식별자 필터
          type: array
          items:
            $ref: '#/components/schemas/ReconciliationPgSpecifier'
        storeIds:
          type: array
          items:
            type: string
          title: 하위 상점 아이디 필터
          description: storeId가 존재하지 않는 건을 검색하고 싶은 경우 빈 문자열을 포함시켜주세요.
      x-portone-title: 거래대사 정산 요약 엑셀 파일 필터
      x-portone-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: 거래대사 정산 요약 내역 필터
    PaymentReconciliationSettlementSummaryWithCursor:
      title: PaymentReconciliationSettlementSummaryWithCursor
      type: object
      required:
        - item
        - cursor
      properties:
        item:
          $ref: '#/components/schemas/PaymentReconciliationSettlementSummary'
        cursor:
          type: string
    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사 결제 정보가 수집되지 않은 상태
    PaymentReconciliationTosspayCredential:
      title: PaymentReconciliationTosspayCredential
      type: object
      required:
        - type
        - apiKey
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        apiKey:
          type: string
    PaymentReconciliationTosspaymentsCredential:
      title: PaymentReconciliationTosspaymentsCredential
      type: object
      required:
        - type
        - secretKey
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        secretKey:
          type: string
    PaymentReconciliationTransactionSummary:
      title: 거래대사 거래내역 일별 요약
      description: 거래대사 거래내역 일별 요약
      type: object
      required:
        - date
        - currency
        - aggregate
        - details
      properties:
        date:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 거래일
        currency:
          $ref: '#/components/schemas/Currency'
          title: 거래 통화
        aggregate:
          $ref: >-
            #/components/schemas/PaymentReconciliationTransactionSummaryAggregate
          title: 거래내역 합산 데이터
        details:
          type: array
          items:
            $ref: '#/components/schemas/PaymentReconciliationTransactionSummaryDetail'
          title: 거래내역 상세 데이터 목록
      x-portone-title: 거래대사 거래내역 일별 요약
    PaymentReconciliationTransactionSummaryAggregate:
      title: PaymentReconciliationTransactionSummaryAggregate
      type: object
      required:
        - transactionAmount
        - transactionCount
        - cancelAmount
        - cancelCount
        - anomalyAmount
        - anomalyCount
        - notMatchedCount
        - notMatchedAmount
        - incomparableCount
        - incomparableAmount
      properties:
        transactionAmount:
          type: integer
          format: int64
          title: 거래 금액
        transactionCount:
          type: integer
          format: int64
          title: 거래 건 수
        cancelAmount:
          type: integer
          format: int64
          title: 거래 취소 금액
        cancelCount:
          type: integer
          format: int64
          title: 거래 취소 건 수
        anomalyAmount:
          type: integer
          format: int64
          title: 거래 이상 금액
        anomalyCount:
          type: integer
          format: int64
          title: 거래 이상 건 수
        notMatchedCount:
          type: integer
          format: int64
          title: 대사불일치 건 수
        notMatchedAmount:
          type: integer
          format: int64
          title: 대사불일치 금액
        incomparableCount:
          type: integer
          format: int64
          title: 대사불능 건 수
        incomparableAmount:
          type: integer
          format: int64
          title: 대사불능 금액
    PaymentReconciliationTransactionSummaryColumn:
      title: 거래대사 정산 요약 내역 엑셀파일 필드
      description: 거래대사 정산 요약 내역 엑셀파일 필드
      type: string
      enum:
        - TRANSACTION_DATE
        - RECONCILIATION_STATUS
        - STORE_ID
        - RECONCILIATION_PG_SPECIFIER
        - TRANSACTION_COUNT
        - TRANSACTION_AMOUNT
        - CANCEL_COUNT
        - CANCEL_AMOUNT
        - ANOMALY_COUNT
        - ANOMALY_AMOUNT
      x-portone-title: 거래대사 정산 요약 내역 엑셀파일 필드
      x-portone-enum:
        CANCEL_AMOUNT:
          title: 취소 금액 필드
        TRANSACTION_COUNT:
          title: 거래 건수 필드
        RECONCILIATION_PG_SPECIFIER:
          title: 대사용 PG사 가맹점 식별자 필드
        TRANSACTION_DATE:
          title: 거래일 필드
        CANCEL_COUNT:
          title: 취소 건수 필드
        ANOMALY_AMOUNT:
          title: 거래이상 금액 필드
        RECONCILIATION_STATUS:
          title: 대사상태 필드
        TRANSACTION_AMOUNT:
          title: 거래 금액 필드
        STORE_ID:
          title: 포트원 상점 아이디 필드
        ANOMALY_COUNT:
          title: 거래이상 건수 필드
    PaymentReconciliationTransactionSummaryDetail:
      title: PaymentReconciliationTransactionSummaryDetail
      type: object
      required:
        - pgSpecifier
        - transactionAmount
        - transactionCount
        - cancelAmount
        - cancelCount
        - anomalyAmount
        - anomalyCount
        - notMatchedCount
        - notMatchedAmount
        - incomparableCount
        - incomparableAmount
      properties:
        storeId:
          type: string
          title: 상점 ID
        storeGraphqlId:
          type: string
        pgSpecifier:
          $ref: '#/components/schemas/ReconciliationPgSpecifier'
          title: 대사용 PG사 가맹점 식별자
        transactionAmount:
          type: integer
          format: int64
          title: 거래 금액
        transactionCount:
          type: integer
          format: int64
          title: 거래 건 수
        cancelAmount:
          type: integer
          format: int64
          title: 거래 취소 금액
        cancelCount:
          type: integer
          format: int64
          title: 거래 취소 건 수
        anomalyAmount:
          type: integer
          format: int64
          title: 거래 이상 금액
        anomalyCount:
          type: integer
          format: int64
          title: 거래 이상 건 수
        notMatchedCount:
          type: integer
          format: int64
          title: 대사불일치 건 수
        notMatchedAmount:
          type: integer
          format: int64
          title: 대사불일치 금액
        incomparableCount:
          type: integer
          format: int64
          title: 대사불능 건 수
        incomparableAmount:
          type: integer
          format: int64
          title: 대사불능 금액
    PaymentReconciliationTransactionSummaryExcelFilterInput:
      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: 하위 상점 아이디 필터
          description: storeId가 존재하지 않는 건을 검색하고 싶은 경우 빈 문자열을 포함시켜주세요.
      x-portone-title: 거래대사 거래 요약 엑셀 파일 필터
      x-portone-description: 필드 중복으로 적용됩니다.
    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: 거래대사 거래내역 필터
    PaymentReconciliationTransactionSummaryWithCursor:
      title: PaymentReconciliationTransactionSummaryWithCursor
      type: object
      required:
        - item
        - cursor
      properties:
        item:
          $ref: '#/components/schemas/PaymentReconciliationTransactionSummary'
        cursor:
          type: string
    PaymentReconciliationUplusCredential:
      title: PaymentReconciliationUplusCredential
      type: object
      required:
        - type
        - mertKey
      properties:
        type:
          type: string
          title: 크레덴셜 종류
        mertKey:
          type: string
    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: 총 금액
    PaymentReconciliationWithCursor:
      title: PaymentReconciliationWithCursor
      type: object
      required:
        - item
        - cursor
      properties:
        item:
          $ref: '#/components/schemas/PaymentReconciliation'
        cursor:
          type: string
    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: {}
    PaymentTextSearchV2:
      title: 텍스트 검색 입력 정보
      description: 텍스트 검색 입력 정보
      type: object
      properties:
        id:
          type: string
          title: 거래 번호 (포트원/고객사 거래 번호)
        approvalNumber:
          type: string
          title: 승인 번호 (카드/결제대행사/PG 결제취소 승인 번호)
        customerName:
          type: string
          title: 고객 이름
        customerPhoneNumber:
          type: string
          title: 고객 휴대폰 번호
        customerEmail:
          type: string
          title: 고객 이메일
        customerAddress:
          type: string
          title: 고객 주소
        orderName:
          type: string
          title: 주문명
      x-portone-title: 텍스트 검색 입력 정보
    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: 결제 부분 취소
    PaymentType:
      title: 결제 유형
      description: 결제 유형
      type: string
      enum:
        - NORMAL
        - SCHEDULE
      x-portone-title: 결제 유형
      x-portone-enum:
        NORMAL:
          title: 일반 결제
        SCHEDULE:
          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
        - DISPUTE_CREATED
        - DISPUTE_RESOLVED
      x-portone-title: 웹훅 실행 트리거
      x-portone-description: '수동 웹훅 재발송, 가상계좌 입금, 비동기 취소 승인 시 발생한 웹훅일 때 필드의 값이 존재합니다.'
      x-portone-enum:
        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: 결제 건 및 커서 정보
    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
      x-portone-title: PG사
      x-portone-enum:
        KICC: {}
        ALIPAY: {}
        SYRUP: {}
        PAYCO: {}
        PAYLETTER: {}
        NAVERPAY: {}
        CHAI: {}
        TOSSPAY: {}
        INICIS: {}
        SETTLE: {}
        KPN: {}
        KAKAO: {}
        DANAL: {}
        BLUEWALNUT: {}
        KAKAOPAY: {}
        EXIMBAY: {}
        WELCOME: {}
        SMARTRO: {}
        SMILEPAY: {}
        PAYMENTWALL: {}
        GALAXIA: {}
        DAOU: {}
        JTNET: {}
        PAYPAL: {}
        MOBILIANS: {}
        HYPHEN: {}
        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
      x-portone-title: PG사 결제 모듈
      x-portone-enum:
        KICC: {}
        SYRUP: {}
        KCP_BILLING: {}
        SMARTRO_V2: {}
        CHAI: {}
        NICE_V2: {}
        PAYPAL_V2: {}
        KPN: {}
        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: {}
        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
    PlatformArchivedPartnersCannotBeScheduledError:
      title: 보관된 파트너들을 예약 업데이트하려고 하는 경우
      description: 보관된 파트너들을 예약 업데이트하려고 하는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 보관된 파트너들을 예약 업데이트하려고 하는 경우
      x-portone-status-code: 409
    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: 일괄 이체 아이디
    PlatformBulkAccountTransferNotFoundError:
      title: 일괄 이체가 존재하지 않는 경우
      description: 일괄 이체가 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 일괄 이체가 존재하지 않는 경우
      x-portone-status-code: 404
    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: 일괄 지급 아이디
    PlatformBulkPayoutNotFoundError:
      title: 일괄 지급이 존재하지 않는 경우
      description: 일괄 지급이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 일괄 지급이 존재하지 않는 경우
      x-portone-status-code: 404
    PlatformBulkPayoutPartnerSettlement:
      title: PlatformBulkPayoutPartnerSettlement
      type: object
      required:
        - bulkPayoutId
        - partnerSettlement
        - isSelected
      properties:
        bulkPayoutId:
          type: string
        partnerSettlement:
          $ref: '#/components/schemas/PlatformPartnerSettlement'
        isSelected:
          type: boolean
    PlatformBulkPayoutPartnerSettlementsFilterInput:
      title: 일괄 지급 정산 내역 필터 입력 정보
      description: 일괄 지급 정산 내역 필터 입력 정보
      type: object
      required:
        - partnerIds
        - statuses
        - partnerTags
        - currencies
        - types
      properties:
        partnerIds:
          type: array
          items:
            type: string
          title: 파트너 아이디
          description: 값이 존재하는 경우 해당 리스트에 포함되는 파트너 아이디를 가진 일괄 지급 정산 내역을 조회합니다.
        statuses:
          title: 정산 상태
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerSettlementStatus'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 정산 상태를 가진 일괄 지급 정산 내역을 조회합니다.
        partnerTags:
          type: array
          items:
            type: string
          title: 파트너 태그 리스트
          description: 값이 존재하는 경우 해당 리스트에 포함되는 태그를 하나 이상 가진 파트너에 대한 일괄 지급 정산 내역을 조회합니다.
        currencies:
          title: 정산 통화
          type: array
          items:
            $ref: '#/components/schemas/Currency'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 정산 통화를 가진 일괄 지급 정산 내역을 조회합니다.
        types:
          title: 정산 유형
          type: array
          items:
            $ref: '#/components/schemas/PlatformPartnerSettlementType'
          description: 값이 존재하는 경우 해당 리스트에 포함되는 정산 유형를 가진 일괄 지급 정산 내역을 조회합니다.
      x-portone-title: 일괄 지급 정산 내역 필터 입력 정보
    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
    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
        - currency
        - amount
        - createdAt
        - updatedAt
        - depositorName
        - isForTest
        - statusUpdatedAt
        - status
      properties:
        type:
          type: string
          title: 계좌 이체 유형
        id:
          type: string
          title: 계좌 이체 아이디
        bankAccountId:
          type: string
          title: 입금 계좌 아이디
        bankAccountGraphqlId:
          type: string
        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
    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: 총 금액에 정해진 비율을 곱한 만큼의 수수료를 책정합니다.
    PlatformHoliday:
      title: 공휴일
      description: 공휴일
      type: object
      required:
        - name
        - date
      properties:
        name:
          type: string
          title: 이름
        date:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          title: 날짜
      x-portone-title: 공휴일
    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
        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
    PlatformMemberCompanyNotConnectableStatusError:
      title: 파트너 연동 사업자 연동 상태가 연동 가능한 상태가 아닌 경우
      description: 파트너 연동 사업자 연동 상태가 연동 가능한 상태가 아닌 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너 연동 사업자 연동 상태가 연동 가능한 상태가 아닌 경우
      x-portone-status-code: 400
    PlatformMemberCompanyNotConnectedError:
      title: 파트너가 연동 사업자로 연동 되어있지 않은 경우
      description: 파트너가 연동 사업자로 연동 되어있지 않은 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 파트너가 연동 사업자로 연동 되어있지 않은 경우
      x-portone-status-code: 400
    PlatformNonUpdatableStatusError:
      title: 업데이트 불가능한 상태를 업데이트하려는 경우
      description: 업데이트 불가능한 상태를 업데이트하려는 경우
      type: object
      required:
        - type
      properties:
        type:
          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
        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
        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: 파트너 계약 요약 정보
    PlatformPartnerDashboard:
      title: 파트너 현황 조회 성공 응답
      description: 파트너 현황 조회 성공 응답
      type: object
      required:
        - totalPartner
        - activePartner
      properties:
        totalPartner:
          $ref: '#/components/schemas/PlatformPartnerDashboardCount'
          title: 전체 파트너 현황
        activePartner:
          $ref: '#/components/schemas/PlatformPartnerDashboardCount'
          title: 이번달 활성 파트너 현황
      x-portone-title: 파트너 현황 조회 성공 응답
    PlatformPartnerDashboardCount:
      title: 파트너 현황 정보
      description: 파트너 현황 정보
      type: object
      required:
        - total
        - archived
      properties:
        total:
          type: integer
          format: int32
          title: 보관된 파트너를 포함한 전체 파트너 수
        archived:
          type: integer
          format: int32
          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: 정산 상태
        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: 정산 상태
        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: 정산 상태
        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: 테스트 모드 여부
    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: {}
    PlatformPartnerSettlementDashboard:
      title: 정산내역 대시보드
      description: 정산내역 대시보드
      type: object
      required:
        - currencyStats
      properties:
        currencyStats:
          title: 정산 통화별 정산내역 통계 리스트
          type: array
          items:
            $ref: >-
              #/components/schemas/PlatformPartnerSettlementDashboardCurrencyStat
      x-portone-title: 정산내역 대시보드
    PlatformPartnerSettlementDashboardCurrencyStat:
      title: 정산 통화별 정산내역 통계
      description: 정산 통화별 정산내역 통계
      type: object
      required:
        - currency
        - settlementAmount
        - orderAmount
        - feeAmount
        - manualAmount
        - statusSettlementAmount
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        settlementAmount:
          type: integer
          format: int64
          title: 총 정산 금액
        orderAmount:
          type: integer
          format: int64
          title: 총 주문 금액
        feeAmount:
          type: integer
          format: int64
          title: 총 정산 수수료 금액
          description: >-
            중개 수수료, 중개 수수료 부가세, 추가 수수료, 추가 수수료 부가세, 할인 분담금, 결제금액 부가세 부담금을 더한 금액
            입니다.
        manualAmount:
          type: integer
          format: int64
          title: 총 수기 정산 금액
        statusSettlementAmount:
          $ref: '#/components/schemas/PlatformPartnerSettlementStatusStats'
          title: 상태별 총 정산 금액
      x-portone-title: 정산 통화별 정산내역 통계
    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
    PlatformPartnerSettlementNotFoundError:
      title: 정산내역을 찾을 수 없는 경우
      description: 정산내역을 찾을 수 없는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 정산내역을 찾을 수 없는 경우
      x-portone-status-code: 404
    PlatformPartnerSettlementStatus:
      title: 정산 상태
      description: 정산 상태
      type: string
      enum:
        - PAYOUT_SCHEDULED
        - PAYOUT_PREPARED
        - PAYOUT_WITHHELD
        - 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: 지급 보류
        PAID_OUT:
          title: 지급 완료
        PAYOUT_PREPARED:
          title: 지급 예정
        IN_PAYOUT:
          title: 지급 중
    PlatformPartnerSettlementStatusStats:
      title: PlatformPartnerSettlementStatusStats
      type: object
      required:
        - payoutScheduled
        - payoutPrepared
        - payoutWithheld
        - payoutFailed
        - payoutCancelled
        - payoutConfirmed
        - inPayout
        - paidOut
      properties:
        payoutScheduled:
          type: integer
          format: int64
        payoutPrepared:
          type: integer
          format: int64
        payoutWithheld:
          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: 주문 취소 정산
    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: {}
    PlatformPayoutNotFoundError:
      title: 지급 내역이 존재하지 않는 경우
      description: 지급 내역이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 지급 내역이 존재하지 않는 경우
      x-portone-status-code: 404
    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
        - ISSUANCE_CANCELLED
        - BEFORE_SENDING
        - WAITING_SENDING
        - SENDING
        - SENDING_COMPLETED
        - SENDING_FAILED
      x-portone-enum:
        BEFORE_SENDING: {}
        DRAFTED: {}
        REQUEST_CANCELLED: {}
        REQUEST_REFUSED: {}
        REQUESTED: {}
        SENDING_COMPLETED: {}
        DRAFT_PENDING: {}
        SENDING_FAILED: {}
        REQUEST_FAILED: {}
        SENDING: {}
        WAITING_SENDING: {}
        ISSUANCE_CANCELLED: {}
        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'
    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
    PlatformTransferDashboard:
      title: PlatformTransferDashboard
      type: object
      required:
        - totalSettlementAmount
        - totalSettlementFeeAmount
        - totalOrderAmount
      properties:
        totalSettlementAmount:
          type: integer
          format: int64
        totalSettlementFeeAmount:
          type: integer
          format: int64
        totalOrderAmount:
          type: integer
          format: int64
        settlementStartDateRange:
          $ref: '#/components/schemas/DateRange'
    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: 하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 상태인 정산건만 조회합니다.
        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: '검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 정산건만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.'
    PlatformTransferFilterOptions:
      title: PlatformTransferFilterOptions
      type: object
      required:
        - partnerTags
        - contractIds
        - additionalFeePolicyIds
        - discountSharePolicyIds
      properties:
        partnerTags:
          type: array
          items:
            type: string
        contractIds:
          type: array
          items:
            type: string
        additionalFeePolicyIds:
          type: array
          items:
            type: string
        discountSharePolicyIds:
          type: array
          items:
            type: string
    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
    PlatformTransferStatus:
      title: 정산 상태
      description: 정산 상태
      type: string
      enum:
        - SCHEDULED
        - IN_PROCESS
        - SETTLED
        - IN_PAYOUT
        - PAID_OUT
      x-portone-title: 정산 상태
      x-portone-enum:
        SETTLED:
          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
        - 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
        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: 정액 할인
    PromotionGroupNotFoundError:
      title: 프로모션 그룹이 존재하지 않는 경우
      description: 프로모션 그룹이 존재하지 않는 경우
      type: object
      required:
        - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 프로모션 그룹이 존재하지 않는 경우
      x-portone-status-code: 404
    PromotionGroupVerbose:
      title: 프로모션 그룹 (프로모션 정보 포함)
      description: 프로모션 그룹 (프로모션 정보 포함)
      type: object
      required:
        - id
        - name
        - promotions
      properties:
        id:
          type: string
          title: 프로모션 그룹 아이디
        name:
          type: string
          title: 프로모션 그룹 이름
        promotions:
          title: 카드사별로 지정된 프로모션 정보
          type: array
          items:
            $ref: '#/components/schemas/Promotion'
      x-portone-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
    PromotionPaymentsExcelDownloadError:
      title: PromotionPaymentsExcelDownloadError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    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: 예산 소진됨
    PromotionTimeRangeField:
      title: PromotionTimeRangeField
      type: string
      enum:
        - CREATED_AT
        - START_AT
      x-portone-enum:
        CREATED_AT:
          title: 프로모션 생성 시각
        START_AT:
          title: 프로모션 시작 시각
    PromotionsExcelDownloadError:
      title: PromotionsExcelDownloadError
      oneOf:
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    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
      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: 구매자 정보
        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: 준비 상태 건
    ReconciliationDateConditionInput:
      title: 거래 대사 날짜 범위 조회 필드
      description: |-
        거래 대사 날짜 범위 조회 필드

        필드 중 하나만 적용됩니다.
      type: object
      properties:
        settlementDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 정산일 범위
        transactionDateRange:
          $ref: '#/components/schemas/DateRange'
          title: 결제일 범위
      x-portone-title: 거래 대사 날짜 범위 조회 필드
      x-portone-description: 필드 중 하나만 적용됩니다.
    ReconciliationEasyPayMethod:
      title: ReconciliationEasyPayMethod
      oneOf:
        - $ref: '#/components/schemas/ReconciliationPaymentMethodCard'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodCharge'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodEtc'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodMobile'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodTransfer'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodVirtualAccount'
      discriminator:
        propertyName: type
        mapping:
          CARD: '#/components/schemas/ReconciliationPaymentMethodCard'
          CHARGE: '#/components/schemas/ReconciliationPaymentMethodCharge'
          ETC: '#/components/schemas/ReconciliationPaymentMethodEtc'
          MOBILE: '#/components/schemas/ReconciliationPaymentMethodMobile'
          TRANSFER: '#/components/schemas/ReconciliationPaymentMethodTransfer'
          VIRTUAL_ACCOUNT: '#/components/schemas/ReconciliationPaymentMethodVirtualAccount'
      x-portone-discriminator:
        TRANSFER:
          title: 계좌이체
        VIRTUAL_ACCOUNT:
          title: 가상계좌 결제
        CHARGE:
          title: 간편결제 충전
        ETC:
          title: 기타 결제
        MOBILE:
          title: 모바일 결제
        CARD:
          title: 카드 결제
    ReconciliationEasyPayProvider:
      title: 대사용 간편 결제 PG사
      description: 대사용 간편 결제 PG사
      type: string
      enum:
        - PAYCO
        - SAMSUNGPAY
        - SSGPAY
        - KAKAOPAY
        - NAVERPAY
        - CHAI
        - LPAY
        - KPAY
        - TOSSPAY
        - TOSS_BRANDPAY
        - LGPAY
        - APPLEPAY
        - PINPAY
        - SKPAY
        - WECHATPAY
        - PAYPAL
        - ALIPAY
        - KB_APP
        - TMONEYPAY
        - HYPHEN
        - OK_CASHBAG
        - BENEPIA
        - KLARNA
      x-portone-title: 대사용 간편 결제 PG사
      x-portone-enum:
        KB_APP: {}
        BENEPIA: {}
        KLARNA: {}
        NAVERPAY: {}
        CHAI: {}
        PINPAY: {}
        TOSS_BRANDPAY: {}
        PAYPAL: {}
        SAMSUNGPAY: {}
        KPAY: {}
        WECHATPAY: {}
        SKPAY: {}
        KAKAOPAY: {}
        ALIPAY: {}
        LPAY: {}
        TMONEYPAY: {}
        PAYCO: {}
        TOSSPAY: {}
        SSGPAY: {}
        OK_CASHBAG: {}
        LGPAY: {}
        APPLEPAY: {}
        HYPHEN: {}
    ReconciliationPaymentMethod:
      title: ReconciliationPaymentMethod
      oneOf:
        - $ref: '#/components/schemas/ReconciliationPaymentMethodArs'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodCard'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodCharge'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodEasyPay'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodEtc'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodGiftCertificate'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodMobile'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodTransfer'
        - $ref: '#/components/schemas/ReconciliationPaymentMethodVirtualAccount'
      discriminator:
        propertyName: type
        mapping:
          ARS: '#/components/schemas/ReconciliationPaymentMethodArs'
          CARD: '#/components/schemas/ReconciliationPaymentMethodCard'
          CHARGE: '#/components/schemas/ReconciliationPaymentMethodCharge'
          EASY_PAY: '#/components/schemas/ReconciliationPaymentMethodEasyPay'
          ETC: '#/components/schemas/ReconciliationPaymentMethodEtc'
          GIFT_CERTIFICATE: '#/components/schemas/ReconciliationPaymentMethodGiftCertificate'
          MOBILE: '#/components/schemas/ReconciliationPaymentMethodMobile'
          TRANSFER: '#/components/schemas/ReconciliationPaymentMethodTransfer'
          VIRTUAL_ACCOUNT: '#/components/schemas/ReconciliationPaymentMethodVirtualAccount'
      x-portone-discriminator:
        GIFT_CERTIFICATE:
          title: 상품권 결제
        VIRTUAL_ACCOUNT:
          title: 가상계좌 결제
        CHARGE:
          title: 간편결제 충전
        ARS:
          title: ARS 결제
        ETC:
          title: 기타 결제
        MOBILE:
          title: 모바일 결제
        CARD:
          title: 카드 결제
        TRANSFER:
          title: 계좌이체
        EASY_PAY:
          title: 간편 결제
    ReconciliationPaymentMethodArs:
      title: ARS 결제
      description: ARS 결제
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 대사용 결제 수단
      x-portone-title: ARS 결제
    ReconciliationPaymentMethodCard:
      title: 카드 결제
      description: 카드 결제
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 대사용 결제 수단
        issuer:
          $ref: '#/components/schemas/CardCompany'
          title: 카드 발급사
        acquirer:
          $ref: '#/components/schemas/CardCompany'
          title: 카드 매입사
        approvalNumber:
          type: string
          title: 카드 승인 번호
        installmentMonth:
          type: integer
          format: int32
          title: 카드 할부 개월 수
      x-portone-title: 카드 결제
    ReconciliationPaymentMethodCharge:
      title: 간편결제 충전
      description: 간편결제 충전
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 간편결제 결제 수단
      x-portone-title: 간편결제 충전
    ReconciliationPaymentMethodEasyPay:
      title: 간편 결제
      description: 간편 결제
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 대사용 결제 수단
        provider:
          $ref: '#/components/schemas/ReconciliationEasyPayProvider'
          title: 간편 결제 PG사
        method:
          $ref: '#/components/schemas/ReconciliationEasyPayMethod'
          title: 간편 결제 결제 수단
      x-portone-title: 간편 결제
    ReconciliationPaymentMethodEtc:
      title: 기타 결제
      description: 기타 결제
      type: object
      required:
        - type
        - name
      properties:
        type:
          type: string
          title: 대사용 결제 수단
        name:
          type: string
          title: 기타 결제 이름
      x-portone-title: 기타 결제
    ReconciliationPaymentMethodGiftCertificate:
      title: 상품권 결제
      description: 상품권 결제
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 대사용 결제 수단
        approvalNumber:
          type: string
          title: 상품권 승인 번호
        giftCertificateType:
          $ref: '#/components/schemas/GiftCertificateType'
          title: 상품권 종류
      x-portone-title: 상품권 결제
    ReconciliationPaymentMethodMobile:
      title: 모바일 결제
      description: 모바일 결제
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 대사용 결제 수단
        carrier:
          $ref: '#/components/schemas/Carrier'
          title: 통신사
      x-portone-title: 모바일 결제
    ReconciliationPaymentMethodTransfer:
      title: 계좌이체
      description: 계좌이체
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 대사용 결제 수단
        bank:
          $ref: '#/components/schemas/Bank'
          title: 계좌 이체 은행
        approvalNumber:
          type: string
          title: 계좌 이체 승인 번호
      x-portone-title: 계좌이체
    ReconciliationPaymentMethodType:
      title: 대사용 결제수단 목록
      description: 대사용 결제수단 목록
      type: string
      enum:
        - CARD
        - CHARGE
        - TRANSFER
        - ARS
        - GIFT_CERTIFICATE
        - MOBILE
        - VIRTUAL_ACCOUNT
        - ETC
        - EASY_PAY_ETC
        - EASY_PAY_PAYCO
        - EASY_PAY_SAMSUNGPAY
        - EASY_PAY_SSGPAY
        - EASY_PAY_KAKAOPAY
        - EASY_PAY_NAVERPAY
        - EASY_PAY_CHAI
        - EASY_PAY_LPAY
        - EASY_PAY_KPAY
        - EASY_PAY_TOSSPAY
        - EASY_PAY_LGPAY
        - EASY_PAY_APPLEPAY
        - EASY_PAY_PINPAY
        - EASY_PAY_SKPAY
        - EASY_PAY_WECHATPAY
        - EASY_PAY_PAYPAL
        - EASY_PAY_ALIPAY
        - EASY_PAY_TOSS_BRANDPAY
        - EASY_PAY_KB_APP
        - EASY_PAY_TMONEYPAY
        - EASY_PAY_HYPHEN
        - EASY_PAY_OK_CASHBAG
        - EASY_PAY_BENEPIA
        - EASY_PAY_KLARNA
      x-portone-title: 대사용 결제수단 목록
      x-portone-enum:
        EASY_PAY_ETC:
          title: 기타 간편결제
        EASY_PAY_APPLEPAY:
          title: 애플페이 간편결제
        EASY_PAY_TOSS_BRANDPAY:
          title: 토스브랜드페이 간편결제
        GIFT_CERTIFICATE:
          title: 상품권
        EASY_PAY_KAKAOPAY:
          title: 카카오페이 간편결제
        VIRTUAL_ACCOUNT:
          title: 가상계좌
        ETC:
          title: 기타 결제수단
        CARD:
          title: 카드
        TRANSFER:
          title: 계좌이체
        EASY_PAY_HYPHEN:
          title: 하이픈 간편결제
        EASY_PAY_SAMSUNGPAY:
          title: 삼성페이 간편결제
        EASY_PAY_KLARNA:
          title: 클라나 간편결제
        EASY_PAY_CHAI:
          title: 차이페이 간편결제
        EASY_PAY_WECHATPAY:
          title: 위챗페이 간편결제
        EASY_PAY_PINPAY:
          title: 핀페이 간편결제
        EASY_PAY_KPAY:
          title: 케이페이 간편결제
        EASY_PAY_PAYCO:
          title: 페이코 간편결제
        EASY_PAY_TMONEYPAY:
          title: 티머니페이 간편결제
        EASY_PAY_NAVERPAY:
          title: 네이버페이 간편결제
        EASY_PAY_BENEPIA:
          title: 베네피아 간편결제
        EASY_PAY_OK_CASHBAG:
          title: OK캐시백 간편결제
        CHARGE:
          title: 간편결제 충전
        EASY_PAY_PAYPAL:
          title: 페이팔 간편결제
        EASY_PAY_TOSSPAY:
          title: 토스페이 간편결제
        EASY_PAY_SKPAY:
          title: 에스케이페이 간편결제
        EASY_PAY_SSGPAY:
          title: SSG페이 간편결제
        ARS:
          title: ARS
        EASY_PAY_LPAY:
          title: 엘페이 간편결제
        EASY_PAY_ALIPAY:
          title: 알리페이 간편결제
        MOBILE:
          title: 모바일
        EASY_PAY_KB_APP:
          title: 케이비앱 간편결제
        EASY_PAY_LGPAY:
          title: 엘지페이 간편결제
    ReconciliationPaymentMethodVirtualAccount:
      title: 가상계좌 결제
      description: 가상계좌 결제
      type: object
      required:
        - type
      properties:
        type:
          type: string
          title: 대사용 결제 수단
        bank:
          $ref: '#/components/schemas/Bank'
          title: 가상계좌  은행
        approvalNumber:
          type: string
          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
      x-portone-enum:
        PAYCO: {}
        NAVERPAY: {}
        HECTO: {}
        TOSSPAY: {}
        INICIS: {}
        PAYPAL: {}
        KPN: {}
        DANAL: {}
        NICEPAY: {}
        TOSSPAYMENTS: {}
        EXIMBAY: {}
        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/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'
    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: 세금계산서 역발행 요청 거부 응답
    RegisterB2bMemberCompanyBody:
      title: 사업자 연동 요청 정보
      description: 사업자 연동 요청 정보
      type: object
      required:
        - company
      properties:
        id:
          type: string
          title: 연동 사업자 아이디
        company:
          $ref: '#/components/schemas/B2bMemberCompanyInput'
          title: 사업자 정보
      x-portone-title: 사업자 연동 요청 정보
    RegisterB2bMemberCompanyError:
      title: RegisterB2bMemberCompanyError
      oneOf:
        - $ref: '#/components/schemas/B2bCompanyAlreadyRegisteredError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bIdAlreadyExistsError'
        - $ref: '#/components/schemas/B2bNotEnabledError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          B2B_COMPANY_ALREADY_REGISTERED: '#/components/schemas/B2bCompanyAlreadyRegisteredError'
          B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RegisterB2bMemberCompanyResponse:
      title: 사업자 연동 응답 정보
      description: 사업자 연동 응답 정보
      type: object
      required:
        - company
      properties:
        company:
          $ref: '#/components/schemas/B2bMemberCompany'
          title: 사업자 정보
      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: 구매 거절 확정
    RejectPlatformPartnerBody:
      title: 파트너 상태를 승인 거절로 변경하기 위한 입력 정보
      description: 파트너 상태를 승인 거절로 변경하기 위한 입력 정보
      type: object
      properties:
        memo:
          type: string
          title: 파트너 메모. 값이 명시되지 않은 경우 업데이트하지 않습니다.
      x-portone-title: 파트너 상태를 승인 거절로 변경하기 위한 입력 정보
    RejectPlatformPartnerError:
      title: RejectPlatformPartnerError
      oneOf:
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/PlatformArchivedPartnerError'
        - $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_ARCHIVED_PARTNER: '#/components/schemas/PlatformArchivedPartnerError'
          PLATFORM_NOT_ENABLED: '#/components/schemas/PlatformNotEnabledError'
          PLATFORM_PARTNER_NOT_FOUND: '#/components/schemas/PlatformPartnerNotFoundError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    RejectPlatformPartnerResponse:
      title: 파트너 거절 성공 응답
      description: 파트너 거절 성공 응답
      type: object
      required:
        - partner
      properties:
        partner:
          $ref: '#/components/schemas/PlatformPartner'
          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/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_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: 분리 형식 주소 입력 정보
    Settlement:
      title: 정산 정보
      description: 정산 정보
      type: object
      required:
        - feeAmount
        - feeVatAmount
        - settlementAmount
        - settlementCurrency
        - settlementDate
      properties:
        feeAmount:
          type: integer
          format: int64
          title: PG 수수료 요금
        feeVatAmount:
          type: integer
          format: int64
          title: PG 수수료 부가세
        settlementAmount:
          type: integer
          format: int64
          title: 정산 금액
        settlementCurrency:
          $ref: '#/components/schemas/Currency'
          title: 정산 통화
        settlementDate:
          description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          type: string
          format: date
          x-portone-description: '날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.'
          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: 결제 시작 상태
    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: 결제 성공 상태
    Success:
      title: 세금계산서 웹훅 응답
      description: 세금계산서 웹훅 응답
      type: object
      required:
        - result
      properties:
        result:
          type: string
      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
    TaxInvoiceWebhookHandleBody:
      title: 세금계산서 웹훅 정보
      description: 세금계산서 웹훅 정보
      type: object
      required:
        - itemKey
        - eventDT
        - eventType
      properties:
        itemKey:
          type: string
        eventDT:
          type: string
        eventType:
          $ref: '#/components/schemas/B2bTaxInvoiceWebhookEventType'
      x-portone-title: 세금계산서 웹훅 정보
    TaxInvoiceWebhookHandleError:
      title: TaxInvoiceWebhookHandleError
      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'
    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
        - PARTNER_NAME
        - PARTNER_BRN
        - 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
        - PAYOUT_ID
        - ITEMS
      x-portone-title: 다운로드 할 시트 컬럼
      x-portone-enum:
        NTS_SENT_AT:
          title: 국세청 전송일시
        TOTAL_SUPPLY_AMOUNT:
          title: 공급가액
        STATUS_UPDATED_AT:
          title: 상태 업데이트 일시
        PARTNER_BRN:
          title: 거래처 사업자등록번호
        DOCUMENT_MODIFICATION_TYPE:
          title: 문서형태
        IS_DELAYED:
          title: 지연발행
        STATUS:
          title: 상태
        MEMO:
          title: 관리용 메모
        REQUESTED_AT:
          title: 발행요청일시
        RECIPIENT_DOCUMENT_KEY:
          title: 공급받는자 문서번호
        PLAIN_ID:
          title: 세금계산서 아이디
        ISSUED_AT:
          title: 발행완료일시
        TOTAL_TAX_AMOUNT:
          title: 세액
        TOTAL_AMOUNT:
          title: 합계금액
        TAXATION_TYPE:
          title: 과세형태
        ITEMS:
          title: 품목
        WRITE_DATE:
          title: 작성일자
        ISSUANCE_DUE_DATE:
          title: 발행마감일
        ISSUANCE_TYPE:
          title: 발행유형
        PAYOUT_ID:
          title: 지급 아이디
        PARTNER_NAME:
          title: 거래처 회사명
        PURPOSE_TYPE:
          title: 영수/청구
        SUPPLIER_DOCUMENT_KEY:
          title: 공급자 문서번호
        CANCEL_REASON:
          title: 취소사유
        BULK_TAX_INVOICE_ID:
          title: 일괄 세금계산서 아이디
    TaxationType:
      title: TaxationType
      type: string
      enum:
        - TAXABLE
        - NON_TAXABLE
      x-portone-enum:
        TAXABLE: {}
        NON_TAXABLE: {}
    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
    UpdateB2bMemberCompanyBody:
      title: 연동 사업자 정보 수정 요청
      description: 연동 사업자 정보 수정 요청
      type: object
      properties:
        companyName:
          type: string
          title: 회사명
        representativeName:
          type: string
          title: 대표자 성명
        address:
          type: string
          title: 회사 주소
        businessType:
          type: string
          title: 업태
        businessClass:
          type: string
          title: 업종
        contactName:
          type: string
          title: 담당자 정보
        contactPhoneNumber:
          type: string
          title: 담당자 핸드폰 번호
        contactEmail:
          type: string
          title: 담당자 이메일
      x-portone-title: 연동 사업자 정보 수정 요청
    UpdateB2bMemberCompanyError:
      title: UpdateB2bMemberCompanyError
      oneOf:
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bMemberCompanyNotFoundError'
        - $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_MEMBER_COMPANY_NOT_FOUND: '#/components/schemas/B2bMemberCompanyNotFoundError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdateB2bMemberCompanyResponse:
      title: 연동 사업자 정보 수정 응답
      description: 연동 사업자 정보 수정 응답
      type: object
      required:
        - memberCompany
      properties:
        memberCompany:
          $ref: '#/components/schemas/B2bMemberCompany'
          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/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_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: 세금계산서 임시저장 수정 응답
    UpdatePaymentReconciliationChannelError:
      title: UpdatePaymentReconciliationChannelError
      oneOf:
        - $ref: '#/components/schemas/ChannelDuplicateNameError'
        - $ref: '#/components/schemas/ChannelNotFoundError'
        - $ref: '#/components/schemas/ForbiddenError'
        - $ref: '#/components/schemas/InvalidRequestError'
        - $ref: '#/components/schemas/NotAllowedPgMerchantIdError'
        - $ref: '#/components/schemas/UnauthorizedError'
      discriminator:
        propertyName: type
        mapping:
          CHANNEL_NOT_FOUND: '#/components/schemas/ChannelNotFoundError'
          DUPLICATE_CHANNEL_NAME: '#/components/schemas/ChannelDuplicateNameError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          NOT_ALLOWED_PG_MERCHANT_ID: '#/components/schemas/NotAllowedPgMerchantIdError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    UpdatePaymentReconciliationChannelResponse:
      title: UpdatePaymentReconciliationChannelResponse
      type: object
      required:
        - channel
      properties:
        channel:
          $ref: '#/components/schemas/PaymentReconciliationChannel'
    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: 파트너 업데이트 성공 응답
    UpdatePlatformPartnerSettlementStatusBody:
      title: UpdatePlatformPartnerSettlementStatusBody
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/PlatformPartnerSettlementStatus'
        memo:
          type: string
    UpdatePlatformPartnerSettlementStatusResponse:
      title: 정산내역 상태 업데이트 결과
      description: 정산내역 상태 업데이트 결과
      type: object
      required:
        - partnerSettlement
      properties:
        partnerSettlement:
          $ref: '#/components/schemas/PlatformPartnerSettlement'
      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: 플랫폼 설정 업데이트 결과
    UsAddress:
      title: 미국 주소
      description: 미국 주소
      type: object
      required:
        - addressText
        - entryCount
        - streetLine
        - city
        - state
        - zipCode
      properties:
        addressText:
          type: string
          title: 주소 텍스트
          description: >-
            `<상세 주소 (도로명 등)> <상세 주소 (건물 번호 등)> <하위 주소 개수> <도시>, <주> <우편번호>` 형태로
            제공됩니다.
        addressKey:
          type: string
          title: 주소 키
        entryCount:
          type: integer
          format: int32
          title: 하위 주소 개수
          description: >-
            2 이상이면 `addressKey`로 주소 자동완성 API를 재호출하여 하위 `UsAddress` 목록을 얻을 수
            있습니다. 1이면 하위 주소가 없는 최종 주소입니다.
        streetLine:
          type: string
          title: 상세 주소 (도로명 등)
        secondary:
          type: string
          title: 상세 주소 (건물 번호 등)
          description: >-
            아파트 동 번호 등의 건물 번호가 포함됩니다. `addressKey`가 존재하는 경우 반드시 `secondary`가
            존재합니다.
        city:
          type: string
          title: 도시
        state:
          type: string
          title: 주
        zipCode:
          type: string
          title: 우편번호
      x-portone-title: 미국 주소
    ValidateB2bCertificateError:
      title: ValidateB2bCertificateError
      oneOf:
        - $ref: '#/components/schemas/B2bCertificateUnregisteredError'
        - $ref: '#/components/schemas/B2bExternalServiceError'
        - $ref: '#/components/schemas/B2bMemberCompanyNotFoundError'
        - $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_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError'
          B2B_MEMBER_COMPANY_NOT_FOUND: '#/components/schemas/B2bMemberCompanyNotFoundError'
          B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError'
          FORBIDDEN: '#/components/schemas/ForbiddenError'
          INVALID_REQUEST: '#/components/schemas/InvalidRequestError'
          UNAUTHORIZED: '#/components/schemas/UnauthorizedError'
    ValidateB2bCertificateResponse:
      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
      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: 구매자 정보
        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.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: address
    title: 주소 API
    description: 주소 관련 API를 제공합니다.
  - id: common
    title: 공통 API
    description: 공통 API 기능을 제공합니다.
