import type { Country } from "./../common/Country.js"; import type { Currency } from "./../common/Currency.js"; import type { CustomerInput } from "./../common/CustomerInput.js"; import type { InstantPaymentMethodInput } from "./../payment/InstantPaymentMethodInput.js"; import type { PaymentAmountInput } from "./../common/PaymentAmountInput.js"; import type { PaymentProduct } from "./../common/PaymentProduct.js"; import type { PaymentProductType } from "./../common/PaymentProductType.js"; import type { SeparatedAddressInput } from "./../common/SeparatedAddressInput.js"; /** 수기 결제 요청 정보 */ export type InstantPaymentInput = { /** * 상점 아이디 * * 접근 권한이 있는 상점 아이디만 입력 가능하며, 미입력시 인증 정보의 상점 아이디를 사용합니다. */ storeId?: string; /** * 채널 키 * * 채널 키 또는 채널 그룹 ID 필수 */ channelKey?: string; /** * 채널 그룹 ID * * 채널 키 또는 채널 그룹 ID 필수 */ channelGroupId?: string; /** 결제수단 정보 */ method: InstantPaymentMethodInput; /** 주문명 */ orderName: string; /** * 문화비 지출 여부 * * 기본값은 false 입니다. */ isCulturalExpense?: boolean; /** * 에스크로 결제 여부 * * 기본값은 false 입니다. */ isEscrow?: boolean; /** 고객 정보 */ customer?: CustomerInput; /** 사용자 지정 데이터 */ customData?: string; /** 결제 금액 세부 입력 정보 */ amount: PaymentAmountInput; /** 통화 */ currency: Currency; /** 결제 국가 */ country?: Country; /** * 웹훅 주소 * * 결제 웹훅 주소입니다. * 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. * 빈 배열은 무시됩니다. */ noticeUrls?: string[]; /** * 상품 정보 * * 입력된 값이 없을 경우에는 빈 배열로 해석됩니다. */ products?: PaymentProduct[]; /** * 상품 개수 * (int32) */ productCount?: number; /** 상품 유형 */ productType?: PaymentProductType; /** 배송지 주소 */ shippingAddress?: SeparatedAddressInput; /** 해당 결제에 적용할 프로모션 아이디 */ promotionId?: string; /** PG사별 추가 파라미터 ("PG사별 연동 가이드" 참고) */ bypass?: object; };