import type { CardBrand } from "./../common/CardBrand.js"; import type { CardOwnerType } from "./../common/CardOwnerType.js"; import type { CardType } from "./../common/CardType.js"; import type { CashReceiptInputType } from "./../common/CashReceiptInputType.js"; import type { Currency } from "./../common/Currency.js"; import type { DateTimeRange } from "./../common/DateTimeRange.js"; import type { PaymentCashReceiptStatus } from "./../payment/PaymentCashReceiptStatus.js"; import type { PaymentClientType } from "./../common/PaymentClientType.js"; import type { PaymentFilterInputEscrowStatus } from "./../payment/PaymentFilterInputEscrowStatus.js"; import type { PaymentMethodGiftCertificateType } from "./../payment/PaymentMethodGiftCertificateType.js"; import type { PaymentMethodType } from "./../common/PaymentMethodType.js"; import type { PaymentSortBy } from "./../payment/PaymentSortBy.js"; import type { PaymentStatus } from "./../payment/PaymentStatus.js"; import type { PaymentTextSearch } from "./../payment/PaymentTextSearch.js"; import type { PaymentTimestampType } from "./../payment/PaymentTimestampType.js"; import type { PaymentWebhookStatus } from "./../payment/PaymentWebhookStatus.js"; import type { PgProvider } from "./../common/PgProvider.js"; import type { PortOneVersion } from "./../common/PortOneVersion.js"; import type { SortOrder } from "./../common/SortOrder.js"; /** 결제 다건 조회를 위한 입력 정보 */ export type PaymentFilterInput = { /** 고객사 아이디 */ merchantId?: string; /** * 상점 아이디 * * Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제 건을 조회합니다. */ storeId?: string; /** 조회 기준 시점 유형 */ timestampType?: PaymentTimestampType; /** * 결제 요청/상태 승인 시점 범위의 시작 * * 값을 입력하지 않으면 end의 90일 전으로 설정됩니다. * (RFC 3339 date-time) */ from?: string; /** * 결제 요청/상태 승인 시점 범위의 끝 * * 값을 입력하지 않으면 현재 시점으로 설정됩니다. * (RFC 3339 date-time) */ until?: string; /** * 결제 상태 리스트 * * 값을 입력하지 않으면 결제상태 필터링이 적용되지 않습니다. */ status?: PaymentStatus[]; /** * 결제수단 리스트 * * 값을 입력하지 않으면 결제수단 필터링이 적용되지 않습니다. */ methods?: PaymentMethodType[]; /** * PG사 결제 모듈 리스트 * * 값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다. */ pgProvider?: PgProvider[]; /** 테스트 결제 여부 */ isTest?: boolean; /** 결제 예약 건 필터링 */ isScheduled?: boolean; /** 결제 건 정렬 기준 */ sortBy?: PaymentSortBy; /** 결제 건 정렬 방식 */ sortOrder?: SortOrder; /** 포트원 버전 */ version?: PortOneVersion; /** 최종 결제 상태의 웹훅 상태 */ webhookStatus?: PaymentWebhookStatus; /** 플랫폼 유형 */ platformType?: PaymentClientType; /** 통화 */ currency?: Currency; /** 에스크로 결제 여부 */ isEscrow?: boolean; /** 에스크로 결제의 배송 정보 상태 */ escrowStatus?: PaymentFilterInputEscrowStatus; /** 카드 브랜드 */ cardBrand?: CardBrand; /** 카드 유형 */ cardType?: CardType; /** 카드 소유주 유형 */ cardOwnerType?: CardOwnerType; /** 상품권 종류 */ giftCertificateType?: PaymentMethodGiftCertificateType; /** 현금영수증 유형 */ cashReceiptType?: CashReceiptInputType; /** 현금영수증 상태 */ cashReceiptStatus?: PaymentCashReceiptStatus; /** 현금영수증 발급 시간 범위 */ cashReceiptIssuedAtRange?: DateTimeRange; /** 현금영수증 취소 시간 범위 */ cashReceiptCancelledAtRange?: DateTimeRange; /** 통합 검색 리스트 필터 */ textSearch?: PaymentTextSearch[]; };