PortOne Billing Keys API

The Billing Keys API from PortOne — 4 operation(s) for billing keys.

Operations 6

GET /billing-keys 빌링키 다건 조회 #
POST /billing-keys 빌링키 발급 #
POST /billing-keys/confirm 빌링키 발급 수동 승인 #
POST /billing-keys/confirm-issue-and-pay 빌링키 발급 및 초회 결제 수동 승인 #
GET /billing-keys/{billingKey} 빌링키 단건 조회 #
DELETE /billing-keys/{billingKey} 빌링키 삭제 #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/portone-billing-keys-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

portone-billing-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PortOne B2b Billing Keys API
  version: 1.16.0
servers:
- url: https://api.portone.io
  description: 운영환경 서버
tags:
- name: Billing Keys
paths:
  /billing-keys:
    get:
      summary: 빌링키 다건 조회
      description: '빌링키 다건 조회


        주어진 조건에 맞는 빌링키들을 페이지 기반으로 조회합니다.'
      operationId: getBillingKeyInfos
      parameters:
      - name: requestBody
        in: query
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetBillingKeyInfosBody'
      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'
      tags:
      - Billing Keys
    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'
      tags:
      - Billing Keys
  /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'
      tags:
      - Billing Keys
  /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'
      tags:
      - Billing Keys
  /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'
      tags:
      - Billing Keys
    delete:
      summary: 빌링키 삭제
      description: '빌링키 삭제


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


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


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


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


          빌링키 삭제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.'
        required: false
        schema:
          type: boolean
        x-portone-title: 웹훅 생략 여부
        x-portone-description: 빌링키 삭제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyResponse'
          x-portone-title: 성공 응답
        '400':
          description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '401':
          description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '403':
          description: '* `ForbiddenError`: 요청이 거절된 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '404':
          description: '* `BillingKeyNotIssuedError`

            * `BillingKeyNotFoundError`: 빌링키가 존재하지 않는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '409':
          description: '* `BillingKeyAlreadyDeletedError`: 빌링키가 이미 삭제된 경우

            * `PaymentScheduleAlreadyExistsError`: 결제 예약건이 이미 존재하는 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
        '502':
          description: '* `PgProviderError`: PG사에서 오류를 전달한 경우

            * `ChannelSpecificError`: 여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingKeyError'
      security:
      - bearerJwt: []
      - portOne: []
      x-portone-category: payment.billingKey
      x-portone-title: 빌링키 삭제
      x-portone-description: 빌링키를 삭제합니다.
      x-portone-error:
        $ref: '#/components/schemas/DeleteBillingKeyError'
      tags:
      - Billing Keys
