UNPKG

portone-api-v2

Version:
163 lines (162 loc) 4.48 kB
import type * as Enum from './enums'; /***************************/ /***************************/ export type Address = { type: 'ONE_LINE' | 'SEPARATED'; oneLine: string; }; export type OneLineAddress = Address; export type SeparatedAddress = Address & SeparatedAddressInput; export interface SeparatedAddressInput { /** 상세주소 1 */ addressLine1: string; /** 상세주소 2 */ addressLine2: string; /** 시/군/구 */ city?: string; /** 주/도/시 */ province?: string; country?: Enum.Country; } /****************************/ /****************************/ export interface BankInfo { /** 은행 코드 */ bank: Enum.Bank; /** 은행 이름 */ name: BankInfoName; } export interface BankInfoName { ko: string; } /****************************/ /****************************/ export type Card = { /** 발행사 코드 */ publisher?: string; /** 발급사 코드 */ issuer?: string; /** 카드 브랜드 */ brand?: Enum.CardBrand; /** 카드 유형 */ type?: Enum.CardType; /** 카드 소유자 유형 */ ownerType?: Enum.CardOwnerType; /** 카드 번호 앞 6자리 또는 8자리 BIN */ bin?: string; /** 카드 상품명 */ name?: string; /** 카드 마스킹 번호 */ number?: string; }; export interface CardCredential { /** 카드 번호 */ number: string; /** 카드 유효 기간 만료 연도 */ expiryYear: string; /** 카드 유효 기간 만료 월 */ expiryMonth: string; /** 생년월일 또는 사업자등록번호 */ birthOrBusinessRegistrationNumber?: string; /** 비밀번호 앞 2자리 */ passwordTwoDigits?: string; } /***************************/ /***************************/ export interface SelectedChannel { type: Enum.SelectedChannelType; /** 채널 ID */ id?: string; /** 채널 키 */ key?: string; /** 채널 이름 */ name?: string; /** pg사 결제 모듈 */ pgProvider: Enum.PgProvider; /** pg사 가맹점 식별 ID */ pgMerchantId: string; } export interface ChannelGroupSummary { /** 채널 그룹 ID */ id: string; /** 채널 그룹 이름 */ name: string; /** 테스트 채널 그룹 여부 */ isForTest: boolean; } export type ChannelSpecificFailure = ChannelSpecificFailureInvalidRequest | ChannelSpecificFailurePgProvider; export interface ChannelSpecificFailureInvalidRequest { type: 'INVALID_REQUEST'; /** 결제, 본인인증 등에 선택된 채널 정보 */ channel: SelectedChannel; message?: string; } export interface ChannelSpecificFailurePgProvider { type: 'PG_PROVIDER'; /** 결제, 본인인증 등에 선택된 채널 정보 */ channel: SelectedChannel; message?: string; pgCode: string; pgMessage: string; } /****************************/ /****************************/ export interface Customer { id?: string; name?: string; birthYear?: string; gender?: Enum.Gender; email?: string; phoneNumber?: string; address?: Address; zipcode?: string; } export interface CustomerInput { /** 고객사에서 관리하는 고객 ID */ id?: string; /** 두 가지 형식 full|separated 중 한 가지만 선택하여 입력 */ name?: CustomerNameInput; birthYear?: string; birthMonth?: string; birthDay?: string; country?: Enum.Country; gender?: Enum.Gender; email?: string; phoneNumber?: string; address?: SeparatedAddressInput; zipCode?: string; businessRegistrationNumber?: string; } export interface CustomerNameInput { /** 한 줄 이름 형식 */ full?: string; separated?: CustomerSeparatedName; } export interface CustomerSeparatedName { first: string; last: string; } /***************************/ /***************************/ export interface DateTimeRange { /** RFC 3339 date-time */ from: string; /** RFC 3339 date-time */ until: string; } /****************************/ /****************************/ export interface PageInfo { /** 요청된 페이지 번호 (int32) */ number: number; /** 요청된 페이지 당 객체 수 (int32) */ size: number; /** 실제 반환된 객체 수 (int32) */ totalCount: number; } export interface PageInput { /** 0부터 시작하는 페이지 번호 (int32) */ number?: number; /** 각 페이지 당 포함할 객체 수 */ size?: number; }