portone-api-v2
Version:
PortOne REST API v2
163 lines (162 loc) • 4.48 kB
TypeScript
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;
}