components:
  schemas:
    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 에 사용되는 페이지 입력 정보
    ConfirmedBillingKeySummary:
      title: 빌링키 발급 수동 승인 완료 응답
      description: 빌링키 발급 수동 승인 완료 응답
      type: object
      required:
      - billingKey
      properties:
        billingKey:
          type: string
          title: 빌링키
      x-portone-title: 빌링키 발급 수동 승인 완료 응답
    Bank:
      title: 은행
      description: 은행
      type: string
      enum:
      - BANK_OF_KOREA
      - KDB
      - IBK
      - KOOKMIN
      - SUHYUP
      - KEXIM
      - NONGHYUP
      - LOCAL_NONGHYUP
      - WOORI
      - STANDARD_CHARTERED
      - CITI
      - SUHYUP_FEDERATION
      - DAEGU
      - BUSAN
      - KWANGJU
      - JEJU
      - JEONBUK
      - KYONGNAM
      - KFCC
      - SHINHYUP
      - SAVINGS_BANK
      - MORGAN_STANLEY
      - HSBC
      - DEUTSCHE
      - JPMC
      - MIZUHO
      - MUFG
      - BANK_OF_AMERICA
      - BNP_PARIBAS
      - ICBC
      - BANK_OF_CHINA
      - NFCF
      - UOB
      - BOCOM
      - CCB
      - POST
      - KODIT
      - KIBO
      - HANA
      - SHINHAN
      - K_BANK
      - KAKAO
      - TOSS
      - MISC_FOREIGN
      - SGI
      - KCIS
      - YUANTA_SECURITIES
      - KB_SECURITIES
      - SANGSANGIN_SECURITIES
      - HANYANG_SECURITIES
      - LEADING_SECURITIES
      - BNK_SECURITIES
      - IBK_SECURITIES
      - DAOL_SECURITIES
      - MIRAE_ASSET_SECURITIES
      - SAMSUNG_SECURITIES
      - KOREA_SECURITIES
      - NH_SECURITIES
      - KYOBO_SECURITIES
      - HI_SECURITIES
      - HYUNDAI_MOTOR_SECURITIES
      - KIWOOM_SECURITIES
      - EBEST_SECURITIES
      - SK_SECURITIES
      - DAISHIN_SECURITIES
      - HANHWA_SECURITIES
      - HANA_SECURITIES
      - TOSS_SECURITIES
      - SHINHAN_SECURITIES
      - DB_SECURITIES
      - EUGENE_SECURITIES
      - MERITZ_SECURITIES
      - KAKAO_PAY_SECURITIES
      - BOOKOOK_SECURITIES
      - SHINYOUNG_SECURITIES
      - CAPE_SECURITIES
      - KOREA_SECURITIES_FINANCE
      - KOREA_FOSS_SECURITIES
      - WOORI_INVESTMENT_BANK
      x-portone-title: 은행
      x-portone-enum:
        BANK_OF_CHINA:
          title: 중국은행
        KDB:
          title: 산업은행
        HANYANG_SECURITIES:
          title: 한양증권
        SK_SECURITIES:
          title: SK증권
        HANA_SECURITIES:
          title: 하나증권
        KB_SECURITIES:
          title: KB증권
        KYONGNAM:
          title: 경남은행
        WOORI_INVESTMENT_BANK:
          title: 우리종합금융
        CITI:
          title: 한국씨티은행
        SHINYOUNG_SECURITIES:
          title: 신영증권
        KOREA_SECURITIES:
          title: 한국투자증권
        SHINHAN:
          title: 신한은행
        LEADING_SECURITIES:
          title: 리딩투자증권
        UOB:
          title: 대화은행
        KOREA_FOSS_SECURITIES:
          title: 한국포스증권
        MERITZ_SECURITIES:
          title: 메리츠증권
        MIZUHO:
          title: 미즈호은행
        EBEST_SECURITIES:
          title: LS증권
        SANGSANGIN_SECURITIES:
          title: 상상인증권
        IBK:
          title: 기업은행
        DEUTSCHE:
          title: 도이치은행
        KCIS:
          title: 한국신용정보원
        KEXIM:
          title: 수출입은행
        SHINHYUP:
          title: 신협
        CCB:
          title: 중국건설은행
        HANA:
          title: 하나은행
        TOSS_SECURITIES:
          title: 토스증권
        IBK_SECURITIES:
          title: IBK투자증권
        SHINHAN_SECURITIES:
          title: 신한투자증권
        HANHWA_SECURITIES:
          title: 한화투자증권
        SUHYUP_FEDERATION:
          title: 수협중앙회
        LOCAL_NONGHYUP:
          title: 지역농축협
        WOORI:
          title: 우리은행
        SAMSUNG_SECURITIES:
          title: 삼성증권
        K_BANK:
          title: 케이뱅크
        DB_SECURITIES:
          title: DB금융투자
        SGI:
          title: 서울보증보험
        JEJU:
          title: 제주은행
        MIRAE_ASSET_SECURITIES:
          title: 미래에셋증권
        SAVINGS_BANK:
          title: 저축은행
        EUGENE_SECURITIES:
          title: 유진투자증권
        DAEGU:
          title: 아이엠뱅크
        BNK_SECURITIES:
          title: BNK투자증권
        KAKAO_PAY_SECURITIES:
          title: 카카오페이증권
        SUHYUP:
          title: 수협은행
        CAPE_SECURITIES:
          title: 케이프투자증권
        JEONBUK:
          title: 전북은행
        BNP_PARIBAS:
          title: 비엔피파리바은행
        KOREA_SECURITIES_FINANCE:
          title: 한국증권금융
        KODIT:
          title: 신용보증기금
        BOCOM:
          title: 교통은행
        DAOL_SECURITIES:
          title: 다올투자증권
        NFCF:
          title: 산림조합중앙회
        HSBC:
          title: HSBC은행
        STANDARD_CHARTERED:
          title: SC제일은행
        KWANGJU:
          title: 광주은행
        ICBC:
          title: 중국공상은행
        TOSS:
          title: 토스뱅크
        HYUNDAI_MOTOR_SECURITIES:
          title: 현대차증권
        BANK_OF_AMERICA:
          title: BOA은행
        BANK_OF_KOREA:
          title: 한국은행
        NONGHYUP:
          title: NH농협은행
        HI_SECURITIES:
          title: 하이투자증권
        KIBO:
          title: 기술보증기금
        KAKAO:
          title: 카카오뱅크
        KIWOOM_SECURITIES:
          title: 키움증권
        BUSAN:
          title: 부산은행
        NH_SECURITIES:
          title: NH투자증권
        MORGAN_STANLEY:
          title: 모간스탠리은행
        KFCC:
          title: 새마을금고
        BOOKOOK_SECURITIES:
          title: 부국증권
        MISC_FOREIGN:
          title: 기타 외국계은행(중국 농업은행 등)
        YUANTA_SECURITIES:
          title: 유안타증권
        POST:
          title: 우체국
        DAISHIN_SECURITIES:
          title: 대신증권
        KOOKMIN:
          title: 국민은행
        MUFG:
          title: 엠유에프지은행
        JPMC:
          title: 제이피모간체이스은행
        KYOBO_SECURITIES:
          title: 교보증권
    CustomerSeparatedName:
      title: 고객 분리형 이름
      description: 고객 분리형 이름
      type: object
      required:
      - first
      - last
      properties:
        first:
          type: string
          title: 이름
        last:
          type: string
          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: 발급 실패 채널 응답
    ConfirmBillingKeyIssueAndPayBody:
      title: 빌링키 발급 및 초회 결제 승인 입력 정보
      description: 빌링키 발급 및 초회 결제 승인 입력 정보
      type: object
      required:
      - billingIssueToken
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
        billingIssueToken:
          type: string
          title: 빌링키 발급 토큰
          description: 빌링키 발급 및 초회 결제 요청 완료 시 발급된 토큰입니다.
        paymentId:
          type: string
          title: 결제 건 아이디
          description: 검증용 파라미터로, 결제 건 아이디와 일치하지 않을 경우 오류가 반환됩니다.
        currency:
          $ref: '#/components/schemas/Currency'
          title: 통화
          description: 검증용 파라미터로, 결제 건 화폐와 일치하지 않을 경우 오류가 반환됩니다.
        totalAmount:
          type: integer
          format: int64
          title: 결제 금액
          description: 검증용 파라미터로, 결제 건 총 금액과 일치하지 않을 경우 오류가 반환됩니다.
        taxFreeAmount:
          type: integer
          format: int64
          title: 면세 금액
          description: 검증용 파라미터로, 결제 건 면세 금액과 일치하지 않을 경우 오류가 반환됩니다.
        isTest:
          type: boolean
          title: 테스트 결제 여부
          description: 검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다.
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: 빌링키 발급 및 결제가 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다. 가상계좌 입금 완료 등 외부 이벤트로 결제가 완료되는 경우 발생하는 웹훅은 스킵되지 않습니다.
      x-portone-title: 빌링키 발급 및 초회 결제 승인 입력 정보
    ConfirmBillingKeyBody:
      title: 빌링키 발급 승인 입력 정보
      description: 빌링키 발급 승인 입력 정보
      type: object
      required:
      - billingIssueToken
      properties:
        storeId:
          type: string
          title: 상점 아이디
          description: 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다.
        billingIssueToken:
          type: string
          title: 빌링키 발급 토큰
          description: 빌링키 발급 요청 완료 시 발급된 토큰입니다.
        isTest:
          type: boolean
          title: 테스트 결제 여부
          description: 검증용 파라미터로, 결제 건 테스트 여부와 일치하지 않을 경우 오류가 반환됩니다.
        skipWebhook:
          type: boolean
          title: 웹훅 생략 여부
          description: 빌링키 발급이 성공했을 때 웹훅을 전송하지 않으려면 true로 설정합니다.
      x-portone-title: 빌링키 발급 승인 입력 정보
    PortOneVersion:
      title: 포트원 버전
      description: 포트원 버전
      type: string
      enum:
      - V1
      - V2
      x-portone-title: 포트원 버전
      x-portone-enum:
        V1: {}
        V2: {}
    BillingKeyAlreadyDeletedError:
      title: 빌링키가 이미 삭제된 경우
      description: 빌링키가 이미 삭제된 경우
      type: object
      required:
      - type
      properties:
        type:
          type: string
        message:
          type: string
      x-portone-title: 빌링키가 이미 삭제된 경우
      x-portone-status-code: 409
    BillingKeyPaymentMethodMobile:
      title: 모바일 정보
      description: 모바일 정보
      type: object
      required:
      - type
      properties:
        type:
          type: string
        phoneNumber:
          type: string
          title: 전화번호
      x-portone-title: 모바일 정보
    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: 빌링키 다건 조회 시 정렬 조건
    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: 발급 삭제 완료
    BillingKeyPaymentMethodCard:
      title: 카드 정보
      description: 카드 정보
      type: object
      required:
      - type
      properties:
        type:
          type: string
        card:
          $ref: '#/components/schemas/Card'
          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: 두 개의 이름 형식 중 한 가지만 선택하여 입력해주세요.
    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
    BillingKeyNotFoundError:
      title: 빌링키가 존재하지 않는 �

# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/portone/refs/heads/main/openapi/portone-billing-keys-api-openapi.yml