"""
대상의 하위호환성이 보장되지 않음을 명시합니다.
Represents that the target definition does not guarentee backward compatibility.
"""
directive @unstable on OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION
"""
대상이 PortOne Public API 지원 대상에 공식적으로 포함되지 않음을 명시합니다.
Represents that the target definition is excluded from PortOne Public API specification.
"""
directive @hidden on OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION
"Marks a fragment as being optionally deferrable. Allowing the backend to split the query and return non-deferred parts first. This implicitly uses a streaming transport protocol which requires client support."
directive @defer(if: Boolean, label: String) on FRAGMENT_SPREAD | INLINE_FRAGMENT

schema {
  query: Query
  mutation: Mutation
}
"날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다."
scalar Date
"날짜와 시간을 포함한 특정 시점을 나타냅니다. RFC 3339 date-time 형식의 문자열입니다. 윤초는 지원하지 않습니다."
scalar DateTime
scalar Long

"대사 서비스 이용약관 동의 결과"
union AgreeReconciliationTermsAndConditionsOutput = InvalidRequestError | ForbiddenError | ExternalSystemError | AgreeReconciliationTermsAndConditionsPayload | UnauthorizedError | InternalError

"평균 거래액 현황 조회 결과"
union AnalyticsAverageAmountChartOutput = AnalyticsAverageAmountChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"환불율 조회 결과"
union AnalyticsCancellationRateOutput = AnalyticsCancellationRate | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"카드결제 현황 조회 결과"
union AnalyticsCardChartOutput = AnalyticsCardChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"카드사별 결제 현황 조회 결과"
union AnalyticsCardCompanyChartOutput = AnalyticsCardCompanyChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"간편결제 현황 조회 결과"
union AnalyticsEasyPayChartOutput = AnalyticsEasyPayChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"간편결제사별 결제 현황 조회 결과"
union AnalyticsEasyPayProviderChartOutput = AnalyticsEasyPayProviderChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"해외 결제 사용 여부 조회 결과"
union AnalyticsOverseasPaymentUsageOutput = AnalyticsOverseasPaymentUsage | UnauthorizedError | ForbiddenError | InternalError

"결제현황 인사이트 조회 결과"
union AnalyticsPaymentChartInsightOutput = AnalyticsPaymentChartInsight | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제현황 조회 결과"
union AnalyticsPaymentChartOutput = AnalyticsPaymentChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제현황 조회 결과"
union AnalyticsPaymentMethodChartOutput = AnalyticsPaymentMethodChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제수단 트렌드 조회 결과"
union AnalyticsPaymentMethodTrendChartOutput = AnalyticsPaymentMethodTrendChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제환경별 결제전환율 조회 결과"
union AnalyticsPaymentStatusByPaymentClientChartOutput = AnalyticsPaymentStatusByPaymentClientChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제수단별 결제전환율 조회 결과"
union AnalyticsPaymentStatusByPaymentMethodChartOutput = AnalyticsPaymentStatusByPaymentMethodChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"PG사별 결제전환율 조회 결과"
union AnalyticsPaymentStatusByPgCompanyChartOutput = AnalyticsPaymentStatusByPgCompanyChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제상태 이력 집계 결과"
union AnalyticsPaymentStatusChartOutput = AnalyticsPaymentStatusChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제현황 조회 결과"
union AnalyticsPgCompanyChartOutput = AnalyticsPgCompanyChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"결제대행사별 거래 추이 조회 결과"
union AnalyticsPgCompanyTrendChartOutput = AnalyticsPgCompanyTrendChart | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"연 결제 가능 여부 검증 결과"
union AnnualBillingAvailabilityValidateOutput = AnnualBillingAvailabilityValidatePayload | UnauthorizedError | BusinessLicenseNotFoundError | AnnualPlanAlreadyBeingAppliedError | ForbiddenError | NotRegisteredBillingCardError | NotChargedForPreviousMonthError | ExemptedMerchantError | InternalError

"파트너 상태 승인 완료 변경 결과"
union ApprovePlatformPartnerOutput = ApprovePlatformPartnerPayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformPartnerNotFoundError | PlatformArchivedPartnerError | InternalError

"추가 수수료 정책 보관 결과"
union ArchivePlatformAdditionalFeePolicyOutput = ArchivePlatformAdditionalFeePolicyPayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformCannotArchiveScheduledAdditionalFeePolicyError | InternalError

"계약 보관 결과"
union ArchivePlatformContractOutput = ArchivePlatformContractPayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformCannotArchiveScheduledContractError | InternalError

"할인 분담 보관 결과"
union ArchivePlatformDiscountSharePolicyOutput = ArchivePlatformDiscountSharePolicyPayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformCannotArchiveScheduledDiscountSharePolicyError | InternalError

"파트너 보관 결과"
union ArchivePlatformPartnerOutput = ArchivePlatformPartnerPayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformPartnerNotFoundError | PlatformCannotArchiveScheduledPartnerError | InternalError

"인증서 조회 결과"
union B2bCertificateOutput = B2bCertificate | UnauthorizedError | B2bExternalServiceError | B2bMemberCompanyNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bCertificateUnregisteredError | InternalError

"인증서 등록 URL 조회 결과"
union B2bCertificateRegistrationUrlOutput = GetB2bCertificateRegistrationUrlPayload | UnauthorizedError | B2bExternalServiceError | B2bMemberCompanyNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | InternalError

"연동 사업자 검색 결과"
union B2bMemberCompaniesOutput = InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bMemberCompaniesPayload | UnauthorizedError | B2bExternalServiceError | InternalError

"연동 사업자 조회 결과"
union B2bMemberCompanyOutput = B2bMemberCompany | UnauthorizedError | B2bExternalServiceError | B2bMemberCompanyNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | InternalError

"B2B 기능 활성화 여부 조회 결과"
union B2bMerchantStatusOutput = B2bMerchantStatusPayload | UnauthorizedError | InternalError

"세금 계산서 조회 결과"
union B2bTaxInvoiceOutput = B2bTaxInvoice | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | InternalError

"세금계산서 랜딩 페이지용 공급자 API 결과"
union B2bTaxInvoiceSupplierApiRequestOutput = B2bTaxInvoiceSupplierApiRequestPayload | UnauthorizedError | B2bTaxInvoiceTokenReplacedError | B2bMemberCompanyNotFoundError | B2bExternalServiceError | B2bTaxInvoiceTokenNotFoundError | B2bTaxInvoiceTokenExpiredError | B2bCertificateUnregisteredError | InvalidRequestError | B2bNotEnabledError | B2bTaxInvoiceSupplierBrnMismatchError | B2bTaxInvoiceNotFoundError | ForbiddenError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNotIssuedStatusError | InternalError

"세금 계산서 다건 조회 결과"
union B2bTaxInvoicesOutput = B2bTaxInvoicesPayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | InternalError

"개인 / 법인 사업자 정보"
union BusinessLicenseOcrClassification = BusinessLicenseOcrClassificationCorporation | BusinessLicenseOcrClassificationSoleProprietorship

"세금 계산서 역발행 취소 결과"
union CancelB2bTaxInvoiceIssuanceOutput = CancelB2bTaxInvoiceIssuancePayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotIssuedStatusError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bTaxInvoiceNotFoundError | InternalError

"세금 계산서 역발행 요청 취소 결과"
union CancelB2bTaxInvoiceRequestOutput = InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoRecipientDocumentKeyError | CancelB2bTaxInvoiceRequestPayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InternalError

"추가 수수료 정책 예약 업데이트 취소 결과"
union CancelPlatformAdditionalFeePolicyScheduleOutput = InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | UnauthorizedError | CancelPlatformAdditionalFeePolicySchedulePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"일괄 지급 취소 결과"
union CancelPlatformBulkPayoutOutput = CancelPlatformBulkPayoutPayload | UnauthorizedError | PlatformBulkPayoutNonCancellableStatusError | ForbiddenError | PlatformNotEnabledError | InvalidRequestError | PlatformBulkPayoutNotFoundError | InternalError

"플랫폼 일괄 작업 취소 결과"
union CancelPlatformBulkTaskOutput = CancelPlatformBulkTaskPayload | UnauthorizedError | PlatformBulkTaskNotFoundError | PlatformBulkTaskNonCancellableStatusError | InvalidRequestError | PlatformNotEnabledError | ForbiddenError | InternalError

"계약 예약 업데이트 취소 결과"
union CancelPlatformContractScheduleOutput = InvalidRequestError | PlatformContractNotFoundError | UnauthorizedError | CancelPlatformContractSchedulePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"할인 분담 정책 예약 업데이트 취소 결과"
union CancelPlatformDiscountSharePolicyScheduleOutput = InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | UnauthorizedError | CancelPlatformDiscountSharePolicySchedulePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"파트너 예약 업데이트 취소 결과"
union CancelPlatformPartnerScheduleOutput = InvalidRequestError | PlatformPartnerNotFoundError | UnauthorizedError | CancelPlatformPartnerSchedulePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"결제 예정 시각 변경 요청 결과"
union ChangePaymentScheduleOutput = UnauthorizedError | ForbiddenError | PaymentScheduleNotFoundError | ChangePaymentSchedulePayload | InvalidRequestError | PaymentScheduleNotScheduledError | InternalError

"채널 그룹 세션 목록 조회 결과"
union ChannelGroupSessionsOutput = ChannelGroupSessionList | InternalError

"결제 예약 건이 존재하는 채널 그룹 정보 조회 결과"
union ChannelGroupUsageByPaymentSchedulesOutput = ChannelGroupUsageByPaymentSchedulesPayload | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

"결제 건이 존재하는 채널 그룹 정보 조회 결과"
union ChannelGroupUsageByPaymentsOutput = ChannelGroupUsageByPaymentsPayload | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

"채널 그룹 목록 조회 결과"
union ChannelGroupsOutput = ForbiddenError | StoreNotFoundError | UnauthorizedError | ChannelGroupsPayload | InvalidRequestError | InternalError

union ChannelSpecificFailure = ChannelSpecificFailureInvalidRequest | ChannelSpecificFailurePgProvider

"채널 다건 조회 결과"
union ChannelsOutput = ChannelsPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"파트너 연동 사업자 일괄 연동 결과"
union ConnectBulkPartnerMemberCompanyOutput = InvalidRequestError | PlatformPartnerNotFoundError | UnauthorizedError | PlatformTargetPartnerNotFoundError | PlatformBtxNotEnabledError | ConnectBulkPartnerMemberCompanyPayload | PlatformNotEnabledError | ForbiddenError | PlatformExternalApiFailedError | InternalError

"파트너 연동 사업자 연동 결과"
union ConnectPartnerMemberCompanyOutput = ForbiddenError | PlatformPartnerTypeIsNotBusinessError | PlatformExternalApiFailedError | ConnectPartnerMemberCompanyPayload | PlatformNotEnabledError | PlatformMemberCompanyNotConnectableStatusError | UnauthorizedError | PlatformPartnerTaxationTypeIsSimpleError | PlatformPartnerScheduleExistsError | InvalidRequestError | PlatformPartnerNotFoundError | PlatformBtxNotEnabledError | InternalError

"파일 업로드 URL 생성 요청 결과"
union CreateB2bFileUploadUrlOutput = InvalidRequestError | B2bNotEnabledError | ForbiddenError | CreateB2bFileUploadUrlPayload | UnauthorizedError | B2bExternalServiceError | InternalError

"플랫폼 파트너 일괄 등록 결과"
union CreateBulkPlatformPartnersOutput = CreateBulkPlatformPartnersPayload | UnauthorizedError | PlatformFileNotFoundError | PlatformInvalidSheetError | InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformExternalApiFailedError | InternalError

"플랫폼 정산건 일괄 등록 결과"
union CreateBulkPlatformTransfersOutput = CreateBulkPlatformTransfersPayload | UnauthorizedError | PlatformFileNotFoundError | PlatformInvalidSheetError | InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformExternalApiFailedError | InternalError

union CreateChannelGroupOutput = CreateChannelGroupPayload | InvalidRequestError | ChannelNotFoundError | LimitExceededError | UnauthorizedError | ForbiddenError | StoreNotFoundError | ChannelGroupDuplicateNameError | InternalError

union CreateManualTransferOutput = CreateManualTransferPayload | UnauthorizedError | ForbiddenError | PlatformUserDefinedPropertyNotFoundError | InvalidRequestError | PlatformNotEnabledError | PlatformPartnerNotFoundError | InternalError

union CreateOrderCancelTransferOutput = PlatformProductIdNotFoundError | PlatformCancellableDiscountAmountExceededError | PlatformSettlementAmountExceededError | CreateOrderCancelTransferPayload | UnauthorizedError | PlatformCannotSpecifyTransferError | PlatformDiscountSharePolicyIdDuplicatedError | PlatformCancellableDiscountTaxFreeAmountExceededError | PlatformOrderTransferAlreadyCancelledError | PlatformTransferAlreadyExistsError | PlatformOrderDetailMismatchedError | ForbiddenError | PlatformCancellableAmountExceededError | PlatformTransferDiscountSharePolicyNotFoundError | PlatformCancellationAndPaymentTypeMismatchedError | InvalidRequestError | PlatformNotEnabledError | PlatformSettlementCancelAmountExceededPortOneCancelError | PlatformPaymentNotFoundError | PlatformProductIdDuplicatedError | PlatformCancellableProductQuantityExceededError | PlatformTransferNotFoundError | PlatformCancellationNotFoundError | PlatformUserDefinedPropertyNotFoundError | InternalError

union CreateOrderTransferOutput = PlatformContractNotFoundError | PlatformPaymentNotFoundError | InvalidRequestError | PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError | PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError | PlatformSettlementPaymentAmountExceededPortOnePaymentError | PlatformSettlementTaxFreeAmountExceededPortOnePaymentError | PlatformUserDefinedPropertyNotFoundError | PlatformNotEnabledError | PlatformPartnerNotFoundError | PlatformSettlementParameterNotFoundError | PlatformAdditionalFeePoliciesNotFoundError | PlatformDiscountSharePoliciesNotFoundError | PlatformProductIdDuplicatedError | PlatformSettlementAmountExceededError | PlatformCurrencyNotSupportedError | PlatformTransferAlreadyExistsError | PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError | ForbiddenError | CreateOrderTransferPayload | UnauthorizedError | InternalError

"추가 수수료 정책 생성 결과"
union CreatePlatformAdditionalFeePolicyOutput = InvalidRequestError | PlatformAdditionalFeePolicyAlreadyExistsError | UnauthorizedError | CreatePlatformAdditionalFeePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"대량이체 생성 결과"
union CreatePlatformBulkPayoutOutput = InvalidRequestError | ForbiddenError | PlatformNotEnabledError | PlatformCurrencyNotSupportedForAgencyMethodError | PlatformNonPayablePartnerSettlementStatusError | PlatformActiveBulkPayoutAlreadyExistsError | PlatformNoPayablePartnerSettlementsError | PlatformVirtualAccountNotAllocatedError | CreatePlatformBulkPayoutPayload | UnauthorizedError | InternalError

"계약 객체 생성 결과"
union CreatePlatformContractOutput = InvalidRequestError | PlatformContractAlreadyExistsError | UnauthorizedError | CreatePlatformContractPayload | PlatformNotEnabledError | ForbiddenError | InternalError

"할인 분담 정책 생성 결과"
union CreatePlatformDiscountSharePolicyOutput = InvalidRequestError | PlatformDiscountSharePolicyAlreadyExistsError | UnauthorizedError | CreatePlatformDiscountSharePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"플랫폼 파일 업로드 url 생성 결과"
union CreatePlatformFileUploadUrlOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | CreatePlatformFileUploadUrlPayload | UnauthorizedError | InternalError

"파트너 생성 결과"
union CreatePlatformPartnerOutput = UnauthorizedError | PlatformAccountVerificationNotFoundError | PlatformAccountVerificationAlreadyUsedError | InvalidRequestError | PlatformPartnerIdAlreadyExistsError | PlatformUserDefinedPropertyNotFoundError | PlatformCompanyVerificationAlreadyUsedError | PlatformContractNotFoundError | PlatformAccountVerificationFailedError | PlatformCurrencyNotSupportedError | CreatePlatformPartnerPayload | PlatformNotEnabledError | ForbiddenError | InternalError

"파트너 다건 생성 결과"
union CreatePlatformPartnersOutput = InvalidRequestError | PlatformPartnerIdsAlreadyExistError | UnauthorizedError | PlatformCurrencyNotSupportedError | ForbiddenError | PlatformContractsNotFoundError | PlatformPartnerIdsDuplicatedError | PlatformUserDefinedPropertyNotFoundError | CreatePlatformPartnersPayload | PlatformNotEnabledError | InternalError

"정산 파라미터 생성 결과"
union CreatePlatformSettlementParameterOutput = CreatePlatformSettlementParameterPayload | UnauthorizedError | PlatformSettlementParameterKeyAlreadyExistsError | PlatformSettlementParameterCountLimitExceededError | InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformSettlementParameterKeyConflictUserDefinedFormulaError | InternalError

"사용자 정의 속성 생성 결과"
union CreatePlatformUserDefinedPropertyOutput = CreatePlatformUserDefinedPropertyPayload | UnauthorizedError | PlatformUserDefinedPropertiesMaxCountsExceededError | PlatformUserDefinedPropertyKeyAlreadyExistsError | InvalidRequestError | PlatformNotEnabledError | ForbiddenError | InternalError

"프로모션 그룹 생성 결과"
union CreatePromotionGroupOutput = UnauthorizedError | ForbiddenError | PromotionGroupDuplicateNameError | CreatePromotionGroupPayload | InvalidRequestError | InternalError

"프로모션 생성 결과"
union CreatePromotionOutput = UnauthorizedError | ForbiddenError | DuplicatePromotionNameError | CreatePromotionPayload | InvalidRequestError | InternalError

union CreateStoreOutput = CreateStorePayload | UnauthorizedError | DuplicatedTierCodeError | DuplicatedStoreNameError | InvalidRequestError | ForbiddenError | RequiredTermDisagreedError | InternalError

"세금 계산서 일괄 삭제 요청 결과"
union DeleteB2bBulkTaxInvoiceOutput = DeleteB2bBulkTaxInvoicePayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bMaxTaxInvoiceRequestNumberExceededError | InternalError

"세금 계산서 삭제 결과"
union DeleteB2bTaxInvoiceOutput = DeleteB2bTaxInvoicePayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bTaxInvoiceNonDeletableStatusError | InternalError

union DeleteChannelGroupOutput = UnauthorizedError | ForbiddenError | ChannelGroupNotFoundError | DeleteChannelGroupPayload | InvalidRequestError | InternalError

union DeleteChannelGroupScheduledSessionOutput = UnauthorizedError | ForbiddenError | ChannelGroupNotFoundError | DeleteChannelGroupScheduledSessionPayload | InvalidRequestError | NoScheduledSessionError | InternalError

union DeletePaymentRecoverySettingOutput = DeletePaymentRecoverySettingPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"플랫폼 정산 계산기 삭제 결과"
union DeletePlatformSettlementCalculatorOutput = PlatformSettlementCalculator | UnauthorizedError | PlatformVersionNotFoundError | PlatformNonDeletableVersionError | InvalidRequestError | PlatformNotEnabledError | ForbiddenError | InternalError

"정산건 삭제 결과"
union DeletePlatformTransferOutput = DeletePlatformTransferPayload | PlatformTransferNotFoundError | InvalidRequestError | UnauthorizedError | PlatformCancelOrderTransfersExistsError | PlatformTransferNonDeletableStatusError | PlatformNotEnabledError | ForbiddenError | InternalError

"프로모션 그룹 삭제 결과"
union DeletePromotionGroupOutput = UnauthorizedError | ForbiddenError | PromotionGroupNotFoundError | DeletePromotionGroupPayload | InvalidRequestError | InternalError

union DeleteStoreOutput = InvalidRequestError | ForbiddenError | StoreNotFoundError | DeleteStorePayload | UnauthorizedError | RepresentativeStoreCannotBeDeletedError | InternalError

union DeleteV2ApiSecretOutput = ForbiddenError | V2ApiSecretNotFoundError | StoreNotFoundError | DeleteV2ApiSecretPayload | UnauthorizedError | InternalError

"파트너 연동 사업자 일괄 연동 해제 결과"
union DisconnectBulkPartnerMemberCompanyOutput = InvalidRequestError | PlatformPartnerNotFoundError | UnauthorizedError | PlatformTargetPartnerNotFoundError | PlatformBtxNotEnabledError | DisconnectBulkPartnerMemberCompanyPayload | PlatformNotEnabledError | ForbiddenError | PlatformExternalApiFailedError | InternalError

"파트너 연동 사업자 연동 해제 결과"
union DisconnectPartnerMemberCompanyOutput = ForbiddenError | PlatformPartnerTypeIsNotBusinessError | PlatformOngoingTaxInvoiceExistsError | DisconnectPartnerMemberCompanyPayload | PlatformNotEnabledError | PlatformExternalApiFailedError | UnauthorizedError | PlatformPartnerTaxationTypeIsSimpleError | PlatformMemberCompanyNotConnectedError | InvalidRequestError | PlatformPartnerNotFoundError | PlatformBtxNotEnabledError | InternalError

"세금 계산서 임시저장 요청 결과"
union DraftB2bTaxInvoiceOutput = DraftB2bTaxInvoicePayload | UnauthorizedError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bSupplierNotFoundError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | InvalidRequestError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bModificationNotProvidedError | ForbiddenError | B2bRecipientNotFoundError | B2bIdAlreadyExistsError | B2bTaxInvoiceNotFoundError | InternalError

"일괄 지급 실행 결과"
union ExecutePlatformBulkPayoutOutput = PlatformPayoutMethodNotAgencyError | PlatformNotEnoughAccountBalanceError | PlatformVirtualAccountNotAllocatedError | PlatformRemitRequestFailedError | PlatformScheduleNotAllowedPastTimeError | ExecutePlatformBulkPayoutPayload | UnauthorizedError | PlatformVirtualAccountBalanceCheckFailedError | PlatformSignatureVerificationFailedError | PlatformBulkPayoutScheduleLimitExceededError | PlatformBulkPayoutNotFoundError | PlatformBulkPayoutStatusNotPreparingError | ForbiddenError | PlatformCannotScheduledBankMaintenanceTimedError | PlatformNonSchedulableTimeError | PlatformNotEnabledError | InvalidRequestError | PlatformBrnNotRegisteredError | PlatformDocumentHashMismatchedError | InternalError

"웹훅 시크릿 만료 결과"
union ExpireStoreWebhookSecretOutput = InvalidRequestError | StoreNotFoundError | ForbiddenError | ExpireStoreWebhookSecretPayload | UnauthorizedError | WebhookSecretNotFoundError | InternalError

"지급 건 생성 결과"
union GeneratePlatformPayoutsOutput = PlatformNotEnabledError | InvalidRequestError | PlatformNoSelectedPartnerSettlementsError | PlatformNegativePayoutAmountPartnersError | ForbiddenError | PlatformBulkPayoutNotFoundError | PlatformPayoutsAlreadyGeneratedError | PlatformBulkPayoutStatusNotPreparingError | GeneratePlatformPayoutsPayload | UnauthorizedError | InternalError

"송금 전자 서명용 문서 생성 결과"
union GeneratePlatformRemitDocumentContentOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformExternalApiTemporarilyFailedError | PlatformVirtualAccountNotAllocatedError | PlatformCurrencyNotSupportedError | PlatformExternalApiFailedError | PlatformNotEnoughAccountBalanceError | GeneratePlatformRemitDocumentContentPayload | UnauthorizedError | InternalError

"웹훅 실패 건수 조회 결과"
union GetFailedPaymentWebhookCountOutput = GetFailedPaymentWebhookCountPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"웹훅 일괄 재발송 진행 상태 조회 결과"
union GetFailedWebhooksResendStatusOutput = GetFailedWebhooksResendStatusPayload | UnauthorizedError | ForbiddenError | InternalError

"예금주 조회 결과"
union GetPlatformAccountHolderOutput = PlatformAccountHolder | PlatformNotEnabledError | PlatformExternalApiFailedError | PlatformNotSupportedBankError | InvalidRequestError | UnauthorizedError | PlatformExternalApiTemporarilyFailedError | ForbiddenError | InternalError

"사업자 조회 결과"
union GetPlatformCompanyStateOutput = GetPlatformCompanyStatePayload | PlatformNotEnabledError | PlatformCompanyNotFoundError | PlatformExternalApiFailedError | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"사용자 정의 속성 조회 결과"
union GetPlatformUserDefinedPropertiesOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | FetchPlatformUserDefinedPropertiesPayload | UnauthorizedError | InternalError

"세금 계산서 발행 승인 결과"
union IssueB2bTaxInvoiceOutput = InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoSupplierDocumentKeyError | IssueB2bTaxInvoicePayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InternalError

"다운로드 Pre-Signed URL 정보 결과"
union IssueStoreFileDownloadUrlOutput = ForbiddenError | InvalidRequestError | StoreFileNotFoundError | IssueStoreFileDownloadUrlPayload | UnauthorizedError | InternalError

"Pre-Signed URL 정보"
union IssueStoreFileUploadUrlOutput = ForbiddenError | InvalidRequestError | StoreNotFoundError | IssueStoreFileUploadUrlPayload | UnauthorizedError | InternalError

"웹훅 시크릿 발급 결과"
union IssueStoreWebhookSecretOutput = InvalidRequestError | StoreNotFoundError | ForbiddenError | IssueStoreWebhookSecretPayload | UnauthorizedError | TooManyWebhookSecretsError | InternalError

union IssueV2ApiSecretOutput = IssueV2ApiSecretPayload | UnauthorizedError | ForbiddenError | StoreNotFoundError | InternalError

"API secret 로그인 결과"
union LoginViaApiSecretOutput = LoginViaApiSecretPayload | UnauthorizedError | InternalError

"고객사 과금 청구 내역 목록 조회 결과"
union MerchantBillingInstanceGetOutput = ForbiddenError | MerchantBillingNotFoundError | BusinessLicenseNotFoundError | MerchantBillingInstance | UnauthorizedError | InternalError

"고객사 과금 청구 내역 목록 조회 결과"
union MerchantBillingInstancesGetOutput = MerchantBillingInstancesPayload | UnauthorizedError | ForbiddenError | BusinessLicenseNotFoundError | InternalError

"고객사의 청구서 담당자 결과"
union MerchantBillingManagerOutput = ForbiddenError | MerchantBillingManagerNotFoundError | BusinessLicenseNotFoundError | MerchantBillingManager | UnauthorizedError | InternalError

"고객사의 서비스 과금을 위한 카드 리스트 결과"
union MerchantBillingMethodCardsOutput = MerchantBillingMethodCardsPayload | UnauthorizedError | ForbiddenError | BusinessLicenseNotFoundError | InternalError

"고객사 과금 정책 조회 결과"
union MerchantBillingPolicyOutput = MerchantBillingPolicy | UnauthorizedError | ForbiddenError | BusinessLicenseNotFoundError | InternalError

"과금 사용량 결과"
union MerchantBillingUsageOutput = MerchantBillingUsage | UnauthorizedError | ForbiddenError | BusinessLicenseNotFoundError | InternalError

"고객사 정보 조회 결과"
union MerchantOutput = Merchant | UnauthorizedError | InternalError

"고객사 약관 동의정보 조회 결과"
union MerchantTermsOutput = MerchantTerms | UnauthorizedError | ForbiddenError | InvalidRequestError | InternalError

"프로모션 일시중지 결과"
union PausePromotionOutput = UnauthorizedError | ForbiddenError | PromotionNotFoundError | PausePromotionPayload | InvalidRequestError | PromotionTerminatedError | InternalError

union PaymentReconciliationPaymentCurrenciesOutput = PaymentReconciliationPaymentCurrenciesPayload | UnauthorizedError | InvalidRequestError | ForbiddenError | InternalError

union PaymentReconciliationSettlementCurrenciesOutput = PaymentReconciliationSettlementCurrenciesPayload | UnauthorizedError | InvalidRequestError | ForbiddenError | InternalError

union PaymentReconciliationSettlementStatisticsOutput = PaymentReconciliationSettlementStatisticsPayload | UnauthorizedError | InvalidRequestError | ForbiddenError | InternalError

union PaymentReconciliationTransactionStatisticsOutput = PaymentReconciliationTransactionStatisticsPayload | UnauthorizedError | InvalidRequestError | ForbiddenError | InternalError

"빌링 결제 리커버리 최근 실행 내역 조회 결과"
union PaymentRecoveryLogOutput = UnauthorizedError | ForbiddenError | PaymentRecoveryLogNotFoundError | PaymentRecoveryLog | InvalidRequestError | InternalError

"빌링 결제 리커버리 세팅값 조회 결과"
union PaymentRecoverySettingOutput = UnauthorizedError | ForbiddenError | PaymentRecoverySettingNotFoundError | PaymentRecoverySetting | InvalidRequestError | InternalError

union PaymentScheduleCalendarOutput = PaymentScheduleCalendar | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

"결제 예약 단건 조회 결과"
union PaymentScheduleOutput = ForbiddenError | PaymentScheduleNotFoundError | UnauthorizedError | ScheduledPaymentSchedule | StartedPaymentSchedule | PendingPaymentSchedule | SucceededPaymentSchedule | FailedPaymentSchedule | RevokedPaymentSchedule | InvalidRequestError | InternalError

union PaymentScheduleStatOutput = PaymentScheduleStat | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

"결제 예약 다건 조회 결과"
union PaymentSchedulesOutput = PaymentSchedulesPayload | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

"결제 예약 건이 존재하는 PG사 조회 결과"
union PgCompanyUsageByPaymentSchedulesOutput = PgCompanyUsageByPaymentSchedulesPayload | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

"결제 건이 존재하는 PG사 조회 결과"
union PgCompanyUsageByPaymentsOutput = PgCompanyUsageByPaymentsPayload | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

"이체 내역 다건 조회 결과"
union PlatformAccountTransfersOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformAccountTransfersPayload | UnauthorizedError | InternalError

"추가 수수료 정책 다건 조회 결과"
union PlatformAdditionalFeePoliciesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformAdditionalFeePoliciesPayload | PlatformNotEnabledError | InternalError

"추가 수수료 정책 아이디 조회 결과"
union PlatformAdditionalFeePolicyIdOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformAdditionalFeePolicyId | PlatformNotEnabledError | InternalError

"추가 수수료 정책 제안 조회 결과"
union PlatformAdditionalFeePolicyIdSuggestionOutput = PlatformAdditionalFeePolicyIdSuggestion | PlatformNotEnabledError | InvalidRequestError | UnauthorizedError | ForbiddenError

"추가 수수료 정책 단건 조회 결과"
union PlatformAdditionalFeePolicyOutput = InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | UnauthorizedError | PlatformAdditionalFeePolicy | PlatformNotEnabledError | ForbiddenError | InternalError

"추가 수수료 정책 예약 업데이트 조회 결과"
union PlatformAdditionalFeePolicyScheduleOutput = InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | UnauthorizedError | PlatformAdditionalFeePolicySchedule | PlatformNotEnabledError | ForbiddenError | InternalError

"추가 수수료 정책 요약 조회"
union PlatformAdditionalFeePolicySummariesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformAdditionalFeePolicySummaries | PlatformNotEnabledError | InternalError

"일괄 지급 전자 서명용 문서 생성 결과"
union PlatformBulkPayoutDocumentContentOutput = PlatformElectronicDocumentContent | UnauthorizedError | PlatformPayoutsNotGeneratedError | PlatformPayoutMethodNotAgencyError | InvalidRequestError | PlatformNotEnabledError | PlatformBulkPayoutNotFoundError | ForbiddenError | InternalError

"일괄 지급 조회 결과"
union PlatformBulkPayoutOutput = InvalidRequestError | PlatformNotEnabledError | PlatformBulkPayoutNotFoundError | PlatformBulkPayout | UnauthorizedError | ForbiddenError | InternalError

"일괄지급 정산내역 대시보드 조회 결과"
union PlatformBulkPayoutPartnerSettlementsDashboardOutput = PlatformNotEnabledError | InvalidRequestError | PlatformBulkPayoutNotFoundError | PlatformBulkPayoutPartnerSettlementsDashboardPayload | UnauthorizedError | ForbiddenError | InternalError

"대량이체 내 파트너 정산 다건 조회 결과"
union PlatformBulkPayoutPartnerSettlementsOutput = InvalidRequestError | PlatformNotEnabledError | PlatformBulkPayoutNotFoundError | PlatformBulkPayoutPartnerSettlementsPayload | UnauthorizedError | ForbiddenError | InternalError

"플랫폼 다건 조회 결과"
union PlatformBulkPayoutsOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformBulkPayoutsPayload | UnauthorizedError | InternalError

"플랫폼 일괄 작업 조회 결과"
union PlatformBulkTaskOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformBulkTask | UnauthorizedError | PlatformBulkTaskNotFoundError | InternalError

"플랫폼 일괄 작업 다건 조회 결과"
union PlatformBulkTasksOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformBulkTasksPayload | UnauthorizedError | InternalError

"계약 아이디 조회 결과"
union PlatformContractIdOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformContractId | PlatformNotEnabledError | InternalError

"계약 아이디 제안 조회 결과"
union PlatformContractIdSuggestionOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformContractIdSuggestion | PlatformNotEnabledError | InternalError

"계약 조회 결과"
union PlatformContractOutput = InvalidRequestError | PlatformContractNotFoundError | UnauthorizedError | PlatformContract | PlatformNotEnabledError | ForbiddenError | InternalError

"계약 예약 업데이트 조회 결과"
union PlatformContractScheduleOutput = InvalidRequestError | PlatformContractNotFoundError | UnauthorizedError | PlatformContractSchedule | PlatformNotEnabledError | ForbiddenError | InternalError

"계약 요약 다건 조회 결과"
union PlatformContractSummariesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformContractSummariesPayload | PlatformNotEnabledError | InternalError

"계약 다건 조회 결과"
union PlatformContractsOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformContractsPayload | PlatformNotEnabledError | InternalError

"할인 분담 정책 다건 조회 결과"
union PlatformDiscountSharePoliciesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformDiscountSharePoliciesPayload | PlatformNotEnabledError | InternalError

"할인 분담 정책 필터 옵션 조회 결과"
union PlatformDiscountSharePolicyFilterOptionsOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformDiscountSharePolicyFilterOptions | PlatformNotEnabledError | InternalError

"할인 분담 정책 아이디 조회 결과"
union PlatformDiscountSharePolicyIdOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformDiscountSharePolicyId | PlatformNotEnabledError | InternalError

"할인 분담 정책 아이디 제안 조회 결과"
union PlatformDiscountSharePolicyIdSuggestionOutput = PlatformDiscountSharePolicyIdSuggestion | PlatformNotEnabledError | InvalidRequestError | UnauthorizedError | ForbiddenError

"할인 분담 정책 조회 결과"
union PlatformDiscountSharePolicyOutput = InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | UnauthorizedError | PlatformDiscountSharePolicy | PlatformNotEnabledError | ForbiddenError | InternalError

"할인 분담 정책 예약 업데이트 조회 결과"
union PlatformDiscountSharePolicyScheduleOutput = InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | UnauthorizedError | PlatformDiscountSharePolicySchedule | PlatformNotEnabledError | ForbiddenError | InternalError

"플랫폼 중개수수료 정보"
union PlatformFee = PlatformFixedAmountFee | PlatformFixedRateFee

"공휴일 조회 결과"
union PlatformHolidaysOutput = PlatformHolidaysPayload | UnauthorizedError | InternalError

union PlatformInvalidSheetCellError = PlatformInvalidSheetCellInvalidValueError | PlatformInvalidSheetCellRequiredError

"플랫폼 정보 조회 결과"
union PlatformOutput = Platform | PlatformNotEnabledError | InvalidRequestError | UnauthorizedError | InternalError

"파트너 계좌 은행 조회 결과"
union PlatformPartnerBanksOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerBanksPayload | PlatformNotEnabledError | InternalError

"파트너 계좌 통화 조회 결과"
union PlatformPartnerCurrenciesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerCurrenciesPayload | PlatformNotEnabledError | InternalError

"파트너 현황 조회 결과"
union PlatformPartnerDashboardOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerDashboard | PlatformNotEnabledError | InternalError

"파트너 필터 옵션 조회 결과"
union PlatformPartnerFilterOptionsOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerFilterOptions | PlatformNotEnabledError | InternalError

"파트너 아이디 조회 결과"
union PlatformPartnerIdOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerId | PlatformNotEnabledError | InternalError

"파트너 아이디 제안 조회 결과"
union PlatformPartnerIdSuggestionOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerIdSuggestion | PlatformNotEnabledError | InternalError

"플랫폼 파트너 조회 결과"
union PlatformPartnerOutput = InvalidRequestError | PlatformPartnerNotFoundError | UnauthorizedError | PlatformPartner | PlatformNotEnabledError | ForbiddenError | InternalError

"파트너 예약 업데이트 조회 결과"
union PlatformPartnerScheduleOutput = InvalidRequestError | PlatformPartnerNotFoundError | UnauthorizedError | PlatformPartnerSchedule | PlatformNotEnabledError | ForbiddenError | InternalError

"정산내역 통화 조회 결과"
union PlatformPartnerSettlementCurrenciesOutput = PlatformNotEnabledError | InvalidRequestError | ForbiddenError | PlatformPartnerSettlementCurrenciesPayload | UnauthorizedError | InternalError

"정산내역 대시보드 조회 결과"
union PlatformPartnerSettlementDashboardOutput = PlatformNotEnabledError | InvalidRequestError | ForbiddenError | PlatformPartnerSettlementDashboard | UnauthorizedError | InternalError

"정산일 리스트 조회 결과"
union PlatformPartnerSettlementDatesOutput = PlatformNotEnabledError | InvalidRequestError | ForbiddenError | PlatformPartnerSettlementDatesPayload | UnauthorizedError | InternalError

"정산내역 조회 결과"
union PlatformPartnerSettlementOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformPartnerOrderSettlement | PlatformPartnerOrderCancelSettlement | PlatformPartnerManualSettlement | UnauthorizedError | PlatformPartnerSettlementNotFoundError | InternalError

"정산내역 다건 조회 결과"
union PlatformPartnerSettlementsOutput = PlatformNotEnabledError | InvalidRequestError | ForbiddenError | PlatformPartnerSettlementsPayload | UnauthorizedError | InternalError

"파트너 요약 다건 조회 결과"
union PlatformPartnerSummariesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerSummariesPayload | PlatformNotEnabledError | InternalError

"파트너 태그 조회 결과"
union PlatformPartnerTagsOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnerTagsPayload | PlatformNotEnabledError | InternalError

"파트너 유형별 추가 정보"
union PlatformPartnerType = PlatformPartnerTypeBusiness | PlatformPartnerTypeNonWhtPayer | PlatformPartnerTypeWhtPayer

"파트너 다건 조회 결과"
union PlatformPartnersOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPartnersPayload | PlatformNotEnabledError | InternalError

"지급 가능한 정산일 리스트 조회 결과"
union PlatformPayableSettlementDatesOutput = PlatformNotEnabledError | InvalidRequestError | ForbiddenError | PlatformPayableSettlementDatesPayload | UnauthorizedError | InternalError

"결제 수단"
union PlatformPaymentMethod = PlatformPaymentMethodCard | PlatformPaymentMethodEasyPay | PlatformPaymentMethodGiftCertificate | PlatformPaymentMethodMobile | PlatformPaymentMethodTransfer | PlatformPaymentMethodVirtualAccount

"지급에 사용된 통화 조회 결과"
union PlatformPayoutCurrenciesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformPayoutCurrenciesPayload | PlatformNotEnabledError | InternalError

"지급 조회 결과"
union PlatformPayoutOutput = InvalidRequestError | PlatformNotEnabledError | PlatformPayoutNotFoundError | PlatformPayout | UnauthorizedError | ForbiddenError | InternalError

"플랫폼 지급내역 다건 조회 결과"
union PlatformPayoutsOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformPayoutsPayload | UnauthorizedError | InternalError

"보유 사용 권한 조회 결과"
union PlatformPermissionsOutput = PlatformPermissions | UnauthorizedError | InvalidRequestError | PlatformUserNotFoundError | InternalError

"플랫폼 설정 정보 조회 결과"
union PlatformSettingOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformSetting | UnauthorizedError | InternalError

"플랫폼 정산 계산기 조회 결과"
union PlatformSettlementCalculatorOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformSettlementCalculator | UnauthorizedError | InternalError

"플랫폼 정산 계산기 버전 이력 조회 결과"
union PlatformSettlementCalculatorVersionsOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformSettlementCalculatorVersionsPayload | UnauthorizedError | InternalError

"플랫폼 정산 주기 계산 방식"
union PlatformSettlementCycleMethod = PlatformSettlementCycleMethodDaily | PlatformSettlementCycleMethodManualDates | PlatformSettlementCycleMethodMonthly | PlatformSettlementCycleMethodWeekly

union PlatformSettlementFormulaError = PlatformSettlementFormulaInvalidFunction | PlatformSettlementFormulaInvalidOperator | PlatformSettlementFormulaInvalidSyntax | PlatformSettlementFormulaInvalidVariable | PlatformSettlementFormulaMissingExpectedToken | PlatformSettlementFormulaMissingLeftOperand | PlatformSettlementFormulaMissingOperator | PlatformSettlementFormulaMissingRightOperand | PlatformSettlementFormulaUnexpectedFunctionArguments | PlatformSettlementFormulaUnexpectedToken | PlatformSettlementFormulaUnknownError

"정산 파라미터 다건 조회 결과"
union PlatformSettlementParametersOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformSettlementParametersPayload | UnauthorizedError | InternalError

"정산내역 대시보드 조회 결과"
union PlatformTransferDashboardOutput = PlatformNotEnabledError | InvalidRequestError | ForbiddenError | PlatformTransferDashboard | UnauthorizedError | InternalError

"정산내역 필터 옵션 조회 결과"
union PlatformTransferFilterOptionsOutput = PlatformNotEnabledError | InvalidRequestError | ForbiddenError | PlatformTransferFilterOptions | UnauthorizedError | InternalError

union PlatformTransferOutput = PlatformOrderTransfer | PlatformOrderCancelTransfer | InvalidRequestError | UnauthorizedError | PlatformManualTransfer | PlatformTransferNotFoundError | PlatformNotEnabledError | ForbiddenError | InternalError

union PlatformTransferSummariesOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | PlatformTransferSummariesPayload | PlatformNotEnabledError | InternalError

"가상계좌 정보 조회 결과"
union PlatformVirtualAccountOutput = PlatformVirtualAccount | PlatformNotEnabledError | PlatformExternalApiFailedError | PlatformVirtualAccountNotAllocatedError | InvalidRequestError | UnauthorizedError | PlatformExternalApiTemporarilyFailedError | ForbiddenError | InternalError

union PromotionDiscountScheme = PromotionAmountDiscountScheme | PromotionPercentDiscountScheme

"프로모션 그룹 다건 조회 결과"
union PromotionGroupsOutput = GetPromotionGroupsPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"프로모션 아이디 리스트 조회 결과"
union PromotionIdsOutput = PromotionIdsPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

union PromotionRecoverOption = PromotionRecoverOptionNoRecover | PromotionRecoverOptionRecover

union PromotionSpareBudget = PromotionSpareBudgetAmount | PromotionSpareBudgetPercent

"프로모션 통계 조회 결과"
union PromotionStatisticsOutput = PromotionStatisticsPayload | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

union ReconciliationEasyPayMethod = ReconciliationPaymentMethodCard | ReconciliationPaymentMethodCharge | ReconciliationPaymentMethodEtc | ReconciliationPaymentMethodMobile | ReconciliationPaymentMethodTransfer | ReconciliationPaymentMethodVirtualAccount

union ReconciliationPaymentMethod = ReconciliationPaymentMethodArs | ReconciliationPaymentMethodCard | ReconciliationPaymentMethodCharge | ReconciliationPaymentMethodEasyPay | ReconciliationPaymentMethodEtc | ReconciliationPaymentMethodGiftCertificate | ReconciliationPaymentMethodMobile | ReconciliationPaymentMethodTransfer | ReconciliationPaymentMethodVirtualAccount

union ReconciliationPgSpecifiersOutput = ReconciliationPgSpecifiersPayload | ForbiddenError | UnauthorizedError | InternalError

"대사 서비스 이용약관 동의 여부 조회 결과"
union ReconciliationTermsAndConditionsOutput = ReconciliationTermsAndConditions | UnauthorizedError | InvalidRequestError | ForbiddenError | InternalError

"추가 수수료 정책 복원 결과"
union RecoverPlatformAdditionalFeePolicyOutput = InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | UnauthorizedError | RecoverPlatformAdditionalFeePolicyPayload | PlatformNotEnabledError | ForbiddenError | InternalError

"계약 복원 결과"
union RecoverPlatformContractOutput = InvalidRequestError | PlatformContractNotFoundError | UnauthorizedError | RecoverPlatformContractPayload | PlatformNotEnabledError | ForbiddenError | InternalError

"할인 분담 복원 결과"
union RecoverPlatformDiscountSharePolicyOutput = InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | UnauthorizedError | RecoverPlatformDiscountSharePolicyPayload | PlatformNotEnabledError | ForbiddenError | InternalError

"파트너 복원 결과"
union RecoverPlatformPartnerOutput = InvalidRequestError | PlatformPartnerNotFoundError | UnauthorizedError | RecoverPlatformPartnerPayload | PlatformNotEnabledError | ForbiddenError | InternalError

"토큰 재발급 결과"
union RefreshTokenOutput = RefreshTokenPayload | UnauthorizedError | InternalError

"세금 계산서 역발행 요청 거부 결과"
union RefuseB2bTaxInvoiceRequestOutput = InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoSupplierDocumentKeyError | RefuseB2bTaxInvoiceRequestPayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InternalError

"고객사 연 결제 등록 결과"
union RegisterAnnualBillingOutput = ForbiddenError | AnnualPlanAlreadyBeingAppliedError | BusinessLicenseNotFoundError | NotBillableError | PgProviderError | RegisterAnnualBillingPayload | UnauthorizedError | BillingMethodDoesNotMatchError | NotRegisteredBillingCardError | InternalError

union RegisterB2bMemberCompanyOutput = RegisterB2bMemberCompanyPayload | UnauthorizedError | B2bExternalServiceError | B2bIdAlreadyExistsError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bCompanyAlreadyRegisteredError | InternalError

"고객사의 서비스 과금을 위한 카드 등록 결과"
union RegisterMerchantBillingMethodCardOutput = ForbiddenError | InvalidRequestError | PgProviderError | RegisterMerchantBillingMethodCardPayload | UnauthorizedError | BusinessLicenseNotFoundError | InternalError

"상점 비즈니스 인증정보 등록 결과"
union RegisterStoreBusinessInfoOutput = ForbiddenError | InvalidRequestError | StoreNotFoundError | RegisterStoreBusinessInfoPayload | UnauthorizedError | StoreBusinessInfoAlreadyRegisteredError | InternalError

"개인 / 법인 사업자 정보"
union RegisteredBusinessLicenseClassification = RegisteredBusinessLicenseClassificationCorporation | RegisteredBusinessLicenseClassificationSoleProprietorship

"파트너 상태 승인 거절 변경 결과"
union RejectPlatformPartnerOutput = RejectPlatformPartnerPayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformPartnerNotFoundError | PlatformArchivedPartnerError | InternalError

"가상계좌 송금 결과"
union RemitPlatformVirtualAccountOutput = RemitPlatformVirtualAccountPayload | UnauthorizedError | PlatformVirtualAccountBalanceCheckFailedError | PlatformSignatureVerificationFailedError | PlatformCurrencyNotSupportedError | PlatformExternalApiFailedError | PlatformNotEnoughAccountBalanceError | PlatformNotSupportedBankError | InvalidRequestError | PlatformNotEnabledError | PlatformBrnNotRegisteredError | PlatformDocumentHashMismatchedError | ForbiddenError | PlatformExternalApiTemporarilyFailedError | PlatformVirtualAccountNotAllocatedError | InternalError

"세금 계산서 일괄 역발행 요청 결과"
union RequestB2bBulkTaxInvoiceOutput = RequestB2bBulkTaxInvoicePayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bMaxTaxInvoiceRequestNumberExceededError | InternalError

"세금 계산서 역발행 요청 결과"
union RequestB2bTaxInvoiceOutput = ForbiddenError | B2bModificationNotProvidedError | B2BCannotChangeTaxTypeError | InvalidRequestError | B2bNotEnabledError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNoRecipientDocumentKeyError | B2bExternalServiceError | B2bOriginalTaxInvoiceNotFoundError | B2BTaxInvoiceStatusNotSendingCompletedError | RequestB2bTaxInvoicePayload | UnauthorizedError | B2bTaxInvoiceNotFoundError | InternalError

"세금 계산서 역발행 즉시 요청 결과"
union RequestB2bTaxInvoiceReverseIssuanceOutput = RequestB2bTaxInvoiceReverseIssuancePayload | UnauthorizedError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bSupplierNotFoundError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | InvalidRequestError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bModificationNotProvidedError | ForbiddenError | B2bRecipientNotFoundError | B2bIdAlreadyExistsError | B2bTaxInvoiceNotFoundError | InternalError

"세금계산서 일괄 발행 요청 결과"
union RequestBulkIssuanceByFileOutput = B2bExternalServiceError | B2bFileNotFoundError | B2bFileIsNotSuppliedTemplateError | RequestBulkIssuanceByFilePayload | UnauthorizedError | B2bMaxTaxInvoiceRequestNumberExceededError | ForbiddenError | B2bSupplierNotFoundError | B2bRecipientNotFoundError | InvalidRequestError | B2bNotEnabledError | B2bInvalidElementsError | InternalError

"추가 수수료 정책 예약 업데이트 재설정 결과"
union ReschedulePlatformAdditionalFeePolicyOutput = InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | UnauthorizedError | ReschedulePlatformAdditionalFeePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"일괄 지급 예약 변경 결과"
union ReschedulePlatformBulkPayoutOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | PlatformCannotScheduledBankMaintenanceTimedError | PlatformNonSchedulableTimeError | PlatformBulkPayoutNotFoundError | PlatformBulkPayoutStatusNotScheduledError | PlatformScheduleNotAllowedPastTimeError | ReschedulePlatformBulkPayoutPayload | UnauthorizedError | InternalError

"계약 예약 업데이트 재설정 결과"
union ReschedulePlatformContractOutput = InvalidRequestError | PlatformContractNotFoundError | UnauthorizedError | ReschedulePlatformContractPayload | PlatformNotEnabledError | ForbiddenError | InternalError

"할인 분담 정책 예약 업데이트 재설정 결과"
union ReschedulePlatformDiscountSharePolicyOutput = InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | UnauthorizedError | ReschedulePlatformDiscountSharePayload | PlatformNotEnabledError | ForbiddenError | InternalError

"파트너 예약 업데이트 재설정 결과"
union ReschedulePlatformPartnerOutput = ReschedulePlatformPartnerPayload | PlatformNotEnabledError | PlatformContractNotFoundError | ForbiddenError | InvalidRequestError | PlatformPartnerNotFoundError | UnauthorizedError | PlatformMemberCompanyConnectedPartnerCannotBeScheduledError | InternalError

"세금계산서 역발행 이메일 재발송 API 결과"
union ResendB2bTaxInvoiceReverseIssuanceEmailRequestOutput = InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNotReverseIssuanceError | ResendB2bTaxInvoiceReverseIssuanceEmailRequestPayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InternalError

"웹훅 일괄 재발송 결과"
union ResendFailedWebhooksOutput = ResendFailedPaymentWebhooksPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

"프로모션 재개 결과"
union ResumePromotionOutput = UnauthorizedError | ForbiddenError | PromotionNotFoundError | ResumePromotionPayload | InvalidRequestError | PromotionTerminatedError | InternalError

"재시도 요청 결과"
union RetryPaymentScheduleOutput = PaymentScheduleNotRevokedOrFailedError | BillingKeyAlreadyDeletedError | PaymentScheduleAlreadyExistsError | RetryPaymentSchedulePayload | InvalidRequestError | PgProviderError | PaymentScheduleNotFoundError | ChannelNotFoundError | AlreadyPaidOrWaitingError | UnauthorizedError | ForbiddenError | InternalError

"결제 예약 건 취소 요청 결과"
union RevokePaymentScheduleOutput = UnauthorizedError | ForbiddenError | PaymentScheduleNotFoundError | RevokePaymentSchedulePayload | InvalidRequestError | PaymentScheduleNotScheduledError | InternalError

"고객사의 청구서 담당자 저장 결과"
union SaveMerchantBillingManagerOutput = InvalidRequestError | ForbiddenError | RequiredTermDisagreedError | SaveMerchantBillingManagerPayload | UnauthorizedError | BusinessLicenseNotFoundError | InternalError

"고객사 약관정보 저장 결과"
union SaveMerchantTermsOutput = SaveMerchantTermsPayload | UnauthorizedError | ForbiddenError | InvalidRequestError | InternalError

"상점 비즈니스 인증정보 임시저장 결과"
union SaveTemporaryStoreBusinessInfoOutput = ForbiddenError | InvalidRequestError | StoreNotFoundError | SaveTemporaryStoreBusinessInfoPayload | UnauthorizedError | StoreBusinessInfoAlreadyRegisteredError | InternalError

"추가 수수료 정책 업데이트 예약 결과"
union SchedulePlatformAdditionalFeePolicyOutput = SchedulePlatformAdditionalFeePayload | PlatformNotEnabledError | PlatformArchivedAdditionalFeePolicyError | UnauthorizedError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformAdditionalFeePolicyScheduleAlreadyExistsError | ForbiddenError | InternalError

"계약 업데이트 예약 결과"
union SchedulePlatformContractOutput = SchedulePlatformContractPayload | PlatformNotEnabledError | PlatformArchivedContractError | UnauthorizedError | InvalidRequestError | PlatformContractNotFoundError | PlatformContractScheduleAlreadyExistsError | ForbiddenError | InternalError

"할인 분담 정책 업데이트 예약 결과"
union SchedulePlatformDiscountSharePolicyOutput = SchedulePlatformDiscountSharePayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformDiscountSharePolicyScheduleAlreadyExistsError | PlatformArchivedDiscountSharePolicyError | InternalError

"파트너 업데이트 예약 결과"
union SchedulePlatformPartnerOutput = InvalidRequestError | PlatformPartnerNotFoundError | PlatformInsufficientDataToChangePartnerTypeError | ForbiddenError | PlatformPartnerScheduleAlreadyExistsError | PlatformArchivedPartnerError | PlatformAccountVerificationFailedError | PlatformMemberCompanyConnectedPartnerTypeUnchangeableError | PlatformCompanyVerificationAlreadyUsedError | UnauthorizedError | PlatformContractNotFoundError | PlatformAccountVerificationNotFoundError | PlatformMemberCompanyConnectedPartnerBrnUnchangeableError | PlatformMemberCompanyConnectedPartnerCannotBeScheduledError | SchedulePlatformPartnerPayload | PlatformNotEnabledError | PlatformAccountVerificationAlreadyUsedError | PlatformUserDefinedPropertyNotFoundError | InternalError

"파트너 예약 업데이트 결과"
union SchedulePlatformPartnersOutput = InvalidRequestError | PlatformNotEnabledError | PlatformPartnerSchedulesAlreadyExistError | ForbiddenError | PlatformUserDefinedPropertyNotFoundError | PlatformContractNotFoundError | PlatformArchivedPartnersCannotBeScheduledError | PlatformMemberCompanyConnectedPartnersCannotBeScheduledError | SchedulePlatformPartnersPayload | UnauthorizedError | InternalError

"세금 계산서 국세청 즉시 전송 결과"
union SendToNtsB2bTaxInvoiceOutput = SendToNtsB2bTaxInvoicePayload | UnauthorizedError | B2bExternalServiceError | B2bTaxInvoiceNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bTaxInvoiceNotIssuedStatusError | InternalError

union SetPaymentRecoverySettingOutput = UnauthorizedError | ForbiddenError | PaymentRecoverySettingNotFoundError | PaymentRecoverySetting | InvalidRequestError | InternalError

union SignUpOutput = SignUpPayload | UnauthorizedError | EmailAlreadyExistsError | InvalidPasswordFormatError | InvalidRequestError | ForbiddenError | RequiredTermDisagreedError | PasswordContainsPersonalInfoError | InternalError

union SignUpViaAgencyOutput = InvalidRequestError | ForbiddenError | RequiredTermDisagreedError | AgencyCodeNotFoundError | PasswordContainsPersonalInfoError | SignUpViaAgencyPayload | UnauthorizedError | EmailAlreadyExistsError | InvalidPasswordFormatError | InternalError

"일괄 지급 중단 결과"
union StopPlatformBulkPayoutOutput = StopPlatformBulkPayoutPayload | UnauthorizedError | PlatformBulkPayoutNonStoppableStatusError | ForbiddenError | PlatformNotEnabledError | InvalidRequestError | PlatformBulkPayoutNotFoundError | InternalError

"사업자 등록증 OCR 결과"
union StoreBusinessLicenseOcrOutput = ForbiddenError | StoreFileNotFoundError | OcrFailedError | BusinessLicenseOcr | UnauthorizedError | InvalidRequestError | InternalError

"상점 사업자 등록증 조회 결과"
union StoreBusinessLicenseOutput = ForbiddenError | BusinessLicenseNotFoundError | InvalidRequestError | TemporaryBusinessLicense | RegisteredBusinessLicense | UnauthorizedError | InternalError

"상점 파일 목록 조회 결과"
union StoreFilesOutput = StoreFilesPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

union StoreOutput = Store | UnauthorizedError | StoreNotFoundError | ForbiddenError | InternalError

"상점 대표자 목록 조회 결과"
union StoreRepresentativesOutput = StoreRepresentativesPayload | InvalidRequestError | UnauthorizedError | ForbiddenError | InternalError

union StoreV1InfoOutput = StoreV1Info | InternalError

"웹훅 설정 조회 결과"
union StoreWebhookSettingOutput = InvalidRequestError | StoreNotFoundError | ForbiddenError | StoreWebhookSetting | UnauthorizedError | InternalError

union StoresOutput = StoresPayload | UnauthorizedError | StoreNotFoundError | ForbiddenError | InternalError

"개인 / 법인 사업자 정보"
union TemporaryBusinessLicenseClassification = TemporaryBusinessLicenseClassificationCorporation | TemporaryBusinessLicenseClassificationSoleProprietorship

"프로모션 중단 결과"
union TerminatePromotionOutput = UnauthorizedError | ForbiddenError | PromotionNotFoundError | TerminatePromotionPayload | InvalidRequestError | InternalError

"웹훅 호출 테스트 결과"
union TestWebhookOutput = TestWebhookPayload | UnauthorizedError | StoreWebhookUrlNotSetError | WebhookTestFailedError | InvalidRequestError | ForbiddenError | StoreNotFoundError | InternalError

"일괄지급 정산 건 토글 결과"
union TogglePlatformBulkPayoutPartnerSettlementsOutput = TogglePlatformBulkPayoutPartnerSettlementsPayload | UnauthorizedError | PlatformPayoutsAlreadyGeneratedError | ForbiddenError | PlatformNotEnabledError | InvalidRequestError | PlatformBulkPayoutNotFoundError | InternalError

union UpdateB2bMemberCompanyOutput = UpdateB2bMemberCompanyPayload | UnauthorizedError | B2bExternalServiceError | B2bMemberCompanyNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | InternalError

"세금계산서 임시저장 수정 요청 결과"
union UpdateB2bTaxInvoiceDraftOutput = InvalidRequestError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bModificationNotProvidedError | ForbiddenError | B2bRecipientNotFoundError | B2bIdAlreadyExistsError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotDraftedStatusError | B2bExternalServiceError | B2bSupplierNotFoundError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bDocumentKeyCannotBeChangedError | UpdateB2bTaxInvoiceDraftPayload | UnauthorizedError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BCannotChangeTaxTypeError | InternalError

union UpdateChannelGroupOutput = UpdateChannelGroupPayload | InvalidRequestError | ChannelNotFoundError | ChannelGroupDuplicateNameError | UnauthorizedError | ForbiddenError | ChannelGroupNotFoundError | InternalError

"추가 수수료 정책 업데이트 결과"
union UpdatePlatformAdditionalFeePolicyOutput = UpdatePlatformAdditionalFeePayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformArchivedAdditionalFeePolicyError | InternalError

"계약 업데이트 결과"
union UpdatePlatformContractOutput = UpdatePlatformContractPayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformArchivedContractError | InternalError

"할인 분담 정책 업데이트 결과"
union UpdatePlatformDiscountSharePolicyOutput = UpdatePlatformDiscountSharePayload | PlatformNotEnabledError | UnauthorizedError | ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformArchivedDiscountSharePolicyError | InternalError

"플랫폼 업데이트 결과"
union UpdatePlatformOutput = InvalidRequestError | UnauthorizedError | ForbiddenError | UpdatePlatformPayload | PlatformNotEnabledError | InternalError

"파트너 업데이트 결과"
union UpdatePlatformPartnerOutput = UpdatePlatformPartnerPayload | PlatformNotEnabledError | ForbiddenError | PlatformMemberCompanyConnectedPartnerBrnUnchangeableError | PlatformContractNotFoundError | PlatformArchivedPartnerError | PlatformAccountVerificationAlreadyUsedError | PlatformCompanyVerificationAlreadyUsedError | InvalidRequestError | PlatformPartnerNotFoundError | PlatformInsufficientDataToChangePartnerTypeError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | PlatformAccountVerificationFailedError | PlatformAccountVerificationNotFoundError | PlatformMemberCompanyConnectedPartnerTypeUnchangeableError | InternalError

"정산내역 상태 업데이트 결과"
union UpdatePlatformPartnerSettlementStatusOutput = UpdatePlatformPartnerSettlementStatusPayload | UnauthorizedError | PlatformPartnerSettlementNotFoundError | ForbiddenError | PlatformNotEnabledError | InvalidRequestError | PlatformNonUpdatableStatusError | InternalError

"지급 건 메모 업데이트 결과"
union UpdatePlatformPayoutOutput = UpdatePlatformPayoutPayload | UnauthorizedError | PlatformNonUpdatableStatusError | ForbiddenError | PlatformNotEnabledError | InvalidRequestError | PlatformPayoutNotFoundError | InternalError

"지급 건 일괄 업데이트 결과"
union UpdatePlatformPayoutsOutput = UpdatePlatformPayoutsPayload | UnauthorizedError | PlatformBulkPayoutStatusNotPreparingError | ForbiddenError | PlatformNotEnabledError | InvalidRequestError | PlatformBulkPayoutNotFoundError | InternalError

"플랫폼 설정 업데이트 결과"
union UpdatePlatformSettingOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | UpdatePlatformSettingPayload | UnauthorizedError | InternalError

"플랫폼 정산 계산기 업데이트 결과"
union UpdatePlatformSettlementCalculatorOutput = PlatformSettlementCalculator | UnauthorizedError | PlatformUserDefinedFormulaNotDeletableError | PlatformScheduleNotAllowedPastTimeError | PlatformInvalidSettlementFormulasError | PlatformMissingFormulaKeysInOrderError | PlatformUserDefinedFormulaLimitExceededError | PlatformScheduledVersionAlreadyExists | InvalidRequestError | PlatformNotEnabledError | PlatformUserDefinedFormulaKeysConflictSettlementParameterError | PlatformUserDefinedFormulaKeysDuplicatedError | ForbiddenError | PlatformNonOrderableKeysInOrderError | PlatformUnknownFormulaKeysInOrderError | InternalError

"정산 파라미터 수정 결과"
union UpdatePlatformSettlementParameterOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | UpdatePlatformSettlementParameterPayload | UnauthorizedError | PlatformSettlementParameterNotFoundError | InternalError

"사용자 정의 속성 업데이트 결과"
union UpdatePlatformUserDefinedPropertyOutput = InvalidRequestError | PlatformNotEnabledError | ForbiddenError | UpdatePlatformUserDefinedPropertyPayload | UnauthorizedError | PlatformUserDefinedPropertyNotFoundError | InternalError

"프로모션 그룹 업데이트 결과"
union UpdatePromotionGroupOutput = UnauthorizedError | ForbiddenError | PromotionGroupNotFoundError | UpdatePromotionGroupPayload | InvalidRequestError | PromotionGroupDuplicateNameError | InternalError

"프로모션 정보 업데이트 결과"
union UpdatePromotionOutput = UnauthorizedError | ForbiddenError | PromotionNotFoundError | UpdatePromotionPayload | InvalidRequestError | DuplicatePromotionNameError | InternalError

union UpdateStoreOutput = InvalidRequestError | ForbiddenError | StoreNotFoundError | UpdateStorePayload | UnauthorizedError | DuplicatedStoreNameError | InternalError

"웹훅 설정 저장 결과"
union UpdateStoreWebhookSettingOutput = InvalidRequestError | StoreNotFoundError | ForbiddenError | UpdateStoreWebhookSettingPayload | UnauthorizedError | InvalidWebhookUrlError | InternalError

"결제 예약 건이 존재하는 통화 조회 결과"
union UsedCurrenciesForPaymentScheduleOutput = UsedCurrenciesForPaymentSchedulePayload | InvalidRequestError | ForbiddenError | UnauthorizedError | InternalError

union V2ApiSecretInfosOutput = V2ApiSecretInfosPayload | UnauthorizedError | StoreNotFoundError | ForbiddenError | InternalError

"인증서 유효성 검증 결과"
union ValidateB2bCertificateOutput = ValidateB2bCertificatePayload | UnauthorizedError | B2bExternalServiceError | B2bMemberCompanyNotFoundError | InvalidRequestError | B2bNotEnabledError | ForbiddenError | B2bCertificateUnregisteredError | InternalError

"플랫폼 정산 계산기 유효성 검사"
union ValidatePlatformSettlementCalculatorOutput = ForbiddenError | PlatformNonOrderableKeysInOrderError | PlatformUnknownFormulaKeysInOrderError | InvalidRequestError | PlatformNotEnabledError | PlatformUserDefinedFormulaKeysConflictSettlementParameterError | PlatformUserDefinedFormulaKeysDuplicatedError | PlatformInvalidSettlementFormulasError | PlatformMissingFormulaKeysInOrderError | PlatformUserDefinedFormulaLimitExceededError | PlatformSettlementFormula | UnauthorizedError | PlatformUserDefinedFormulaNotDeletableError | InternalError

enum ActionType {
  "조회"
  GET
  "발행 승인"
  ISSUE
  "발행 거부"
  REFUSE
  "발행 취소"
  CANCEL
  "공동인증서 등록 URL 조회"
  GET_CERTIFICATE_REGISTRATION_URL
  "공동인증서 유효성 검증"
  VALIDATE_CERTIFICATE
}

"일괄 발행 유형"
enum B2bBulkIssuanceType {
  DRAFT
  REQUEST
}

"일괄 작업 상태"
enum B2bBulkTaskStatus {
  PREPARED
  PROCESSING
  SUCCEEDED
  FAILED
}

"일괄 작업 유형"
enum B2bBulkTaskType {
  DRAFT_TAX_INVOICES
  REQUEST_TAX_INVOICES
  REQUEST_REVERSE_ISSUANCE
  DELETE_TAX_INVOICES
}

"인증서 타입"
enum B2bCertificateType {
  "전자세금용 공동인증서"
  E_TAX
  "특수목적용 공동인증서"
  PORTONE
  "기타"
  ETC
}

"영업 상태"
enum B2bCompanyStateBusinessStatus {
  "영업중"
  IN_BUSINESS
  "폐업"
  CLOSED
  "휴업"
  SUSPENDED
}

"조회 기준"
enum B2bSearchDateType {
  "등록일"
  REGISTER
  "작성일"
  WRITE
  "발행일"
  ISSUE
}

"세금계산서 문서 수정 발행 유형"
enum B2bTaxInvoiceDocumentModificationType {
  "정상발행"
  NORMAL
  "수정발행"
  MODIFICATION
}

"발행 유형"
enum B2bTaxInvoiceIssuanceType {
  "정발행"
  NORMAL
  "역발행"
  REVERSE
}

"수정 사유"
enum B2bTaxInvoiceModificationType {
  "기재사항 착오 정정"
  CORRECTION_OF_ENTRY_ERRORS
  "공금가액 변동"
  CHANGE_IN_SUPPLY_COST
  "환입"
  RETURN
  "계약 해제"
  CANCELLATION_OF_CONTRACT
  "착오에 의한 이중 발급"
  DUPLICATE_ISSUANCE_DUE_TO_ERROR
}

"영수/청구"
enum B2bTaxInvoicePurposeType {
  "영수"
  RECEIPT
  "청구"
  INVOICE
  "없음"
  NONE
}

enum B2bTaxInvoiceStatus {
  "임시저장"
  DRAFTED
  "임시저장 대기"
  DRAFT_PENDING
  "임시저장 실패"
  DRAFT_FAILED
  "역발행 요청 완료 (전자 서명 요청됨)"
  REQUESTED
  "역발행 요청 대기"
  REQUEST_PENDING
  "역발행 요청 실패"
  REQUEST_FAILED
  "공급받는자에 의한 발행취소"
  REQUEST_CANCELLED
  "발행완료"
  ISSUED
  "전송전"
  BEFORE_SENDING
  "전송대기"
  WAITING_SENDING
  "전송중"
  SENDING
  "전송완료"
  SENDING_COMPLETED
  "전송실패"
  SENDING_FAILED
  "공급자의 발행거부"
  REQUEST_REFUSED
  "공급자에 의한 발행 취소"
  ISSUANCE_CANCELLED
}

"과세 유형"
enum B2bTaxInvoiceTaxationType {
  "과세"
  TAXABLE
  "영세"
  ZERO_RATED
  "면세"
  FREE
}

"은행"
enum Bank {
  "한국은행"
  BANK_OF_KOREA
  "산업은행"
  KDB
  "기업은행"
  IBK
  "국민은행"
  KOOKMIN
  "수협은행"
  SUHYUP
  "수출입은행"
  KEXIM
  "NH농협은행"
  NONGHYUP
  "지역농축협"
  LOCAL_NONGHYUP
  "우리은행"
  WOORI
  "SC제일은행"
  STANDARD_CHARTERED
  "한국씨티은행"
  CITI
  "아이엠뱅크"
  DAEGU
  "부산은행"
  BUSAN
  "광주은행"
  KWANGJU
  "제주은행"
  JEJU
  "전북은행"
  JEONBUK
  "경남은행"
  KYONGNAM
  "새마을금고"
  KFCC
  "신협"
  SHINHYUP
  "저축은행"
  SAVINGS_BANK
  "모간스탠리은행"
  MORGAN_STANLEY
  "HSBC은행"
  HSBC
  "도이치은행"
  DEUTSCHE
  "제이피모간체이스은행"
  JPMC
  "미즈호은행"
  MIZUHO
  "엠유에프지은행"
  MUFG
  "BOA은행"
  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증권"
  KB_SECURITIES
  "상상인증권"
  SANGSANGIN_SECURITIES
  "한양증권"
  HANYANG_SECURITIES
  "리딩투자증권"
  LEADING_SECURITIES
  "BNK투자증권"
  BNK_SECURITIES
  "IBK투자증권"
  IBK_SECURITIES
  "다올투자증권"
  DAOL_SECURITIES
  "미래에셋증권"
  MIRAE_ASSET_SECURITIES
  "삼성증권"
  SAMSUNG_SECURITIES
  "한국투자증권"
  KOREA_SECURITIES
  "NH투자증권"
  NH_SECURITIES
  "교보증권"
  KYOBO_SECURITIES
  "하이투자증권"
  HI_SECURITIES
  "현대차증권"
  HYUNDAI_MOTOR_SECURITIES
  "키움증권"
  KIWOOM_SECURITIES
  "LS증권"
  EBEST_SECURITIES
  "SK증권"
  SK_SECURITIES
  "대신증권"
  DAISHIN_SECURITIES
  "한화투자증권"
  HANHWA_SECURITIES
  "하나증권"
  HANA_SECURITIES
  "토스증권"
  TOSS_SECURITIES
  "신한투자증권"
  SHINHAN_SECURITIES
  "DB금융투자"
  DB_SECURITIES
  "유진투자증권"
  EUGENE_SECURITIES
  "메리츠증권"
  MERITZ_SECURITIES
  "카카오페이증권"
  KAKAO_PAY_SECURITIES
  "부국증권"
  BOOKOOK_SECURITIES
  "신영증권"
  SHINYOUNG_SECURITIES
  "케이프투자증권"
  CAPE_SECURITIES
  "한국증권금융"
  KOREA_SECURITIES_FINANCE
  "한국포스증권"
  KOREA_FOSS_SECURITIES
  "우리종합금융"
  WOORI_INVESTMENT_BANK
}

"빌링키 결제 수단"
enum BillingKeyPaymentMethodType {
  "카드"
  CARD
  "모바일"
  MOBILE
  "간편 결제"
  EASY_PAY
  "계좌 이체"
  TRANSFER
}

"과금 결제 수단"
enum BillingMethod {
  "카드"
  CARD
  "세금 계산서"
  TAX_INVOICE
}

"과금 결제 형태"
enum BillingType {
  "월간"
  MONTHLY
  "연간"
  ANNUAL
}

"카드사"
enum CardCompany {
  "KDB산업은행"
  KOREA_DEVELOPMENT_BANK
  "새마을금고"
  KFCC
  "신협"
  SHINHYUP
  "우체국"
  EPOST
  "저축은행"
  SAVINGS_BANK_KOREA
  "카카오뱅크"
  KAKAO_BANK
  "케이뱅크"
  K_BANK
  "토스뱅크"
  TOSS_BANK
  "우리카드"
  WOORI_CARD
  "BC카드"
  BC_CARD
  "광주카드"
  GWANGJU_CARD
  "삼성카드"
  SAMSUNG_CARD
  "신한카드"
  SHINHAN_CARD
  "현대카드"
  HYUNDAI_CARD
  "롯데카드"
  LOTTE_CARD
  "수협카드"
  SUHYUP_CARD
  "씨티카드"
  CITI_CARD
  "NH카드"
  NH_CARD
  "전북카드"
  JEONBUK_CARD
  "제주카드"
  JEJU_CARD
  "하나카드"
  HANA_CARD
  "국민카드"
  KOOKMIN_CARD
  "해외카드"
  UNIDENTIFIED_GLOBAL_CARD
  "차이뱅크"
  CHAI_CARD
  "아맥스카드"
  AMEX_CARD
  "러시아 미르카드"
  MIR_CARD
  "은련카드"
  UNION_CARD
  "JCB카드"
  JCB_CARD
  "VISA카드"
  VISA_CARD
  "MASTER카드"
  MASTER_CARD
  "DINERS카드"
  DINERS_CARD
  "DISCOVER카드"
  DISCOVER_CARD
  "IBK기업은행"
  IBK
  "NH농협은행"
  NH_BANK
  "대구은행"
  DAEGU_CARD
  "부산은행"
  BUSAN_CARD
  "SC제일은행"
  SC_BANK
  "경남은행"
  KYONGNAM_CARD
  "우리은행"
  WOORI_BANK
  "중국은행"
  CHINA_BANK
  "산림조합중앙회"
  NFCF
  "KB증권"
  KB_SECURITIES
  "유안타증권"
  YUANTA_SECURITIES
  "NH투자증권"
  NH_SECURITIES
  "DB금융투자"
  DB_SECURITIES
  "SK증권"
  SK_SECURITIES
  "유진투자증권"
  EUGENE_SECURITIES
  "교보증권"
  KYOBO_SECURITIES
  "미래에셋증권"
  MIRAE_ASSET_SECURITIES
  "한국투자증권"
  KOREA_SECURITIES
  "한화투자증권"
  HANHWA_SECURITIES
  "SSG카드"
  SSG
  "코나아이"
  KONA_I
  "차이코퍼레이션"
  CHAI
  "토스카드"
  TOSS_CARD
  "페이코"
  PAYCO
  "지머니트랜스"
  GMONEY_TRANS
  "디셈버앤컴퍼니"
  FINT
  "KG모빌리언스"
  KG_MOBILIANS
  "한패스"
  HANPASS
  "핀샷"
  FINSHOT
  "비즈플레이"
  BIZPLAY
  "나이스정보통신"
  NICE
  "다날"
  DANAL
  "섹타나인"
  SECTA
  "글로벌머니익스프레스"
  GME
  "로드시스템"
  LORD_SYSTEM
  "네이버페이"
  NAVERPAY
  "카카오페이"
  KAKAOPAY
  "KCB산은캐피탈"
  KDBC
  "틴캐쉬"
  TEEN_CASH
  "에그머니"
  EGG_MONEY
  "온캐쉬"
  ON_CASH
  "갤럭시아 머니트리"
  GALAXIA_MONEY_TREE
  "레몬트리 퍼핀"
  FIRFIN
}

"카드 소유주 유형"
enum CardOwnerType {
  "개인"
  PERSONAL
  "법인"
  CORPORATE
}

"카드 유형"
enum CardType {
  "신용카드"
  CREDIT
  "체크카드"
  DEBIT
  "기프트카드"
  GIFT
}

"통신사"
enum Carrier {
  "SKT"
  SKT
  "KT"
  KT
  "LG 유플러스"
  LGU
  "SKT 알뜰폰"
  SKT_MVNO
  "KT 알뜰폰"
  KT_MVNO
  "LGU 알뜰폰"
  LGU_MVNO
}

"채널 그룹 유형"
enum ChannelGroupType {
  "라이브 채널 그룹"
  LIVE
  "테스트 채널 그룹"
  TEST
}

"채널 유형"
enum ChannelType {
  "라이브 채널"
  LIVE
  "고객사 전용 테스트 채널"
  MERCHANT_TEST
  "공용 테스트 채널"
  SHARED_TEST
}

"국가"
enum Country {
  "Andorra"
  AD
  "United Arab Emirates (the)"
  AE
  "Afghanistan"
  AF
  "Antigua and Barbuda"
  AG
  "Anguilla"
  AI
  "Albania"
  AL
  "Armenia"
  AM
  "Angola"
  AO
  "Antarctica"
  AQ
  "Argentina"
  AR
  "American Samoa"
  AS
  "Austria"
  AT
  "Australia"
  AU
  "Aruba"
  AW
  "Åland Islands"
  AX
  "Azerbaijan"
  AZ
  "Bosnia and Herzegovina"
  BA
  "Barbados"
  BB
  "Bangladesh"
  BD
  "Belgium"
  BE
  "Burkina Faso"
  BF
  "Bulgaria"
  BG
  "Bahrain"
  BH
  "Burundi"
  BI
  "Benin"
  BJ
  "Saint Barthélemy"
  BL
  "Bermuda"
  BM
  "Brunei Darussalam"
  BN
  "Bolivia (Plurinational State of)"
  BO
  "Bonaire, Sint Eustatius and Saba"
  BQ
  "Brazil"
  BR
  "Bahamas (the)"
  BS
  "Bhutan"
  BT
  "Bouvet Island"
  BV
  "Botswana"
  BW
  "Belarus"
  BY
  "Belize"
  BZ
  "Canada"
  CA
  "Cocos (Keeling) Islands (the)"
  CC
  "Congo (the Democratic Republic of the)"
  CD
  "Central African Republic (the)"
  CF
  "Congo (the)"
  CG
  "Switzerland"
  CH
  "Côte d'Ivoire"
  CI
  "Cook Islands (the)"
  CK
  "Chile"
  CL
  "Cameroon"
  CM
  "China"
  CN
  "Colombia"
  CO
  "Costa Rica"
  CR
  "Cuba"
  CU
  "Cabo Verde"
  CV
  "Curaçao"
  CW
  "Christmas Island"
  CX
  "Cyprus"
  CY
  "Czechia"
  CZ
  "Germany"
  DE
  "Djibouti"
  DJ
  "Denmark"
  DK
  "Dominica"
  DM
  "Dominican Republic (the)"
  DO
  "Algeria"
  DZ
  "Ecuador"
  EC
  "Estonia"
  EE
  "Egypt"
  EG
  "Western Sahara"
  EH
  "Eritrea"
  ER
  "Spain"
  ES
  "Ethiopia"
  ET
  "Finland"
  FI
  "Fiji"
  FJ
  "Falkland Islands (the) [Malvinas]"
  FK
  "Micronesia (Federated States of)"
  FM
  "Faroe Islands (the)"
  FO
  "France"
  FR
  "Gabon"
  GA
  "United Kingdom of Great Britain and Northern Ireland (the)"
  GB
  "Grenada"
  GD
  "Georgia"
  GE
  "French Guiana"
  GF
  "Guernsey"
  GG
  "Ghana"
  GH
  "Gibraltar"
  GI
  "Greenland"
  GL
  "Gambia (the)"
  GM
  "Guinea"
  GN
  "Guadeloupe"
  GP
  "Equatorial Guinea"
  GQ
  "Greece"
  GR
  "South Georgia and the South Sandwich Islands"
  GS
  "Guatemala"
  GT
  "Guam"
  GU
  "Guinea-Bissau"
  GW
  "Guyana"
  GY
  "Hong Kong"
  HK
  "Heard Island and McDonald Islands"
  HM
  "Honduras"
  HN
  "Croatia"
  HR
  "Haiti"
  HT
  "Hungary"
  HU
  "Indonesia"
  ID
  "Ireland"
  IE
  "Israel"
  IL
  "Isle of Man"
  IM
  "India"
  IN
  "British Indian Ocean Territory (the)"
  IO
  "Iraq"
  IQ
  "Iran (Islamic Republic of)"
  IR
  "Iceland"
  IS
  "Italy"
  IT
  "Jersey"
  JE
  "Jamaica"
  JM
  "Jordan"
  JO
  "Japan"
  JP
  "Kenya"
  KE
  "Kyrgyzstan"
  KG
  "Cambodia"
  KH
  "Kiribati"
  KI
  "Comoros (the)"
  KM
  "Saint Kitts and Nevis"
  KN
  "Korea (the Democratic People's Republic of)"
  KP
  "Korea (the Republic of)"
  KR
  "Kuwait"
  KW
  "Cayman Islands (the)"
  KY
  "Kazakhstan"
  KZ
  "Lao People's Democratic Republic (the)"
  LA
  "Lebanon"
  LB
  "Saint Lucia"
  LC
  "Liechtenstein"
  LI
  "Sri Lanka"
  LK
  "Liberia"
  LR
  "Lesotho"
  LS
  "Lithuania"
  LT
  "Luxembourg"
  LU
  "Latvia"
  LV
  "Libya"
  LY
  "Morocco"
  MA
  "Monaco"
  MC
  "Moldova (the Republic of)"
  MD
  "Montenegro"
  ME
  "Saint Martin (French part)"
  MF
  "Madagascar"
  MG
  "Marshall Islands (the)"
  MH
  "North Macedonia"
  MK
  "Mali"
  ML
  "Myanmar"
  MM
  "Mongolia"
  MN
  "Macao"
  MO
  "Northern Mariana Islands (the)"
  MP
  "Martinique"
  MQ
  "Mauritania"
  MR
  "Montserrat"
  MS
  "Malta"
  MT
  "Mauritius"
  MU
  "Maldives"
  MV
  "Malawi"
  MW
  "Mexico"
  MX
  "Malaysia"
  MY
  "Mozambique"
  MZ
  "Namibia"
  NA
  "New Caledonia"
  NC
  "Niger (the)"
  NE
  "Norfolk Island"
  NF
  "Nigeria"
  NG
  "Nicaragua"
  NI
  "Netherlands (Kingdom of the)"
  NL
  "Norway"
  NO
  "Nepal"
  NP
  "Nauru"
  NR
  "Niue"
  NU
  "New Zealand"
  NZ
  "Oman"
  OM
  "Panama"
  PA
  "Peru"
  PE
  "French Polynesia"
  PF
  "Papua New Guinea"
  PG
  "Philippines (the)"
  PH
  "Pakistan"
  PK
  "Poland"
  PL
  "Saint Pierre and Miquelon"
  PM
  "Pitcairn"
  PN
  "Puerto Rico"
  PR
  "Palestine, State of"
  PS
  "Portugal"
  PT
  "Palau"
  PW
  "Paraguay"
  PY
  "Qatar"
  QA
  "Réunion"
  RE
  "Romania"
  RO
  "Serbia"
  RS
  "Russian Federation (the)"
  RU
  "Rwanda"
  RW
  "Saudi Arabia"
  SA
  "Solomon Islands"
  SB
  "Seychelles"
  SC
  "Sudan (the)"
  SD
  "Sweden"
  SE
  "Singapore"
  SG
  "Saint Helena, Ascension and Tristan da Cunha"
  SH
  "Slovenia"
  SI
  "Svalbard and Jan Mayen"
  SJ
  "Slovakia"
  SK
  "Sierra Leone"
  SL
  "San Marino"
  SM
  "Senegal"
  SN
  "Somalia"
  SO
  "Suriname"
  SR
  "South Sudan"
  SS
  "Sao Tome and Principe"
  ST
  "El Salvador"
  SV
  "Sint Maarten (Dutch part)"
  SX
  "Syrian Arab Republic (the)"
  SY
  "Eswatini"
  SZ
  "Turks and Caicos Islands (the)"
  TC
  "Chad"
  TD
  "French Southern Territories (the)"
  TF
  "Togo"
  TG
  "Thailand"
  TH
  "Tajikistan"
  TJ
  "Tokelau"
  TK
  "Timor-Leste"
  TL
  "Turkmenistan"
  TM
  "Tunisia"
  TN
  "Tonga"
  TO
  "Türkiye"
  TR
  "Trinidad and Tobago"
  TT
  "Tuvalu"
  TV
  "Taiwan (Province of China)"
  TW
  "Tanzania, the United Republic of"
  TZ
  "Ukraine"
  UA
  "Uganda"
  UG
  "United States Minor Outlying Islands (the)"
  UM
  "United States of America (the)"
  US
  "Uruguay"
  UY
  "Uzbekistan"
  UZ
  "Holy See (the)"
  VA
  "Saint Vincent and the Grenadines"
  VC
  "Venezuela (Bolivarian Republic of)"
  VE
  "Virgin Islands (British)"
  VG
  "Virgin Islands (U.S.)"
  VI
  "Viet Nam"
  VN
  "Vanuatu"
  VU
  "Wallis and Futuna"
  WF
  "Samoa"
  WS
  "Yemen"
  YE
  "Mayotte"
  YT
  "South Africa"
  ZA
  "Zambia"
  ZM
  "Zimbabwe"
  ZW
}

"통화 단위"
enum Currency {
  "대한민국 원화"
  KRW
  "미국 달러"
  USD
  "일본 엔화"
  JPY
  "UAE Dirham"
  AED
  "Afghani"
  AFN
  "Lek"
  ALL
  "Armenian Dram"
  AMD
  "Netherlands Antillean Guilder"
  ANG
  "Kwanza"
  AOA
  "Argentine Peso"
  ARS
  "Australian Dollar"
  AUD
  "Aruban Florin"
  AWG
  "Azerbaijan Manat"
  AZN
  "Convertible Mark"
  BAM
  "Barbados Dollar"
  BBD
  "Taka"
  BDT
  "Bulgarian Lev"
  BGN
  "Bahraini Dinar"
  BHD
  "Burundi Franc"
  BIF
  "Bermudian Dollar"
  BMD
  "Brunei Dollar"
  BND
  "Boliviano"
  BOB
  "Mvdol"
  BOV
  "Brazilian Real"
  BRL
  "Bahamian Dollar"
  BSD
  "Ngultrum"
  BTN
  "Pula"
  BWP
  "Belarusian Ruble"
  BYN
  "Belize Dollar"
  BZD
  "Canadian Dollar"
  CAD
  "Congolese Franc"
  CDF
  "WIR Euro"
  CHE
  "Swiss Franc"
  CHF
  "WIR Franc"
  CHW
  "Unidad de Fomento"
  CLF
  "Chilean Peso"
  CLP
  "Yuan Renminbi"
  CNY
  "Colombian Peso"
  COP
  "Unidad de Valor Real"
  COU
  "Costa Rican Colon"
  CRC
  "Peso Convertible"
  CUC
  "Cuban Peso"
  CUP
  "Cabo Verde Escudo"
  CVE
  "Czech Koruna"
  CZK
  "Djibouti Franc"
  DJF
  "Danish Krone"
  DKK
  "Dominican Peso"
  DOP
  "Algerian Dinar"
  DZD
  "Egyptian Pound"
  EGP
  "Nakfa"
  ERN
  "Ethiopian Birr"
  ETB
  "Euro"
  EUR
  "Fiji Dollar"
  FJD
  "Falkland Islands Pound"
  FKP
  "Pound Sterling"
  GBP
  "Lari"
  GEL
  "Ghana Cedi"
  GHS
  "Gibraltar Pound"
  GIP
  "Dalasi"
  GMD
  "Guinean Franc"
  GNF
  "Quetzal"
  GTQ
  "Guyana Dollar"
  GYD
  "Hong Kong Dollar"
  HKD
  "Lempira"
  HNL
  "Kuna (Replaced by EUR)"
  HRK
  "Gourde"
  HTG
  "Forint"
  HUF
  "Rupiah"
  IDR
  "New Israeli Sheqel"
  ILS
  "Indian Rupee"
  INR
  "Iraqi Dinar"
  IQD
  "Iranian Rial"
  IRR
  "Iceland Krona"
  ISK
  "Jamaican Dollar"
  JMD
  "Jordanian Dinar"
  JOD
  "Kenyan Shilling"
  KES
  "Som"
  KGS
  "Riel"
  KHR
  "Comorian Franc "
  KMF
  "North Korean Won"
  KPW
  "Kuwaiti Dinar"
  KWD
  "Cayman Islands Dollar"
  KYD
  "Tenge"
  KZT
  "Lao Kip"
  LAK
  "Lebanese Pound"
  LBP
  "Sri Lanka Rupee"
  LKR
  "Liberian Dollar"
  LRD
  "Loti"
  LSL
  "Libyan Dinar"
  LYD
  "Moroccan Dirham"
  MAD
  "Moldovan Leu"
  MDL
  "Malagasy Ariary"
  MGA
  "Denar"
  MKD
  "Kyat"
  MMK
  "Tugrik"
  MNT
  "Pataca"
  MOP
  "Ouguiya"
  MRU
  "Mauritius Rupee"
  MUR
  "Rufiyaa"
  MVR
  "Malawi Kwacha"
  MWK
  "Mexican Peso"
  MXN
  "Mexican Unidad de Inversion (UDI)"
  MXV
  "Malaysian Ringgit"
  MYR
  "Mozambique Metical"
  MZN
  "Namibia Dollar"
  NAD
  "Naira"
  NGN
  "Cordoba Oro"
  NIO
  "Norwegian Krone"
  NOK
  "Nepalese Rupee"
  NPR
  "New Zealand Dollar"
  NZD
  "Rial Omani"
  OMR
  "Balboa"
  PAB
  "Sol"
  PEN
  "Kina"
  PGK
  "Philippine Peso"
  PHP
  "Pakistan Rupee"
  PKR
  "Zloty"
  PLN
  "Guarani"
  PYG
  "Qatari Rial"
  QAR
  "Romanian Leu"
  RON
  "Serbian Dinar"
  RSD
  "Russian Ruble"
  RUB
  "Rwanda Franc"
  RWF
  "Saudi Riyal"
  SAR
  "Solomon Islands Dollar"
  SBD
  "Seychelles Rupee"
  SCR
  "Sudanese Pound"
  SDG
  "Swedish Krona"
  SEK
  "Singapore Dollar"
  SGD
  "Saint Helena Pound"
  SHP
  "Leone"
  SLE
  "Leone"
  SLL
  "Somali Shilling"
  SOS
  "Surinam Dollar"
  SRD
  "South Sudanese Pound"
  SSP
  "Dobra"
  STN
  "El Salvador Colon"
  SVC
  "Syrian Pound"
  SYP
  "Lilangeni"
  SZL
  "Baht"
  THB
  "Somoni"
  TJS
  "Turkmenistan New Manat"
  TMT
  "Tunisian Dinar"
  TND
  "Pa’anga"
  TOP
  "Turkish Lira"
  TRY
  "Trinidad and Tobago Dollar"
  TTD
  "New Taiwan Dollar"
  TWD
  "Tanzanian Shilling"
  TZS
  "Hryvnia"
  UAH
  "Uganda Shilling"
  UGX
  "US Dollar (Next day)"
  USN
  "Uruguay Peso en Unidades Indexadas (UI)"
  UYI
  "Peso Uruguayo"
  UYU
  "Unidad Previsional"
  UYW
  "Uzbekistan Sum"
  UZS
  "Bolívar Soberano"
  VED
  "Bolívar Soberano"
  VES
  "Dong"
  VND
  "Vatu"
  VUV
  "Tala"
  WST
  "CFA Franc BEAC"
  XAF
  "Silver"
  XAG
  "Gold"
  XAU
  "Bond Markets Unit European Composite Unit (EURCO)"
  XBA
  "Bond Markets Unit European Monetary Unit (E.M.U.-6)"
  XBB
  "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)"
  XBC
  "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)"
  XBD
  "East Caribbean Dollar"
  XCD
  "SDR (Special Drawing Right)"
  XDR
  "CFA Franc BCEAO"
  XOF
  "Palladium"
  XPD
  "CFP Franc"
  XPF
  "Platinum"
  XPT
  "Sucre"
  XSU
  "Codes specifically reserved for testing purposes"
  XTS
  "ADB Unit of Account"
  XUA
  "The codes assigned for transactions where no currency is involved"
  XXX
  "Yemeni Rial"
  YER
  "Rand"
  ZAR
  "Zambian Kwacha"
  ZMW
  "Zimbabwe Dollar"
  ZWL
}

"요일"
enum DayOfWeek {
  SUN
  MON
  TUE
  WED
  THU
  FRI
  SAT
}

"간편 결제 수단"
enum EasyPayMethodType {
  CARD
  TRANSFER
  CHARGE
}

"간편 결제사"
enum EasyPayProvider {
  SAMSUNGPAY
  KAKAOPAY
  NAVERPAY
  PAYCO
  SSGPAY
  CHAI
  LPAY
  KPAY
  TOSSPAY
  LGPAY
  PINPAY
  APPLEPAY
  SKPAY
  TOSS_BRANDPAY
  KB_APP
  ALIPAY
  HYPHEN
  TMONEY
  PAYPAL
  SMILEPAY
  MIR
  WECHAT
  LINEPAY
  KLARNA
  GRABPAY
  SHOPEEPAY
  JKOPAY
  PAYPAY
}

"성별"
enum Gender {
  "남성"
  MALE
  "여성"
  FEMALE
  "그 외 성별"
  OTHER
}

"상품권 타입"
enum GiftCertificateType {
  "도서문화 상품권"
  BOOKNLIFE
  "스마트 문화상품권"
  SMART_MUNSANG
  "컬쳐랜드 상품권"
  CULTURELAND
  "해피머니"
  HAPPYMONEY
  "문화상품권"
  CULTURE_GIFT
}

"과금 구간"
enum GrowthLevel {
  "Free"
  FREE
  "Growth 1"
  GROWTH_1
  "Growth 2"
  GROWTH_2
  "Growth 3"
  GROWTH_3
}

"고객사의 과금 결제수단 상태"
enum MerchantBillingMethodStatus {
  "활성화"
  ACTIVE
  "비활성화"
  INACTIVE
}

"과금 결제 상태"
enum MerchantBillingStatus {
  "결제 예정"
  SCHEDULED
  "결제 완료"
  PAID
  "결제 취소"
  CANCELLED
  "결제 실패"
  FAILED
  "카드 미등록으로 인한 실패"
  UNREGISTERED_CARD_FAILED
}

"결제가 발생한 클라이언트 환경"
enum PaymentClientType {
  SDK_MOBILE
  SDK_PC
  API
}

enum PaymentMethodType {
  CARD
  TRANSFER
  VIRTUAL_ACCOUNT
  GIFT_CERTIFICATE
  MOBILE
  EASY_PAY
  CONVENIENCE_STORE
}

"거래상태"
enum PaymentReconciliationActionType {
  "결제 승인"
  APPROVAL
  "전체 취소"
  FULL_CANCEL
  "부분 취소"
  PARTIAL_CANCEL
  "상태 모르는 취소"
  UNCLASSIFIED_CANCEL
  "후보정"
  POST_CORRECTION
}

"거래대사 매치 실패 사유"
enum PaymentReconciliationNotMatchedReason {
  "결제 금액 불일치"
  PAYMENT_AMOUNT_NOT_MATCHED
  "면세 금액 불일치"
  TAX_FREE_AMOUNT_NOT_MATCHED
  "부가세 금액 불일치"
  VAT_AMOUNT_NOT_MATCHED
  "에스크로 여부 불일치"
  ESCROW_NOT_MATCHED
  "할부 개월 수 불일치"
  INSTALLMENT_MONTH_NOT_MATCHED
  "결제일자 불일치"
  PAYMENT_DATE_NOT_MATCHED
}

"결제 건의 대사 상태"
enum PaymentReconciliationStatus {
  "대사 매칭 성공 상태"
  MATCHED
  "대사 매칭 실패 상태"
  NOT_MATCHED
  "대사 불가능 상태"
  INCOMPARABLE
  "PG사 결제 정보가 수집되지 않은 상태"
  NOT_COLLECTED
}

"빌링키 간편결제 상세 결제 수단"
enum PaymentScheduleBillingKeyEasyPayMethodType {
  "카드"
  CARD
  "계좌 이체"
  TRANSFER
  "포인트"
  CHARGE
}

"결제 예약 캘린더 타임존"
enum PaymentScheduleCalendarFilterTimeZone {
  UTC
  KST
}

"결제 예약 건 정렬 기준"
enum PaymentScheduleSortBy {
  "결제 예약 생성 시각"
  CREATED_AT
  "결제 예정 시각"
  TIME_TO_PAY
  "예약 결제 시도(성공 / 실패) 시각"
  COMPLETED_AT
  "결제 시도 또는 예정 시각. 해지 건은 해지 시각."
  STATUS_TIMESTAMP
}

"결제 예약 건 상태"
enum PaymentScheduleStatus {
  "예약 완료"
  SCHEDULED
  "결제 시작"
  STARTED
  "결제 성공"
  SUCCEEDED
  "결제 실패"
  FAILED
  "취소된 결제 예약"
  REVOKED
  "결제 승인 대기"
  PENDING
}

"결제 예약 건 다건 조회 시, 텍스트 검색 필터의 검색 기준 필드"
enum PaymentScheduleTextSearchField {
  "고객명"
  CUSTOMER_NAME
  "주문명"
  ORDER_NAME
}

"결제 예약 건 다건 조회 시, 시각 범위를 적용할 필드"
enum PaymentScheduleTimeRangeField {
  "결제 예약 생성 시각"
  CREATED_AT
  "결제 예정 시각"
  TIME_TO_PAY
  "예약 결제 시도(성공 / 실패) 시각"
  COMPLETED_AT
  "결제 시도 또는 예정 시각. 해지 건은 해지 시각."
  STATUS_TIMESTAMP
}

"결제 건 상태"
enum PaymentStatus {
  READY
  PENDING
  VIRTUAL_ACCOUNT_ISSUED
  PAID
  FAILED
  PARTIAL_CANCELLED
  CANCELLED
}

"""
조회 시점 기준

어떤 시점을 기준으로 조회를 할 것인지 선택합니다.
CREATED_AT: 결제 건 생성 시점을 기준으로 조회합니다.
STATUS_CHANGED_AT: 상태 승인 시점을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게 적용됩니다.
ready -> 결제 요청 시점 기준
paid -> 결제 완료 시점 기준
cancelled -> 결제 취소 시점 기준
failed -> 결제 실패 시점 기준
값을 입력하지 않으면 STATUS_CHANGED_AT 으로 자동 적용됩니다.
"""
enum PaymentTimestampType {
  "결제 건 생성 시점"
  CREATED_AT
  "상태 변경 시점"
  STATUS_CHANGED_AT
}

"웹훅 일괄 재발송 진행 상태"
enum PaymentWebhookResendStatus {
  "웹훅 일괄 재발송 성공"
  SUCCESS
  "웹훅 일괄 재발송 실패"
  FAILURE
  "웹훅 일괄 재발송 진행중"
  PROCESSING
}

"PG사"
enum PgCompany {
  INICIS
  NICE
  KCP
  DANAL
  TOSSPAYMENTS
  MOBILIANS
  KICC
  SMARTRO
  DAOU
  BLUEWALNUT
  PAYPAL
  ALIPAY
  EXIMBAY
  PAYMENTWALL
  SETTLE
  GALAXIA
  NAVERPAY
  KAKAOPAY
  SMILEPAY
  KAKAO
  TOSSPAY
  CHAI
  PAYCO
  PAYPLE
  SYRUP
  KSNET
  WELCOME
  JTNET
  KPN
  HYPHEN
}

"PG사 결제 모듈"
enum PgProvider {
  HTML5_INICIS
  PAYPAL
  PAYPAL_V2
  INICIS
  DANAL
  NICE
  DANAL_TPAY
  JTNET
  UPLUS
  NAVERPAY
  KAKAO
  SETTLE
  KCP
  MOBILIANS
  KAKAOPAY
  NAVERCO
  SYRUP
  KICC
  EXIMBAY
  SMILEPAY
  PAYCO
  KCP_BILLING
  ALIPAY
  PAYPLE
  CHAI
  BLUEWALNUT
  SMARTRO
  SMARTRO_V2
  PAYMENTWALL
  TOSSPAYMENTS
  KCP_QUICK
  DAOU
  GALAXIA
  TOSSPAY
  KCP_DIRECT
  SETTLE_ACC
  SETTLE_FIRM
  INICIS_UNIFIED
  KSNET
  PINPAY
  NICE_V2
  TOSS_BRANDPAY
  WELCOME
  TOSSPAY_V2
  INICIS_V2
  KPN
  KCP_V2
  HYPHEN
  EXIMBAY_V2
}

"플랫폼 계좌 상태"
enum PlatformAccountStatus {
  "계좌 인증 완료됨"
  VERIFIED
  "계좌주 불일치"
  VERIFY_FAILED
  "계좌 인증 오류"
  VERIFY_ERROR
  "계좌 인증 안됨"
  NOT_VERIFIED
  "알 수 없는 상태"
  UNKNOWN
}

"계좌 이체 유형"
enum PlatformAccountTransferType {
  "충전"
  DEPOSIT
  "파트너 정산 송금"
  WITHDRAWAL_PARTNER_PAYOUT
  "송금"
  WITHDRAWAL_REMIT
}

enum PlatformAmountExceededType {
  "할인금액이 주문금액을 초과"
  DISCOUNT_THAN_ORDER
  "면세 할인금액이 할인금액을 초과"
  DISCOUNT_TAX_FREE_THAN_DISCOUNT
  "면세 할인금액이 면세 주문금액을 초과"
  DISCOUNT_TAX_FREE_THAN_ORDER_TAX_FREE
  "면세 결제금액이 결제금액을 초과"
  PAYMENT_TAX_FREE_THAN_PAYMENT
}

enum PlatformBulkPayoutStatus {
  SCHEDULED
  PREPARING
  PREPARED
  ONGOING
  CANCELLED
  STOPPED
  COMPLETED
}

enum PlatformBulkTaskStatus {
  PREPARED
  PROCESSING
  COMPLETED
  CANCELED
}

enum PlatformBulkTaskType {
  CREATE_TRANSFERS
  CREATE_PARTNERS
  CONNECT_MEMBER_COMPANIES
  DISCONNECT_MEMBER_COMPANIES
}

"플랫폼 사업자 상태"
enum PlatformBusinessStatus {
  "사업 중"
  IN_BUSINESS
  "폐업"
  CLOSED
  "휴업"
  SUSPENDED
}

"금액 타입"
enum PlatformCancellableAmountType {
"""
공급대가

공급가액과 부가세를 더한 금액입니다.
"""
  SUPPLY_WITH_VAT
  "면세 금액"
  TAX_FREE
}

"플랫폼 파트너 사업자 상태"
enum PlatformPartnerBusinessStatus {
  "조회 되지 않음"
  NOT_VERIFIED
  "조회 오류"
  VERIFY_ERROR
  "대응되는 사업자 없음"
  NOT_FOUND
  "사업 중"
  IN_BUSINESS
  "폐업"
  CLOSED
  "휴업"
  SUSPENDED
}

"플랫폼 파트너 연동 사업자 연결 상태"
enum PlatformPartnerMemberCompanyConnectionStatus {
  "연결되지 않음"
  NOT_CONNECTED
  "연결 대기"
  CONNECT_PENDING
  "연결됨"
  CONNECTED
  "연결 실패"
  CONNECT_FAILED
  "연결 해제 대기"
  DISCONNECT_PENDING
}

"정산 상태"
enum PlatformPartnerSettlementStatus {
  "지급 예약"
  PAYOUT_SCHEDULED
  "지급 예정"
  PAYOUT_PREPARED
  "지급 보류"
  PAYOUT_WITHHELD
  "지급 실패"
  PAYOUT_FAILED
  "지급 중"
  IN_PAYOUT
  "지급 완료"
  PAID_OUT
}

"정산 유형"
enum PlatformPartnerSettlementType {
  "수동 정산"
  MANUAL
  "주문 정산"
  ORDER
  "주문 취소 정산"
  ORDER_CANCEL
}

"플랫폼 파트너 상태"
enum PlatformPartnerStatus {
  "승인 대기 중"
  PENDING
  "승인 완료"
  APPROVED
  "승인 거절"
  REJECTED
}

"플랫폼 파트너 과세 유형"
enum PlatformPartnerTaxationType {
  "일반 과세"
  NORMAL
  "간이과세(세금계산서 발행)"
  SIMPLE_TAX_INVOICE_ISSUER
  "간이과세(세금계산서 미발행)"
  SIMPLE
  "면세"
  TAX_FREE
}

"플랫폼 파트너 유형 이름"
enum PlatformPartnerTypeName {
  "사업자"
  BUSINESS
  "원천징수 대상자"
  WHT_PAYER
  "원천징수 비대상자"
  NON_WHT_PAYER
}

"""
금액 부담 주체

플랫폼에서 발생한 결제 수수료, 부가세 등 금액을 부담하는 주체를 나타냅니다.
"""
enum PlatformPayer {
  "파트너가 부담하는 경우"
  PARTNER
  "고객사가 부담하는 경우"
  MERCHANT
}

enum PlatformPayoutMethod {
  DIRECT
  AGENCY
}

enum PlatformPayoutStatus {
  PREPARED
  CANCELLED
  STOPPED
  PROCESSING
  SUCCEEDED
  FAILED
  SCHEDULED
}

enum PlatformPermission {
  UNSPECIFIED
  SETTLEMENT_CALCULATOR_READ
  SETTLEMENT_CALCULATOR_WRITE
  SETTLEMENT_POLICY_READ
  SETTLEMENT_POLICY_WRITE
  TRANSFER_READ
  TRANSFER_WRITE
  PAYOUT_READ
  PAYOUT_WRITE
  BULK_PAYOUT_READ
  BULK_PAYOUT_WRITE
  PARTNER_READ
  PARTNER_WRITE
  PARTNER_SETTLEMENT_READ
  PARTNER_SETTLEMENT_WRITE
  EXCEL_DOWNLOAD
  ACCOUNT_TRANSFER_READ
  ACCOUNT_TRANSFER_WRITE
  USER_DEFINED_PROPERTY_READ
  USER_DEFINED_PROPERTY_WRITE
  FILE_UPLOAD
}

"금액 타입"
enum PlatformPortOnePaymentCancelAmountType {
"""
공급대가

공급가액과 부가세를 더한 금액입니다.
"""
  SUPPLY_WITH_VAT
  "면세 금액"
  TAX_FREE
}

"금액에 대한 소수점 처리 방식"
enum PlatformRoundType {
  "소수점 반올림"
  OFF
  "소수점 내림"
  DOWN
  "소수점 올림"
  UP
}

"플랫폼 정산 기준일"
enum PlatformSettlementCycleDatePolicy {
  "공휴일 전 영업일"
  HOLIDAY_BEFORE
  "공휴일 후 영업일"
  HOLIDAY_AFTER
  "달력일"
  CALENDAR_DAY
}

"플랫폼 정산 주기 계산 방식"
enum PlatformSettlementCycleType {
  "매일 정산"
  DAILY
  "매주 정해진 요일에 정산"
  WEEKLY
  "매월 정해진 날(일)에 정산"
  MONTHLY
  "정해진 날짜(월, 일)에 정산"
  MANUAL_DATES
}

"플랫폼 과세 유형"
enum PlatformTaxationType {
  "일반 과세"
  NORMAL
  "간이과세(세금계산서 발행)"
  SIMPLE_TAX_INVOICE_ISSUER
  "간이과세(세금계산서 미발행)"
  SIMPLE
  "면세"
  TAX_FREE
  "고유 번호 부여 사업자 (비영리, 국가 등 납세 의무가 없는)"
  ASSIGNED_ID_NUMBER
  "과세 특례자"
  SPECIAL
}

"정산 상태"
enum PlatformTransferStatus {
  "정산 예약"
  SCHEDULED
  "정산 중"
  IN_PROCESS
  "정산 완료"
  SETTLED
  "지급 중"
  IN_PAYOUT
  "지급 완료"
  PAID_OUT
}

"파트너 유형"
enum PlatformTransferSummaryPartnerType {
  "사업자"
  BUSINESS
  "원천징수 대상자"
  WHT_PAYER
  "원천징수 비대상자"
  NON_WHT_PAYER
}

enum PlatformTransferType {
  ORDER
  ORDER_CANCEL
  MANUAL
}

enum PlatformUserDefinedPropertyObjectType {
  PARTNER
  TRANSFER
}

"포트원 버전"
enum PortOneVersion {
  V1
  V2
}

"프로모션 적용 가능한 카드사"
enum PromotionCardCompany {
  "우리카드"
  WOORI_CARD
  "BC카드"
  BC_CARD
  "삼성카드"
  SAMSUNG_CARD
  "신한카드"
  SHINHAN_CARD
  "현대카드"
  HYUNDAI_CARD
  "롯데카드"
  LOTTE_CARD
  "NH카드"
  NH_CARD
  "하나카드"
  HANA_CARD
  "국민카드"
  KOOKMIN_CARD
}

enum PromotionStatus {
  "예정됨"
  SCHEDULED
  "진행중"
  IN_PROGRESS
  "일시 중지됨"
  PAUSED
  "예산 소진됨"
  BUDGET_EXHAUSTED
  "중단됨"
  TERMINATED
  "완료됨"
  COMPLETED
}

enum PromotionTimeRangeField {
  "프로모션 생성 시각"
  CREATED_AT
  "프로모션 시작 시각"
  START_AT
}

"대사용 간편 결제 PG사"
enum ReconciliationEasyPayProvider {
  PAYCO
  SAMSUNGPAY
  SSGPAY
  KAKAOPAY
  NAVERPAY
  CHAI
  LPAY
  KPAY
  TOSSPAY
  TOSS_BRANDPAY
  LGPAY
  APPLEPAY
  PINPAY
  SKPAY
  WECHATPAY
  PAYPAL
  ALIPAY
  KB_APP
  TMONEYPAY
  HYPHEN
  OK_CASHBAG
  BENEPIA
}

"대사용 결제수단 목록"
enum ReconciliationPaymentMethodType {
  "카드"
  CARD
  "간편결제 충전"
  CHARGE
  "계좌이체"
  TRANSFER
  "ARS"
  ARS
  "상품권"
  GIFT_CERTIFICATE
  "모바일"
  MOBILE
  "가상계좌"
  VIRTUAL_ACCOUNT
  "기타 결제수단"
  ETC
  "기타 간편결제"
  EASY_PAY_ETC
  "페이코 간편결제"
  EASY_PAY_PAYCO
  "삼성페이 간편결제"
  EASY_PAY_SAMSUNGPAY
  "SSG페이 간편결제"
  EASY_PAY_SSGPAY
  "카카오페이 간편결제"
  EASY_PAY_KAKAOPAY
  "네이버페이 간편결제"
  EASY_PAY_NAVERPAY
  "차이페이 간편결제"
  EASY_PAY_CHAI
  "엘페이 간편결제"
  EASY_PAY_LPAY
  "케이페이 간편결제"
  EASY_PAY_KPAY
  "토스페이 간편결제"
  EASY_PAY_TOSSPAY
  "엘지페이 간편결제"
  EASY_PAY_LGPAY
  "애플페이 간편결제"
  EASY_PAY_APPLEPAY
  "핀페이 간편결제"
  EASY_PAY_PINPAY
  "에스케이페이 간편결제"
  EASY_PAY_SKPAY
  "위챗페이 간편결제"
  EASY_PAY_WECHATPAY
  "페이팔 간편결제"
  EASY_PAY_PAYPAL
  "알리페이 간편결제"
  EASY_PAY_ALIPAY
  "토스브랜드페이 간편결제"
  EASY_PAY_TOSS_BRANDPAY
  "케이비앱 간편결제"
  EASY_PAY_KB_APP
  "티머니페이 간편결제"
  EASY_PAY_TMONEYPAY
  "하이픈 간편결제"
  EASY_PAY_HYPHEN
  "OK캐시백 간편결제"
  EASY_PAY_OK_CASHBAG
  "베네피아 간편결제"
  EASY_PAY_BENEPIA
}

enum ReconciliationPgProvider {
  KAKAOPAY
  NICEPAY
  NAVERPAY
  UPLUS
  TOSSPAYMENTS
  TOSSPAY
  PAYCO
  KCP
  DANAL
  EXIMBAY
  INICIS
  HECTO
  KSNET
  KPN
  HYPHEN
}

"채널 타입"
enum SelectedChannelType {
  "실 연동 채널"
  LIVE
  "테스트 연동 채널"
  TEST
}

"정렬 방식"
enum SortOrder {
  "내림차순"
  DESC
  "오름차순"
  ASC
}

"파일 유형"
enum StoreFileCategory {
  "사업자 등록증"
  BUSINESS_LICENSE
}

"상점 월 예상 거래액"
enum StoreServiceMonthlySalesEstimation {
  "1억원 미만"
  LESS_THAN_ONE_HUNDRED_MILLION_WON
  "1억원 ~ 3억원 미만"
  LESS_THAN_THREE_HUNDRED_MILLION_WON
  "3억원 ~ 10억원 미만"
  LESS_THAN_ONE_BILLION_WON
  "10억원 ~ 50억원 미만"
  LESS_THAN_FIVE_BILLION_WON
  "50억원 이상"
  MORE_THAN_FIVE_BILLION_WON
}

"상점 서비스 형태"
enum StoreServiceType {
  "웹 서비스"
  WEB
  "앱 서비스"
  APP
  "웹 및 앱 서비스"
  WEB_AND_APP
}

"웹훅 발송 시의 Content-Type"
enum WebhookContentType {
  "application/json"
  JSON
  "application/x-www-form-urlencoded"
  FORM
}

enum WebhookEnvironment {
  "실 운영 환경"
  PROD
  "개발 및 테스트 환경"
  DEV
}

"웹훅 버전"
enum WebhookVersion {
  V20240101
  V20240425
}

"일"
input AnalyticsTimeGranularityDayInput {
  timezoneHourOffset: Int!
}

"시간"
input AnalyticsTimeGranularityHourInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"""
조회 시간 단위

하나의 단위 필드만 선택하여 입력합니다.
"""
input AnalyticsTimeGranularityInput {
  minute: AnalyticsTimeGranularityMinuteInput
  hour: AnalyticsTimeGranularityHourInput
  day: AnalyticsTimeGranularityDayInput
  week: AnalyticsTimeGranularityWeekInput
  month: AnalyticsTimeGranularityMonthInput
}

"분"
input AnalyticsTimeGranularityMinuteInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"월"
input AnalyticsTimeGranularityMonthInput {
  timezoneHourOffset: Int!
}

"주"
input AnalyticsTimeGranularityWeekInput {
  timezoneHourOffset: Int!
}

input AnnualBillingRegisterInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"파트너 상태를 승인 완료로 변경하기 위한 입력 정보"
input ApprovePlatformPartnerInput {
  "파트너 아이디"
  id: ID!
  "파트너 메모. 값이 명시되지 않은 경우 업데이트하지 않습니다."
  memo: String
}

"추가 수수료 정책을 보관하기 위한 입력 정보"
input ArchivePlatformAdditionalFeePolicyInput {
  "추가 수수료 정책 아이디"
  id: ID!
}

"계약을 보관하기 위한 입력 정보"
input ArchivePlatformContractInput {
  "계약 아이디"
  id: ID!
}

"할인 분담을 보관하기 위한 입력 정보"
input ArchivePlatformDiscountSharePolicyInput {
  "할인 분담 아이디"
  id: ID!
}

"파트너를 보관하기 위한 입력 정보"
input ArchivePlatformPartnerInput {
  "파트너 아이디"
  id: ID!
}

"담당자 관련 입력 정보"
input B2bCompanyContactInput {
  "담당자 성명"
  name: String!
  "담당자 핸드폰 번호"
  phoneNumber: String!
  "담당자 이메일"
  email: String!
}

"사업자 입력 정보"
input B2bMemberCompanyInput {
  "사업자등록번호"
  brn: String!
  "회사명"
  companyName: String!
  "대표자 성명"
  representativeName: String!
  "회사 주소"
  address: String!
  "업태"
  businessType: String!
  "업종"
  businessClass: String!
  "담당자 정보"
  contact: B2bCompanyContactInput!
}

"추가 담당자"
input B2bTaxInvoiceAdditionalContactInput {
"""
성명

최대 100자
"""
  name: String
  "이메일"
  email: String!
}

input B2bTaxInvoiceCompanyInput {
"""
사업자등록번호

`-`를 제외한 10자리
"""
  brn: String!
"""
종사업자 식별 번호

4자리 고정
"""
  taxRegistrationId: String
"""
상호명

최대 200자
"""
  name: String
"""
대표자 성명

최대 100자
"""
  representativeName: String
"""
주소

최대 300자
"""
  address: String
"""
업태

최대 100자
"""
  businessType: String
"""
종목

최대 100자
"""
  businessClass: String
  "담당자"
  contact: B2bTaxInvoiceContactInput
}

"세금계산서 담당자"
input B2bTaxInvoiceContactInput {
  "성명"
  name: String
  "부서"
  department: String
  "전화번호"
  phoneNumber: String
  "휴대전화번호"
  mobilePhoneNumber: String
  "이메일"
  email: String
}

"세금계산서 생성 요청 정보"
input B2bTaxInvoiceInput {
  "과세 유형"
  taxationType: B2bTaxInvoiceTaxationType!
  "일련번호"
  serialNumber: String
  "권"
  bookVolume: Int
  "호"
  bookIssue: Int
  "작성일"
  writeDate: Date!
  "영수/청구"
  purposeType: B2bTaxInvoicePurposeType!
  "공급가액 합계"
  totalSupplyAmount: Long!
  "세액 합계"
  totalTaxAmount: Long!
  "합계 금액"
  totalAmount: Long!
  "현금"
  cashAmount: Long
  "수표"
  checkAmount: Long
  "외상"
  creditAmount: Long
  "어음"
  noteAmount: Long
"""
비고

최대 3개
"""
  remarks: [String!]
"""
공급자 문서번호

영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능
"""
  supplierDocumentKey: String
  "공급자"
  supplier: B2bTaxInvoiceCompanyInput!
"""
공급받는자 문서번호

영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능
"""
  recipientDocumentKey: String
  "공급받는자"
  recipient: B2bTaxInvoiceCompanyInput!
"""
문자 전송 여부

공급자 담당자 휴대폰번호 {supplier.contact.mobile_phone_number} 값으로 문자 전송 전송시 포인트 차감되며, 실패시 환불 처리 기본값은 false
"""
  sendSms: Boolean
"""
품목

최대 99개
"""
  items: [B2bTaxInvoiceItemInput!]
"""
추가 담당자

최대 3개
"""
  additionalContacts: [B2bTaxInvoiceAdditionalContactInput!]
}

"품목"
input B2bTaxInvoiceItemInput {
  "결제일"
  purchaseDate: Date
"""
품명

최대 100자
"""
  name: String
"""
규격

최대 100자
"""
  spec: String
"""
수량

입력 범위 : -99999999.99 ~ 999999999.99
`quantity.scale`의 입력 범위 : 0 ~ 2
`quantity.value` * 10^-`quantity.scale` 단위로 치환됩니다.
"""
  quantity: DecimalInput
"""
단가

입력 범위 : -99999999999999.99 ~ 999999999999999.99
`unitCostAmount.scale`의 입력 범위 : 0 ~ 2
`unitCostAmount.value` * 10^-`unitCostAmount.scale` 단위로 치환됩니다.
"""
  unitCostAmount: DecimalInput
  "공급가액"
  supplyCostAmount: Long
  "세액"
  taxAmount: Long
  "비고"
  remark: String
}

"수정 세금계산서 생성 입력 정보"
input B2bTaxInvoiceModificationCreateInput {
  "수정 사유"
  type: B2bTaxInvoiceModificationType!
  "세금계산서 아이디"
  id: ID!
}

"세금계산서 역발행 랜딩 페이지용 공급자 API 입력 정보"
input B2bTaxInvoiceSupplierApiRequestInput {
  "토큰"
  token: String!
  "공급자 사업자등록번호"
  supplierBrn: String!
  "처리 유형"
  actionType: ActionType!
  "메모"
  memo: String
  "테스트 여부"
  isForTest: Boolean!
}

"조회 기간 필터"
input B2bTaxInvoicesDateFilterInput {
"""
조회 기간 기준

미입력시 기본값은 등록일(`REGISTER`)로 설정됩니다.
"""
  dateType: B2bSearchDateType
"""
조회 기간

미입력시 `dateRange.from`의 기본값은 한 달 이전, `dateRange.until`의 기본값은 현재 일자로 설정됩니다.
"""
  dateRange: [DateRangeOptionInput!]
}

"세금계산서 다건 조회 필터"
input B2bTaxInvoicesFilterInput {
"""
상위 필터

가장 주요 항목을 설정하는 상위 필터이며 사용할 때는 주어진 필드 중 한 개의 필드만 입력합니다.
"""
  primaryFilter: B2bTaxInvoicesPrimaryFilterInput
  "공급자 사업자등록번호"
  supplierBrn: String
"""
세금계산서 상태

미입력시 모든 상태를 조회합니다.
"""
  statuses: [B2bTaxInvoiceStatus!]
  "과세 유형"
  taxationTypes: [B2bTaxInvoiceTaxationType!]
  "문서 유형"
  documentModificationTypes: [B2bTaxInvoiceDocumentModificationType!]
  "지연 발행 여부"
  isDelayed: Boolean
  "발행 유형"
  issuanceTypes: [B2bTaxInvoiceIssuanceType!]
  "영수/청구"
  purposeTypes: [B2bTaxInvoicePurposeType!]
}

"""
상위 필터

주어진 필드 중 한 개의 필드만 입력합니다.
"""
input B2bTaxInvoicesPrimaryFilterInput {
  "조회 기간"
  dateFilter: B2bTaxInvoicesDateFilterInput
  "세금계산서 아이디"
  taxInvoicePlainId: String
  "일괄발행 아이디"
  bulkTaxInvoicePlainId: String
  "국세청 승인번호"
  ntsApprovalNumber: String
  "공급자 문서번호"
  supplierDocumentKey: String
  "공급받는자 승인번호"
  recipientDocumentKey: String
  "세금계산서 아이디 리스트"
  taxInvoicePlainIds: [String!]
}

"세금계산서 역발행 취소 정보"
input CancelB2bTaxInvoiceIssuanceInput {
  "세금계산서 아이디"
  id: ID!
  "메모"
  memo: String
}

"세금계산서 역발행 요청 취소 정보"
input CancelB2bTaxInvoiceRequestInput {
  "세금계산서 아이디"
  id: ID!
  "메모"
  memo: String
}

"추가 수수료 정책 예약 업데이트 취소를 위한 입력 정보"
input CancelPlatformAdditionalFeePolicyScheduleInput {
  "추가 수수료 정책 아이디"
  targetId: ID!
}

input CancelPlatformBulkPayoutInput {
  bulkPayoutId: ID!
}

"계약 예약 업데이트 취소를 위한 입력 정보"
input CancelPlatformContractScheduleInput {
  "계약 아이디"
  targetId: ID!
}

"할인 분담 정책 예약 업데이트 취소를 위한 입력 정보"
input CancelPlatformDiscountSharePolicyScheduleInput {
  "할인 분담 정책 아이디"
  targetId: ID!
}

"파트너 예약 업데이트 취소를 위한 입력 정보"
input CancelPlatformPartnerScheduleInput {
  "파트너 아이디"
  targetId: ID!
}

input ChangePaymentScheduleInput {
  "결제 예약 건 아이디"
  id: ID!
  "결제 예정 시각"
  timeToPay: DateTime!
}

input ChannelGroupEntryInput {
  channelKey: String!
  weight: Int!
  enabled: Boolean!
}

"""
파트너 연동 사업자 일괄 연동 요청 정보

파트너들을 연동 사업자로 일괄 연동합니다.
"""
input ConnectBulkPartnerMemberCompanyInput {
  "연동 사업자로 일괄 연동할 파트너 조건 필터"
  filter: PlatformPartnerFilterInput
}

"파트너 연동 사업자 연동을 위한 입력 정보"
input ConnectPartnerMemberCompanyInput {
  "파트너 아이디"
  id: ID!
}

input CreateChannelGroupInput {
  storeId: ID
  name: String!
  type: ChannelGroupType!
  entries: [ChannelGroupEntryInput!]!
}

"추가 수수료 정책 생성을 위한 입력 정보"
input CreatePlatformAdditionalFeePolicyInput {
"""
생성할 추가 수수료 정책 아이디

명시하지 않으면 id 가 임의로 생성됩니다.
"""
  plainId: String
  "이름"
  name: String!
  "수수료 정보"
  fee: PlatformFeeInput!
  "메모"
  memo: String
  "부가세 부담 주체"
  vatPayer: PlatformPayer!
}

input CreatePlatformBulkPayoutInput {
  isForTest: Boolean!
  filter: PlatformPartnerSettlementFilterInput!
  method: PlatformPayoutMethod!
  name: String!
}

"계약 객체 생성을 위한 입력 정보"
input CreatePlatformContractInput {
"""
계약에 부여할 고유 아이디

명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다.
"""
  plainId: String
  "계약 이름"
  name: String!
  "계약 내부 표기를 위한 메모"
  memo: String
  "중개수수료"
  platformFee: PlatformFeeInput!
  "정산 주기"
  settlementCycle: PlatformSettlementCycleInput!
  "중개수수료에 대한 부가세 부담 주체"
  platformFeeVatPayer: PlatformPayer!
  "정산 시 결제금액 부가세 감액 여부"
  subtractPaymentVatAmount: Boolean!
}

"할인 분담 정책 생성을 위한 입력 정보"
input CreatePlatformDiscountSharePolicyInput {
"""
할인 분담에 부여할 고유 아이디

명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다.
"""
  plainId: String
  "할인 분담에 부여할 이름"
  name: String!
  "파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은 `할인금액 * partnerShareRate * 10^5` 로 책정합니다."
  partnerShareRate: Int!
  "해당 할인 분담에 대한 메모 ex) 파트너 브랜드 쿠폰"
  memo: String
}

"수기 정산건 생성을 위한 입력 정보"
input CreatePlatformManualTransferInput {
  "파트너 아이디"
  partnerPlainId: String!
  "메모"
  memo: String
  "정산 금액"
  settlementAmount: Long!
  "정산 일"
  settlementDate: Date!
"""
테스트 모드 여부

기본값은 false 입니다.
"""
  isForTest: Boolean
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValueInput!]
}

"할인 정보"
input CreatePlatformOrderCancelTransferDiscountInput {
  "할인 분담 정책 아이디"
  sharePolicyPlainId: String!
  "할인 금액"
  amount: Long!
  "면세 할인 금액"
  taxFreeAmount: Long
}

"외부 결제 상세 정보"
input CreatePlatformOrderCancelTransferExternalCancellationDetailInput {
  "취소 일시"
  cancelledAt: DateTime
}

"""
주문 취소 정산 등록을 위한 입력 정보

하나의 payment에 하나의 정산 건만 존재하는 경우에는 (partnerId, paymentId)로 취소 정산을 등록하실 수 있습니다.
하나의 payment에 여러 개의 정산 건이 존재하는 경우에는 transferId를 필수로 입력해야 합니다.
transferId를 입력한 경우 (partnerId, paymentId)는 생략 가능합니다.
"""
input CreatePlatformOrderCancelTransferInput {
  "파트너 아이디"
  partnerPlainId: String
  "결제 아이디"
  paymentPlainId: String
  "정산건 아이디"
  transferPlainId: String
  "취소 내역 아이디"
  cancellationPlainId: String!
  "메모"
  memo: String
  "주문 취소 정보"
  orderDetail: CreatePlatformOrderCancelTransferOrderDetailInput
"""
주문 취소 면세 금액

주문 취소 항목과 취소 면세 금액을 같이 전달하시면 최종 취소 면세 금액은 주문 취소 항목의 면세 금액이 아닌 전달해주신 취소 면세 금액으로 적용됩니다.
"""
  taxFreeAmount: Long
  "할인 정보"
  discounts: [CreatePlatformOrderCancelTransferDiscountInput!]!
  "정산 시작일"
  settlementStartDate: Date
"""
외부 결제 상세 정보

해당 정보가 존재하는 경우 외부 결제 취소 정산건으로 등록되고, 존재하지않은 경우 포트원 결제 취소 정산건으로 등록됩니다.
"""
  externalCancellationDetail: CreatePlatformOrderCancelTransferExternalCancellationDetailInput
"""
테스트 모드 여부

기본값은 false 입니다.
"""
  isForTest: Boolean
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValueInput!]
}

"전체 금액 취소"
input CreatePlatformOrderCancelTransferOrderDetailAllInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"""
주문 취소 정보

orderAmount, orderLines, all 중에서 하나만 입력하여야 합니다.
"""
input CreatePlatformOrderCancelTransferOrderDetailInput {
  "주문 취소 금액"
  orderAmount: Long
  "주문 취소 항목 리스트"
  orderLines: [CreatePlatformOrderCancelTransferOrderLineInput!]
  "전체 금액 취소"
  all: CreatePlatformOrderCancelTransferOrderDetailAllInput
}

"주문 취소 항목 리스트"
input CreatePlatformOrderCancelTransferOrderLineInput {
  "상품 아이디"
  productPlainId: String!
  "상품 수량"
  quantity: Int!
  "상품 할인 정보"
  discounts: [CreatePlatformOrderCancelTransferDiscountInput!]!
}

"추가 수수료 정보"
input CreatePlatformOrderTransferAdditionalFeeInput {
  "추가 수수료 정책 아이디"
  policyPlainId: String!
}

"할인 정보"
input CreatePlatformOrderTransferDiscountInput {
  "할인 분담 정책 아이디"
  sharePolicyPlainId: String!
  "할인 금액"
  amount: Long!
  "면세 할인 금액"
  taxFreeAmount: Long
}

"외부 결제 상세 정보"
input CreatePlatformOrderTransferExternalPaymentDetailInput {
  "통화"
  currency: Currency!
  "주문 명"
  orderName: String
  "결제 일시"
  paidAt: DateTime
  "결제 수단"
  method: PlatformPaymentMethodInput
}

"주문 정산건 생성을 위한 입력 정보"
input CreatePlatformOrderTransferInput {
  "파트너 아이디"
  partnerPlainId: String!
"""
계약 아이디

기본값은 파트너의 기본 계약 아이디 입니다.
"""
  contractPlainId: String
  "메모"
  memo: String
  "결제 아이디"
  paymentPlainId: String!
  "주문 정보"
  orderDetail: CreatePlatformOrderTransferOrderDetailInput!
"""
주문 면세 금액

주문 항목과 면세 금액을 같이 전달하시면 최종 면세 금액은 주문 항목의 면세 금액이 아닌 전달해주신 면세 금액으로 적용됩니다.
"""
  taxFreeAmount: Long
"""
정산 시작일

기본값은 결제 일시 입니다.
"""
  settlementStartDate: Date
  "할인 정보"
  discounts: [CreatePlatformOrderTransferDiscountInput!]!
  "추가 수수료 정보"
  additionalFees: [CreatePlatformOrderTransferAdditionalFeeInput!]!
"""
외부 결제 상세 정보

해당 정보가 존재하는 경우 외부 결제 정산건 으로 등록되고, 존재하지않은 경우 포트원 결제 정산건으로 등록됩니다.
"""
  externalPaymentDetail: CreatePlatformOrderTransferExternalPaymentDetailInput
"""
테스트 모드 여부

기본값은 false 입니다.
"""
  isForTest: Boolean
  "정산 파라미터 (실험기능)"
  parameters: [PlatformTransferParameterInput!]
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValueInput!]
}

"""
주문 정보

주문 금액 또는 주문 항목 하나만 입력 가능합니다.
"""
input CreatePlatformOrderTransferOrderDetailInput {
  "주문 금액"
  orderAmount: Long
  "주문 항목 리스트"
  orderLines: [CreatePlatformOrderTransferOrderLineInput!]
}

"주문 항목"
input CreatePlatformOrderTransferOrderLineInput {
  "상품"
  product: CreatePlatformOrderTransferProductInput!
  "상품 수량"
  quantity: Int!
  "상품 할인 정보"
  discounts: [CreatePlatformOrderTransferDiscountInput!]!
  "상품 추가 수수료 정보"
  additionalFees: [CreatePlatformOrderTransferAdditionalFeeInput!]!
}

"상품"
input CreatePlatformOrderTransferProductInput {
  "상품 아이디"
  plainId: String!
  "상품 이름"
  name: String!
  "상품 금액"
  amount: Long!
  "상품 면세 금액"
  taxFreeAmount: Long
  "태그"
  tag: String
}

"파트너 계좌 등록을 위한 정보"
input CreatePlatformPartnerAccountInput {
  "은행"
  bank: Bank!
  "정산에 사용할 통화"
  currency: Currency!
  "계좌번호"
  number: String!
  "예금주명"
  holder: String!
  "계좌 검증 아이디"
  accountVerificationId: String
}

"파트너 담당자 정보"
input CreatePlatformPartnerContactInput {
  "담당자 이름"
  name: String!
  "담당자 휴대폰 번호"
  phoneNumber: String
  "담당자 이메일"
  email: String!
}

"파트너 생성을 위한 입력 정보"
input CreatePlatformPartnerInput {
"""
파트너에 부여할 고유 아이디

고객사 서버에 등록된 파트너 지칭 아이디와 동일하게 설정하는 것을 권장합니다. 명시하지 않는 경우 포트원이 임의의 아이디를 발급해드립니다.
"""
  plainId: String
  "파트너 법인명 혹은 이름"
  name: String!
  "파트너 담당자 연락 정보"
  contact: CreatePlatformPartnerContactInput!
"""
정산 계좌

파트너의 사업자등록번호가 존재하는 경우 명시합니다. 별도로 검증하지는 않으며, 번호와 기호 모두 입력 가능합니다.
"""
  account: CreatePlatformPartnerAccountInput!
"""
기본 계약 아이디

이미 존재하는 계약 아이디를 등록해야 합니다.
"""
  defaultContractPlainId: String!
"""
파트너에 대한 메모

총 256자까지 입력할 수 있습니다.
"""
  memo: String
"""
파트너에 부여할 태그 리스트

최대 10개까지 입력할 수 있습니다.
"""
  tags: [String!]!
"""
파트너 유형별 추가 정보

사업자/원천징수 대상자 중 추가할 파트너의 유형에 따른 정보를 입력해야 합니다.
"""
  type: CreatePlatformPartnerTypeInput!
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValueInput!]
}

input CreatePlatformPartnerTypeBusinessInput {
  "상호명"
  companyName: String!
"""
사업자 유형

값을 입력하지 않으면 일반 과세로 설정됩니다.
"""
  taxationType: PlatformPartnerTaxationType
  "사업자등록번호"
  businessRegistrationNumber: String!
  "대표자 이름"
  representativeName: String!
  "사업장 주소"
  companyAddress: String
  "업태"
  businessType: String
  "업종"
  businessClass: String
  "사업자 조회 검증 아이디"
  companyVerificationId: String
}

"파트너 생성을 위한 유형별 추가 정보"
input CreatePlatformPartnerTypeInput {
  "사업자 추가 정보"
  business: CreatePlatformPartnerTypeBusinessInput
  "원천징수 대상자 추가 정보"
  whtPayer: CreatePlatformPartnerTypeWhtPayerInput
  "원천징수 비대상자 추가 정보"
  nonWhtPayer: CreatePlatformPartnerTypeNonWhtPayerInput
}

input CreatePlatformPartnerTypeNonWhtPayerInput {
  "생년월일"
  birthdate: Date
}

input CreatePlatformPartnerTypeWhtPayerInput {
  "생년월일"
  birthdate: Date
}

"파트너 다건 생성을 위한 입력 정보"
input CreatePlatformPartnersInput {
  "생성할 파트너 리스트 정보"
  partners: [CreatePlatformPartnerInput!]!
}

input CreatePlatformSettlementParameterInput {
"""
정산 파라미터 키

수식에 사용되는 파라미터 식별자입니다.
"""
  key: String!
  "이름"
  name: String!
  "기본 값"
  defaultValue: PlatformSettlementParameterValueInput!
}

"사용자 정의 속성 생성을 위한 입력 정보"
input CreatePlatformUserDefinedPropertyInput {
  isForTest: Boolean!
  key: String!
  name: String!
  objectType: PlatformUserDefinedPropertyObjectType!
  isSecret: Boolean!
}

input CreatePromotionGroupInput {
  "프로모션 그룹을 생성할 하위 상점"
  storeId: ID!
  "프로모션 그룹 정보"
  data: PromotionGroupInput!
}

input CreatePromotionInput {
  "프로모션을 생성할 하위 상점"
  storeId: ID!
  "프로모션 정보"
  data: PromotionInput!
}

input CreateStoreInput {
  "하위상점명"
  name: String!
  "티어 코드"
  tierCode: String!
  "상점 관리자"
  manager: CreateStoreManagerInput
"""
URL 목록

고객사가 제공하는 서비스 웹사이트 & 앱스토어 다운로드 url 목록을 의미합니다. 없는 경우 필드를 명시하지 않고 요청해도 무관합니다.
"""
  urls: [String!]
  "하위상점 약관 동의 정보"
  terms: CreateStoreTermsInput!
}

input CreateStoreManagerInput {
  "이름"
  name: String
"""
핸드폰번호

핸드폰번호는 `-`, 공백 등의 특수기호 없이 숫자만 포함됩니다.
"""
  phoneNumber: String
"""
이메일

상점 관리자의 이메일, 전자결제 진행상황 및 포트원에서 알림을 수신받는 이메일
"""
  email: String
}

input CreateStoreTermsInput {
  "개인정보 수집 동의 여부"
  collectionOfPersonalInformation: Boolean!
  "고객사 상점 정보 조회 동의 여부"
  provisionOfStoreInformationToMerchant: Boolean!
}

input DateRangeInput {
  from: Date!
  until: Date!
}

input DateRangeOptionInput {
  from: Date
  until: Date
}

"시간 범위"
input DateTimeRangeInput {
  from: DateTime!
  until: DateTime!
}

"BigDecimal 타입"
input DecimalInput {
"""
비정규화된 값

소수점 숫자의 비정규화된(unscaled) 값을 정수로 저장합니다. 예를 들어, 123.45의 경우 12345가 저장됩니다.
"""
  value: Long!
"""
소수점 이하 자릿수

소수점 숫자의 소수점 이하 자릿수를 저장합니다. 기본값은 0입니다. 예를 들어, 123.45의 경우 2가 저장됩니다.
"""
  scale: Int
}

"""
세금계산서 일괄 역발행 요청 정보

세금계산서 필터 또는 세금계산서 아이디 리스트 중 하나를 입력 해야합니다.
"""
input DeleteB2bBulkTaxInvoiceInput {
  "세금계산서 필터"
  filter: B2bTaxInvoicesFilterInput
  isForTest: Boolean
}

"세금계산서 삭제"
input DeleteB2bTaxInvoiceInput {
  "세금계산서 아이디"
  id: ID!
}

input DeleteChannelGroupInput {
  id: ID!
}

input DeleteChannelGroupScheduledSessionInput {
  id: ID!
}

input DeletePaymentRecoverySettingInput {
  storeId: ID!
}

"플랫폼 정산 계산기 삭제를 위한 입력 정보"
input DeletePlatformSettlementCalculatorInput {
  "계산기 버전 식별자"
  ref: String!
}

input DeletePlatformTransferInput {
  id: ID!
}

input DeletePromotionGroupInput {
  "프로모션 그룹을 삭제할 하위 상점"
  storeId: ID!
  "삭제할 프로모션 그룹 아이디"
  promotionGroupId: ID!
}

input DeleteStoreInput {
  "상점 아이디"
  id: ID!
}

input DeleteV2ApiSecretInput {
  "삭제할 시크릿의 상점 아이디"
  storeId: ID!
  "시크릿을 인증정보로 가지고 있는 유저 아이디"
  userPlainId: String!
}

"""
파트너 연동 사업자 일괄 연동 해제 요청 정보

파트너들을 연동 사업자에서 일괄 연동 해제합니다.
"""
input DisconnectBulkPartnerMemberCompanyInput {
  "연동 사업자에서 일괄 연동 해제할 파트너 조건 필터"
  filter: PlatformPartnerFilterInput
}

"연동 사업자 연동 해제를 위한 입력 정보"
input DisconnectPartnerMemberCompanyInput {
  "파트너 아이디"
  id: ID!
}

"세금계산서 임시 저장 정보"
input DraftB2bTaxInvoiceInput {
  isForTest: Boolean
  "세금계산서 생성 요청 정보"
  taxInvoice: B2bTaxInvoiceInput!
  "수정 세금계산서 입력 정보"
  modification: B2bTaxInvoiceModificationCreateInput
  "메모"
  memo: String
}

input ExecutePlatformBulkPayoutInput {
  bulkPayoutId: ID!
  "전자 서명 문서(서명 원본 문서 형식 : [document hash]@[ISO8601 timestamp])"
  signature: String!
  "전사 서명이 함께 전달된 VID RANDOM"
  vidRandom: String!
"""
예약 시간

예약 시간이 있을 경우 예약 실행, 없을 경우 즉시 실행됩니다.
23:00 ~ 01:00은 은행 점검시간으로 예약시간으로 지정하실 수 없습니다.
예약 시간은 30분 단위로 지정 가능합니다.
"""
  scheduledAt: DateTime
}

input ExpireStoreWebhookSecretInput {
  "웹훅 시크릿을 만료할 하위 상점 ID"
  storeId: ID!
  "만료시킬 웹훅 시크릿의 환경"
  environment: WebhookEnvironment!
  "만료시킬 웹훅 시크릿"
  secret: String!
}

"사용자 정의 속성 다건 조회를 위한 입력 정보"
input FetchPlatformUserDefinedPropertiesInput {
  isForTest: Boolean!
  objectType: PlatformUserDefinedPropertyObjectType!
}

input GeneratePlatformPayoutsInput {
  bulkPayoutId: ID!
  isForTest: Boolean
}

input GeneratePlatformRemitDocumentContentInput {
  input: PlatformRemitInput!
  isForTest: Boolean!
}

input GetB2bTaxInvoicesInput {
"""
테스트 모드 여부

true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
"""
  isForTest: Boolean
"""
페이지 번호

0부터 시작하는 페이지 번호. 기본 값은 0.
"""
  pageNumber: Int
"""
페이지 크기

각 페이지 당 포함할 객체 수. 기본 값은 500이며 최대 1000까지 요청가능합니다.
"""
  pageSize: Int
  "필터"
  filter: B2bTaxInvoicesFilterInput
}

"세금계산서 발행 승인 정보"
input IssueB2bTaxInvoiceInput {
  "세금계산서 아이디"
  id: ID!
  "메모"
  memo: String
  "이메일 제목"
  emailSubject: String
}

"파일 다운로드 URL을 발급받기 위해 필요한 입력정보"
input IssueStoreFileDownloadUrlInput {
  "상점 ID"
  storeId: ID!
  "상점 ID"
  fileId: ID!
}

"파일 업로드 URL을 발급받기 위해 필요한 입력정보"
input IssueStoreFileUploadUrlInput {
  "상점 ID"
  storeId: ID!
"""
업로드 대상 파일의 유형을 나타냅니다

파일의 유형은 확장자를 나타내는게 아니라, 어떠한 정보를 나타내기 위한 파일인지를 설명합니다(ex. 사업자 등록증)
"""
  category: StoreFileCategory!
  "파일명"
  name: String!
  "확장자"
  extension: String!
}

input IssueStoreWebhookSecretInput {
  "웹훅 시크릿을 발급할 하위 상점 ID"
  storeId: ID!
  "발급할 웹훅 시크릿의 환경"
  environment: WebhookEnvironment!
}

input IssueV2ApiSecretInput {
  "생성할 시크릿의 상점 아이디"
  storeId: ID!
  "생성할 시크릿 이름"
  name: String!
"""
만료기한(일)

시크릿이 만료되기까지의 일 수를 의미합니다. 주어지지 않는 경우 무기한의 시크릿이 생성됩니다.
"""
  expirationDays: Int
}

"API Secret 로그인을 위한 입력 정보"
input LoginViaApiSecretInput {
  "발급받은 API secret"
  apiSecret: String!
}

"월 및 일자 정보"
input MonthDayInput {
  month: Int!
  day: Int!
}

"다건 조회 API 에 사용되는 페이지 입력 정보"
input PageInput {
  "0부터 시작하는 페이지 번호"
  number: Int
  "각 페이지 당 포함할 객체 수"
  size: Int
}

input PausePromotionInput {
  "프로모션을 일시중지할 하위 상점"
  storeId: ID!
  "일시중지할 프로모션 아이디"
  promotionId: ID!
}

"""
거래대사 조회시 적용가능한 필터 목록

필드 중복으로 적용됩니다.
"""
input PaymentReconciliationFilterInput {
  "거래대사 하위 가맹점 아이디 필터"
  storeIds: [ID]
  "거래대사 채널 키 필터"
  channelKeys: [String!]
  "거래대사 결제사(PG) 식별자 필터"
  pgSpecifiers: [ReconciliationPgSpecifierInput!]
  "거래대사 결제 수단 필터"
  paymentMethodTypes: [ReconciliationPaymentMethodType!]
  "거래대사 대사 상태 필터"
  paymentReconciliationStatuses: [PaymentReconciliationStatus!]
  "거래대사 결제 상태 필터"
  actionTypes: [PaymentReconciliationActionType!]
  "거래대사 결제 통화 필터"
  transactionCurrencies: [Currency!]
  "거래대사 정산 통화 필터"
  settlementCurrencies: [Currency!]
}

"""
거래대사 거래 건 별 조회 정렬 조건

필드중 하나만 명시하여야 합니다
"""
input PaymentReconciliationOrderInput {
  "정산일 기준 정렬"
  settlementDate: SortOrder
  "결제일 기준 정렬"
  transactionDate: SortOrder
  "결제 금액 기준 정렬"
  transactionAmount: SortOrder
  "거래이상 금액 기준 정렬"
  anomalyAmount: SortOrder
  "정산 금액 기준 정렬"
  settlementAmount: SortOrder
}

"""
거래대사 거래내역 검색용 필드

각 필드 중 하나만 적용 됩니다.
"""
input PaymentReconciliationSearchConditionInput {
  "고객사 거래 아이디 필드"
  paymentPlainId: String
  "포트원 결제 아이디 필드"
  transactionPlainId: String
  "PG사 거래 아이디 필드"
  pgTxId: String
  "주문명 필드"
  orderName: String
}

"거래대사 정산 통계 필터"
input PaymentReconciliationSettlementStatisticsFilterInput {
  "PG사 가맹점 식별자 필터"
  pgSpecifiers: [ReconciliationPgSpecifierInput!]
  "하위 상점 아이디 필터"
  storeIds: [ID]
}

"거래대사 정산 요약 내역 필터"
input PaymentReconciliationSettlementSummaryFilterInput {
  "PG사 가맹점 식별자 필터"
  pgSpecifiers: [ReconciliationPgSpecifierInput!]
  "하위 상점 아이디 필터"
  storeIds: [ID]
}

input PaymentReconciliationTransactionStatisticsFilterInput {
  "대사용 PG사 가맹점 식별자 필터"
  pgSpecifiers: [ReconciliationPgSpecifierInput!]
  "하위 상점 아이디 필터"
  storeIds: [ID]
}

"거래대사 거래내역 필터"
input PaymentReconciliationTransactionSummaryFilterInput {
  "대사 상태 필터"
  reconciliationStatuses: [PaymentReconciliationStatus!]
  "대사용 PG사 가맹점 식별자 필터"
  pgSpecifiers: [ReconciliationPgSpecifierInput!]
  "하위 상점 아이디 필터"
  storeIds: [ID]
}

"결제 예약 캘린더 조회를 위한 입력 정보"
input PaymentScheduleCalendarFilterInput {
  "결제 예약 캘린더 연도"
  year: Int!
  "결제 예약 캘린더 월"
  month: Int!
"""
결제 예약 캘린더 일

값을 입력하면 해당 일의 정보만 조회, 입력하지 않으면 월 전체 정보 조회
"""
  day: Int
  "조회 기준 타임존"
  timezone: PaymentScheduleCalendarFilterTimeZone!
  "결제 예약 건 상태 리스트"
  status: [PaymentScheduleStatus!]
  "결제 예약 건 통화"
  currency: Currency!
}

"결제 예약 건 다건 조회를 위한 입력 정보"
input PaymentScheduleFilterInput {
  "빌링키"
  billingKey: String
  "결제 예약 건 ID"
  paymentSchedulePlainId: String
  "결제건 ID"
  paymentPlainId: String
  "고객 ID"
  customerPlainId: String
  "텍스트 검색 필터"
  textSearch: PaymentScheduleTextSearchInput
"""
시각 범위를 적용할 필드

from 과 until 필드가 해당 필드의 값에 대해 적용됩니다. 미입력 시 TIME_TO_PAY 로 기본값이 설정됩니다.
"""
  timeRangeField: PaymentScheduleTimeRangeField
"""
결제 예정 시점 조건 범위의 시작

값을 입력하지 않으면 파라미터 end의 90일 전으로 설정됩니다.
"""
  from: DateTime
"""
결제 예정 시점 조건 범위의 끝

값을 입력하지 않으면 현재 시점으로 설정됩니다.
"""
  until: DateTime
"""
결제 예약 건 상태 리스트

값을 입력하지 않으면 상태 필터링이 적용되지 않습니다.
"""
  status: [PaymentScheduleStatus!]
"""
PG사 결제 모듈 리스트

값을 입력하지 않으면 PG사 결제 모듈 필터링이 적용되지 않습니다.
"""
  pgProviders: [PgProvider!]
"""
PG사 리스트

값을 입력하지 않으면 PG사 필터링이 적용되지 않습니다.
"""
  pgCompanies: [PgCompany!]
"""
스마트 라우팅 그룹 아이디 리스트

값을 입력하지 않으면 스마트 라우팅 그룹 아이디 필터링이 적용되지 않습니다.
"""
  smartRoutingGroupIds: [String!]
}

"결제 예약 건 다건 조회 시 정렬 조건"
input PaymentScheduleSortInput {
"""
정렬 기준 필드

어떤 필드를 기준으로 정렬할 지 결정합니다. 비워서 보낼 경우, TIME_TO_PAY가 기본값으로 설정됩니다.
"""
  by: PaymentScheduleSortBy
"""
정렬 순서

어떤 순서로 정렬할 지 결정합니다. 비워서 보낼 경우, DESC(내림차순)가 기본값으로 설정됩니다.
"""
  order: SortOrder
}

"결제 예약 건 다건 조회 시, 텍스트 검색 필터 정보"
input PaymentScheduleTextSearchInput {
  "검색 기준 필드"
  field: PaymentScheduleTextSearchField!
  "검색할 값"
  value: String!
}

"신원확인번호(생년월일6자리 or 사업자번호)"
input PlatformAccountHolderIdentifierInput {
  "개인명의 계좌 조회 시, 주민등록번호 앞자리를 사용합니다."
  birthdate: String
  "법인명의 계좌 조회 시, 사업자등록번호를 사용합니다."
  businessRegistrationNumber: String
}

input PlatformAccountTransferFilterInput {
  types: [PlatformAccountTransferType!]
}

"추가 수수료 정책 다건 조회를 위한 필터 조건"
input PlatformAdditionalFeePolicyFilterInput {
"""
보관 조회 여부

true 이면 보관된 추가 수수료 정책의 필터 옵션을 조회하고, false 이면 보관되지 않은 추가 수수료 정책의 필터 옵션을 조회합니다. 기본값은 false 입니다.
"""
  isArchived: Boolean
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 부가세 부담 주체에 해당하는 추가 수수료 정책만 조회합니다."
  vatPayers: [PlatformPayer!]
  "검색 키워드"
  keyword: PlatformAdditionalFeePolicyFilterKeywordInput
}

"""
검색 키워드 입력 정보

검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 추가 수수료 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만 적용됩니다.
"""
input PlatformAdditionalFeePolicyFilterKeywordInput {
  "해당 값이 포함된 name 을 가진 추가 수수료 정책만 조회합니다."
  name: String
  "해당 값이 포함된 id 를 가진 추가 수수료 정책만 조회합니다."
  id: String
  "해당 값과 같은 수수료 를 가진 추가 수수료 정책만 조회합니다."
  fee: String
}

input PlatformBulkPayoutFilterCriteriaInput {
  timestampRange: DateTimeRangeInput
  bulkPayoutPlainId: String
}

input PlatformBulkPayoutFilterInput {
  statuses: [PlatformBulkPayoutStatus!]
  methods: [PlatformPayoutMethod!]
  criteria: PlatformBulkPayoutFilterCriteriaInput
}

"일괄 지급 정산 내역 필터 입력 정보"
input PlatformBulkPayoutPartnerSettlementsFilterInput {
"""
파트너 아이디

값이 존재하는 경우 해당 리스트에 포함되는 파트너 아이디를 가진 일괄 지급 정산 내역을 조회합니다.
"""
  partnerIds: [ID!]!
"""
정산 상태

값이 존재하는 경우 해당 리스트에 포함되는 정산 상태를 가진 일괄 지급 정산 내역을 조회합니다.
"""
  statuses: [PlatformPartnerSettlementStatus!]!
}

input PlatformBulkTaskFilterInput {
  statuses: [PlatformBulkTaskStatus!]
}

"계약 다건 조회를 위한 필터 조건"
input PlatformContractFilterInput {
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 수수료 부담 주체를 가진 계약만 조회합니다."
  platformFeePayers: [PlatformPayer!]
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 주기 계산 방식을 가진 계약만 조회합니다."
  cycleTypes: [PlatformSettlementCycleType!]
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 기준일을 가진 계약만 조회합니다."
  datePolicies: [PlatformSettlementCycleDatePolicy!]
"""
보관 조회 여부

true 이면 보관된 계약을 조회하고, false 이면 보관되지 않은 계약을 조회합니다. 기본값은 false 입니다.
"""
  isArchived: Boolean
  "검색 키워드"
  keyword: PlatformContractFilterKeywordInput
}

"""
검색 키워드 입력 정보

검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 계약만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.
"""
input PlatformContractFilterKeywordInput {
  "해당 값이 포함된 id 를 가진 계약만 조회합니다."
  id: String
  "해당 값이 포함된 name 을 가진 계약만 조회합니다."
  name: String
}

input PlatformDigitalSignatureInput {
  "전자 서명 문서(서명 원본 문서 형식 : [document hash]@[ISO8601 timestamp])"
  signature: String!
  "전사 서명이 함께 전달된 VID RANDOM"
  vidRandom: String!
}

"할인 분담 정책 다건 조회를 위한 필터 조건"
input PlatformDiscountSharePolicyFilterInput {
"""
보관 조회 여부

true 이면 보관된 할인 분담 정책을 조회하고, false 이면 보관되지 않은 할인 분담 정책을 조회합니다. 기본값은 false 입니다.
"""
  isArchived: Boolean
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 파트너 분담율을 가진 할인 분담 정책만 조회합니다."
  partnerShareRates: [Int!]
  "검색 키워드"
  keyword: PlatformDiscountSharePolicyFilterKeywordInput
}

"""
검색 키워드 입력 정보

검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 할인 분담 정책만 조회합니다. 하위 필드는 명시된 값 중 한 가지만 적용됩니다.
"""
input PlatformDiscountSharePolicyFilterKeywordInput {
  "해당 값이 포함된 id 를 가진 할인 분담 정책만 조회합니다."
  id: String
  "해당 값이 포함된 name 을 가진 할인 분담만 조회합니다."
  name: String
}

"""
수수료 계산 방식을 특정하기 위한 입력 정보

정률 수수료를 설정하고 싶은 경우 `fixedRate` 필드에, 정액 수수료를 설정하고 싶은 경우 `fixedAmount` 필드에 값을 명시해 요청합니다.
두 필드 모두 값이 들어있지 않은 경우 요청이 거절됩니다.
"""
input PlatformFeeInput {
  "정률 수수료"
  fixedRate: Int
  "정액 수수료"
  fixedAmount: Long
}

"파트너 필터 입력 정보"
input PlatformPartnerFilterInput {
"""
보관 조회 여부

true 이면 보관된 파트너를 조회하고, false 이면 보관되지 않은 파트너를 조회합니다. 기본값은 false 입니다.
"""
  isArchived: Boolean
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 태그를 하나 이상 가지는 파트너만 조회합니다."
  tags: [String!]
  "하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 계좌 은행을 가진 파트너만 조회합니다."
  banks: [Bank!]
  "하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 계좌 통화를 가진 파트너만 조회합니다."
  accountCurrencies: [Currency!]
  "하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 아이디를 가진 파트너만 조회합니다."
  plainIds: [String!]
  "하나 이상의 값이 존재하는 경우,  해당 리스트에 포함되는 기본 계약 id를 가진 파트너만 조회합니다."
  contractIds: [String!]
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 계좌 상태를 가진 파트너만 조회합니다."
  accountStatuses: [PlatformAccountStatus!]
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 사업자 상태를 가진 파트너만 조회합니다."
  businessStatuses: [PlatformPartnerBusinessStatus!]
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 사업자 유형을 가진 파트너만 조회합니다."
  types: [PlatformPartnerTypeName!]
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 과세 유형을 가진 파트너만 조회합니다."
  taxationTypes: [PlatformPartnerTaxationType!]
  "하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 연동 사업자 연결 상태를 가진 파트너만 조회합니다."
  memberCompanyConnectionStatuses: [PlatformPartnerMemberCompanyConnectionStatus!]
  "검색 키워드"
  keyword: PlatformPartnerFilterKeywordInput
}

"""
파트너 검색 키워드 입력 정보

검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 파트너만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.
"""
input PlatformPartnerFilterKeywordInput {
  "해당 값이 포함된 id 를 가진 파트너만 조회합니다."
  id: String
  "해당 값이 포함된 이름 을 가진 파트너만 조회합니다."
  name: String
  "해당 값이 포함된 이메일 주소를 가진 파트너만 조회합니다."
  email: String
  "해당 값이 포함된 사업자등록번호를 가진 파트너만 조회합니다."
  businessRegistrationNumber: String
  "해당 값이 포함된 기본 계약 아이디를 가진 파트너만 조회합니다."
  defaultContractPlainId: String
  "해당 값이 포함된 메모를 가진 파트너만 조회합니다."
  memo: String
  "해당 값이 포함된 계좌번호를 가진 파트너만 조회합니다."
  accountNumber: String
  "해당 값이 포함된 계좌 예금주명을 가진 파트너만 조회합니다."
  accountHolder: String
}

input PlatformPartnerSettlementFilterInput {
  settlementDates: [Date!]
  contractPlainIds: [String!]
  partnerTags: [String!]
  settlementCurrencies: [Currency!]
  statuses: [PlatformPartnerSettlementStatus!]
  partnerIds: [ID!]
  settlementTypes: [PlatformPartnerSettlementType!]
  keyword: PlatformPartnerSettlementFilterKeywordInput
}

input PlatformPartnerSettlementFilterKeywordInput {
  partnerSettlementPlainId: String
  payoutPlainId: String
  bulkPayoutPlainId: String
}

input PlatformPaymentMethodCardInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"간편 결제 입력 정보"
input PlatformPaymentMethodEasyPayInput {
  "간편 결제사"
  provider: EasyPayProvider
  "간편 결제 수단"
  methodType: EasyPayMethodType
}

input PlatformPaymentMethodGiftCertificateInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"결제 수단 입력 정보"
input PlatformPaymentMethodInput {
  "카드"
  card: PlatformPaymentMethodCardInput
  "계좌이체"
  transfer: PlatformPaymentMethodTransferInput
  "가상계좌"
  virtualAccount: PlatformPaymentMethodVirtualAccountInput
  "상품권"
  giftCertificate: PlatformPaymentMethodGiftCertificateInput
  "모바일"
  mobile: PlatformPaymentMethodMobileInput
  "간편 결제"
  easyPay: PlatformPaymentMethodEasyPayInput
}

input PlatformPaymentMethodMobileInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

input PlatformPaymentMethodTransferInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

input PlatformPaymentMethodVirtualAccountInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"검색 기준 입력 정보"
input PlatformPayoutFilterCriteriaInput {
  "시간 범위"
  timestampRange: DateTimeRangeInput
  "지급 아이디"
  payoutPlainId: String
  "일괄 지급 아이디"
  bulkPayoutPlainId: String
}

"지급 내역 필터 입력 정보"
input PlatformPayoutFilterInput {
"""
지급 상태

값이 존재하는 경우 해당 리스트에 포함되는 지급 상태를 가진 지급 내역을 조회합니다.
"""
  statuses: [PlatformPayoutStatus!]
"""
파트너 아이디

값이 존재하는 경우 해당 리스트에 포함되는 파트너 아이디를 가진 지급 내역을 조회합니다.
"""
  partnerIds: [ID!]
  "조회 기준"
  criteria: PlatformPayoutFilterCriteriaInput
"""
지급 계좌 은행

값이 존재하는 경우 해당 리스트에 포함되는 지급 계좌 은행을 가진 지급 내역을 조회합니다.
"""
  payoutAccountBanks: [Bank!]
"""
파트너 태그

값이 존재하는 경우 해당 리스트에 포함되는 파트너 태그를 하나 이상 가진 지급 내역을 조회합니다.
"""
  partnerTags: [String!]
"""
지급 통화

값이 존재하는 경우 해당 리스트에 포함되는 지급 통화를 가진 지급 내역을 조회합니다.
"""
  payoutCurrencies: [Currency!]
}

input PlatformPayoutUpdateInput {
  status: PlatformPayoutStatus
  withdrawalMemo: String
  depositMemo: String
  memo: String
  onlyEmpty: Boolean!
}

"송금 요청을 위한 입력 정보"
input PlatformRemitInput {
"""
통화

현재는 KRW만 지원합니다.
"""
  currency: Currency!
  "금액"
  amount: Long!
  "입금 은행"
  depositBank: Bank!
  "입금 계좌 번호"
  depositAccountNumber: String!
  "입금 적요"
  depositMemo: String
  "출금 적요"
  withdrawalMemo: String
}

input PlatformReservedFormulaInput {
  formula: String!
  roundType: PlatformRoundType!
}

"플랫폼 정산 주기 입력 정보"
input PlatformSettlementCycleInput {
"""
지체일 (d+n 의 n)

정산시작일(통상 주문완료일)로부터 더해진 다음 날짜로부터 가장 가까운 날에 정산이 됩니다. 최소 1 에서 최대 10 까지 지정할 수 있습니다.
"""
  lagDays: Int!
  "기준일로, 정산일 계산 시 공휴일을 고려하기 위한 정보입니다."
  datePolicy: PlatformSettlementCycleDatePolicy!
  "정산 주기 계산 방식"
  method: PlatformSettlementCycleMethodInput!
}

input PlatformSettlementCycleMethodDailyInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"""
플랫폼 정산 주기 계산 방식 입력 정보

하나의 하위 필드에만 값을 명시하여 요청합니다.
"""
input PlatformSettlementCycleMethodInput {
  "매일 정산"
  daily: PlatformSettlementCycleMethodDailyInput
  "매주 정해진 요일에 정산"
  weekly: PlatformSettlementCycleMethodWeeklyInput
  "매월 정해진 날(일)에 정산"
  monthly: PlatformSettlementCycleMethodMonthlyInput
  "정해진 날짜(월, 일)에 정산"
  manualDates: PlatformSettlementCycleMethodManualDatesInput
}

input PlatformSettlementCycleMethodManualDatesInput {
  dates: [MonthDayInput!]!
}

input PlatformSettlementCycleMethodMonthlyInput {
  daysOfMonth: [Int!]!
}

input PlatformSettlementCycleMethodWeeklyInput {
  daysOfWeek: [DayOfWeek!]!
}

input PlatformSettlementFormulaInput {
  "플랫폼 수수료 계산식"
  platformFee: PlatformReservedFormulaInput!
  "할인 분담액 계산식"
  discountShare: PlatformReservedFormulaInput!
  "추가 수수료 계산식"
  additionalFee: PlatformReservedFormulaInput!
  "정산 수식"
  settlement: PlatformReservedFormulaInput!
  "사용자정의 수식"
  userDefined: [PlatformUserDefinedFormulaInput!]!
  "수식 순서"
  orderKeys: [String!]!
}

"플랫폼 정산 파라미터 값"
input PlatformSettlementParameterValueInput {
  "크기가 조정되지 않은 숫자"
  decimal: Long!
"""
소수 자리수

정산 시 필요한 `decimalScale`이 지정되지 않은 경우 기본값으로 0을 사용합니다.
입력 가능한 법위는 0 ~ 5 입니다.
"""
  decimalScale: Int
}

"""
정산건 필터 입력 정보

정산 시작일 범위와 정산 일 범위는 둘 중 하나만 입력 가능합니다.
"""
input PlatformTransferFilterInput {
  "정산 시작일 범위"
  settlementStartDateRange: DateRangeInput
  "정산 일 범위"
  settlementDateRange: DateRangeInput
"""
파트너 태그 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 태그를 하나 이상 가지는 파트너에 대한 정산건만 조회합니다.
"""
  partnerTags: [String!]
"""
계약 아이디 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 계약 아이디를 가지는 정산건만 조회합니다.
"""
  contractPlainIds: [String!]
"""
할인 분담 정책 아이디 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 할인 분담 정책 아이디를 하나 이상 가지는 정산건만 조회합니다.
"""
  discountSharePolicyPlainIds: [String!]
"""
추가 수수료 정책 아이디 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 추가 수수료 아이디를 하나 이상 가지는 정산건만 조회합니다.
"""
  additionalFeePolicyPlainIds: [String!]
"""
결제 수단 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 결제 수단을 가지는 파트너만 조회합니다.
"""
  paymentMethodTypes: [PaymentMethodType!]
"""
채널 키 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 채널 키를 가지는 정산건만 조회합니다.
"""
  channelKeys: [String!]
"""
정산 방식 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 방식의 정산건만 조회합니다.
"""
  types: [PlatformTransferType!]
"""
정산 상태 리스트

하나 이상의 값이 존재하는 경우 해당 리스트에 포함되는 정산 상태인 정산건만 조회합니다.
"""
  statuses: [PlatformTransferStatus!]
  "검색 키워드"
  keyword: PlatformTransferFilterKeywordInput
  "테스트 모드 여부"
  isForTest: Boolean
}

"""
정산건 검색 키워드 입력 정보

검색 키워드 적용을 위한 옵션으로, 명시된 키워드를 포함하는 정산건만 조회합니다. 하나의 하위 필드에만 값을 명시하여 요청합니다.
"""
input PlatformTransferFilterKeywordInput {
  "해당 값이 포함된 정보를 가진 정산건만 조회합니다."
  all: String
  "해당 값이랑 일치하는 paymentId 를 가진 정산건만 조회합니다."
  paymentId: String
  "해당 값이랑 일치하는 transferId 를 가진 정산건만 조회합니다."
  transferId: String
  "해당 값이 포함된 transferMemo 를 가진 정산건만 조회합니다."
  transferMemo: String
  "해당 값이랑 일치하는 productId 를 가진 정산건만 조회합니다."
  productId: String
  "해당 값이랑 일치하는 productName 을 가진 정산건만 조회합니다."
  productName: String
  "해당 값이랑 일치하는 partnerId 를 가진 정산건만 조회합니다."
  partnerId: String
  "해당 값이 포함된 partnerName 을 가진 정산건만 조회합니다."
  partnerName: String
  "해당 값이 포함된 partnerMemo 를 가진 정산건만 조회합니다."
  partnerMemo: String
}

"정산 파라미터"
input PlatformTransferParameterInput {
  "파라미터 키"
  key: String!
  "파라미터 값"
  value: PlatformSettlementParameterValueInput!
}

input PlatformUserDefinedFormulaInput {
  name: String!
  key: String!
  formula: String!
  roundType: PlatformRoundType!
}

"사용자 정의 속성"
input PlatformUserDefinedPropertyKeyValueInput {
  "사용자 정의 속성 키"
  key: String!
  "사용자 정의 속성 값"
  value: PlatformUserDefinedPropertyValueInput!
}

input PlatformUserDefinedPropertyValueInput {
  string: String!
}

"카드 프로모션 관련 정보"
input PromotionCardInput {
  cardCompany: PromotionCardCompany!
}

"금액 구간별 프로모션 할인 정책"
input PromotionDiscountPartitionInput {
  amountFrom: Long!
  scheme: PromotionDiscountSchemeInput!
}

"프로모션 할인 정책"
input PromotionDiscountPolicyInput {
  partitions: [PromotionDiscountPartitionInput!]!
}

"프로모션 할인 유형"
input PromotionDiscountSchemeInput {
  "(정액 할인 시) 할인 금액"
  discountAmount: Long
  "(정률 할인 시) 할인률"
  discountPercent: Int
}

input PromotionFilterInput {
  "시각 범위"
  dateTimeRange: DateTimeRangeInput
  "시각 범위를 적용할 필드"
  dateTimeRangeField: PromotionTimeRangeField
  "프로모션 상태 리스트"
  statuses: [PromotionStatus!]!
  "카드사 리스트"
  cardCompanies: [PromotionCardCompany!]!
  "프로모션 아이디"
  plainId: String
  "프로모션 이름의 앞부분"
  nameStartsWith: String
}

input PromotionGroupEntryInput {
  "프로모션 아이디"
  promotionId: ID!
}

input PromotionGroupInput {
  "프로모션 그룹 이름"
  name: String!
  "카드사별로 지정된 프로모션 정보"
  entries: [PromotionGroupEntryInput!]!
}

"프로모션 생성 및 수정을 위한 입력 정보"
input PromotionInput {
  "프로모션 이름"
  name: String!
  "할인 정책"
  discountPolicy: PromotionDiscountPolicyInput!
  "총 예산"
  totalBudget: Long!
  "최소 결제 금액"
  minPaymentAmount: Long
  "최대 할인 금액"
  maxDiscountAmount: Long
  "금액 화폐"
  currency: Currency!
  "프로모션 시작 시각"
  startAt: DateTime!
  "프로모션 종료 시각"
  endAt: DateTime!
  "결제 취소 시 프로모션 예산 복구 옵션"
  recoverOption: PromotionRecoverOptionInput!
  "프로모션 유형별 정보"
  type: PromotionTypeInput!
}

"결제 취소 시 프로모션 예산 복구 옵션"
input PromotionRecoverOptionInput {
  "결제 취소 시 프로모션 예산 복구"
  recover: PromotionRecoverOptionRecoverInput
  "결제 취소 시 프로모션 예산 미복구"
  noRecover: PromotionRecoverOptionNoRecoverInput
}

input PromotionRecoverOptionNoRecoverInput {
  spareBudget: PromotionSpareBudgetInput
}

input PromotionRecoverOptionRecoverInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"환불 대비용 프로모션 추가 예산"
input PromotionSpareBudgetInput {
  "추가 예산 금액"
  amount: Long
  "추가 예산 비율"
  percent: Int
}

input PromotionTypeInput {
  "(카드 프로모션일 경우) 카드 관련 정보"
  card: PromotionCardInput!
}

"""
거래 대사 날짜 범위 조회 필드

필드 중 하나만 적용됩니다.
"""
input ReconciliationDateConditionInput {
  "정산일 범위"
  settlementDateRange: DateRangeInput
  "결제일 범위"
  transactionDateRange: DateRangeInput
}

"대사용 PG사 가맹점 식별자"
input ReconciliationPgSpecifierInput {
  "PG사 가맹점 식별 아이디"
  pgMerchantId: String!
  "PG사"
  pgProvider: ReconciliationPgProvider!
}

"추가 수수료 정책을 복원하기 위한 입력 정보"
input RecoverPlatformAdditionalFeePolicyInput {
  "추가 수수료 정책 아이디"
  id: ID!
}

"계약을 복원하기 위한 입력 정보"
input RecoverPlatformContractInput {
  "계약 아이디"
  id: ID!
}

"할인 분담을 복원하기 위한 입력 정보"
input RecoverPlatformDiscountSharePolicyInput {
  "할인 분담 아이디"
  id: ID!
}

"파트너를 복원하기 위한 입력 정보"
input RecoverPlatformPartnerInput {
  "파트너 아이디"
  id: ID!
}

"토큰 재발급을 위한 입력 정보"
input RefreshTokenInput {
  "리프레시 토큰"
  refreshToken: String!
}

"세금계산서 역발행 요청 거부"
input RefuseB2bTaxInvoiceRequestInput {
  "세금계산서 아이디"
  id: ID!
  "메모"
  memo: String
}

"사업자 연동 요청 정보"
input RegisterB2bMemberCompanyInput {
  "연동 사업자 아이디"
  id: String
  "플랫폼 사업자 merchantId"
  merchantId: String
  "사업자 정보"
  company: B2bMemberCompanyInput!
  "테스트 모드 여부"
  isForTest: Boolean
}

"법인 사업자 정보"
input RegisterBusinessLicenseClassificationCorporationInput {
"""
법인 사업자 등록번호

사업자 등록번호와 별개의 개념으로 , 법인 설립 시 등기소에서 부여하는 부동산 등기용 등록 번호
"""
  corporationNumber: String!
  "대표 이름 목록"
  representativeNames: [RegisterBusinessLicenseRepresentativeNameInput!]!
}

"개인 / 법인 사업자 정보"
input RegisterBusinessLicenseClassificationInput {
  "개인 사업자 등록증 정보"
  soleProprietorship: RegisterBusinessLicenseClassificationSoleProprietorshipInput
  "법인 사업자 정보"
  corporation: RegisterBusinessLicenseClassificationCorporationInput
}

"개인 사업자 등록증 정보"
input RegisterBusinessLicenseClassificationSoleProprietorshipInput {
  "대표자 이름 정보"
  representativeName: RegisterBusinessLicenseRepresentativeNameInput!
  "공동 대표자 이름 정보"
  coRepresentativeName: RegisterBusinessLicenseRepresentativeNameInput
}

"상점의 사업자 등록증 등록에 필요한 입력정보"
input RegisterBusinessLicenseInput {
  "사업자 등록번호"
  registrationNumber: String!
  "주소지 정보"
  location: RegisterBusinessLicenseLocationInput!
  "우편번호"
  postalCode: String!
  "사업자 업태 목록"
  types: [String!]!
  "사업자 종목 목록"
  items: [String!]!
  "회사명"
  companyName: String!
  "개인 / 법인 사업자 정보"
  classification: RegisterBusinessLicenseClassificationInput!
}

"주소지 정보"
input RegisterBusinessLicenseLocationInput {
  "주소"
  address: String!
  "상세 주소"
  detail: String!
}

"대표자 이름 정보"
input RegisterBusinessLicenseRepresentativeNameInput {
  "한글명"
  ko: String!
  "영문명"
  en: String!
}

input RegisterMerchantBillingCardInput {
  "카드 번호 (숫자만)"
  number: String!
  "유효 기간 만료 연도 (2자리)"
  expiryYear: String!
  "유효 기간 만료 월 (2자리)"
  expiryMonth: String!
  "생년월일 (yyMMdd) 또는 사업자 등록 번호 (10자리, 숫자만)"
  birthOrBusinessRegistrationNumber: String!
  "비밀번호 앞 2자리"
  passwordTwoDigits: String!
  "카드 소유자 이메일"
  email: String!
  "결제 담당자 이름"
  billingManagerName: String
  "결제 담당자 휴대폰 번호"
  billingManagerPhoneNumber: String
}

"비즈니스 인증에 필요한 입력정보"
input RegisterStoreBusinessInfoInput {
  storeId: ID!
  "상점의 사업자 등록증 등록에 필요한 입력정보"
  businessLicense: RegisterBusinessLicenseInput!
  "상점 대표자 등록에 필요한 입력정보"
  representatives: [RegisterStoreRepresentativeInput!]!
  "상점 서비스 정보 등록에 필요한 입력정보"
  service: RegisterStoreServiceInput!
  "상점 관리자 정보 등록에 필요한 입력정보"
  manager: RegisterStoreManagerInput!
}

input RegisterStoreManagerInput {
  "이름"
  name: String!
"""
핸드폰번호

핸드폰번호는 `-`, 공백 등의 특수기호 없이 숫자만 포함됩니다.
"""
  phoneNumber: String!
"""
이메일

상점 관리자의 이메일, 전자결제 진행상황 및 포트원에서 알림을 수신받는 이메일
"""
  email: String!
}

"상점 대표자 등록에 필요한 입력정보"
input RegisterStoreRepresentativeInput {
  "이름"
  name: String!
  "휴대폰번호"
  phoneNumber: String!
  "이메일"
  email: String!
  "생년월일"
  birthdate: Date!
}

input RegisterStoreServiceInput {
  "판매 품목"
  salesItems: [String!]!
  "상점 서비스 형태"
  type: StoreServiceType!
  "상점 월 예상 거래액"
  monthlySalesEstimation: StoreServiceMonthlySalesEstimation!
  "서비스 url 목록"
  urls: [String!]!
  "서비스 준비 중"
  isPreparing: Boolean!
  "고객사 요청 메모"
  requestMemo: String
}

"파트너 상태를 승인 거절로 변경하기 위한 입력 정보"
input RejectPlatformPartnerInput {
  "파트너 아이디"
  id: ID!
  "파트너 메모. 값이 명시되지 않은 경우 업데이트하지 않습니다."
  memo: String
}

input RemitPlatformVirtualAccountInput {
  remit: PlatformRemitInput!
  signature: PlatformDigitalSignatureInput!
  isForTest: Boolean!
}

"""
세금계산서 일괄 역발행 요청 정보

세금계산서 필터 또는 세금계산서 아이디 리스트 중 하나를 입력 해야합니다.
"""
input RequestB2bBulkTaxInvoiceInput {
  "세금계산서 필터"
  filter: B2bTaxInvoicesFilterInput
  "메모"
  memo: String
  isForTest: Boolean
}

"세금계산서 역발행 요청"
input RequestB2bTaxInvoiceInput {
  "세금계산서 아이디"
  id: ID!
}

input RequestB2bTaxInvoiceReverseIssuanceInput {
  isForTest: Boolean
  "세금계산서 생성 요청 정보"
  taxInvoice: B2bTaxInvoiceInput!
  "메모"
  memo: String
  "수정 세금계산서 입력 정보"
  modification: B2bTaxInvoiceModificationCreateInput
}

"세금계산서 일괄 발행 요청 정보"
input RequestBulkIssuanceByFileInput {
  "파일 아이디"
  fileId: String!
"""
메모

일괄 발행 유형이 REQUEST 일 때만 적용됩니다.
"""
  memo: String
  "일괄 발행 유형"
  type: B2bBulkIssuanceType!
  isForTest: Boolean
}

"추가 수수료 정책 예약 업데이트 재설정을 위한 입력 정보"
input ReschedulePlatformAdditionalFeePolicyInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformAdditionalFeePolicyInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

input ReschedulePlatformBulkPayoutInput {
  bulkPayoutId: ID!
"""
예약 시간

23:00 ~ 01:00은 은행 점검시간으로 예약시간으로 지정하실 수 없습니다.
예약 시간은 30분 단위로 지정 가능합니다.
"""
  scheduledAt: DateTime!
}

"계약 예약 업데이트 재설정을 위한 입력 정보"
input ReschedulePlatformContractInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformContractInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

"할인 분담 정책 예약 업데이트 재설정을 위한 입력 정보"
input ReschedulePlatformDiscountSharePolicyInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformDiscountSharePolicyInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

"파트너 예약 업데이트 재설정을 위한 입력 정보"
input ReschedulePlatformPartnerInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformPartnerInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

"세금계산서 역발행 이메일 재발송 API 입력 정보"
input ResendB2bTaxInvoiceReverseIssuanceEmailRequestInput {
  "세금계산서 아이디"
  id: ID!
}

input ResendFailedPaymentWebhooksInput {
  "웹훅 일괄 재발송을 실행할 하위 상점입니다. 입력하지 않으면 전체 상점에 대해 재발송합니다."
  storeId: ID
  "조회 기준 시점 유형"
  timestampType: PaymentTimestampType!
  "결제 요청/상태 승인 시점 범위의 시작"
  from: DateTime!
  "결제 요청/상태 승인 시점 범위의 끝"
  until: DateTime!
}

input ResumePromotionInput {
  "프로모션을 재개할 하위 상점"
  storeId: ID!
  "재개할 프로모션 아이디"
  promotionId: ID!
}

input RetryPaymentScheduleInput {
  "결제 예약 건 아이디"
  id: ID!
"""
재시도 옵션(즉시 재시도/재예약)

재시도 옵션을 지정합니다.
"""
  option: RetryPaymentScheduleOptionInput!
}

"""
예약 결제 재시도 옵션

재시도 옵션을 지정합니다. payImmediately 와 schedule 중 한 필드에만 값이 채워져 있어야 합니다.
payImmediately 일 경우 즉시 결제를 재시도하며, schedule 일 경우 미래 시간으로 다시 한 번 예약합니다.
"""
input RetryPaymentScheduleOptionInput {
"""
즉시 재시도 옵션

취소 또는 실패한 예약 건에 대해 즉시 결제를 재시도합니다.
"""
  payImmediately: RetryPaymentScheduleOptionPayImmediatelyInput
"""
재예약 옵션

취소 또는 실패한 예약 건을 다시 한 번 예약합니다.
"""
  schedule: RetryPaymentScheduleOptionScheduleInput
}

input RetryPaymentScheduleOptionPayImmediatelyInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

input RetryPaymentScheduleOptionScheduleInput {
  timeToPay: DateTime!
}

input RevokePaymentScheduleInput {
  "결제 예약 건 아이디"
  id: ID!
}

"고객사의 청구서 담당자 입력 정보"
input SaveMerchantBillingManagerInput {
  "이메일"
  email: String!
  "이름"
  name: String
  "핸드폰번호"
  phoneNumber: String
}

"""
고객사 약관 저장 입력정보

merchantId 외에 약관 입력정보들은 입력한 정보들만 true or false로 저장하고, 나머지는 수정하지 않습니다
"""
input SaveMerchantTermsInput {
  "개인정보 수집 및 이용"
  collectionOfPersonalInformation: Boolean
  "서비스 이용"
  termsOfService: Boolean
  "CRM Onboarding 관련 이메일 수신"
  onboarding: Boolean
  "마케팅 수신"
  marketing: Boolean
  "개인정보 제 3자 제공"
  provisionOfPersonalInformationToThirdParties: Boolean
  "결제 / 청구 정보 등록을 위한 개인정보 이용 동의"
  usageOfPersonalInformationForBilling: Boolean
}

"법인 사업자 정보"
input SaveTemporaryBusinessLicenseClassificationCorporationInput {
"""
법인 사업자 등록번호

사업자 등록번호와 별개의 개념으로 , 법인 설립 시 등기소에서 부여하는 부동산 등기용 등록 번호
"""
  corporationNumber: String
  "대표 이름 목록"
  representativeNames: [SaveTemporaryBusinessLicenseRepresentativeNameInput!]
}

"개인 / 법인 사업자 정보"
input SaveTemporaryBusinessLicenseClassificationInput {
  "개인 사업자 등록증 정보"
  soleProprietorship: SaveTemporaryBusinessLicenseClassificationSoleProprietorshipInput
  "법인 사업자 정보"
  corporation: SaveTemporaryBusinessLicenseClassificationCorporationInput
}

"개인 사업자 등록증 정보"
input SaveTemporaryBusinessLicenseClassificationSoleProprietorshipInput {
  "대표자 이름 정보"
  representativeName: SaveTemporaryBusinessLicenseRepresentativeNameInput!
  "공동 대표자 이름 정보"
  coRepresentativeName: SaveTemporaryBusinessLicenseRepresentativeNameInput
}

"사업자 등록증 임시저장에 필요한 입력정보"
input SaveTemporaryBusinessLicenseInput {
  "사업자 등록번호"
  registrationNumber: String
  "주소지 정보"
  location: SaveTemporaryBusinessLicenseLocationInput
  "우편번호"
  postalCode: String
  "사업자 업태 목록"
  types: [String!]
  "사업자 종목 목록"
  items: [String!]
  "회사명"
  companyName: String
  "개인 / 법인 사업자 정보"
  classification: SaveTemporaryBusinessLicenseClassificationInput!
}

"주소지 정보"
input SaveTemporaryBusinessLicenseLocationInput {
  "주소"
  address: String
  "상세 주소"
  detail: String
}

"대표자 이름 정보"
input SaveTemporaryBusinessLicenseRepresentativeNameInput {
  "한글명"
  ko: String
  "영문명"
  en: String
}

"비즈니스 인증 정보 임시저장에 필요한 입력정보"
input SaveTemporaryStoreBusinessInfoInput {
  storeId: ID!
  "사업자 등록증 임시저장에 필요한 입력정보"
  businessLicense: SaveTemporaryBusinessLicenseInput
  "상점 대표자 임시저장에 필요한 입력정보"
  representatives: [SaveTemporaryStoreRepresentativeInput!]
  "상점 서비스 정보 임시저장에 필요한 입력정보"
  service: SaveTemporaryStoreServiceInput
  "상점 관리자 정보 임시저장에 필요한 입력정보"
  manager: SaveTemporaryStoreManagerInput
}

input SaveTemporaryStoreManagerInput {
  "이름"
  name: String
"""
핸드폰번호

핸드폰번호는 `-`, 공백 등의 특수기호 없이 숫자만 포함됩니다.
"""
  phoneNumber: String
"""
이메일

상점 관리자의 이메일, 전자결제 진행상황 및 포트원에서 알림을 수신받는 이메일
"""
  email: String
}

input SaveTemporaryStoreRepresentativeInput {
  "이름"
  name: String
  "휴대폰번호"
  phoneNumber: String
  "이메일"
  email: String
  "생년월일"
  birthdate: String
}

input SaveTemporaryStoreServiceInput {
  "판매 품목"
  salesItems: [String!]
  "상점 서비스 형태"
  type: StoreServiceType
  "상점 월 예상 거래액"
  monthlySalesEstimation: StoreServiceMonthlySalesEstimation
  "서비스 url 목록"
  urls: [String!]
  "서비스 준비 중"
  isPreparing: Boolean
  "고객사 요청 메모"
  requestMemo: String
}

"추가 수수료 정책 업데이트 예약을 위한 입력 정보"
input SchedulePlatformAdditionalFeePolicyInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformAdditionalFeePolicyInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

"계약 업데이트 예약을 위한 입력 정보"
input SchedulePlatformContractInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformContractInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

"할인 분담 정책 업데이트 예약을 위한 입력 정보"
input SchedulePlatformDiscountSharePolicyInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformDiscountSharePolicyInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

"파트너 업데이트 예약을 위한 입력 정보"
input SchedulePlatformPartnerInput {
  "반영할 업데이트 내용"
  update: UpdatePlatformPartnerInput!
  "업데이트 적용 시점"
  appliedAt: DateTime!
}

input SchedulePlatformPartnersInput {
  filter: PlatformPartnerFilterInput
  update: SchedulePlatformPartnersUpdateInput!
  appliedAt: DateTime!
}

"파트너 계좌 업데이트를 위한 입력 정보"
input SchedulePlatformPartnersUpdateAccountInput {
  "은행"
  bank: Bank!
  "정산에 사용할 통화"
  currency: Currency!
  "계좌번호"
  number: String!
  "예금주명"
  holder: String!
  "계좌 검증 아이디"
  accountVerificationId: String
}

"파트너 업데이트를 위한 유형별 추가 정보"
input SchedulePlatformPartnersUpdateContactInput {
  "담당자 이름"
  name: String
  "담당자 휴대폰 번호"
  phoneNumber: String
  "담당자 이메일"
  email: String
}

input SchedulePlatformPartnersUpdateInput {
  name: String
  contact: SchedulePlatformPartnersUpdateContactInput
  type: SchedulePlatformPartnersUpdateTypeInput
  account: SchedulePlatformPartnersUpdateAccountInput
  defaultContractPlainId: String
  memo: String
  tags: [String!]
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValueInput!]
}

input SchedulePlatformPartnersUpdateTypeBusinessInput {
  "상호명"
  companyName: String
  "사업자 유형"
  taxationType: PlatformPartnerTaxationType
  "사업자등록번호"
  businessRegistrationNumber: String
  "대표자 이름"
  representativeName: String
  "사업장 주소"
  companyAddress: String
  "업태"
  businessType: String
  "업종"
  businessClass: String
  "사업자 조회 검증 아이디"
  companyVerificationId: String
}

"""
파트너 유형별 정보 업데이트를 위한 입력 정보

파트너 유형별 추가 정보를 수정합니다.
최초 생성된 유형 내에서 세부 정보만 수정할 수 있고 파트너의 유형 자체를 수정할 수는 없습니다.
"""
input SchedulePlatformPartnersUpdateTypeInput {
  "사업자 추가 정보"
  business: SchedulePlatformPartnersUpdateTypeBusinessInput
  "원천징수 대상자 추가 정보"
  whtPayer: SchedulePlatformPartnersUpdateTypeWhtPayerInput
  "원천징수 비대상자 추가 정보"
  nonWhtPayer: SchedulePlatformPartnersUpdateTypeNonWhtPayerInput
}

input SchedulePlatformPartnersUpdateTypeNonWhtPayerInput {
  "생년월일"
  birthdate: Date
}

input SchedulePlatformPartnersUpdateTypeWhtPayerInput {
  "생년월일"
  birthdate: Date
}

"세금계산서 국세청 즉시 전송 정보"
input SendToNtsB2bTaxInvoiceInput {
  "세금계산서 아이디"
  id: ID!
}

input SetPaymentRecoverySettingInput {
  storeId: ID!
  "리커버리를 시도할 시각"
  recoveryHour: Int!
  "해당 시각 이후부터 리커버리 실행 (최초 설정 시 필요)"
  applyAfter: DateTime
}

input SignUpInput {
  "유저 이메일"
  email: String!
  "입력값은 대문자, 소문자, 숫자를 포함한 8자리 이상 해야합니다."
  password: String!
  "상점 월 예상 거래액"
  monthlySalesEstimation: StoreServiceMonthlySalesEstimation!
  "회원가입 약관 정보"
  terms: SignUpTermsInput!
"""
아웃바운드 여부

아웃바운드 회원가입은 고객지원팀을 통해 진행됩니다.
"""
  isOutbound: Boolean!
}

input SignUpTermsInput {
  "포트원 이용약관 동의 여부"
  portoneService: Boolean!
  "개인정보 수집 동의 여부"
  collectionOfPersonalInformation: Boolean!
  "마케팅 동의 여부"
  marketing: Boolean!
}

input SignUpViaAgencyInput {
  "유저 이메일"
  email: String!
"""
유저 비밀번호

입력값은 대문자, 소문자, 숫자를 포함한 8자리 이상 해야합니다.
"""
  password: String!
  "영업대행사 코드"
  agencyCode: String!
  "회원가입 약관 정보"
  terms: SignUpViaAgencyTermsInput!
}

input SignUpViaAgencyTermsInput {
  "포트원 이용약관 동의 여부"
  portoneService: Boolean!
  "개인정보 수집 동의 여부"
  collectionOfPersonalInformation: Boolean!
  "마케팅 동의 여부"
  marketing: Boolean!
}

input StopPlatformBulkPayoutInput {
  bulkPayoutId: ID!
  isForTest: Boolean
}

input TerminatePromotionInput {
  "프로모션을 중단할 하위 상점"
  storeId: ID!
  "중단할 프로모션 아이디"
  promotionId: ID!
}

"웹훅 호출 테스트를 위한 입력 정보"
input TestWebhookInput {
  "웹훅 호출 시 사용할 하위 상점 ID"
  storeId: ID!
  "웹훅 호출을 진행하고자 하는 포트원 버전"
  portOneVersion: PortOneVersion!
  "웹훅 호출을 진행하고자 하는 환경"
  environment: WebhookEnvironment!
"""
웹훅 발송에 사용할 정보

명시된 필드 정보를 기존 웹훅 설정보다 우선하여 테스트 웹훅 발송에 사용합니다.
"""
  override: TestWebhookOverrideInput
}

input TestWebhookOverrideInput {
  url: String
  contentType: WebhookContentType
  version: WebhookVersion
}

input TogglePlatformBulkPayoutPartnerSettlementsInput {
  bulkPayoutId: ID!
  value: Boolean!
  select: TogglePlatformBulkPayoutPartnerSettlementsSelectInput
}

input TogglePlatformBulkPayoutPartnerSettlementsSelectAllInput {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

input TogglePlatformBulkPayoutPartnerSettlementsSelectInput {
  partnerSettlementPlainId: String
  filter: PlatformBulkPayoutPartnerSettlementsFilterInput
  all: TogglePlatformBulkPayoutPartnerSettlementsSelectAllInput
}

"연동 사업자 수정 요청 입력 정보"
input UpdateB2bMemberCompanyInput {
  id: ID!
  "회사명"
  companyName: String
  "대표자 성명"
  representativeName: String
  "회사 주소"
  address: String
  "업태"
  businessType: String
  "업종"
  businessClass: String
  "담당자 이름"
  contactName: String
  "담당자 핸드폰 번호"
  contactPhoneNumber: String
  "담당자 이메일"
  contactEmail: String
}

"세금계산서 임시저장 수정 정보"
input UpdateB2bTaxInvoiceDraftInput {
  "세금계산서 아이디"
  id: ID!
  "세금계산서 임시저장 수정 정보"
  taxInvoice: B2bTaxInvoiceInput!
  "메모"
  memo: String
}

input UpdateChannelGroupInput {
  id: ID!
  name: String!
  entries: [ChannelGroupEntryInput!]!
  beginAt: DateTime
}

"""
추가 수수료 정책 업데이트를 위한 입력 정보

값이 명시하지 않은 필드는 업데이트되지 않습니다.
"""
input UpdatePlatformAdditionalFeePolicyInput {
  "업데이트할 추가 수수료 정책 아이디"
  id: ID!
  "책정 수수료"
  fee: PlatformFeeInput
  "추가 수수료 정책 이름"
  name: String
  "해당 추가 수수료 정책에 대한 메모"
  memo: String
  "부가세를 부담할 주체"
  vatPayer: PlatformPayer
}

"""
계약 업데이트를 위한 입력 정보. 값이 명시되지 않은 필드는 업데이트되지 않습니다.

값이 명시되지 않은 필드는 업데이트되지 않습니다.
"""
input UpdatePlatformContractInput {
  "업데이트할 계약 아이디"
  id: ID!
  "계약 이름"
  name: String
  "계약 내부 표기를 위한 메모"
  memo: String
  "중개수수료"
  platformFee: PlatformFeeInput
  "정산 주기"
  settlementCycle: PlatformSettlementCycleInput
  "중개수수료에 대한 부가세 부담 주체"
  platformFeeVatPayer: PlatformPayer
  "정산 시 결제금액 부가세 감액 여부"
  subtractPaymentVatAmount: Boolean
}

"""
할인 분담 정책 업데이트를 위한 입력 정보

값이 명시되지 않은 필드는 업데이트하지 않습니다.
"""
input UpdatePlatformDiscountSharePolicyInput {
  "업데이트할 할인 분담 정책 아이디"
  id: ID!
  "할인 분담 정책 이름"
  name: String
"""
할인 분담율

파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은 `할인금액 * partnerShareRate * 10^5` 로 책정합니다.
"""
  partnerShareRate: Int
  "해당 할인 분담에 대한 메모"
  memo: String
}

"""
플랫폼 업데이트를 위한 입력 정보

값이 명시되지 않은 필드는 업데이트하지 않습니다.
"""
input UpdatePlatformInput {
  "정산 규칙"
  settlementRule: UpdatePlatformSettlementRuleInput
}

"파트너 계좌 업데이트를 위한 입력 정보"
input UpdatePlatformPartnerAccountInput {
  "은행"
  bank: Bank!
  "정산에 사용할 통화"
  currency: Currency!
  "계좌번호"
  number: String!
  "예금주명"
  holder: String!
  "계좌 검증 아이디"
  accountVerificationId: String
}

"파트너 담당자 업데이트를 위한 정보"
input UpdatePlatformPartnerContactInput {
  "담당자 이름"
  name: String
  "담당자 휴대폰 번호"
  phoneNumber: String
  "담당자 이메일"
  email: String
}

"""
파트너 업데이트를 위한 입력 정보

값이 명시되지 않은 필드는 업데이트되지 않습니다.
"""
input UpdatePlatformPartnerInput {
  "업데이트할 파트너의 고유 아이디"
  id: ID!
  "파트너 법인명 혹은 이름"
  name: String
  "파트너 담당자 연락 정보"
  contact: UpdatePlatformPartnerContactInput
  "정산 계좌"
  account: UpdatePlatformPartnerAccountInput
  "파트너에 설정된 기본 계약 아이디"
  defaultContractPlainId: String
  "파트너에 대한 메모"
  memo: String
  "파트너의 태그 리스트"
  tags: [String!]
  "파트너 유형별 정보"
  type: UpdatePlatformPartnerTypeInput
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValueInput!]
}

input UpdatePlatformPartnerSettlementStatusInput {
  partnerSettlementId: ID!
  status: PlatformPartnerSettlementStatus!
  memo: String
}

input UpdatePlatformPartnerTypeBusinessInput {
  "상호명"
  companyName: String
  "사업자 유형"
  taxationType: PlatformPartnerTaxationType
  "사업자등록번호"
  businessRegistrationNumber: String
  "대표자 이름"
  representativeName: String
  "사업장 주소"
  companyAddress: String
  "업태"
  businessType: String
  "업종"
  businessClass: String
  "사업자 조회 검증 아이디"
  companyVerificationId: String
}

"""
파트너 업데이트를 위한 유형별 추가 정보

파트너 유형별 추가 정보를 수정합니다.
기존과 다른 파트너 유형 정보가 입력된 경우, 파트너의 유형 자체가 변경됩니다.
"""
input UpdatePlatformPartnerTypeInput {
  "사업자 추가 정보"
  business: UpdatePlatformPartnerTypeBusinessInput
  "원천징수 대상자 추가 정보"
  whtPayer: UpdatePlatformPartnerTypeWhtPayerInput
  "원천징수 비대상자 추가 정보"
  nonWhtPayer: UpdatePlatformPartnerTypeNonWhtPayerInput
}

input UpdatePlatformPartnerTypeNonWhtPayerInput {
  "생년월일"
  birthdate: Date
}

input UpdatePlatformPartnerTypeWhtPayerInput {
  "생년월일"
  birthdate: Date
}

input UpdatePlatformPayoutInput {
  id: ID!
  update: PlatformPayoutUpdateInput!
}

input UpdatePlatformPayoutsInput {
  bulkPayoutId: ID!
  update: PlatformPayoutUpdateInput!
  setDefaultMemo: Boolean!
}

"플랫폼 설정 업데이트를 위한 입력 정보"
input UpdatePlatformSettingInput {
  "기본 보내는 이 통장 메모"
  defaultWithdrawalMemo: String
  "기본 받는 이 통장 메모"
  defaultDepositMemo: String
}

"""
플랫폼 정산 계산기 업데이트를 위한 입력 정보

정산 계산기 업데이트는 부분 업데이트를 지원하지 않으므로 항상 완성된 설정 데이터를 요구합니다.
"""
input UpdatePlatformSettlementCalculatorInput {
  "정산 수식 설정"
  settlementFormula: PlatformSettlementFormulaInput!
  "부가세 소수점 절사 설정"
  vatRoundType: PlatformRoundType!
  "적용시점"
  scheduledAt: DateTime
}

input UpdatePlatformSettlementParameterInput {
"""
정산 파라미터 키

수식에 사용되는 파라미터 식별자입니다.
"""
  key: String!
  "이름"
  name: String
  "기본 값"
  defaultValue: PlatformSettlementParameterValueInput
}

"""
플랫폼 업데이트 시 변경할 정산 규칙 정보

값이 명시되지 않은 필드는 업데이트하지 않습니다.
"""
input UpdatePlatformSettlementRuleInput {
  "paymentId, storeId, partnerId가 같은 주문 정산건에 대한 중복 정산 지원 여부"
  supportsMultipleOrderTransfersPerPartner: Boolean
  "정산일이 정산시작일보다 작거나 같을 경우 공휴일 후 영업일로 정산일 다시 계산 여부"
  adjustSettlementDateAfterHolidayIfEarlier: Boolean
  "지급 금액에서 원천징수세 차감 여부"
  subtractWhtInPayoutAmount: Boolean
}

input UpdatePlatformUserDefinedPropertyInput {
  id: ID!
  name: String
  isSecret: Boolean
}

input UpdatePromotionGroupInput {
  "프로모션 그룹을 업데이트할 하위 상점"
  storeId: ID!
  "업데이트할 프로모션 그룹 아이디"
  promotionGroupId: ID!
  "업데이트할 프로모션 그룹 정보"
  data: PromotionGroupInput!
}

input UpdatePromotionInput {
  "프로모션을 생성할 하위 상점"
  storeId: ID!
  "업데이트할 프로모션 아이디"
  promotionId: ID!
  "업데이트할 프로모션 정보"
  data: PromotionInput!
}

"값이 명시되지 않은 필드는 업데이트되지 않습니다."
input UpdateStoreInput {
  "상점 아이디"
  id: ID!
  "하위상점명"
  name: String
  "상점 관리자"
  manager: UpdateStoreManagerInput
"""
URL 목록

고객사가 제공하는 서비스 웹사이트 & 앱스토어 다운로드 url 목록을 의미합니다.
"""
  urls: [String!]
}

"값이 명시되지 않은 필드는 업데이트되지 않습니다."
input UpdateStoreManagerInput {
  "이름"
  name: String
"""
핸드폰번호

핸드폰번호는 `-`, 공백 등의 특수기호 없이 숫자만 포함됩니다.
"""
  phoneNumber: String
"""
이메일

상점 관리자의 이메일, 전자결제 진행상황 및 포트원에서 알림을 수신받는 이메일
"""
  email: String
}

input UpdateStoreWebhookSettingInput {
  "웹훅 설정을 업데이트할 하위 상점 ID"
  storeId: ID!
  "업데이트할 웹훅 설정의 포트원 버전"
  portOneVersion: PortOneVersion!
  "업데이트할 웹훅 설정의 환경"
  environment: WebhookEnvironment!
"""
웹훅을 발송할 URL

값 없이 요청하면 웹훅 URL 이 빈 값으로 업데이트됩니다.
"""
  url: String
  "웹훅 발송 시의 Content-Type"
  contentType: WebhookContentType!
  "웹훅 버전"
  version: WebhookVersion
}

"플랫폼 정산 계산기 유효성 검사 정보"
input ValidatePlatformSettlementCalculatorInput {
  "정산 수식 설정"
  settlementFormula: PlatformSettlementFormulaInput!
}

"""
분리 형식 주소

oneLine(한 줄 형식 주소) 필드는 항상 존재합니다.
"""
interface Address {
  "주소 (한 줄)"
  oneLine: String!
}

"사업자 등록증 정보"
interface BusinessLicense {
  "회사명"
  companyName: String
  id: ID!
  "사업자 종목 목록"
  items: [String!]!
  plainId: String!
  "우편번호"
  postalCode: String
  "사업자 등록번호"
  registrationNumber: String
  "사업자 업태 목록"
  types: [String!]!
}

"주소지 정보"
interface BusinessLicenseLocation {
  "주소"
  address: String
  "상세 주소"
  detail: String
}

"대표자 이름 정보"
interface BusinessLicenseRepresentativeName {
  "영문명"
  en: String
  "한글명"
  ko: String
}

"PortOne Public API 요청이 실패했을 때 발생하는 에러를 의미합니다."
interface Error {
  message: String
}

"""
Global Object Identification 지원을 위한 인터페이스.
Node 를 상속받는 타입들은 node(id: ID!) 쿼리를 통해 조회할 수 있습니다.
"""
interface Node {
  "Global Object Identification 에 사용할 수 있는 GraphQL 상의 식별자로, global uniqueness 가 보장되며 ID 타입을 가집니다."
  id: ID!
  "포트원 도메인 내에서 사용되는 식별자로, GraphQL 을 제외한 모든 곳 (REST API, SDK, etc...) 에서 사용되며 String 타입을 가집니다."
  plainId: String!
}

interface PaymentReconciliation {
  actionType: PaymentReconciliationActionType!
  id: ID!
  "에스크로 여부"
  isEscrow: Boolean
  merchantId: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "결제일"
  paidAt: DateTime!
  "결제 금액"
  paymentAmount: Long!
  "결제 통화"
  paymentCurrency: Currency!
  "결제수단 상세 정보"
  paymentMethod: ReconciliationPaymentMethod!
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "거래대사 아이디"
  plainId: String!
  "거래건의 정산 정보"
  settlement: PaymentReconciliationSettlement
  "공급가액"
  supplyAmount: Long!
  "면세가액"
  taxFreeAmount: Long!
  "부가세"
  vatAmount: Long!
}

"결제 예약 건"
interface PaymentSchedule {
  "빌링키"
  billingKey: String!
  "빌링키 요약 정보"
  billingKeyInfo: PaymentScheduleBillingKeyInfo!
  "결제 예약 등록 시점"
  createdAt: DateTime!
  "통화"
  currency: Currency!
  "사용자 지정 데이터"
  customData: String!
  "고객 정보"
  customer: Customer!
  "결제 예약 이벤트 리스트"
  events: PaymentScheduleEvents!
  "결제 예약 건 아이디"
  id: ID!
  "할부 개월 수"
  installmentMonth: Int
  "문화비 지출 여부"
  isCulturalExpense: Boolean!
  "에스크로 결제 여부"
  isEscrow: Boolean!
  "고객사 아이디"
  merchantId: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "웹훅 주소"
  noticeUrls: [String!]
  "주문명"
  orderName: String!
  "결제 건 아이디"
  paymentPlainId: String!
  "결제 예약 건 아이디"
  plainId: String!
  "상품 정보"
  products: [PaymentProduct!]
  "상점 아이디"
  storeId: ID!
  "상점 아이디"
  storePlainId: String!
  "면세액"
  taxFreeAmount: Long
  "결제 예정 시점"
  timeToPay: DateTime
  "결제 총 금액"
  totalAmount: Long!
  "부가세"
  vatAmount: Long
}

interface PaymentScheduleEvent {
  timestamp: DateTime!
}

"""
계좌 이체

송금 대행을 통해 일어난 정산 금액 지급, 인출 목적의 계좌 이체 결과 정보입니다.
"""
interface PlatformAccountTransfer {
  "금액"
  amount: Long!
  "생성 일자"
  createdAt: DateTime!
  "통화"
  currency: Currency!
  "입금 계좌 적요"
  depositMemo: String
  isForTest: Boolean!
  "계좌 이체 아이디"
  plainId: String!
  "수정 일자"
  updatedAt: DateTime!
}

interface PlatformPartnerSettlement {
  id: ID!
  "테스트 모드 여부"
  isForTest: Boolean!
  "메모"
  memo: String
  "파트너"
  partner: PlatformPartner!
  "정산내역 아이디"
  plainId: String!
  "정산 통화"
  settlementCurrency: Currency!
  "정산 일"
  settlementDate: Date!
  "정산 상태"
  status: PlatformPartnerSettlementStatus!
}

"결제 정보"
interface PlatformPayment {
  "통화"
  currency: Currency!
  "결제 수단"
  method: PlatformPaymentMethod
  "주문 명"
  orderName: String
  "결제 일시"
  paidAt: DateTime
  "결제 아이디"
  paymentPlainId: String!
}

"""
정산건

정산건은 파트너에 정산해줄 정산 금액과 정산 방식 등이 포함되어 있는 정산 정보입니다.
정산 방식은은 주문 정산, 주문 취소 정산, 수기 정산이 있습니다.
"""
interface PlatformTransfer {
  id: ID!
  "테스트 모드 여부"
  isForTest: Boolean!
  "메모"
  memo: String
  "파트너"
  partner: PlatformPartner!
  payoutId: ID
  payoutPlainId: String
  "정산건 아이디"
  plainId: String!
  "정산 통화"
  settlementCurrency: Currency!
  "정산 일"
  settlementDate: Date!
  "정산 상태"
  status: PlatformTransferStatus!
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
}

interface PlatformTransferSummary {
  isForTest: Boolean!
  memo: String
  partner: PlatformTransferSummaryPartner!
  partnerUserDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  settlementCurrency: Currency!
  settlementDate: Date!
  status: PlatformTransferStatus!
  transferId: ID!
  transferPlainId: String!
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
}

interface PlatformTransferSummaryPayment {
  currency: Currency!
  methodType: PaymentMethodType
  orderName: String
  paymentPlainId: String!
}

"프로모션"
interface Promotion {
  "프로모션 생성 시각"
  createdAt: DateTime!
  "금액 화폐"
  currency: Currency!
  "할인 정책"
  discountPolicy: PromotionDiscountPolicy!
  "프로모션 종료 시각"
  endAt: DateTime!
  "프로모션 아이디"
  id: ID!
  "최대 할인 금액"
  maxDiscountAmount: Long
  "프로모션 이름"
  name: String!
  "프로모션 아이디"
  plainId: String!
  "결제 취소 시 프로모션 예산 복구 옵션"
  recoverOption: PromotionRecoverOption!
  "소진 금액"
  spentAmount: Long!
  "프로모션 시작 시각"
  startAt: DateTime!
  "프로모션 상태"
  status: PromotionStatus!
  "상점 아이디"
  storeId: ID!
  "상점 아이디"
  storePlainId: String!
  "프로모션 중단 시각"
  terminatedAt: DateTime
  "총 예산"
  totalBudget: Long!
}

"""
상점의 대표자 정보

상점 사업체의 대표자의 이름, 연락처 등 기본 정보들을 담고 있습니다
"""
interface StoreRepresentative {
  "생년월일"
  birthdate: Date
  "이메일"
  email: String
  "이름"
  name: String
  "휴대폰번호"
  phoneNumber: String
}

"요청한 영업대행사 코드가 존재하지 않는 경우"
type AgencyCodeNotFoundError implements Error {
  message: String
}

"대사 서비스 이용약관 동의 성공 응답 정보"
type AgreeReconciliationTermsAndConditionsPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"결제가 이미 완료된 경우"
type AlreadyPaidError implements Error {
  message: String
}

"결제가 이미 완료되었거나 대기중인 경우"
type AlreadyPaidOrWaitingError implements Error {
  message: String
}

"고객사의 analytics 관련 정보"
type Analytics {
  "고객사의 결제 현황을 조회합니다."
  paymentChart("조회할 결제 현황의 시작 시간" from: DateTime!, "조회할 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean, """결제 현황 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!): AnalyticsPaymentChartOutput! @unstable
  "고객사의 결제 현황 인사이트를 조회합니다."
  paymentChartInsight("조회할 결제 현황의 시작 시간" from: DateTime!, "조회할 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean, """타임존 시간 오프셋

입력된 시간 오프셋 기준으로 일, 주, 월이 집계 됩니다.""" timezoneHourOffset: Int!): AnalyticsPaymentChartInsightOutput! @unstable
  "고객사의 평균 거래액 현황을 조회합니다."
  averageAmountChart("조회할 평균 거래액 현황의 시작 시간" from: DateTime!, "조회할 평균 거래액 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!, """평균 거래액 현황 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!): AnalyticsAverageAmountChartOutput! @unstable
  "고객사의 결제수단 현황을 조회합니다."
  paymentMethodChart("조회할 결제수단 현황의 시작 시간" from: DateTime!, "조회할 결제수단 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!): AnalyticsPaymentMethodChartOutput! @unstable
  "고객사의 결제수단 트렌드를 조회합니다."
  paymentMethodTrendChart("조회할 결제수단 트렌드의 시작 시간" from: DateTime!, "조회할 결제수단 트렌드의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!, """결제 결제수단 트렌드 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!): AnalyticsPaymentMethodTrendChartOutput! @unstable
  "고객사의 카드결제 현황을 조회합니다."
  cardChart("조회할 카드결제 현황의 시작 시간" from: DateTime!, "조회할 카드결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!, """카드결제 현황 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!): AnalyticsCardChartOutput! @unstable
  "고객사의 카드사별 결제 현황을 조회합니다."
  cardCompanyChart("조회할 카드사별 결제 현황의 시작 시간" from: DateTime!, "조회할 카드사별 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!, """카드사별 결제 현황 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!, "조회할 카드사" cardCompanies: [CardCompany!]!, "나머지 집계에 포함되지 않을 카드사" excludesFromRemainders: [CardCompany!]!): AnalyticsCardCompanyChartOutput! @unstable
  "고객사의 간편결제 현황을 조회합니다."
  easyPayChart("조회할 간편결제 현황의 시작 시간" from: DateTime!, "조회할 간편결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!, """간편결제 현황 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!): AnalyticsEasyPayChartOutput! @unstable
  "고객사의 간편결제사별 결제 현황을 조회합니다."
  easyPayProviderChart("조회할 간편결제사별 결제 현황의 시작 시간" from: DateTime!, "조회할 간편결제사별 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!, """간편결제사별 결제 현황 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!, "조회할 간편결제사" easyPayProviders: [EasyPayProvider!]!, "나머지 집계에 포함되지 않을 간편결제사" excludesFromRemainders: [EasyPayProvider!]!): AnalyticsEasyPayProviderChartOutput! @unstable
  "고객사의 결제대행사 현황을 조회합니다."
  pgCompanyChart("조회할 결제대행사 현황의 시작 시간" from: DateTime!, "조회할 결제대행사 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!): AnalyticsPgCompanyChartOutput! @unstable
  "고객사의 결제대행사별 거래 추이를 조회합니다."
  pgCompanyTrendChart("조회할 결제대행사별 거래 추이의 시작 시간" from: DateTime!, "조회할 결제대행사별 거래 추이의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!, """결제취소건 제외 여부

true 이면 결제취소내역은 응답에 포함 및 반영되지 않습니다. false 또는 값을 명시하지 않은 경우 결제취소내역이 응답에 반영됩니다.""" excludeCancelled: Boolean!, """결제 결제대행사별 거래 추이 조회 단위

시간별, 월별 단위만 지원됩니다.""" timeGranularity: AnalyticsTimeGranularityInput!, "조회할 결제대행사" pgCompanies: [PgCompany!]!): AnalyticsPgCompanyTrendChartOutput! @unstable
  "고객사의 해외 결제 사용 여부를 조회합니다."
  overseasPaymentUsage: AnalyticsOverseasPaymentUsageOutput! @unstable
  "고객사의 환불율을 조회합니다."
  cancellationRate("환불율 조회 기간의 시작 시간" from: DateTime!, "환불율 조회 기간의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!): AnalyticsCancellationRateOutput! @unstable
  "고객사의 결제상태 이력 집계를 조회합니다."
  paymentStatusChart("조회할 결제 현황의 시작 시간" from: DateTime!, "조회할 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!): AnalyticsPaymentStatusChartOutput! @unstable
  "고객사의 결제수단별 결제전환율을 조회합니다."
  paymentStatusByPaymentMethodChart("조회할 결제 현황의 시작 시간" from: DateTime!, "조회할 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!): AnalyticsPaymentStatusByPaymentMethodChartOutput! @unstable
  "고객사의 PG사별 결제전환율을 조회합니다."
  paymentStatusByPgCompanyChart("조회할 결제 현황의 시작 시간" from: DateTime!, "조회할 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!): AnalyticsPaymentStatusByPgCompanyChartOutput! @unstable
  "고객사의 결제환경별 결제전환율을 조회합니다."
  paymentStatusByPaymentClientChart("조회할 결제 현황의 시작 시간" from: DateTime!, "조회할 결제 현황의 끝 시간" until: DateTime!, """조회할 결제 통화

입력된 통화로 발생한 결제내역만 응답에 포함됩니다.""" currency: Currency!): AnalyticsPaymentStatusByPaymentClientChartOutput! @unstable
}

"고객사의 평균 거래액 현황 조회 응답"
type AnalyticsAverageAmountChart {
  stats: [AnalyticsAverageAmountChartStat!]!
  summary: AnalyticsAverageAmountChartSummary!
}

"특정 시점의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다."
type AnalyticsAverageAmountChartStat {
  "시점"
  timestamp: DateTime!
  "건별 평균 거래액"
  paymentAverageAmount: Long!
  "고객 당 평균 거래액"
  customerAverageAmount: Long!
}

"전체 구간의 건별 평균 거래액, 고객 당 평균 거래액을 나타냅니다."
type AnalyticsAverageAmountChartSummary {
  "건별 평균 거래액"
  paymentAverageAmount: Long!
  "고객 당 평균 거래액"
  customerAverageAmount: Long!
}

"고객사의 환불율 정보"
type AnalyticsCancellationRate {
  cancellationRate: Float!
}

"고객사의 카드결제 현황 차트 정보"
type AnalyticsCardChart {
  stats: [AnalyticsCardChartStat!]!
}

"특정 시점의 카드결제 거래 건 수와 금액을 나타냅니다."
type AnalyticsCardChartStat {
  "시점"
  timestamp: DateTime!
  "거래액"
  amount: Long!
  "거래 건수"
  count: Long!
}

"고객사의 카드사별 결제 현황 조회 응답"
type AnalyticsCardCompanyChart {
  stats: [AnalyticsCardCompanyChartStat!]!
  remainderStats: [AnalyticsCardCompanyChartRemainderStat!]!
  summary: AnalyticsCardCompanyChartSummary!
}

"특정 시점의 나머지 카드사들의 결제금액, 결제 건수를 나타냅니다."
type AnalyticsCardCompanyChartRemainderStat {
  "시점"
  timestamp: DateTime!
  "결제금액"
  amount: Long!
  "결제 건수"
  count: Long!
}

"특정 시점의 카드사 별 결제금액, 결제 건수를 나타냅니다."
type AnalyticsCardCompanyChartStat {
  "시점"
  timestamp: DateTime!
  "카드사"
  cardCompany: CardCompany!
  "결제금액"
  amount: Long!
  "결제 건수"
  count: Long!
}

"결제금액, 결제 건수의 총합을 나타냅니다."
type AnalyticsCardCompanyChartSummary {
  "결제금액 합"
  totalAmount: Long!
  "결제 건수 합"
  totalCount: Long!
}

"고객사의 간편결제 현황 차트 정보"
type AnalyticsEasyPayChart {
  stats: [AnalyticsEasyPayChartStat!]!
}

"특정 시점의 간편결제 거래 건수와 금액을 나타냅니다."
type AnalyticsEasyPayChartStat {
  "시점"
  timestamp: DateTime!
  "거래액"
  amount: Long!
  "거래 건수"
  count: Long!
}

"고객사의 간편결제사별 결제 현황 차트 정보"
type AnalyticsEasyPayProviderChart {
  stats: [AnalyticsEasyPayProviderChartStat!]!
  remainderStats: [AnalyticsEasyPayProviderChartRemainderStat!]!
  summary: AnalyticsEasyPayProviderChartSummary!
}

"특정 시점의 나머지 간편결제사들의 결제금액, 결제 건수를 나타냅니다."
type AnalyticsEasyPayProviderChartRemainderStat {
  "시점"
  timestamp: DateTime!
  "결제금액"
  amount: Long!
  "결제 건수"
  count: Long!
}

"특정 시점의 간편결제사별 결제금액, 결제 건수를 나타냅니다."
type AnalyticsEasyPayProviderChartStat {
  "시점"
  timestamp: DateTime!
  "간편결제사"
  easyPayProvider: EasyPayProvider!
  "결제금액"
  amount: Long!
  "결제 건수"
  count: Long!
}

"결제금액, 결제 건수의 총합을 나타냅니다."
type AnalyticsEasyPayProviderChartSummary {
  "결제금액의 합"
  totalAmount: Long!
  "결제 건수의 합"
  totalCount: Long!
}

"고객사의 해외 결제 사용 여부"
type AnalyticsOverseasPaymentUsage {
  isUsing: Boolean!
}

"고객사의 결제 현황 차트 정보"
type AnalyticsPaymentChart {
  stats: [AnalyticsPaymentChartStat!]!
}

"고객사의 결제 현황 인사이트 정보"
type AnalyticsPaymentChartInsight {
  "월간 최고 거래액 발생일"
  highestDateInMonth: Long
  "월간 최저 거래액 발생일"
  lowestDateInMonth: Long
  "주간 최고 거래액 발생 요일"
  highestDayInWeek: DayOfWeek
  "주간 최저 거래액 발생 요일"
  lowestDayInWeek: DayOfWeek
  "일간 최고 거래액 발생 시간"
  highestHourInDay: Long!
  "일간 최저 거래액 발생 시간"
  lowestHourInDay: Long!
}

"특정 시점의 거래 건 수와 금액을 나타냅니다."
type AnalyticsPaymentChartStat {
  "시점"
  timestamp: DateTime!
  "거래액"
  amount: Long!
  "거래 건수"
  count: Long!
}

"고객사의 결제수단 현황 차트 정보"
type AnalyticsPaymentMethodChart {
  stats: [AnalyticsPaymentMethodChartStat!]!
}

"결제수단별 결제금액, 결제 건수를 나타냅니다."
type AnalyticsPaymentMethodChartStat {
  "결제수단"
  paymentMethod: PaymentMethodType
  "결제수단별 결제금액"
  amount: Long!
  "결제수단별 결제 건수"
  count: Long!
}

"고객사의 결제수단 트렌드 차트 정보"
type AnalyticsPaymentMethodTrendChart {
"""
결제수단별 결제금액, 결제 건수 데이터

(timestamp, paymentMethod) 를 기준으로 오름차순 정렬되어 주어집니다.
"""
  stats: [AnalyticsPaymentMethodTrendChartStat!]!
}

"특정 시점의 결제수단별 결제금액, 결제 건수를 나타냅니다."
type AnalyticsPaymentMethodTrendChartStat {
  "시점"
  timestamp: DateTime!
  "결제수단"
  paymentMethod: PaymentMethodType
  "결제금액"
  amount: Long!
  "결제 건수"
  count: Long!
}

"고객사의 결제 환경 별 결제 상태 차트 정보"
type AnalyticsPaymentStatusByPaymentClientChart {
  stats: [AnalyticsPaymentStatusByPaymentClientChartStat!]!
}

"고객사의 결제 환경 별 결제 상태 차트 정보"
type AnalyticsPaymentStatusByPaymentClientChartStat {
  "결제가 발생한 클라이언트 환경"
  paymentClientType: PaymentClientType!
  "결제 건 상태"
  paymentStatus: PaymentStatus!
  "거래액"
  amount: Long!
  "거래 건수"
  count: Long!
}

"고객사의 결제 수단 별 결제 상태 차트 정보"
type AnalyticsPaymentStatusByPaymentMethodChart {
  stats: [AnalyticsPaymentStatusByPaymentMethodChartStat!]!
}

"각 결제수단, 상태 별 건수와 금액을 나타냅니다."
type AnalyticsPaymentStatusByPaymentMethodChartStat {
  "결제수단"
  paymentMethod: PaymentMethodType
  "결제 건 상태"
  paymentStatus: PaymentStatus!
  "거래액"
  amount: Long!
  "거래 건수"
  count: Long!
}

"고객사의 PG사 별 결제 상태 차트 정보"
type AnalyticsPaymentStatusByPgCompanyChart {
  stats: [AnalyticsPaymentStatusByPgCompanyChartStat!]!
}

"각 상태의 건수와 금액, 사분위수를 나타냅니다."
type AnalyticsPaymentStatusByPgCompanyChartStat {
  "PG사"
  pgCompany: PgCompany!
  "결제 건 상태"
  paymentStatus: PaymentStatus!
  "거래액"
  amount: Long!
  "거래 건수"
  count: Long!
}

"고객사의 결제 상태 차트 정보"
type AnalyticsPaymentStatusChart {
  stats: [AnalyticsPaymentStatusChartStat!]!
}

"각 상태의 건수와 금액, 사분위수를 나타냅니다."
type AnalyticsPaymentStatusChartStat {
  "결제 건 상태"
  paymentStatus: PaymentStatus!
  "거래액"
  amount: Long!
  "거래 건수"
  count: Long!
  "해당 상태 비율"
  averageRatio: Long!
  "1 사분위수"
  firstQuantile: Long!
  "중앙값"
  median: Long!
  "3 사분위수"
  thirdQuantile: Long!
}

"고객사의 결제대행사 현황 차트 정보"
type AnalyticsPgCompanyChart {
  stats: [AnalyticsPgCompanyChartStat!]!
}

"결제대행사별 결제금액, 결제 건수를 나타냅니다."
type AnalyticsPgCompanyChartStat {
  "결제대행사"
  pgCompany: PgCompany!
  "결제대행사별 결제금액"
  amount: Long!
  "결제대행사별 결제 건수"
  count: Long!
}

"고객사의 결제대행사별 거래 추이 차트 정보"
type AnalyticsPgCompanyTrendChart {
  stats: [AnalyticsPgCompanyTrendChartStat!]!
}

"특정 시점의 결제대행사 별 결제금액, 결제 건수를 나타냅니다."
type AnalyticsPgCompanyTrendChartStat {
  "시점"
  timestamp: DateTime!
  "결제대행사"
  pgCompany: PgCompany!
  "결제금액"
  amount: Long!
  "결제 건수"
  count: Long!
}

type AnnualBillingAvailabilityValidatePayload {
  "이전 달 순 거래액"
  previousMonthNetTotalPaymentVolume: Long!
  "과금 구간"
  growthLevel: GrowthLevel!
  "연 결제 적용 시작 날짜"
  annualBillingStartDate: DateTime!
  "연 결제 금액"
  billingAmount: BillingAmount!
  "연 결제 할인율"
  annualDiscountPercent: Int!
}

"이미 연 결제로 등록되어 있는 경우"
type AnnualPlanAlreadyBeingAppliedError implements Error {
  message: String
}

"파트너 승인 성공 응답"
type ApprovePlatformPartnerPayload {
  "승인된 파트너"
  partner: PlatformPartner!
}

"추가 수수료 정책 보관 성공 응답"
type ArchivePlatformAdditionalFeePolicyPayload {
  "보관된 추가 수수료 정책"
  additionalFeePolicy: PlatformAdditionalFeePolicy!
}

"계약 보관 성공 응답"
type ArchivePlatformContractPayload {
  "보관된 계약"
  contract: PlatformContract!
}

"할인 분담 보관 성공 응답"
type ArchivePlatformDiscountSharePolicyPayload {
  "보관된 할인 분담"
  discountSharePolicy: PlatformDiscountSharePolicy!
}

"파트너 보관 성공 응답"
type ArchivePlatformPartnerPayload {
  "보관된 파트너"
  partner: PlatformPartner!
}

"세금계산서 과세 유형을 수정할 수 없는 경우"
type B2BCannotChangeTaxTypeError implements Error {
  message: String
}

"원본 세금계산서가 발행완료 상태가 아닌 경우"
type B2BTaxInvoiceStatusNotIssuedError implements Error {
  message: String
}

"원본 세금계산서가 전송완료 상태가 아닌 경우"
type B2BTaxInvoiceStatusNotSendingCompletedError implements Error {
  message: String
}

"상태 별 세금계산서 수"
type B2BTaxInvoiceStatusStats {
  drafted: Long!
  draftPending: Long!
  draftFailed: Long!
  requested: Long!
  requestPending: Long!
  requestFailed: Long!
  requestCancelled: Long!
  requestRefused: Long!
  issued: Long!
  issuanceCancelled: Long!
  beforeSending: Long!
  waitingSending: Long!
  sending: Long!
  sendingCompleted: Long!
  sendingFailed: Long!
}

"B2B 기능 관련 정보"
type B2b {
  "고객사가 B2B 기능을 활성화했는지 여부를 조회합니다."
  merchantStatus: B2bMerchantStatusOutput!
"""
포트원 B2B 서비스에 연동된 사업자를 조회합니다.
연동 사업자 id로 연동 사업자를 조회할 수 있습니다.
id가 입력되지 않은 경우 merchant의 연동 사업자가 조회되며 brn은 검증의 용도로 사용됩니다.
id나 brn 중 하나의 값만 명시하여 요청합니다. id가 주어진 경우 isForTest는 무시됩니다.
"""
  memberCompany(id: ID, brn: String, isForTest: Boolean!): B2bMemberCompanyOutput!
  "연동된 사업자를 검색합니다."
  memberCompanies(keyword: String!, isForTest: Boolean!): B2bMemberCompaniesOutput!
  "등록된 세금 계산서를 세금계산서 아이디로 조회합니다."
  taxInvoice(id: ID!): B2bTaxInvoiceOutput!
  "조회 기간 내 등록된 세금 계산서를 다건 조회합니다."
  taxInvoices(input: GetB2bTaxInvoicesInput!): B2bTaxInvoicesOutput!
  "연동 사업자의 인증서를 조회합니다."
  certificate(brn: String!, isForTest: Boolean!): B2bCertificateOutput!
  "S3 파일 업로드를 위한 URL을 생성합니다."
  taxInvoiceFileUploadLink(isForTest: Boolean, "파일 이름" fileName: String!): CreateB2bFileUploadUrlOutput!
}

"계좌가 존재하지 않는 경우"
type B2bBankAccountNotFoundError implements Error {
  message: String
}

type B2bBulkTask implements Node {
  "일괄 작업 고유 아이디"
  plainId: String!
  id: ID!
  status: B2bBulkTaskStatus!
  type: B2bBulkTaskType!
  stats: B2bBulkTaskStats!
  statusUpdatedAt: DateTime!
}

"일괄 작업 상태 별 건수"
type B2bBulkTaskStats {
  totalCount: Long!
  preparedCount: Long!
  processingCount: Long!
  succeededCount: Long!
  failedCount: Long!
}

type B2bCertificate {
  "등록일시"
  registeredAt: DateTime!
  "만료일시"
  expiredAt: DateTime!
  "발행자명"
  issuerName: String!
  "본인명"
  subjectName: String!
  "인증서 타입"
  certificateType: B2bCertificateType!
  "OID"
  oid: String!
  "등록 담당자 성명"
  registrantContactName: String!
  "등록 담당자 ID"
  registrantContactId: String!
}

"인증서가 등록되어 있지 않은 경우"
type B2bCertificateUnregisteredError implements Error {
  message: String
}

"사업자가 이미 연동되어 있는 경우"
type B2bCompanyAlreadyRegisteredError implements Error {
  message: String
}

"담당자 정보"
type B2bCompanyContact {
  "담당자 성명"
  name: String!
  "담당자 핸드폰 번호"
  phoneNumber: String!
  "담당자 이메일"
  email: String!
}

"사업자가 존재하지 않는 경우"
type B2bCompanyNotFoundError implements Error {
  message: String
}

"담당자가 존재하지 않는 경우"
type B2bContactNotFoundError implements Error {
  message: String
}

"문서번호 수정이 요청된 경우"
type B2bDocumentKeyCannotBeChangedError implements Error {
  message: String
}

"외부 서비스에서 에러가 발생한 경우"
type B2bExternalServiceError implements Error {
  message: String
}

"업로드한 파일이 제공된 템플릿이 아닌 경우"
type B2bFileIsNotSuppliedTemplateError implements Error {
  message: String
}

"업로드한 파일을 찾을 수 없는 경우"
type B2bFileNotFoundError implements Error {
  message: String
}

"금융기관과의 통신에 실패한 경우"
type B2bFinancialSystemCommunicationError implements Error {
  message: String
}

"금융기관 장애"
type B2bFinancialSystemFailureError implements Error {
  message: String
}

"금융기관 시스템이 점검 중인 경우"
type B2bFinancialSystemUnderMaintenanceError implements Error {
  message: String
}

"계좌 정보 조회가 불가능한 외화 계좌인 경우"
type B2bForeignExchangeAccountError implements Error {
  message: String
}

"홈택스가 점검중이거나 순단이 발생한 경우"
type B2bHometaxUnderMaintenanceError implements Error {
  message: String
}

"ID가 이미 사용중인 경우"
type B2bIdAlreadyExistsError implements Error {
  message: String
}

"파일 내 형식에 맞지 않은 요소가 있는 경우"
type B2bInvalidElementsError implements Error {
  elements: [InvalidFileElement!]!
  message: String
}

"세금계산서 발행 요청 갯수가 상한을 초과한 경우"
type B2bMaxTaxInvoiceRequestNumberExceededError implements Error {
  message: String
}

"연동 사업자 검색 성공 응답"
type B2bMemberCompaniesPayload {
  "사업자 목록"
  items: [B2bMemberCompany!]!
}

type B2bMemberCompany implements Node {
  "사업자 고유 아이디"
  plainId: String!
  id: ID!
  "외부 공개용 아이디"
  externalId: String
"""
사업자등록번호

`-` 없이 숫자로만 구성됩니다.
"""
  brn: String!
  "회사명"
  companyName: String!
  "대표자 성명"
  representativeName: String!
  "회사 주소"
  address: String!
  "업태"
  businessType: String!
  "업종"
  businessClass: String!
  "담당자 정보"
  contact: B2bCompanyContact!
}

"연동 사업자가 존재하지 않는 경우"
type B2bMemberCompanyNotFoundError implements Error {
  message: String
}

type B2bMerchantStatusPayload {
  "운영 환경 활성화 여부"
  isLiveEnabled: Boolean!
  "테스트 환경 활성화 여부"
  isTestEnabled: Boolean!
}

"세금계산서 수정 입력 정보를 찾을 수 없는 경우"
type B2bModificationNotProvidedError implements Error {
  message: String
}

"B2B 기능이 활성화되지 않은 경우"
type B2bNotEnabledError implements Error {
  message: String
}

"원본 세금계산서가 존재하지 않은 경우"
type B2bOriginalTaxInvoiceNotFoundError implements Error {
  message: String
}

"공급받는자용 문서 번호가 이미 사용중인 경우"
type B2bRecipientDocumentKeyAlreadyUsedError implements Error {
  message: String
}

"공급받는자가 존재하지 않은 경우"
type B2bRecipientNotFoundError implements Error {
  message: String
}

"금융기관 시스템이 정기 점검 중인 경우"
type B2bRegularMaintenanceTimeError implements Error {
  message: String
}

"공급자용 문서 번호가 이미 사용중인 경우"
type B2bSupplierDocumentKeyAlreadyUsedError implements Error {
  message: String
}

"공급자가 존재하지 않은 경우"
type B2bSupplierNotFoundError implements Error {
  message: String
}

"정지 계좌인 경우"
type B2bSuspendedAccountError implements Error {
  message: String
}

"세금계산서"
type B2bTaxInvoice implements Node {
  "세금계산서 아이디"
  plainId: String!
  id: ID!
  "상태"
  status: B2bTaxInvoiceStatus!
  "과세 유형"
  taxationType: B2bTaxInvoiceTaxationType!
  "문서 유형"
  documentModificationType: B2bTaxInvoiceDocumentModificationType!
  "지연 발행 여부"
  isDelayed: Boolean
  "발행 유형"
  issuanceType: B2bTaxInvoiceIssuanceType!
  "일괄 발행 아이디"
  bulkTaxInvoiceId: String
  "일련번호"
  serialNumber: String
"""
책번호 - 권

입력 범위(4자리) : 0 ~ 9999
"""
  bookVolume: Int
"""
책번호 - 호

입력 범위(4자리) : 0 ~ 9999
"""
  bookIssue: Int
  "작성일"
  writeDate: Date!
  "발행 마감일"
  issuanceDueDate: Date!
  "영수/청구"
  purposeType: B2bTaxInvoicePurposeType!
  "공급가액 합계"
  totalSupplyAmount: Long!
  "세액 합계"
  totalTaxAmount: Long!
  "합계 금액"
  totalAmount: Long!
  "현금"
  cashAmount: Long
  "수표"
  checkAmount: Long
  "외상"
  creditAmount: Long
  "어음"
  noteAmount: Long
"""
비고

최대 3개
"""
  remarks: [String!]!
  "공급자 문서번호"
  supplierDocumentKey: String
  "공급자"
  supplier: B2bTaxInvoiceCompany!
  "공급받는자 문서번호"
  recipientDocumentKey: String
  "공급받는자"
  recipient: B2bTaxInvoiceCompany!
  "문자 전송 여부"
  sendSms: Boolean
  "수정 사유 기재"
  modification: B2bTaxInvoiceModification
"""
품목

최대 99개
"""
  items: [B2bTaxInvoiceItem!]!
"""
추가 담당자

최대 3개
"""
  additionalContacts: [B2bTaxInvoiceAdditionalContact!]!
  "메모"
  memo: String
  "임시 저장 일시"
  draftedAt: DateTime
  "발행 요청 일시"
  requestedAt: DateTime
  "발행 일시"
  issuedAt: DateTime
  "상태 변경 일시"
  statusUpdatedAt: DateTime
  "국세청 전송 일시"
  ntsSentAt: DateTime
"""
국세청 승인번호

세금계산서 발행(전자서명) 시점에 자동으로 부여
"""
  ntsApprovalNumber: String
  "국세청 전송 결과"
  ntsResult: String
"""
국세청 결과 코드

국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨
"""
  ntsResultCode: String
  "국세청 결과 수신 일시"
  ntsResultReceivedAt: DateTime
  "삭제 일시"
  deletedAt: DateTime
}

"추가 담당자"
type B2bTaxInvoiceAdditionalContact {
"""
성명

최대 100자
"""
  name: String
  "이메일"
  email: String!
}

"세금계산서의 첨부파일을 찾을 수 없는 경우"
type B2bTaxInvoiceAttachmentNotFoundError implements Error {
  message: String
}

type B2bTaxInvoiceCompany {
"""
사업자등록번호

`-`를 제외한 10자리
"""
  brn: String!
"""
종사업자 식별 번호

4자리 고정
"""
  taxRegistrationId: String
"""
상호명

최대 200자
"""
  name: String
"""
대표자 성명

최대 100자
"""
  representativeName: String
"""
주소

최대 300자
"""
  address: String
"""
업태

최대 100자
"""
  businessType: String
"""
종목

최대 100자
"""
  businessClass: String
  "담당자"
  contact: B2bTaxInvoiceContact
}

"세금계산서 담당자"
type B2bTaxInvoiceContact {
  "성명"
  name: String
  "부서"
  department: String
  "전화번호"
  phoneNumber: String
  "휴대전화번호"
  mobilePhoneNumber: String
  "이메일"
  email: String
}

"품목"
type B2bTaxInvoiceItem {
  "결제일"
  purchaseDate: Date
"""
품명

최대 100자
"""
  name: String
"""
규격

최대 100자
"""
  spec: String
"""
수량

입력 범위 : -99999999.99 ~ 999999999.99
`quantity.scale`의 입력 범위 : 0 ~ 2
`quantity.value` * 10^-`quantity.scale` 단위로 치환됩니다.
"""
  quantity: Decimal
"""
단가

입력 범위 : -99999999999999.99 ~ 999999999999999.99
`unitCostAmount.scale`의 입력 범위 : 0 ~ 2
`unitCostAmount.value` * 10^-`unitCostAmount.scale` 단위로 치환됩니다.
"""
  unitCostAmount: Decimal
  "공급가액"
  supplyCostAmount: Long
  "세액"
  taxAmount: Long
  "비고"
  remark: String
}

"세금 계산서 수정"
type B2bTaxInvoiceModification {
  "수정 사유"
  type: B2bTaxInvoiceModificationType!
  "수정 대상 원본 세금계산서 국세청 승인 번호"
  originalNtsApprovalNumber: String!
  "원본 세금계산서 아이디"
  plainOriginalTaxInvoiceId: String!
  originalTaxInvoiceId: ID!
  "최초 원본 세금계산서 아이디"
  plainRootTaxInvoiceId: String!
  rootTaxInvoiceId: ID!
}

"세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우"
type B2bTaxInvoiceNoRecipientDocumentKeyError implements Error {
  message: String
}

"세금계산서에 공급자 문서 번호가 기입되지 않은 경우"
type B2bTaxInvoiceNoSupplierDocumentKeyError implements Error {
  message: String
}

"""
세금계산서가 삭제 가능한 상태가 아닌 경우

삭제 가능한 상태는 `DRAFTED`, `ISSUE_REFUSED`, `REQUEST_CANCELLED_BY_RECIPIENT`, `ISSUE_CANCELLED_BY_SUPPLIER`, `SENDING_FAILED` 입니다.
"""
type B2bTaxInvoiceNonDeletableStatusError implements Error {
  message: String
}

"세금계산서가 임시저장 상태가 아닌 경우"
type B2bTaxInvoiceNotDraftedStatusError implements Error {
  message: String
}

"세금계산서가 존재하지 않은 경우"
type B2bTaxInvoiceNotFoundError implements Error {
  message: String
}

"세금계산서가 발행된(ISSUED) 상태가 아닌 경우"
type B2bTaxInvoiceNotIssuedStatusError implements Error {
  message: String
}

"세금계산서가 역발행 대기 상태가 아닌 경우"
type B2bTaxInvoiceNotRequestedStatusError implements Error {
  message: String
}

"세금계산서가 역발행이 아닌 경우"
type B2bTaxInvoiceNotReverseIssuanceError implements Error {
  message: String
}

"세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우"
type B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError implements Error {
  message: String
}

"세금계산서 요약"
type B2bTaxInvoiceSummary {
  "세금계산서 아이디"
  plainId: String!
  taxInvoiceId: ID!
  "과세 유형"
  taxationType: B2bTaxInvoiceTaxationType!
  "문서 유형"
  documentModificationType: B2bTaxInvoiceDocumentModificationType!
  "지연 발행 여부"
  isDelayed: Boolean
  "발행 유형"
  issuanceType: B2bTaxInvoiceIssuanceType!
  "일괄 발행 아이디"
  bulkTaxInvoiceId: String
  "공급가액 합계"
  totalSupplyAmount: Long!
  "세액 합계"
  totalTaxAmount: Long!
  "합계 금액"
  totalAmount: Long!
  "영수/청구"
  purposeType: B2bTaxInvoicePurposeType!
  "공급자 사업자등록번호"
  supplierBrn: String!
  "공급자 상호"
  supplierName: String!
  "공급자 대표자 성명"
  supplierRepresentativeName: String!
  "공급자 문서번호"
  supplierDocumentKey: String
  "공급받는자 사업자등록번호"
  recipientBrn: String!
  "공급받는자 상호"
  recipientName: String!
  "공급받는자 대표자 성명"
  recipientRepresentativeName: String!
  "공급받는자 문서번호"
  recipientDocumentKey: String
  "공급받는자 영업 상태"
  recipientBusinessStatus: B2bCompanyStateBusinessStatus
"""
공급받는자 휴폐업일자

상태가 CLOSED, SUSPENDED 상태인 경우에만 결과값 반환
"""
  recipientClosedSuspendedDate: Date
  "작성일"
  writeDate: Date!
  "발행 마감일"
  issuanceDueDate: Date!
  "상태"
  status: B2bTaxInvoiceStatus!
  "임시 저장 일시"
  draftedAt: DateTime
  "발행 요청 일시"
  requestedAt: DateTime
  "발행 일시"
  issuedAt: DateTime
  "개봉 일시"
  openedAt: DateTime
  "상태 변경 일시"
  statusUpdatedAt: DateTime!
  "국세청 전송 일시"
  ntsSentAt: DateTime
"""
국세청 승인번호

세금계산서 발행(전자서명) 시점에 자동으로 부여
"""
  ntsApprovalNumber: String
  "국세청 전송 결과"
  ntsResult: String
  "국세청 결과 수신 일시"
  ntsResultReceivedAt: DateTime
"""
국세청 결과 코드

국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨
"""
  ntsResultCode: String
  "메모"
  memo: String
}

"세금계산서 랜딩 페이지용 공급자 API 응답"
type B2bTaxInvoiceSupplierApiRequestPayload {
  taxInvoice: B2bTaxInvoice
  certificateRegistrationUrl: String
  isValid: Boolean
}

"세금계산서 공급자 사업자등록번호 불일치"
type B2bTaxInvoiceSupplierBrnMismatchError implements Error {
  message: String
}

"세금계산서에 공급자 문서 번호가 이미 사용 중인 경우"
type B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError implements Error {
  message: String
}

"세금계산서 인증용 토큰이 만료된 경우"
type B2bTaxInvoiceTokenExpiredError implements Error {
  message: String
}

"세금계산서 인증용 토큰이 존재하지 않은 경우"
type B2bTaxInvoiceTokenNotFoundError implements Error {
  message: String
}

"세금계산서 인증용 토큰이 교체된 경우"
type B2bTaxInvoiceTokenReplacedError implements Error {
  message: String
}

"세금계산서 다건 조회 성공 응답"
type B2bTaxInvoicesPayload {
  "조회된 세금계산서 목록"
  items: [B2bTaxInvoiceSummary!]!
  "조회된 페이지 정보"
  page: PageInfo!
  "상태 별 세금계산서 수"
  stats: B2BTaxInvoiceStatusStats!
}

"과금 청구 금액"
type BillingAmount {
"""
서비스 이용 금액

할인 적용 이전의 원 청구 금액입니다.
"""
  originalAmount: Long!
  "할인 금액 목록"
  discounts: [Discount!]!
  "부가세"
  vatAmount: Long!
  "청구 금액"
  totalAmount: Long!
}

"빌링키가 이미 삭제된 경우"
type BillingKeyAlreadyDeletedError implements Error {
  message: String
}

"빌링키가 존재하지 않는 경우"
type BillingKeyNotFoundError implements Error {
  message: String
}

type BillingKeyNotIssuedError implements Error {
  message: String
}

"연 결제 신청 결제 수단과 등록된 결제 수단이 일치하지 않은 경우"
type BillingMethodDoesNotMatchError implements Error {
  message: String
}

"요청한 사업자 등록증이 존재하지 않는 경우"
type BusinessLicenseNotFoundError implements Error {
  message: String
}

"OCR을 통한 사업자 등록증 파일 텍스트 추출 결과"
type BusinessLicenseOcr {
  "주소지 정보"
  location: String
  "사업자 업태 목록"
  types: [String!]
  "사업자 종목 목록"
  items: [String!]
  "사업자 등록번호"
  registrationNumber: String
  "회사명"
  companyName: String
  "개인 / 법인 사업자 정보"
  classification: BusinessLicenseOcrClassification!
}

"법인 사업자 정보"
type BusinessLicenseOcrClassificationCorporation {
"""
법인 사업자 등록번호

사업자 등록번호와 별개의 개념으로 , 법인 설립 시 등기소에서 부여하는 부동산 등기용 등록 번호
"""
  corporationNumber: String
  "대표 이름 목록"
  representativeNames: [BusinessLicenseOcrRepresentativeName!]
}

"개인 사업자 등록증 정보"
type BusinessLicenseOcrClassificationSoleProprietorship {
  "대표자 이름 정보"
  representativeName: BusinessLicenseOcrRepresentativeName
  "공동 대표자 이름 정보"
  coRepresentativeKoName: String
}

type BusinessLicenseOcrRepresentativeName {
  "한글명"
  ko: String
  "영문명"
  en: String
}

"결제 취소 금액이 취소 가능 금액을 초과한 경우"
type CancelAmountExceedsCancellableAmountError implements Error {
  message: String
}

"세금계산서 역발행 취소 응답"
type CancelB2bTaxInvoiceIssuancePayload {
  taxInvoice: B2bTaxInvoice!
}

"세금계산서 역발행 요청 취소 응답"
type CancelB2bTaxInvoiceRequestPayload {
  taxInvoice: B2bTaxInvoice!
}

"추가 수수료 정책 예약 업데이트 취소 성공 응답"
type CancelPlatformAdditionalFeePolicySchedulePayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"일괄 지급 취소 결과"
type CancelPlatformBulkPayoutPayload {
  bulkPayout: PlatformBulkPayout!
}

type CancelPlatformBulkTaskPayload {
  bulkTask: PlatformBulkTask!
}

"계약 예약 업데이트 취소 성공 응답"
type CancelPlatformContractSchedulePayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"할인 분담 정책 예약 업데이트 취소 성공 응답"
type CancelPlatformDiscountSharePolicySchedulePayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"파트너 예약 업데이트 취소 성공 응답"
type CancelPlatformPartnerSchedulePayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우"
type CancelTaxAmountExceedsCancellableTaxAmountError implements Error {
  message: String
}

"취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우"
type CancelTaxFreeAmountExceedsCancellableTaxFreeAmountError implements Error {
  message: String
}

"취소 가능 잔액 검증에 실패한 경우"
type CancellableAmountConsistencyBrokenError implements Error {
  message: String
}

"카드 프로모션"
type CardPromotion implements Node & Promotion {
  "프로모션 아이디"
  plainId: String!
  "프로모션 아이디"
  id: ID!
  "상점 아이디"
  storePlainId: String!
  "상점 아이디"
  storeId: ID!
  "프로모션 이름"
  name: String!
  "할인 정책"
  discountPolicy: PromotionDiscountPolicy!
  "총 예산"
  totalBudget: Long!
  "최대 할인 금액"
  maxDiscountAmount: Long
  "소진 금액"
  spentAmount: Long!
  "금액 화폐"
  currency: Currency!
  "프로모션 시작 시각"
  startAt: DateTime!
  "프로모션 종료 시각"
  endAt: DateTime!
  "프로모션 중단 시각"
  terminatedAt: DateTime
  "프로모션 카드사"
  cardCompany: PromotionCardCompany!
  "프로모션 상태"
  status: PromotionStatus!
  "프로모션 생성 시각"
  createdAt: DateTime!
  "결제 취소 시 프로모션 예산 복구 옵션"
  recoverOption: PromotionRecoverOption!
}

"현금영수증이 이미 발급된 경우"
type CashReceiptAlreadyIssuedError implements Error {
  message: String
}

"현금영수증이 존재하지 않는 경우"
type CashReceiptNotFoundError implements Error {
  message: String
}

"현금영수증이 발급되지 않은 경우"
type CashReceiptNotIssuedError implements Error {
  message: String
}

"결제 예정 시각 변경 성공 응답"
type ChangePaymentSchedulePayload {
  schedule: PaymentSchedule!
}

"채널 정보"
type Channel {
  "채널 아이디"
  plainId: String!
  "채널명"
  name: String!
  "PG사 모듈"
  pgProvider: PgProvider!
  "PG사 모듈에 해당하는 PG사"
  pgCompany: PgCompany!
  "채널 유형"
  type: ChannelType!
  "PG사 상점 아이디"
  pgMerchantId: String!
  "결제용 채널 여부"
  isForPayment: Boolean!
  "본인인증용 채널 여부"
  isForIdentityVerification: Boolean!
  "채널 키"
  key: String!
}

"이름 중복이 허용되지 않는데 이름이 겹치는 대상이 있는 경우"
type ChannelDuplicateNameError implements Error {
  message: String
}

type ChannelGroup implements Node {
  plainId: String!
  id: ID!
  storePlainId: String!
  storeId: ID!
  name: String!
  type: ChannelGroupType!
  currentSession: ChannelGroupSession!
  scheduledSession: ChannelGroupSession
  sessions: ChannelGroupSessionsOutput!
}

"이름 중복이 허용되지 않는데 이름이 겹치는 대상이 있는 경우"
type ChannelGroupDuplicateNameError implements Error {
  message: String
}

type ChannelGroupEntry {
  channel: Channel!
  weight: Int!
  enabled: Boolean!
}

"채널 그룹을 찾을 수 없는 경우"
type ChannelGroupNotFoundError implements Error {
  message: String
}

type ChannelGroupSession {
  entries: [ChannelGroupEntry!]!
  beginAt: DateTime!
}

type ChannelGroupSessionList {
  value: [ChannelGroupSession!]!
}

"채널 그룹 정보"
type ChannelGroupSummary {
  "채널 그룹 아이디"
  id: ID!
  "채널 그룹 아이디"
  plainId: String!
  "채널 그룹 이름"
  name: String!
  "테스트 채널 그룹 여부"
  isForTest: Boolean!
}

type ChannelGroupUsage {
  "결제 건이 존재하는 채널 그룹 정보 조회"
  byPayments: ChannelGroupUsageByPaymentsOutput! @hidden @unstable
  "결제 예약 건이 존재하는 채널 그룹 정보 조회"
  byPaymentSchedules: ChannelGroupUsageByPaymentSchedulesOutput! @hidden @unstable
}

"결제 예약 건이 존재하는 채널 그룹 정보 조회 성공 응답 정보"
type ChannelGroupUsageByPaymentSchedulesPayload {
  channelGroupsInUse: [ChannelGroupSummary!]!
}

"결제 건이 존재하는 채널 그룹 정보 조회 성공 응답 정보"
type ChannelGroupUsageByPaymentsPayload {
  channelGroupsInUse: [ChannelGroupSummary!]!
}

type ChannelGroupsPayload {
  channelGroups: [ChannelGroup!]!
}

"요청된 채널이 존재하지 않는 경우"
type ChannelNotFoundError implements Error {
  message: String
}

"여러 채널을 지정한 요청에서, 채널 각각에서 오류가 발생한 경우"
type ChannelSpecificError implements Error {
  message: String
  failures: [ChannelSpecificFailure!]!
  succeededChannels: [SelectedChannel!]!
}

"""
요청된 입력 정보가 유효하지 않은 경우

허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.
"""
type ChannelSpecificFailureInvalidRequest {
  channel: SelectedChannel!
  message: String
}

"PG사에서 오류를 전달한 경우"
type ChannelSpecificFailurePgProvider {
  channel: SelectedChannel!
  message: String
  pgCode: String!
  pgMessage: String!
}

"채널 다건 조회 성공 응답 정보"
type ChannelsPayload {
  "조회된 채널 리스트"
  items: [Channel!]!
}

"파트너 연동 사업자 일괄 연동 요청 응답"
type ConnectBulkPartnerMemberCompanyPayload {
  bulkTask: PlatformBulkTask!
}

"파트너 연동 사업자 연동 요청 응답"
type ConnectPartnerMemberCompanyPayload {
  partner: PlatformPartner!
}

"파일 업로드 URL 생성 성공 응답"
type CreateB2bFileUploadUrlPayload {
  "파일 아이디"
  fileId: String!
  "파일 업로드 URL"
  url: String!
}

type CreateBulkPlatformPartnersPayload {
  bulkTask: PlatformBulkTask!
}

type CreateBulkPlatformTransfersPayload {
  bulkTask: PlatformBulkTask!
}

type CreateChannelGroupPayload {
  channelGroup: ChannelGroup!
}

type CreateManualTransferPayload {
  transfer: PlatformManualTransfer!
}

type CreateOrderCancelTransferPayload {
  transfer: PlatformOrderCancelTransfer!
}

type CreateOrderTransferPayload {
  transfer: PlatformOrderTransfer!
}

"플랫폼 생성 성공 응답 정보"
type CreatePlatformAdditionalFeePayload {
  "생성된 추가 수수료 정책"
  additionalFeePolicy: PlatformAdditionalFeePolicy!
}

type CreatePlatformBulkPayoutPayload {
  bulkPayout: PlatformBulkPayout!
}

"계약 객체 생성 성공 응답"
type CreatePlatformContractPayload {
  "생성된 계약 객체"
  contract: PlatformContract!
}

"할인 분담 정책 생성 성공 응답"
type CreatePlatformDiscountSharePayload {
  "생성된 할인 분담 정책"
  discountSharePolicy: PlatformDiscountSharePolicy!
}

type CreatePlatformFileUploadUrlPayload {
  url: String!
  fileId: String!
}

"파트너 생성 성공 응답"
type CreatePlatformPartnerPayload {
  "생성된 파트너"
  partner: PlatformPartner!
}

"파트너 다건 생성 성공 응답"
type CreatePlatformPartnersPayload {
  "생성된 파트너 리스트"
  partners: [PlatformPartner!]!
}

type CreatePlatformSettlementParameterPayload {
  settlementParameter: PlatformSettlementParameter!
}

"사용자 정의 속성 생성 성공 응답"
type CreatePlatformUserDefinedPropertyPayload {
  property: PlatformUserDefinedProperty!
}

"프로모션 그룹 생성 성공 응답"
type CreatePromotionGroupPayload {
  "생성된 프로모션 그룹"
  promotionGroup: PromotionGroup!
}

"프로모션 생성 성공 응답"
type CreatePromotionPayload {
  "생성된 프로모션"
  promotion: Promotion!
}

type CreateStorePayload {
  store: Store!
}

"커서 기반 페이지 정보"
type CursorPageInfo {
  startCursor: String!
  endCursor: String!
  hasPreviousPage: Boolean!
  hasNextPage: Boolean!
}

"고객 정보"
type Customer {
"""
고객 아이디

고객사가 지정한 고객의 고유 식별자입니다.
"""
  id: String
  "이름"
  name: String
  "출생 연도"
  birthYear: String
  "성별"
  gender: Gender
  "이메일"
  email: String
  "전화번호"
  phoneNumber: String
  "주소"
  address: Address
  "우편번호"
  zipcode: String
}

type DateRange {
  from: Date!
  until: Date!
}

"BigDecimal 타입"
type Decimal {
"""
비정규화된 값

소수점 숫자의 비정규화된(unscaled) 값을 정수로 저장합니다. 예를 들어, 123.45의 경우 12345가 저장됩니다.
"""
  value: Long!
"""
소수점 이하 자릿수

소수점 숫자의 소수점 이하 자릿수를 저장합니다. 기본값은 0입니다. 예를 들어, 123.45의 경우 2가 저장됩니다.
"""
  scale: Int
}

"세금계산서 일괄 삭제 요청 응답"
type DeleteB2bBulkTaxInvoicePayload {
  bulkTask: B2bBulkTask!
}

type DeleteB2bTaxInvoicePayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type DeleteChannelGroupPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type DeleteChannelGroupScheduledSessionPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"빌링 결제 리커버리 세팅값 삭제 성공 응답 정보"
type DeletePaymentRecoverySettingPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type DeletePlatformTransferPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"프로모션 그룹 삭제 성공 응답"
type DeletePromotionGroupPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type DeleteStorePayload {
  "상점 아이디"
  storeId: ID!
}

type DeleteV2ApiSecretPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"파트너 연동 사업자 일괄 연동 해제 요청 응답"
type DisconnectBulkPartnerMemberCompanyPayload {
  bulkTask: PlatformBulkTask!
}

"연동 사업자 연동 해제 요청 응답"
type DisconnectPartnerMemberCompanyPayload {
  partner: PlatformPartner!
}

"할인 정보"
type Discount {
  "할인 항목"
  title: String!
  "할인율"
  percent: Int
  "할인 금액"
  amount: Long!
}

"프로모션 할인 금액이 결제 시도 금액 이상인 경우"
type DiscountAmountExceedsTotalAmountError implements Error {
  message: String
}

"세금계산서 임시 저장 응답"
type DraftB2bTaxInvoicePayload {
  taxInvoice: B2bTaxInvoice!
}

"동일한 이름의 프로모션이 이미 존재하는 경우"
type DuplicatePromotionNameError implements Error {
  message: String
}

"고객사 내에 같은 하위상점의 이름이 중복되는 경우"
type DuplicatedStoreNameError implements Error {
  message: String
}

"고객사 내에 같은 하위상점의 티어코드가 중복되는 경우"
type DuplicatedTierCodeError implements Error {
  message: String
}

"요청한 이메일이 이미 존재하는 경우"
type EmailAlreadyExistsError implements Error {
  message: String
}

"일괄 지급 실행 결과"
type ExecutePlatformBulkPayoutPayload {
  bulkPayout: PlatformBulkPayout!
}

"면제 대상 고객사인 경우"
type ExemptedMerchantError implements Error {
  message: String
}

type ExpireStoreWebhookSecretPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"외부 시스템에서 오류를 전달한 경우"
type ExternalSystemError implements Error {
  message: String
}

"결제 실패 상태"
type FailedPaymentSchedule implements PaymentSchedule & Node {
  "결제 예약 건 아이디"
  plainId: String!
  "결제 예약 건 아이디"
  id: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "고객사 아이디"
  merchantId: ID!
  "상점 아이디"
  storePlainId: String!
  "상점 아이디"
  storeId: ID!
  "결제 건 아이디"
  paymentPlainId: String!
  "빌링키"
  billingKey: String!
  "빌링키 요약 정보"
  billingKeyInfo: PaymentScheduleBillingKeyInfo!
  "PG"
  determinedPgProvider: PgProvider
  "PG사"
  determinedPgCompany: PgCompany
  "주문명"
  orderName: String!
  "문화비 지출 여부"
  isCulturalExpense: Boolean!
  "에스크로 결제 여부"
  isEscrow: Boolean!
  "고객 정보"
  customer: Customer!
  "사용자 지정 데이터"
  customData: String!
  "결제 총 금액"
  totalAmount: Long!
  "면세액"
  taxFreeAmount: Long
  "부가세"
  vatAmount: Long
  "통화"
  currency: Currency!
  "할부 개월 수"
  installmentMonth: Int
  "웹훅 주소"
  noticeUrls: [String!]
  "상품 정보"
  products: [PaymentProduct!]
  "결제 예약 등록 시점"
  createdAt: DateTime!
  "결제 예정 시점"
  timeToPay: DateTime
  "결제 시작 시점"
  startedAt: DateTime!
  "결제 완료 시점"
  completedAt: DateTime!
  "결제 예약 이벤트 리스트"
  events: PaymentScheduleEvents!
}

"사용자 정의 속성 다건 조회 성공 응답"
type FetchPlatformUserDefinedPropertiesPayload {
  properties: [PlatformUserDefinedProperty!]!
}

"요청이 거절된 경우"
type ForbiddenError implements Error {
  message: String
}

"지급 건 생성 결과"
type GeneratePlatformPayoutsPayload {
  bulkPayout: PlatformBulkPayout!
}

"송금 전자 서명용 문서 생성 결과"
type GeneratePlatformRemitDocumentContentPayload {
  documentContent: PlatformElectronicDocumentContent!
}

"인증서 등록 URL 조회 응답 정보"
type GetB2bCertificateRegistrationUrlPayload {
  "인증서 등록 URL"
  url: String!
}

"웹훅 실패 건수 조회 성공 응답"
type GetFailedPaymentWebhookCountPayload {
  count: Int!
}

"웹훅 일괄 재발송 진행 상태 조회 성공 응답"
type GetFailedWebhooksResendStatusPayload {
  status: PaymentWebhookResendStatus!
}

"사업자 조회 성공 응답 정보"
type GetPlatformCompanyStatePayload {
  "사업자 정보"
  companyState: PlatformCompanyState!
  "사업자 검증 아이디"
  companyVerificationId: String!
}

type GetPromotionGroupsPayload {
  promotionGroups: [PromotionGroup!]!
}

"본인인증 건이 이미 API로 요청된 상태인 경우"
type IdentityVerificationAlreadySentError implements Error {
  message: String
}

"본인인증 건이 이미 인증 완료된 상태인 경우"
type IdentityVerificationAlreadyVerifiedError implements Error {
  message: String
}

"요청된 본인인증 건이 존재하지 않는 경우"
type IdentityVerificationNotFoundError implements Error {
  message: String
}

"본인인증 건이 API로 요청된 상태가 아닌 경우"
type IdentityVerificationNotSentError implements Error {
  message: String
}

"삭제하려는 채널이 채널 그룹에 포함되어 있는 경우"
type IncludedInChannelGroupError implements Error {
  message: String
}

"포트원 시스템에서 알 수 없는 오류가 발생한 경우"
type InternalError implements Error {
  message: String
}

type InvalidFileElement {
  column: String!
  row: Int!
  violations: [String!]!
}

"요청한 패스워드 형식이 올바르지 않는 경우"
type InvalidPasswordFormatError implements Error {
  message: String
}

"""
요청된 입력 정보가 유효하지 않은 경우

허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.
"""
type InvalidRequestError implements Error {
  message: String
}

"올바르지 않은 웹훅 URL 이 요청으로 주어진 경우"
type InvalidWebhookUrlError implements Error {
  message: String
}

"세금계산서 발행 승인 응답"
type IssueB2bTaxInvoicePayload {
  taxInvoice: B2bTaxInvoice!
}

"""
파일 다운로드 URL 정보

발급 후 10분간 요청한 파일을 다운로드 받을 수 있는 URL 정보입니다. 참고 정보 - https://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3-presign.html
"""
type IssueStoreFileDownloadUrlPayload {
  "url"
  url: String!
}

"파일 업로드 URL 정보"
type IssueStoreFileUploadUrlPayload {
  "파일 ID"
  filePlainId: String!
  "파일 ID"
  fileId: ID!
  "pre-signed url"
  url: String!
}

type IssueStoreWebhookSecretPayload {
  newSecret: WebhookSecretInfo!
}

type IssueV2ApiSecretPayload {
  "생성된 시크릿 관련 정보"
  info: V2ApiSecretInfo!
  "생성된 시크릿"
  secret: String!
}

"개수 상한에 도달한 경우"
type LimitExceededError implements Error {
  message: String
}

"API key 로그인 성공 응답"
type LoginViaApiSecretPayload {
"""
인증에 사용하는 엑세스 토큰

30분의 유효기간을 가지고 있습니다.
"""
  accessToken: String!
"""
토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰

하루의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다.
동일한 유저가 로그인 또는 토큰 재발급을 진행할 때마다 기존에 발급된 리프레시 토큰은 즉시 만료되므로 API 사용에 유의해주세요.
"""
  refreshToken: String!
}

"결제 혹은 본인인증 시도 횟수가 최대에 도달한 경우"
type MaxTransactionCountReachedError implements Error {
  message: String
}

"동일한 webhook id에 대한 수동 재시도 횟수가 최대에 도달한 경우"
type MaxWebhookRetryCountReachedError implements Error {
  message: String
}

"고객사 정보"
type Merchant implements Node {
  "고객사 아이디"
  plainId: String!
  id: ID!
"""
하위 상점

하위 상점을 조회합니다.
id 가 주어지는 경우 해당 아이디를 가진 하위 상점을 조회하고, 그렇지 않은 경우 유저 인증 정보에 기록된 상점 아이디를 통해 자동으로 조회합니다.
"""
  store(id: ID): StoreOutput! @hidden @unstable
"""
하위 상점 리스트

하위 상점들을 조회합니다.
"""
  stores: StoresOutput! @hidden @unstable
  "고객사의 과금 정보"
  billing: MerchantBilling! @hidden @unstable
"""
고객사의 플랫폼 정보를 조회합니다.
요청된 Authorization header 를 통해 자동으로 요청자의 고객사를 특정합니다.
"""
  platform: PlatformOutput!
  "리포트 정보"
  analytics: Analytics!
"""
결제 예약 캘린더 조회

고객사 내 모든 하위 상점의 결제 예약 캘린더를 조회합니다.
"""
  paymentScheduleCalendar(filter: PaymentScheduleCalendarFilterInput!): PaymentScheduleCalendarOutput! @hidden @unstable
"""
결제 예약 상태별 통계 조회

고객사 내 모든 하위 상점의 결제 예약 상태별 통계를 조회합니다.
"""
  paymentScheduleStat(filter: PaymentScheduleFilterInput): PaymentScheduleStatOutput! @hidden @unstable
"""
결제 예약 다건 조회

고객사 내 모든 하위 상점의 결제 예약 건들을 조회합니다.
"""
  paymentSchedules("""요청할 페이지 정보

미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.""" page: PageInput, """정렬 조건

미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다.""" sort: PaymentScheduleSortInput, "조회할 결제 예약 건의 조건 필터" filter: PaymentScheduleFilterInput): PaymentSchedulesOutput! @hidden @unstable
"""
결제 예약 단건 조회

주어진 아이디에 대응되는 결제 예약 건을 조회합니다.
"""
  paymentSchedule(id: ID!): PaymentScheduleOutput! @hidden @unstable
"""
결제 예약 건이 존재하는 통화 조회

고객사 내 모든 하위 상점의 결제 예약 건이 존재하는 통화를 조회합니다.
"""
  usedCurrenciesForPaymentSchedule: UsedCurrenciesForPaymentScheduleOutput! @hidden @unstable
  channelGroupUsage: ChannelGroupUsage! @hidden @unstable
  pgCompanyUsage: PgCompanyUsage! @hidden @unstable
"""
가맹점의 대사 관련 정보

가맹점의 대사 관련 정보를 조회합니다.
"""
  reconciliation: Reconciliation! @hidden @unstable
  "고객사 약관정보 조회"
  terms: MerchantTermsOutput! @hidden @unstable
  "B2B 기능 관련 정보를 제공합니다."
  b2b: B2b!
  "웹훅 실패 건수 조회"
  failedPaymentWebhookCount("조회 기준 시점 유형" timestampType: PaymentTimestampType!, "결제 요청/상태 승인 시점 범위의 시작" from: DateTime!, "결제 요청/상태 승인 시점 범위의 끝" until: DateTime!): GetFailedPaymentWebhookCountOutput! @hidden @unstable
  "웹훅 일괄 재발송 진행 상태 조회"
  failedPaymentWebhooksResendStatus: GetFailedWebhooksResendStatusOutput! @hidden @unstable
}

type MerchantBilling {
  "고객사의 서비스 과금을 위한 카드 리스트를 조회합니다."
  cards: MerchantBillingMethodCardsOutput! @hidden @unstable
  "고객사의 청구서 담당자를 조회합니다."
  manager: MerchantBillingManagerOutput! @hidden @unstable
  "과금 사용량을 조회합니다."
  usage("사용량 조회 연도" year: Int!, "사용량 조회 월" month: Int!): MerchantBillingUsageOutput! @hidden @unstable
  "고객사의 과금 정책을 조회합니다."
  policy: MerchantBillingPolicyOutput! @hidden @unstable
  "고객사가 연 결제 가능 대상인지 검증합니다."
  validateAnnualBilling: AnnualBillingAvailabilityValidateOutput! @hidden @unstable
  "과금 청구 단건 조회"
  instance("과금 청구 건 아이디" id: ID!): MerchantBillingInstanceGetOutput! @hidden @unstable
  "과금 청구 다건 조회"
  instances("""요청할 페이지 정보

미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.""" page: PageInput): MerchantBillingInstancesGetOutput! @hidden @unstable
}

type MerchantBillingCard {
  "마스킹된 카드 번호"
  number: String
  "카드 상품명"
  name: String
  "카드 발급사 한글명"
  issuerDisplayName: String
  "카드 유형"
  type: CardType
  "카드 소유주 유형"
  ownerType: CardOwnerType
}

"과금 결제 건"
type MerchantBillingInstance implements Node {
  "과금 결제 건 아이디"
  plainId: String!
  "과금 결제 건 아이디"
  id: ID!
  "사업자번호"
  businessRegistrationNumber: String!
  "법인/상호명"
  companyName: String
  "결제 건 아이디"
  paymentId: String!
  "결제 상태"
  status: MerchantBillingStatus!
  "순 거래액"
  netTotalPaymentVolume: Long!
  "과금 결제 구간"
  tier: MerchantBillingTier!
  "결제 형태"
  type: BillingType!
  "결제 수단"
  method: BillingMethod!
  "결제 금액"
  amount: BillingAmount!
  "결제 예정 시각"
  scheduledAt: DateTime!
  "결제 완료 시각"
  paidAt: DateTime
  "결제 청구 날짜"
  chargedDate: Date!
  "이용 기간"
  period: MerchantBillingPeriod!
  "매출전표"
  receiptUrl: String
}

type MerchantBillingInstancesPayload {
  "조회된 청구 건 리스트"
  merchantBillings: [MerchantBillingInstance!]!
  "조회된 페이지 정보"
  page: PageInfo!
}

"포트원 서비스에 대한 청구서를 수신하고 담당하는 관리자 정보"
type MerchantBillingManager implements Node {
  plainId: String!
  id: ID!
  "청구서 담당자 이메일"
  email: String!
  "청구서 담당자 이름"
  name: String
  "청구서 담당자 연락처"
  phoneNumber: String
}

"고객사의 청구 담당자가 존재하지 않는경우"
type MerchantBillingManagerNotFoundError implements Error {
  message: String
}

type MerchantBillingMethodCard implements Node {
  "고객사의 결제수단 아이디"
  plainId: String!
  id: ID!
  "카드 별칭"
  alias: String
  "카드 상세"
  card: MerchantBillingCard!
  "결제 수단 상태"
  status: MerchantBillingMethodStatus!
}

"고객사의 서비스 과금을 위한 카드 리스트 조회 성공 응답 정보"
type MerchantBillingMethodCardsPayload {
  items: [MerchantBillingMethodCard!]!
}

"청구 내역이 존재하지 않는 경우"
type MerchantBillingNotFoundError implements Error {
  message: String
}

type MerchantBillingPeriod {
  start: Date!
  end: Date!
}

"고객사별 OPI 서비스 과금 정책 설정 값"
type MerchantBillingPolicy {
  "과금 구간 별 요금 목록"
  merchantBillingTiers: [MerchantBillingTier!]!
  "결제 수단"
  billingMethod: BillingMethod!
  "연 결제 이용 기간"
  annualBillingPeriod: MerchantBillingPeriod
  "면제 기간"
  exemptionPeriod: MerchantBillingPeriod
}

"과금 구간 별 요금"
type MerchantBillingTier {
  "과금 요금 구간"
  growthLevel: GrowthLevel!
  "구간 요금"
  fee: Long!
}

"포트원 OPI 과금 서비스에 대한 사용량"
type MerchantBillingUsage {
  "순 거래액"
  netTotalPaymentVolume: Long!
  "청구 예정 금액"
  billingAmount: Long!
  "과금 요금 구간"
  growthLevel: GrowthLevel!
  "면제 여부"
  isExempted: Boolean!
  "저번 달 순 거래액"
  previousMonthNetTotalPaymentVolume: Long!
  "저번 달 과금 요금 구간"
  previousMonthGrowthLevel: GrowthLevel!
  "청구 예정일"
  scheduledChargeDate: Date
  "결제 예정일"
  scheduledBillingDate: Date
}

"요청한 고객사가 존재하지 않는 경우"
type MerchantNotFoundError implements Error {
  message: String
}

"고객사 약관동의 정보"
type MerchantTerms {
  "개인정보 수집 및 이용"
  collectionOfPersonalInformation: TermState
  "서비스 이용"
  termsOfService: TermState
  "CRM Onboarding 관련 이메일 수신"
  onboarding: TermState
  "마케팅 수신"
  marketing: TermState
  "개인정보 제 3자 제공"
  provisionOfPersonalInformationToThirdParties: TermState
  "결제 / 청구 정보 등록을 위한 개인정보 이용 동의"
  usageOfPersonalInformationForBilling: TermState
}

"월 및 일자 정보"
type MonthDay {
  month: Int!
  day: Int!
}

type Mutation {
  "고객사 유저 회원가입"
  signUp(input: SignUpInput!): SignUpOutput! @hidden @unstable
  "영업대행사를 통한 회원가입"
  signUpViaAgency(input: SignUpViaAgencyInput!): SignUpViaAgencyOutput! @hidden @unstable
  "하위 상점 생성"
  createStore(input: CreateStoreInput!): CreateStoreOutput! @hidden @unstable
  "하위 상점 수정"
  updateStore(input: UpdateStoreInput!): UpdateStoreOutput! @hidden @unstable
  "상점 삭제"
  deleteStore(input: DeleteStoreInput!): DeleteStoreOutput! @hidden @unstable
"""
API secret 를 사용한 토큰 발급

API secret 를 통해 API 인증에 사용할 토큰을 가져옵니다.
"""
  loginViaApiSecret(input: LoginViaApiSecretInput!): LoginViaApiSecretOutput!
"""
토큰 갱신

리프레시 토큰을 사용해 유효기간이 연장된 새로운 토큰을 재발급합니다.
"""
  refreshToken(input: RefreshTokenInput!): RefreshTokenOutput!
  issueV2ApiSecret(input: IssueV2ApiSecretInput!): IssueV2ApiSecretOutput! @hidden @unstable
  deleteV2ApiSecret(input: DeleteV2ApiSecretInput!): DeleteV2ApiSecretOutput! @hidden @unstable
  "웹훅 설정 업데이트"
  updateStoreWebhookSetting(input: UpdateStoreWebhookSettingInput!): UpdateStoreWebhookSettingOutput! @hidden @unstable
  "웹훅 시크릿 발급"
  issueStoreWebhookSecret(input: IssueStoreWebhookSecretInput!): IssueStoreWebhookSecretOutput! @hidden @unstable
  "웹훅 시크릿 만료"
  expireStoreWebhookSecret(input: ExpireStoreWebhookSecretInput!): ExpireStoreWebhookSecretOutput! @hidden @unstable
  "웹훅 호출 테스트"
  testWebhook(input: TestWebhookInput!): TestWebhookOutput! @hidden @unstable
"""
고객사의 플랫폼 관련 정보를 업데이트합니다.
요청된 Authorization header 를 통해 자동으로 요청자의 고객사를 특정합니다.
"""
  updatePlatform(input: UpdatePlatformInput!): UpdatePlatformOutput!
  "새로운 할인 분담을 생성합니다."
  createPlatformDiscountSharePolicy(input: CreatePlatformDiscountSharePolicyInput!): CreatePlatformDiscountSharePolicyOutput!
  "주어진 아이디에 대응되는 할인 분담을 업데이트합니다."
  updatePlatformDiscountSharePolicy(input: UpdatePlatformDiscountSharePolicyInput!): UpdatePlatformDiscountSharePolicyOutput!
  "주어진 아이디에 대응되는 할인 분담에 업데이트를 예약합니다."
  schedulePlatformDiscountSharePolicy(input: SchedulePlatformDiscountSharePolicyInput!): SchedulePlatformDiscountSharePolicyOutput! @unstable
  "주어진 아이디에 대응되는 할인 분담에 예약 업데이트를 재설정합니다."
  reschedulePlatformDiscountSharePolicy(input: ReschedulePlatformDiscountSharePolicyInput!): ReschedulePlatformDiscountSharePolicyOutput! @unstable
  "주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 취소합니다."
  cancelPlatformDiscountSharePolicySchedule(input: CancelPlatformDiscountSharePolicyScheduleInput!): CancelPlatformDiscountSharePolicyScheduleOutput! @unstable
  "주어진 아이디에 대응되는 할인 분담을 보관합니다."
  archivePlatformDiscountSharePolicy(input: ArchivePlatformDiscountSharePolicyInput!): ArchivePlatformDiscountSharePolicyOutput!
  "주어진 아이디에 대응되는 할인 분담을 복원합니다."
  recoverPlatformDiscountSharePolicy(input: RecoverPlatformDiscountSharePolicyInput!): RecoverPlatformDiscountSharePolicyOutput!
  "새로운 추가 수수료 정책을 생성합니다."
  createPlatformAdditionalFeePolicy(input: CreatePlatformAdditionalFeePolicyInput!): CreatePlatformAdditionalFeePolicyOutput!
  "주어진 아이디에 대응되는 추가 수수료 정책을 업데이트합니다."
  updatePlatformAdditionalFeePolicy(input: UpdatePlatformAdditionalFeePolicyInput!): UpdatePlatformAdditionalFeePolicyOutput!
  "주어진 아이디에 대응되는 추가 수수료 정책에 업데이트를 예약합니다."
  schedulePlatformAdditionalFeePolicy(input: SchedulePlatformAdditionalFeePolicyInput!): SchedulePlatformAdditionalFeePolicyOutput! @unstable
  "주어진 아이디에 대응되는 추가 수수료 정책에 예약 업데이트를 재설정합니다."
  reschedulePlatformAdditionalFeePolicy(input: ReschedulePlatformAdditionalFeePolicyInput!): ReschedulePlatformAdditionalFeePolicyOutput! @unstable
  "주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 취소합니다."
  cancelPlatformAdditionalFeePolicySchedule(input: CancelPlatformAdditionalFeePolicyScheduleInput!): CancelPlatformAdditionalFeePolicyScheduleOutput! @unstable
  "주어진 아이디에 대응되는 추가 수수료 정책을 보관합니다."
  archivePlatformAdditionalFeePolicy(input: ArchivePlatformAdditionalFeePolicyInput!): ArchivePlatformAdditionalFeePolicyOutput!
  "주어진 아이디에 대응되는 추가 수수료 정책을 복원합니다."
  recoverPlatformAdditionalFeePolicy(input: RecoverPlatformAdditionalFeePolicyInput!): RecoverPlatformAdditionalFeePolicyOutput!
  "새로운 파트너를 생성합니다."
  createPlatformPartner(input: CreatePlatformPartnerInput!): CreatePlatformPartnerOutput!
  "새로운 파트너를 다건 생성합니다."
  createPlatformPartners(input: CreatePlatformPartnersInput!): CreatePlatformPartnersOutput!
  "주어진 아이디에 대응되는 파트너 정보를 업데이트합니다."
  updatePlatformPartner(input: UpdatePlatformPartnerInput!): UpdatePlatformPartnerOutput!
  "주어진 아이디에 대응되는 파트너 상태를 승인 완료로 변경합니다."
  approvePlatformPartner(input: ApprovePlatformPartnerInput!): ApprovePlatformPartnerOutput! @hidden @unstable
  "주어진 아이디에 대응되는 파트너 상태를 승인 거절로 변경합니다."
  rejectPlatformPartner(input: RejectPlatformPartnerInput!): RejectPlatformPartnerOutput! @hidden @unstable
  "주어진 아이디에 대응되는 파트너에 업데이트를 예약합니다."
  schedulePlatformPartner(input: SchedulePlatformPartnerInput!): SchedulePlatformPartnerOutput! @unstable
  schedulePlatformPartners(input: SchedulePlatformPartnersInput!): SchedulePlatformPartnersOutput! @unstable
  "주어진 아이디에 대응되는 파트너에 예약 업데이트를 재설정합니다."
  reschedulePlatformPartner(input: ReschedulePlatformPartnerInput!): ReschedulePlatformPartnerOutput! @unstable
  "주어진 아이디에 대응되는 파트너의 예약 업데이트를 취소합니다."
  cancelPlatformPartnerSchedule(input: CancelPlatformPartnerScheduleInput!): CancelPlatformPartnerScheduleOutput! @unstable
  "주어진 아이디에 대응되는 파트너를 보관합니다."
  archivePlatformPartner(input: ArchivePlatformPartnerInput!): ArchivePlatformPartnerOutput!
  "주어진 아이디에 대응되는 파트너를 복원합니다."
  recoverPlatformPartner(input: RecoverPlatformPartnerInput!): RecoverPlatformPartnerOutput!
"""
파트너 일괄 등록

주어진 fileId에 대한 파일을 이용해 파트너를 일괄 등록합니다.
"""
  createBulkPlatformPartners(fileId: String!, isForTest: Boolean, "예금주 조회 결과로 예금주명 자동 변경 여부" useAccountHolderResponse: Boolean): CreateBulkPlatformPartnersOutput! @hidden @unstable
  "새로운 계약을 생성합니다."
  createPlatformContract(input: CreatePlatformContractInput!): CreatePlatformContractOutput!
  "주어진 아이디에 대응되는 계약을 업데이트합니다."
  updatePlatformContract(input: UpdatePlatformContractInput!): UpdatePlatformContractOutput!
  "주어진 아이디에 대응되는 계약에 업데이트를 예약합니다."
  schedulePlatformContract(input: SchedulePlatformContractInput!): SchedulePlatformContractOutput! @unstable
  "주어진 아이디에 대응되는 계약에 예약 업데이트를 재설정합니다."
  reschedulePlatformContract(input: ReschedulePlatformContractInput!): ReschedulePlatformContractOutput! @unstable
  "주어진 아이디에 대응되는 계약의 예약 업데이트를 취소합니다."
  cancelPlatformContractSchedule(input: CancelPlatformContractScheduleInput!): CancelPlatformContractScheduleOutput! @unstable
  "주어진 아이디에 대응되는 계약을 보관합니다."
  archivePlatformContract(input: ArchivePlatformContractInput!): ArchivePlatformContractOutput!
  "주어진 아이디에 대응되는 계약을 복원합니다."
  recoverPlatformContract(input: RecoverPlatformContractInput!): RecoverPlatformContractOutput!
  createPlatformOrderTransfer(input: CreatePlatformOrderTransferInput!): CreateOrderTransferOutput!
  createPlatformOrderCancelTransfer(input: CreatePlatformOrderCancelTransferInput!): CreateOrderCancelTransferOutput!
  createPlatformManualTransfer(input: CreatePlatformManualTransferInput!): CreateManualTransferOutput!
"""
정산건 일괄 등록

주어진 fileId에 대한 파일을 이용해 정산건을 일괄 등록합니다.
"""
  createBulkPlatformTransfers(fileId: String!, isForTest: Boolean): CreateBulkPlatformTransfersOutput! @hidden @unstable
  deletePlatformTransfer(input: DeletePlatformTransferInput!): DeletePlatformTransferOutput!
  createPlatformBulkPayout(input: CreatePlatformBulkPayoutInput!): CreatePlatformBulkPayoutOutput! @hidden @unstable
"""
결제 예정 시각 변경

결제가 예정되어 있는 예약 건에 대하여 결제 예정 시각을 변경합니다.
"""
  changePaymentSchedule(input: ChangePaymentScheduleInput!): ChangePaymentScheduleOutput!
"""
예약 결제 재시도 또는 재예약

취소했거나 결제 시도가 실패한 예약 결제 건에 대해 재시도 또는 재예약합니다.
"""
  retryPaymentSchedule(input: RetryPaymentScheduleInput!): RetryPaymentScheduleOutput!
"""
결제 예약 취소

결제 예약 건을 취소합니다.
"""
  revokePaymentSchedule(input: RevokePaymentScheduleInput!): RevokePaymentScheduleOutput!
"""
빌링 결제 리커버리 세팅값 설정

빌링 결제 리커버리 세팅값을 설정합니다.
"""
  setPaymentRecoverySetting(input: SetPaymentRecoverySettingInput!): SetPaymentRecoverySettingOutput! @hidden @unstable
"""
빌링 결제 리커버리 세팅값 삭제

빌링 결제 리커버리 세팅값을 삭제합니다.
"""
  deletePaymentRecoverySetting(input: DeletePaymentRecoverySettingInput!): DeletePaymentRecoverySettingOutput! @hidden @unstable
  updatePlatformPartnerSettlementStatus(input: UpdatePlatformPartnerSettlementStatusInput!): UpdatePlatformPartnerSettlementStatusOutput! @hidden @unstable
  togglePlatformBulkPayoutPartnerSettlements(input: TogglePlatformBulkPayoutPartnerSettlementsInput!): TogglePlatformBulkPayoutPartnerSettlementsOutput! @hidden @unstable
  generatePlatformPayouts(input: GeneratePlatformPayoutsInput!): GeneratePlatformPayoutsOutput! @hidden @unstable
  updatePlatformPayouts(input: UpdatePlatformPayoutsInput!): UpdatePlatformPayoutsOutput! @hidden @unstable
  cancelPlatformBulkPayout(input: CancelPlatformBulkPayoutInput!): CancelPlatformBulkPayoutOutput! @hidden @unstable
  executePlatformBulkPayout(input: ExecutePlatformBulkPayoutInput!): ExecutePlatformBulkPayoutOutput! @hidden @unstable
  stopPlatformBulkPayout(input: StopPlatformBulkPayoutInput!): StopPlatformBulkPayoutOutput! @hidden @unstable
  reschedulePlatformBulkPayout(input: ReschedulePlatformBulkPayoutInput!): ReschedulePlatformBulkPayoutOutput! @hidden @unstable
  updatePlatformPayout(input: UpdatePlatformPayoutInput!): UpdatePlatformPayoutOutput! @hidden @unstable
  cancelPlatformBulkTask(id: ID!): CancelPlatformBulkTaskOutput! @hidden @unstable
  generatePlatformRemitDocumentContent(input: GeneratePlatformRemitDocumentContentInput!): GeneratePlatformRemitDocumentContentOutput! @hidden @unstable
  remitPlatformVirtualAccount(input: RemitPlatformVirtualAccountInput!): RemitPlatformVirtualAccountOutput! @hidden @unstable
  createPlatformSettlementParameter(input: CreatePlatformSettlementParameterInput!): CreatePlatformSettlementParameterOutput! @hidden
  updatePlatformSettlementParameter(input: UpdatePlatformSettlementParameterInput!): UpdatePlatformSettlementParameterOutput! @hidden
  "정산 계산기 수정"
  updatePlatformSettlementCalculator(input: UpdatePlatformSettlementCalculatorInput!): UpdatePlatformSettlementCalculatorOutput! @hidden
  "정산 계산기 버전 삭제"
  deletePlatformSettlementCalculator(input: DeletePlatformSettlementCalculatorInput!): DeletePlatformSettlementCalculatorOutput! @hidden
  "정산 계산기 수식 유효성 검증"
  validatePlatformSettlementCalculator(input: ValidatePlatformSettlementCalculatorInput!): ValidatePlatformSettlementCalculatorOutput! @hidden
"""
파일 업로드 url 생성

파일을 업로드하기 위한 url과 해당 파일의 fileId를 응답합니다.
"""
  createPlatformFileUploadUrl(fileName: String!, isForTest: Boolean): CreatePlatformFileUploadUrlOutput! @hidden @unstable
"""
플랫폼 설정 업데이트

설정 정보를 업데이트합니다.
"""
  updatePlatformSetting(input: UpdatePlatformSettingInput!): UpdatePlatformSettingOutput! @hidden @unstable
"""
채널 그룹 생성

채널 그룹을 생성합니다.
"""
  createChannelGroup(input: CreateChannelGroupInput!): CreateChannelGroupOutput!
"""
채널 그룹 수정

채널 그룹 정보를 수정합니다.
"""
  updateChannelGroup(input: UpdateChannelGroupInput!): UpdateChannelGroupOutput!
"""
채널 그룹 삭제

채널 그룹을 삭제합니다.
"""
  deleteChannelGroup(input: DeleteChannelGroupInput!): DeleteChannelGroupOutput!
"""
채널 그룹 수정 예약 취소

채널 그룹 정보를 수정하기로 예약한 것을 취소합니다.
"""
  deleteChannelGroupScheduledSession(input: DeleteChannelGroupScheduledSessionInput!): DeleteChannelGroupScheduledSessionOutput!
"""
상점 비즈니스 인증 등록

상점별 비즈니스 인증에 필요한 사업자 / 담당자 / 서비스 정보를 등록합니다. 등록 이후에는 수정할 수 없습니다.
"""
  registerStoreBusinessInfo(input: RegisterStoreBusinessInfoInput!): RegisterStoreBusinessInfoOutput! @hidden @unstable
"""
상점 비즈니스 인증 임시저장

상점별 비즈니스 인증에 필요한 사업자 / 담당자 / 서비스 정보를 임시로 저장합니다. 이미 등록이 완료 되었다면 임시저장을 할 수 없습니다.
"""
  saveTemporaryStoreBusinessInfo(input: SaveTemporaryStoreBusinessInfoInput!): SaveTemporaryStoreBusinessInfoOutput! @hidden @unstable
"""
파일 업로드를 하기 위해 필요한 파일 업로드 URL 발급

presigned-url과 파일 정보를 조회할 수 있는 ID(식별자) 정보가 반환됩니다. 해당 URL로 파일을 업로드 하실 수 있습니다
"""
  issueStoreFileUploadUrl(input: IssueStoreFileUploadUrlInput!): IssueStoreFileUploadUrlOutput!
"""
파일 다운로드 임시 URL 발급

임시로 사용할 수 있는 pre-signed url이 반환됩니다. 해당 URL로 파일을 다운로드 하실 수 있습니다
"""
  issueStoreFileDownloadUrl(input: IssueStoreFileDownloadUrlInput!): IssueStoreFileDownloadUrlOutput!
"""
고객사 약관정보 저장

약관 정보 중 입력한 정보만 저장합니다
"""
  saveMerchantTerms(input: SaveMerchantTermsInput!): SaveMerchantTermsOutput!
"""
대사 서비스 이용약관 동의

대사 서비스 이용약관 동의 정보를 전송합니다.
"""
  agreeReconciliationTermsAndConditions: AgreeReconciliationTermsAndConditionsOutput! @hidden @unstable
"""
프로모션 생성

프로모션을 생성합니다.
"""
  createPromotion(input: CreatePromotionInput!): CreatePromotionOutput! @hidden @unstable
"""
프로모션 정보 업데이트

프로모션 정보를 업데이트합니다.
"""
  updatePromotion(input: UpdatePromotionInput!): UpdatePromotionOutput! @hidden @unstable
"""
프로모션 중단

프로모션을 중단합니다.
"""
  terminatePromotion(input: TerminatePromotionInput!): TerminatePromotionOutput! @hidden @unstable
"""
프로모션 일시중지

프로모션을 일시중지합니다.
"""
  pausePromotion(input: PausePromotionInput!): PausePromotionOutput! @hidden @unstable
"""
프로모션 재개

일시중지되었던 프로모션을 재개합니다.
"""
  resumePromotion(input: ResumePromotionInput!): ResumePromotionOutput! @hidden @unstable
  createPlatformUserDefinedProperty(input: CreatePlatformUserDefinedPropertyInput!): CreatePlatformUserDefinedPropertyOutput! @hidden @unstable
  updatePlatformUserDefinedProperty(input: UpdatePlatformUserDefinedPropertyInput!): UpdatePlatformUserDefinedPropertyOutput! @hidden @unstable
  registerMerchantBillingCard(input: RegisterMerchantBillingCardInput!): RegisterMerchantBillingMethodCardOutput! @hidden @unstable
  saveMerchantBillingManager(input: SaveMerchantBillingManagerInput!): SaveMerchantBillingManagerOutput! @hidden @unstable
  registerAnnualBilling(input: AnnualBillingRegisterInput!): RegisterAnnualBillingOutput! @hidden @unstable
"""
사업자 연동

포트원 B2B 서비스에 사업자를 연동합니다.
id를 입력하여 연동 사업자 id를 부여할 수 있고, merchant를 연동 사업자로 등록하려는 경우에는 merchantId를 입력하면 됩니다.
두가지 값을 모두 입력하지 않은 경우에는 임의의 id를 채번합니다.
"""
  registerMemberCompany(input: RegisterB2bMemberCompanyInput!): RegisterB2bMemberCompanyOutput!
"""
연동 사업자 정보 수정

연동 사업자 정보를 수정합니다.
"""
  updateMemberCompany(input: UpdateB2bMemberCompanyInput!): UpdateB2bMemberCompanyOutput!
"""
세금계산서 임시 저장

세금계산서 임시 저장을 요청합니다.
"""
  draftTaxInvoice(input: DraftB2bTaxInvoiceInput!): DraftB2bTaxInvoiceOutput!
"""
세금계산서 역발행 요청

임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다. 요청이 완료되면 (역)발행대기 상태로 전환됩니다.
"""
  requestTaxInvoice(input: RequestB2bTaxInvoiceInput!): RequestB2bTaxInvoiceOutput!
"""
세금계산서 역발행 즉시 요청

공급자에게 세금계산서 역발행을 즉시 요청합니다. 임시저장 API와 역발행 요청 API 기능을 한 번의 프로세스로 처리합니다.
"""
  requestTaxInvoiceReverseIssuance(input: RequestB2bTaxInvoiceReverseIssuanceInput!): RequestB2bTaxInvoiceReverseIssuanceOutput!
"""
세금계산서 발행 승인

역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(DRAFTED) 상태의 세금계산서에 대해 발행을 승인합니다.
"""
  issueTaxInvoice(input: IssueB2bTaxInvoiceInput!): IssueB2bTaxInvoiceOutput!
"""
세금계산서 국세청 즉시 전송

발행이 완료된 세금계산서를 국세청에 즉시 전송합니다.
"""
  sendToNtsTaxInvoice(input: SendToNtsB2bTaxInvoiceInput!): SendToNtsB2bTaxInvoiceOutput!
"""
세금계산서 역발행 요청 거부

공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다.
"""
  refuseTaxInvoiceRequest(input: RefuseB2bTaxInvoiceRequestInput!): RefuseB2bTaxInvoiceRequestOutput!
"""
세금계산서 역발행 요청 취소 (공급받는자에 의한 취소)

공급자가 세금계산서 발행을 승인하기 전에 공급받는자가 해당 역발행 요청을 취소합니다.
"""
  cancelTaxInvoiceRequest(input: CancelB2bTaxInvoiceRequestInput!): CancelB2bTaxInvoiceRequestOutput!
"""
세금계산서 역발행 취소 (공급자에 의한 취소)

발행 완료된 세금계산서를 공급자가 국세청 전송 전에 취소합니다.
"""
  cancelTaxInvoiceIssuance(input: CancelB2bTaxInvoiceIssuanceInput!): CancelB2bTaxInvoiceIssuanceOutput!
"""
세금계산서 삭제

세금계산서를 삭제합니다.
"""
  deleteTaxInvoice(input: DeleteB2bTaxInvoiceInput!): DeleteB2bTaxInvoiceOutput!
"""
세금계산서 임시저장 수정

임시 저장된 세금계산서를 수정합니다.
"""
  updateTaxInvoiceDraft(input: UpdateB2bTaxInvoiceDraftInput!): UpdateB2bTaxInvoiceDraftOutput!
"""
세금계산서 랜딩 페이지용 공급자 API

세금계산서 역발행 시 공급자가 이메일을 통해 접속한 랜딩 페이지에서 
세금계산서에 대한 조회/발행/거부/취소를 수행합니다.
"""
  taxInvoiceSupplierApi(input: B2bTaxInvoiceSupplierApiRequestInput!): B2bTaxInvoiceSupplierApiRequestOutput!
"""
사업자 인증서 등록 URL 조회

연동 사업자의 인증서를 등록하기 위한 URL을 조회합니다.
"""
  getCertificateRegistrationUrl(brn: String!, isForTest: Boolean!): B2bCertificateRegistrationUrlOutput!
"""
사업자 인증서 유효성 검증

연동 사업자가 등록한 인증서의 유효성을 검증합니다.
"""
  validateCertificate(brn: String!, isForTest: Boolean!): ValidateB2bCertificateOutput!
"""
세금계산서 일괄 발행 요청

세금계산서 일괄 발행을 요청합니다.
"""
  requestBulkIssuanceByFile(input: RequestBulkIssuanceByFileInput!): RequestBulkIssuanceByFileOutput!
"""
세금계산서 일괄 역발행 요청

임시저장(REGISTERED) 상태의 역발행 세금계산서들을 공급자에게 일괄 발행 요청합니다. 요청이 완료되면 (역)발행대기 상태로 전환됩니다.
"""
  requestBulkTaxInvoice(input: RequestB2bBulkTaxInvoiceInput!): RequestB2bBulkTaxInvoiceOutput!
"""
세금계산서 일괄 삭제 요청

세금계산서를 일괄로 삭제합니다.
"""
  deleteBulkTaxInvoice(input: DeleteB2bBulkTaxInvoiceInput!): DeleteB2bBulkTaxInvoiceOutput!
"""
세금계산서 역발행 이메일 재발송 API

세금계산서 역발행 이메일을 재발송하고 기존 이메일에 사용되었던 랜딩 페이지 토큰을 무효화합니다.
"""
  resendReverseIssuanceEmail(input: ResendB2bTaxInvoiceReverseIssuanceEmailRequestInput!): ResendB2bTaxInvoiceReverseIssuanceEmailRequestOutput!
  createPromotionGroup(input: CreatePromotionGroupInput!): CreatePromotionGroupOutput! @hidden @unstable
  updatePromotionGroup(input: UpdatePromotionGroupInput!): UpdatePromotionGroupOutput! @hidden @unstable
  deletePromotionGroup(input: DeletePromotionGroupInput!): DeletePromotionGroupOutput! @hidden @unstable
  "파트너를 연동 사업자로 연동합니다."
  connectPartnerMemberCompany(input: ConnectPartnerMemberCompanyInput!): ConnectPartnerMemberCompanyOutput!
"""
연동 사업자 연동 해제

파트너를 연동 사업자에서 연동 해제합니다.
"""
  disconnectPartnerMemberCompany(input: DisconnectPartnerMemberCompanyInput!): DisconnectPartnerMemberCompanyOutput!
"""
파트너 연동 사업자 일괄 연동

파트너들을 연동 사업자로 일괄 연동합니다.
"""
  connectBulkPartnerMemberCompany(input: ConnectBulkPartnerMemberCompanyInput!): ConnectBulkPartnerMemberCompanyOutput!
"""
파트너 연동 사업자 연동 해제

파트너들을 연동 사업자에서 일괄 연동 해제합니다.
"""
  disconnectBulkPartnerMemberCompany(input: DisconnectBulkPartnerMemberCompanyInput!): DisconnectBulkPartnerMemberCompanyOutput!
"""
웹훅 일괄 재발송

최종 결제 상태의 웹훅 최종 실패 건에 대해서 일괄 재발송을 합니다.
"""
  resendFailedPaymentWebhooks(input: ResendFailedPaymentWebhooksInput!): ResendFailedWebhooksOutput! @hidden @unstable
}

"프로모션에 의해 조정된 취소 금액이 음수인 경우"
type NegativePromotionAdjustedCancelAmountError implements Error {
  message: String
}

"예약된 세션이 없는 경우"
type NoScheduledSessionError implements Error {
  message: String
}

"포트원에서 허용되지 않는 PG 상점 아이디로 채널 등록을 시도했을 경우"
type NotAllowedPgMerchantIdError implements Error {
  message: String
}

"연 결제 등록이 불가능한 경우"
type NotBillableError implements Error {
  message: String
}

"전월 과금 대상 고객사가 아닌 경우"
type NotChargedForPreviousMonthError implements Error {
  message: String
  previousMonthNetTotalPaymentVolume: Long!
  growthLevel: GrowthLevel!
}

"카드가 등록되어 있지 않은 경우"
type NotRegisteredBillingCardError implements Error {
  message: String
}

"OCR 도중 에러가 발생한 경우"
type OcrFailedError implements Error {
  message: String
}

"""
한 줄 형식 주소

한 줄 형식 주소만 존재합니다.
"""
type OneLineAddress implements Address {
  "주소 (한 줄)"
  oneLine: String!
}

"반환된 페이지 결과 정보"
type PageInfo {
  "요청된 페이지 번호"
  number: Int!
  "요청된 페이지 당 객체 수"
  size: Int!
  "실제 반환된 객체 수"
  totalCount: Int!
}

"요청한 패스워드에 개인정보가 포함되어있는 경우"
type PasswordContainsPersonalInfoError implements Error {
  message: String
}

"프로모션 일시 중지 성공 응답"
type PausePromotionPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"결제가 이미 취소된 경우"
type PaymentAlreadyCancelledError implements Error {
  message: String
}

"결제 건이 존재하지 않는 경우"
type PaymentNotFoundError implements Error {
  message: String
}

"결제가 완료되지 않은 경우"
type PaymentNotPaidError implements Error {
  message: String
}

"결제 건이 입금 대기 상태가 아닌 경우"
type PaymentNotWaitingForDepositError implements Error {
  message: String
}

"상품 정보"
type PaymentProduct {
"""
상품 고유 식별자

고객사가 직접 부여한 식별자입니다.
"""
  id: String!
  "상품명"
  name: String!
"""
상품 태그

카테고리 등으로 활용될 수 있습니다.
"""
  tag: String
  "상품 코드"
  code: String
  "상품 단위가격"
  amount: Long!
  "주문 수량"
  quantity: Int!
  "판매 링크"
  link: String
}

"거래대사 정산내역 일자별 통계"
type PaymentReconciliationDailySettlementStatistics {
  date: Date!
  statistics: [PaymentReconciliationSettlementStatistics!]!
}

"거래대사 거래내역 일자별 통계"
type PaymentReconciliationDailyTransactionStatistics {
  date: Date!
  statistics: [PaymentReconciliationTransactionStatistic!]!
}

type PaymentReconciliationEdge {
  node: PaymentReconciliation!
  cursor: String!
}

type PaymentReconciliationIncomparable implements PaymentReconciliation & Node {
  "거래대사 아이디"
  plainId: String!
  id: ID!
  actionType: PaymentReconciliationActionType!
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "고객사 아이디"
  merchantPlainId: String!
  merchantId: ID!
  "결제 금액"
  paymentAmount: Long!
  "면세가액"
  taxFreeAmount: Long!
  "부가세"
  vatAmount: Long!
  "공급가액"
  supplyAmount: Long!
  "거래이상 금액"
  anomalyAmount: Long!
  "결제일"
  paidAt: DateTime!
  "에스크로 여부"
  isEscrow: Boolean
  "결제 통화"
  paymentCurrency: Currency!
  "결제수단 상세 정보"
  paymentMethod: ReconciliationPaymentMethod!
  "PG사 거래 아이디"
  pgTxId: String!
  "거래건의 정산 정보"
  settlement: PaymentReconciliationSettlement
}

type PaymentReconciliationMatched implements PaymentReconciliation & Node {
  "거래대사 아이디"
  plainId: String!
  id: ID!
  actionType: PaymentReconciliationActionType!
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "고객사 아이디"
  merchantPlainId: String!
  merchantId: ID!
  "결제 금액"
  paymentAmount: Long!
  "면세가액"
  taxFreeAmount: Long!
  "부가세"
  vatAmount: Long!
  "공급가액"
  supplyAmount: Long!
  "결제일"
  paidAt: DateTime!
  "에스크로 여부"
  isEscrow: Boolean
  "결제 통화"
  paymentCurrency: Currency!
  "결제수단 상세 정보"
  paymentMethod: ReconciliationPaymentMethod!
  "PG사 거래 아이디"
  pgTxId: String!
  "거래건의 정산 정보"
  settlement: PaymentReconciliationSettlement
  "포트원 결제 아이디"
  transactionPlainId: String!
  "고객사 결제 아이디"
  paymentPlainId: String!
  "주문명"
  orderName: String!
  "하위 가맹점 아이디"
  storePlainId: String!
  storeId: ID!
}

type PaymentReconciliationNotCollected implements PaymentReconciliation & Node {
  "거래대사 아이디"
  plainId: String!
  id: ID!
  actionType: PaymentReconciliationActionType!
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "고객사 아이디"
  merchantPlainId: String!
  merchantId: ID!
  "결제 금액"
  paymentAmount: Long!
  "면세가액"
  taxFreeAmount: Long!
  "부가세"
  vatAmount: Long!
  "공급가액"
  supplyAmount: Long!
  "거래이상 금액"
  anomalyAmount: Long!
  "결제일"
  paidAt: DateTime!
  "에스크로 여부"
  isEscrow: Boolean
  "결제 통화"
  paymentCurrency: Currency!
  "결제수단 상세 정보"
  paymentMethod: ReconciliationPaymentMethod!
  "PG사 거래 아이디"
  pgTxIdOptional: String
  "거래건의 정산 정보"
  settlement: PaymentReconciliationSettlement
  "포트원 결제 아이디"
  transactionPlainIdOptional: String
  "고객사 결제 아이디"
  paymentPlainIdOptional: String
  "주문명"
  orderNameOptional: String
  "하위 가맹점 아이디"
  storePlainIdOptional: String
  storeIdOptional: ID
}

"거래 대사건이 존재하지 않는 경우"
type PaymentReconciliationNotFoundError implements Error {
  message: String
}

type PaymentReconciliationNotMatched implements PaymentReconciliation & Node {
  "거래대사 아이디"
  plainId: String!
  id: ID!
  actionType: PaymentReconciliationActionType!
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "고객사 아이디"
  merchantPlainId: String!
  merchantId: ID!
  "결제 금액"
  paymentAmount: Long!
  "면세가액"
  taxFreeAmount: Long!
  "부가세"
  vatAmount: Long!
  "공급가액"
  supplyAmount: Long!
  "거래이상 금액"
  anomalyAmount: Long!
  "결제일"
  paidAt: DateTime!
  "에스크로 여부"
  isEscrow: Boolean
  "결제 통화"
  paymentCurrency: Currency!
  "결제수단 상세 정보"
  paymentMethod: ReconciliationPaymentMethod!
  "포트원 결제 아이디"
  transactionPlainId: String!
  "고객사 결제 아이디"
  paymentPlainId: String!
  "PG사 거래 아이디"
  pgTxId: String!
  "거래건의 정산 정보"
  settlement: PaymentReconciliationSettlement
  "거래대사 불일치 사유"
  notMatchedReasons: [PaymentReconciliationNotMatchedReason!]!
  "주문명"
  orderName: String!
  "하위 가맹점 아이디"
  storePlainId: String!
  storeId: ID!
}

type PaymentReconciliationPaymentCurrenciesPayload {
  currencies: [Currency!]!
}

type PaymentReconciliationPostCorrection implements PaymentReconciliation & Node {
  "거래대사 아이디"
  plainId: String!
  id: ID!
  actionType: PaymentReconciliationActionType!
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "고객사 아이디"
  merchantPlainId: String!
  merchantId: ID!
  "결제 금액"
  paymentAmount: Long!
  "면세가액"
  taxFreeAmount: Long!
  "부가세"
  vatAmount: Long!
  "공급가액"
  supplyAmount: Long!
  "거래이상 금액"
  anomalyAmount: Long!
  "결제일"
  paidAt: DateTime!
  "에스크로 여부"
  isEscrow: Boolean
  "결제 통화"
  paymentCurrency: Currency!
  "결제수단 상세 정보"
  paymentMethod: ReconciliationPaymentMethod!
  "PG사 거래 아이디"
  pgTxIdOptional: String
  "거래건의 정산 정보"
  settlement: PaymentReconciliationSettlement
  "포트원 결제 아이디"
  transactionPlainIdOptional: String
  "고객사 결제 아이디"
  paymentPlainIdOptional: String
  "주문명"
  orderNameOptional: String
  "하위 가맹점 아이디"
  storePlainIdOptional: String
  storeIdOptional: ID
}

"정산 정보"
type PaymentReconciliationSettlement {
  "PG 수수료 요금"
  feeAmount: Long!
  "PG 수수료 부가세"
  feeVatAmount: Long!
  "정산 금액"
  settlementAmount: Long!
  "정산 통화"
  settlementCurrency: Currency!
  "정산일"
  settlementDate: Date!
}

type PaymentReconciliationSettlementCurrenciesPayload {
  currencies: [Currency!]!
}

"거래대사 정산 통계 데이터"
type PaymentReconciliationSettlementStatistics {
  amount: Long!
  count: Long!
  pendingAmount: Long!
  pendingCount: Long!
  currency: Currency!
}

type PaymentReconciliationSettlementStatisticsPayload {
  "검색 구간내 합산 데이터"
  rangeTotalStatistics: [PaymentReconciliationSettlementStatistics!]!
  "일별 정산 통계 내역"
  dailyStatistics: [PaymentReconciliationDailySettlementStatistics!]!
}

type PaymentReconciliationSettlementSummariesPayload {
  edges: [PaymentReconciliationSettlementSummaryEdge!]!
  pageInfo: CursorPageInfo!
}

"거래대사 정산내역 일별 요약"
type PaymentReconciliationSettlementSummary {
  "정산일"
  date: Date!
  "정산 통화"
  settlementCurrency: Currency!
  "결제 통화"
  transactionCurrency: Currency!
  "정산내역 합산 데이터"
  aggregate: PaymentReconciliationSettlementSummaryAggregate!
  "정산내역 일별 상세 데이터 목록"
  details: [PaymentReconciliationSettlementSummaryDetail!]!
}

type PaymentReconciliationSettlementSummaryAggregate {
  "정산 금액"
  settlementAmount: Long!
  "정산 건 수"
  settlementCount: Long!
  "PG 수수료"
  feeAmount: Long!
  "PG 수수료 부가세"
  feeVatAmount: Long!
  "취소 금액"
  cancelAmount: Long!
  "취소 건 수"
  cancelCount: Long!
  "거래 합계 금액"
  transactionAmount: Long!
  "후보정 건 수"
  postCorrectionCount: Long!
  "후보정 금액"
  postCorrectionAmount: Long!
}

type PaymentReconciliationSettlementSummaryDetail {
  "상점 ID"
  storePlainId: String
  storeId: ID
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "정산 금액"
  settlementAmount: Long!
  "정산 건 수"
  settlementCount: Long!
  "PG 수수료"
  feeAmount: Long!
  "PG 수수료 부가세"
  feeVatAmount: Long!
  "취소 금액"
  cancelAmount: Long!
  "취소 건 수"
  cancelCount: Long!
  "거래 합계 금액"
  transactionAmount: Long!
  "후보정 건 수"
  postCorrectionCount: Long!
  "후보정 금액"
  postCorrectionAmount: Long!
}

type PaymentReconciliationSettlementSummaryEdge {
  node: PaymentReconciliationSettlementSummary!
  cursor: String!
}

"거래대사 거래 통계 데이터"
type PaymentReconciliationTransactionStatistic {
  "총 거래 금액"
  totalAmount: Long!
  "총 거래 건수"
  totalCount: Long!
  "거래이상 금액"
  anomalyAmount: Long!
  "거래이상 건수"
  anomalyCount: Long!
  currency: Currency!
}

type PaymentReconciliationTransactionStatisticsPayload {
  "검색 구간내 합산 데이터"
  rangeTotalStatistics: [PaymentReconciliationTransactionStatistic!]!
  "일별 거래 통계의 총합"
  dailyStatistics: [PaymentReconciliationDailyTransactionStatistics!]!
}

type PaymentReconciliationTransactionSummariesPayload {
  edges: [PaymentReconciliationTransactionSummaryEdge!]!
  pageInfo: CursorPageInfo!
}

"거래대사 거래내역 일별 요약"
type PaymentReconciliationTransactionSummary {
  "거래일"
  date: Date!
  "거래 통화"
  currency: Currency!
  "거래내역 합산 데이터"
  aggregate: PaymentReconciliationTransactionSummaryAggregate!
  "거래내역 상세 데이터 목록"
  details: [PaymentReconciliationTransactionSummaryDetail!]!
}

type PaymentReconciliationTransactionSummaryAggregate {
  "거래 금액"
  transactionAmount: Long!
  "거래 건 수"
  transactionCount: Long!
  "거래 취소 금액"
  cancelAmount: Long!
  "거래 취소 건 수"
  cancelCount: Long!
  "거래 이상 금액"
  anomalyAmount: Long!
  "거래 이상 건 수"
  anomalyCount: Long!
  "대사불일치 건 수"
  notMatchedCount: Long!
  "대사불능 건 수"
  incomparableCount: Long!
}

type PaymentReconciliationTransactionSummaryDetail {
  "상점 ID"
  storePlainId: String
  storeId: ID
  "대사용 PG사 가맹점 식별자"
  pgSpecifier: ReconciliationPgSpecifier!
  "거래 금액"
  transactionAmount: Long!
  "거래 건 수"
  transactionCount: Long!
  "거래 취소 금액"
  cancelAmount: Long!
  "거래 취소 건 수"
  cancelCount: Long!
  "거래 이상 금액"
  anomalyAmount: Long!
  "거래 이상 건 수"
  anomalyCount: Long!
  "대사불일치 건 수"
  notMatchedCount: Long!
  "대사불능 건 수"
  incomparableCount: Long!
}

type PaymentReconciliationTransactionSummaryEdge {
  node: PaymentReconciliationTransactionSummary!
  cursor: String!
}

type PaymentReconciliationsPayload {
  edges: [PaymentReconciliationEdge!]!
  pageInfo: CursorPageInfo!
}

"빌링 결제 리커버리 최근 실행 내역"
type PaymentRecoveryLog {
  recoveredAt: DateTime!
  succeededCount: Int!
  failedCount: Int!
}

"빌링 결제 리커버리 실행 내역이 존재하지 않는 경우"
type PaymentRecoveryLogNotFoundError implements Error {
  message: String
}

"빌링 결제 리커버리 세팅값"
type PaymentRecoverySetting {
  recoveryHour: Int!
  applyAfter: DateTime!
}

"빌링 결제 리커버리 세팅값이 존재하지 않는 경우"
type PaymentRecoverySettingNotFoundError implements Error {
  message: String
}

"결제 예약건이 이미 존재하는 경우"
type PaymentScheduleAlreadyExistsError implements Error {
  message: String
}

"결제 예약건이 이미 처리된 경우"
type PaymentScheduleAlreadyProcessedError implements Error {
  message: String
}

"결제 예약건이 이미 취소된 경우"
type PaymentScheduleAlreadyRevokedError implements Error {
  message: String
}

"결제 예약 시 입력된 빌링키 요약 정보"
type PaymentScheduleBillingKeyInfo {
  "빌링키"
  billingKey: String
  "빌링키 결제 수단"
  methodType: BillingKeyPaymentMethodType
  "빌링키 간편 결제 수단"
  easyPayMethodType: PaymentScheduleBillingKeyEasyPayMethodType
  "빌링키 발급에 사용한 채널 그룹 ID"
  groupId: String
  "빌링키 발급에 사용한 채널 그룹 이름"
  groupName: String
  "빌링키 발급에 사용한 PG사"
  pgCompany: PgCompany
  "빌링키 발급에 사용한 PG사 결제 모듈"
  pgProvider: PgProvider
}

"결제 예약 캘린더 조회 성공 응답 정보"
type PaymentScheduleCalendar {
  totalStat: PaymentScheduleCalendarStat!
  dateStats: [PaymentScheduleCalendarDateStat!]!
}

"결제 예약 건 캘린더의 일별 통계를 나타냅니다."
type PaymentScheduleCalendarDateStat {
  date: Date!
  stat: PaymentScheduleCalendarStat!
}

"결제 예약 건 캘린더의 상태별 통계를 나타냅니다."
type PaymentScheduleCalendarStat {
  scheduledCount: Long!
  startedCount: Long!
  revokedCount: Long!
  succeededCount: Long!
  failedCount: Long!
  pendingCount: Long!
  scheduledAmount: Long!
  startedAmount: Long!
  revokedAmount: Long!
  succeededAmount: Long!
  failedAmount: Long!
  pendingAmount: Long!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventFailed implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String
  pgProvider: PgProvider
  pgCompany: PgCompany
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventImmediateTryFailed implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String
  pgProvider: PgProvider
  pgCompany: PgCompany
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventImmediateTryPending implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String!
  pgProvider: PgProvider!
  pgCompany: PgCompany!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventImmediateTrySucceeded implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String!
  pgProvider: PgProvider!
  pgCompany: PgCompany!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventPending implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String!
  pgProvider: PgProvider!
  pgCompany: PgCompany!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventRescheduled implements PaymentScheduleEvent {
  timestamp: DateTime!
  "재예약된 결제 예정 시각"
  timeToPay: DateTime!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventRetryFailed implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String
  pgProvider: PgProvider
  pgCompany: PgCompany
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventRetryPending implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String!
  pgProvider: PgProvider!
  pgCompany: PgCompany!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventRetrySucceeded implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String!
  pgProvider: PgProvider!
  pgCompany: PgCompany!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventRevoked implements PaymentScheduleEvent {
  timestamp: DateTime!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventScheduleChanged implements PaymentScheduleEvent {
  timestamp: DateTime!
  "변경된 결제 예정 시각"
  timeToPay: DateTime!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventScheduled implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제 예정 시각"
  timeToPay: DateTime!
}

"결제 예약 관련 이벤트"
type PaymentScheduleEventSucceeded implements PaymentScheduleEvent {
  timestamp: DateTime!
  "결제건 트랜잭션 ID"
  transactionPlainId: String!
  pgProvider: PgProvider!
  pgCompany: PgCompany!
}

type PaymentScheduleEvents {
  items: [PaymentScheduleEvent!]!
}

"결제 예약건이 존재하지 않는 경우"
type PaymentScheduleNotFoundError implements Error {
  message: String
}

"결제 예약 건이 해지 또는 실패 상태가 아닌 경우"
type PaymentScheduleNotRevokedOrFailedError implements Error {
  message: String
}

"결제 예약 건이 결제 예정 상태가 아닌 경우"
type PaymentScheduleNotScheduledError implements Error {
  message: String
}

"결제 예약 건 상태별 통계 조회 성공 응답 정보"
type PaymentScheduleStat {
  scheduledCount: Long!
  startedCount: Long!
  revokedCount: Long!
  succeededCount: Long!
  failedCount: Long!
  pendingCount: Long!
}

"결제 예약 다건 조회 성공 응답 정보"
type PaymentSchedulesPayload {
  "조회된 결제 예약 건 리스트"
  items: [PaymentSchedule!]!
  "조회된 페이지 정보"
  page: PageInfo!
}

"결제 완료 대기 상태"
type PendingPaymentSchedule implements PaymentSchedule & Node {
  "결제 예약 건 아이디"
  plainId: String!
  "결제 예약 건 아이디"
  id: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "고객사 아이디"
  merchantId: ID!
  "상점 아이디"
  storePlainId: String!
  "상점 아이디"
  storeId: ID!
  "결제 건 아이디"
  paymentPlainId: String!
  "빌링키"
  billingKey: String!
  "빌링키 요약 정보"
  billingKeyInfo: PaymentScheduleBillingKeyInfo!
  "PG"
  determinedPgProvider: PgProvider!
  "PG사"
  determinedPgCompany: PgCompany!
  "주문명"
  orderName: String!
  "문화비 지출 여부"
  isCulturalExpense: Boolean!
  "에스크로 결제 여부"
  isEscrow: Boolean!
  "고객 정보"
  customer: Customer!
  "사용자 지정 데이터"
  customData: String!
  "결제 총 금액"
  totalAmount: Long!
  "면세액"
  taxFreeAmount: Long
  "부가세"
  vatAmount: Long
  "통화"
  currency: Currency!
  "할부 개월 수"
  installmentMonth: Int
  "웹훅 주소"
  noticeUrls: [String!]
  "상품 정보"
  products: [PaymentProduct!]
  "결제 예약 등록 시점"
  createdAt: DateTime!
  "결제 예정 시점"
  timeToPay: DateTime
  "결제 시작 시점"
  startedAt: DateTime!
  "결제 완료 시점"
  completedAt: DateTime!
  "결제 예약 이벤트 리스트"
  events: PaymentScheduleEvents!
}

type PgCompanyUsage {
  "결제 건이 존재하는 PG사 조회"
  byPayments: PgCompanyUsageByPaymentsOutput! @hidden @unstable
  "결제 예약 건이 존재하는 PG사 조회"
  byPaymentSchedules: PgCompanyUsageByPaymentSchedulesOutput! @hidden @unstable
}

"결제 예약 건이 존재하는 PG사 조회 성공 응답 정보"
type PgCompanyUsageByPaymentSchedulesPayload {
  pgCompaniesInUse: [PgCompany!]!
}

"결제 건이 존재하는 PG사 조회 성공 응답 정보"
type PgCompanyUsageByPaymentsPayload {
  pgCompaniesInUse: [PgCompany!]!
}

"PG사에서 오류를 전달한 경우"
type PgProviderError implements Error {
  message: String
  pgCode: String!
  pgMessage: String!
}

"고객사의 플랫폼 기능 관련 정보"
type Platform implements Node {
  "해당 플랫폼의 고객사 아이디"
  plainId: String!
  id: ID!
  "정산 규칙"
  settlementRule: PlatformSettlementRule!
  "주어진 아이디에 대응되는 할인 분담을 조회합니다."
  discountSharePolicy("조회할 할인 분담 정책 아이디" id: ID!): PlatformDiscountSharePolicyOutput!
  "여러 할인 분담을 조회합니다."
  discountSharePolicies("요청할 페이지 정보" page: PageInput, "조회할 할인 분담 정책 조건 필터" filter: PlatformDiscountSharePolicyFilterInput): PlatformDiscountSharePoliciesOutput! @unstable
  "주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 조회합니다."
  discountSharePolicySchedule(targetId: ID!): PlatformDiscountSharePolicyScheduleOutput! @unstable
  "할인 분담 정책 다건 조회 시 필요한 필터 옵션을 조회합니다."
  discountSharePolicyFilterOptions(isArchived: Boolean): PlatformDiscountSharePolicyFilterOptionsOutput! @unstable
  discountSharePolicyId(plainId: String!): PlatformDiscountSharePolicyIdOutput! @hidden @unstable
  discountSharePolicyIdSuggestion: PlatformDiscountSharePolicyIdSuggestionOutput! @hidden @unstable
  "주어진 아이디에 대응되는 추가 수수료 정책을 조회합니다."
  additionalFeePolicy(id: ID!): PlatformAdditionalFeePolicyOutput!
  "여러 추가 수수료 정책을 조회합니다."
  additionalFeePolicies("요청할 페이지 정보" page: PageInput, "조회할 추가 수수료 정책 조건 필터" filter: PlatformAdditionalFeePolicyFilterInput): PlatformAdditionalFeePoliciesOutput! @unstable
  "주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 조회합니다."
  additionalFeePolicySchedule("추가 수수료 정책 아이디" targetId: ID!): PlatformAdditionalFeePolicyScheduleOutput! @unstable
  additionalFeePolicyId(plainId: String!): PlatformAdditionalFeePolicyIdOutput! @hidden @unstable
  additionalFeePolicyIdSuggestion: PlatformAdditionalFeePolicyIdSuggestionOutput! @hidden @unstable
  "파트너 객체를 조회합니다."
  partner("조회하고 싶은 파트너 아이디" id: ID!): PlatformPartnerOutput!
  "여러 파트너를 조회합니다."
  partners("요청할 페이지 정보" page: PageInput, "조회할 파트너 조건 필터" filter: PlatformPartnerFilterInput): PlatformPartnersOutput! @unstable
  "파트너 현황을 조회합니다."
  partnerDashboard("""테스트 조회 여부

true 이면 isForTest 가 true 인 파트너들을 조회하고, false 이면 isForTest 가 false 인 파트너들을 조회합니다. 기본값은 false 입니다.""" isForTest: Boolean): PlatformPartnerDashboardOutput! @hidden @unstable
  "주어진 아이디에 대응되는 파트너의 예약 업데이트를 조회합니다."
  partnerSchedule("파트너 아이디" targetId: ID!): PlatformPartnerScheduleOutput! @unstable
  "파트너 다건 조회 시 필요한 필터 옵션을 조회합니다."
  partnerFilterOptions(isArchived: Boolean): PlatformPartnerFilterOptionsOutput! @unstable
  partnerId(plainId: String!): PlatformPartnerIdOutput! @hidden @unstable
  partnerIdSuggestion: PlatformPartnerIdSuggestionOutput! @hidden @unstable
  partnerSummaries(keyword: String!, limit: Int!): PlatformPartnerSummariesOutput! @hidden @unstable
  "주어진 아이디에 대응되는 계약을 조회합니다."
  contract(id: ID!): PlatformContractOutput!
  "여러 계약을 조회합니다."
  contracts("요청할 페이지 정보" page: PageInput, "조회할 계약 조건 필터" filter: PlatformContractFilterInput): PlatformContractsOutput! @unstable
  "주어진 아이디에 대응되는 계약의 예약 업데이트를 조회합니다."
  contractSchedule(targetId: ID!): PlatformContractScheduleOutput! @unstable
  contractId(plainId: String!): PlatformContractIdOutput! @hidden @unstable
  contractIdSuggestion: PlatformContractIdSuggestionOutput! @hidden @unstable
  contractSummaries("검색 키워드" keyword: String!, "조회 할 계약 수" limit: Int!): PlatformContractSummariesOutput! @hidden @unstable
  transfer(id: ID!): PlatformTransferOutput!
  transferDashboard(settlementDate: Date!, isForTest: Boolean): PlatformTransferDashboardOutput! @hidden @unstable
  transferSummaries("요청할 페이지 정보" page: PageInput, "조회할 정산건 조건 필터" filter: PlatformTransferFilterInput): PlatformTransferSummariesOutput! @hidden @unstable
  transferFilterOptions(includeHidden: Boolean, isArchived: Boolean): PlatformTransferFilterOptionsOutput! @hidden @unstable
  payableSettlementDates(isForTest: Boolean): PlatformPayableSettlementDatesOutput! @hidden @unstable
  partnerSettlements("요청할 페이지 정보" page: PageInput, "조회할 정산내역 조건 필터" filter: PlatformPartnerSettlementFilterInput!, isForTest: Boolean!): PlatformPartnerSettlementsOutput! @hidden @unstable
  settlementDates(isForTest: Boolean!): PlatformPartnerSettlementDatesOutput! @hidden @unstable
  settlementCurrencies(isForTest: Boolean!): PlatformPartnerSettlementCurrenciesOutput! @hidden @unstable
  partnerSettlementDashboard(filter: PlatformPartnerSettlementFilterInput!, isForTest: Boolean!): PlatformPartnerSettlementDashboardOutput! @hidden @unstable
  bulkPayout(id: ID!): PlatformBulkPayoutOutput! @hidden @unstable
  bulkPayouts(isForTest: Boolean, page: PageInput, filter: PlatformBulkPayoutFilterInput): PlatformBulkPayoutsOutput! @hidden @unstable
  bulkPayoutPartnerSettlementsDashboard(bulkPayoutId: ID!, filter: PlatformBulkPayoutPartnerSettlementsFilterInput, isForTest: Boolean): PlatformBulkPayoutPartnerSettlementsDashboardOutput! @hidden @unstable
  "계좌의 예금주를 조회합니다."
  accountHolder(bank: Bank!, accountNumber: String!, identifier: PlatformAccountHolderIdentifierInput): GetPlatformAccountHolderOutput! @unstable
  "사업자 정보를 조회합니다. 포트원 서비스에 연동 및 등록되지 않은 사업자도 조회 가능합니다."
  companyState(businessRegistrationNumber: String!): GetPlatformCompanyStateOutput! @unstable
  payouts(isForTest: Boolean, page: PageInput, """전체 페이지 조회

필터가 적용된 내역을 기준으로 true일 경우 전체 페이지를 조회 하고 false 또는 값이 없을 경우 page에 해당하는 페이지를 조회 합니다.""" all: Boolean, filter: PlatformPayoutFilterInput): PlatformPayoutsOutput! @hidden @unstable
  virtualAccount("""잔액조회한 값은 5분 동안 캐시되는데, 즉시 업데이트하고 싶다면 true를 전달합니다.
전달하지 않을 시, 캐시된 값이 리턴됩니다.""" forceUpdate: Boolean): PlatformVirtualAccountOutput! @hidden @unstable
  additionalFeePolicySummaries(isArchived: Boolean!): PlatformAdditionalFeePolicySummariesOutput! @hidden @unstable
  payout(id: ID!): PlatformPayoutOutput! @hidden @unstable
  "파트너 태그들을 조회합니다."
  partnerTags(isArchived: Boolean): PlatformPartnerTagsOutput! @hidden @unstable
  "파트너 계좌 은행들을 조회합니다."
  partnerBanks(isArchived: Boolean): PlatformPartnerBanksOutput! @hidden @unstable
  "파트너 계좌 통화들을 조회합니다."
  partnerCurrencies(isArchived: Boolean): PlatformPartnerCurrenciesOutput! @hidden @unstable
  "지급에 사용된 통화들을 조회합니다."
  payoutCurrencies(isForTest: Boolean): PlatformPayoutCurrenciesOutput! @hidden @unstable
  "공휴일을 조회합니다."
  holidays(year: Int!): PlatformHolidaysOutput!
  "유저가 보유한 사용 권한을 조회합니다."
  userPermissions: PlatformPermissionsOutput! @hidden @unstable
  userDefinedProperties(input: FetchPlatformUserDefinedPropertiesInput!): GetPlatformUserDefinedPropertiesOutput! @hidden @unstable
  partnerSettlement(id: ID!): PlatformPartnerSettlementOutput! @hidden @unstable
  "정산 파라미터 다건 조회"
  settlementParameters: PlatformSettlementParametersOutput! @hidden @unstable
  "플랫폼 정산 계산기 조회"
  settlementCalculator: PlatformSettlementCalculatorOutput! @hidden @unstable
  "플랫폼 정산 계산기 버전 이력 조회"
  settlementCalculatorVersions: PlatformSettlementCalculatorVersionsOutput! @hidden @unstable
  accountTransfers(isForTest: Boolean, page: PageInput, filter: PlatformAccountTransferFilterInput): PlatformAccountTransfersOutput! @hidden @unstable
  bulkTask(id: ID!): PlatformBulkTaskOutput! @hidden @unstable
  bulkTasks(filter: PlatformBulkTaskFilterInput, page: PageInput, isForTest: Boolean): PlatformBulkTasksOutput! @hidden @unstable
"""
플랫폼 설정 조회

설정 정보를 조회합니다.
"""
  setting: PlatformSettingOutput! @hidden @unstable
}

"""
플랫폼 정산 계좌

`currency` 가 KRW 일 경우 예금주 조회 API 를 통해 올바른 계좌인지 검증합니다. 그 외의 화폐일 경우 따로 검증하지는 않습니다.
"""
type PlatformAccount {
  "은행"
  bank: Bank!
  "정산에 사용할 통화"
  currency: Currency!
  "계좌번호"
  number: String!
  "예금주명"
  holder: String!
  "계좌 상태"
  status: PlatformAccountStatus!
}

"예금주 조회 성공 응답 정보"
type PlatformAccountHolder {
  "계좌 예금주 이름"
  holderName: String!
  "계좌 검증 아이디"
  accountVerificationId: String!
}

"이체내역 다건 조회 성공 응답 정보"
type PlatformAccountTransfersPayload {
  "조회된 이체내역 리스트"
  items: [PlatformAccountTransfer!]!
  "조회된 페이지 정보"
  page: PageInfo!
}

"파트너 계좌 검증 아이디를 이미 사용한 경우"
type PlatformAccountVerificationAlreadyUsedError implements Error {
  message: String
}

"파트너 계좌 인증이 실패한 경우"
type PlatformAccountVerificationFailedError implements Error {
  message: String
}

"파트너 계좌 검증 아이디를 찾을 수 없는 경우"
type PlatformAccountVerificationNotFoundError implements Error {
  message: String
}

"진행 중인 일괄 지급이 있는 경우"
type PlatformActiveBulkPayoutAlreadyExistsError implements Error {
  message: String
}

type PlatformAdditionalFeePoliciesNotFoundError implements Error {
  plainIds: [String!]!
  ids: [ID!]!
  message: String
}

"추가 수수료 정책 다건 조회 성공 응답 정보"
type PlatformAdditionalFeePoliciesPayload {
  "조회된 추가 수수료 정책 리스트"
  items: [PlatformAdditionalFeePolicy!]!
  "조회된 페이지 정보"
  page: PageInfo!
}

"""
추가 수수료 정책

추가 수수료 정책는 고객사의 주문건에 대한 중개수수료에 별도로 추가로 부여되는 수수료입니다. 대표적인 사용 예시로 풀필먼트 수수료, 로켓배송 수수료, 마케팅 채널 수수료등이 있습니다.
"""
type PlatformAdditionalFeePolicy implements Node {
  "추가 수수료 정책 고유 아이디"
  plainId: String!
  id: ID!
  "추가 수수료 정책 이름"
  name: String!
  "책정 수수료"
  fee: PlatformFee!
  "해당 추가 수수료 정책에 대한 메모"
  memo: String
  "부가세를 부담할 주체"
  vatPayer: PlatformPayer!
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
}

type PlatformAdditionalFeePolicyAlreadyExistsError implements Error {
  message: String
}

type PlatformAdditionalFeePolicyId {
  additionalFeePolicyPlainId: String!
  additionalFeePolicyId: ID!
  exists: Boolean!
}

type PlatformAdditionalFeePolicyIdSuggestion {
  additionalFeePolicyPlainId: String!
  additionalFeePolicyId: ID!
}

type PlatformAdditionalFeePolicyNotFoundError implements Error {
  message: String
}

"추가 수수료 정책의 예약된 업데이트 정보"
type PlatformAdditionalFeePolicySchedule {
  "추가 수수료 정책 고유 아이디"
  targetPlainId: String!
  "예약 업데이트의 대상 객체 아이디"
  targetId: ID!
  "추가 수수료 정책 이름"
  name: String!
  "책정 수수료"
  fee: PlatformFee!
  "해당 추가 수수료 정책에 대한 메모"
  memo: String
  "부가세를 부담할 주체"
  vatPayer: PlatformPayer!
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
}

type PlatformAdditionalFeePolicyScheduleAlreadyExistsError implements Error {
  message: String
}

type PlatformAdditionalFeePolicySummaries {
  summaries: [PlatformAdditionalFeePolicySummary!]!
}

type PlatformAdditionalFeePolicySummary {
  "추가 수수료 정책 고유 아이디"
  plainId: String!
  id: ID!
  "추가 수수료 정책 이름"
  name: String!
}

type PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError implements Error {
  additionalFeePolicyPlainId: String!
  additionalFeePolicyId: ID!
  feeCurrency: Currency!
  settlementCurrency: Currency!
  message: String
}

"보관된 추가 수수료 정책을 업데이트하려고 하는 경우"
type PlatformArchivedAdditionalFeePolicyError implements Error {
  message: String
}

"보관된 계약을 업데이트하려고 하는 경우"
type PlatformArchivedContractError implements Error {
  message: String
}

"보관된 할인 분담 정책을 업데이트하려고 하는 경우"
type PlatformArchivedDiscountSharePolicyError implements Error {
  message: String
}

"보관된 파트너를 업데이트하려고 하는 경우"
type PlatformArchivedPartnerError implements Error {
  message: String
}

"보관된 파트너들을 예약 업데이트하려고 하는 경우"
type PlatformArchivedPartnersCannotBeScheduledError implements Error {
  message: String
}

"사업자등록번호가 설정되지 않은 경우"
type PlatformBrnNotRegisteredError implements Error {
  message: String
}

"BTX 기능이 활성화되지 않아 요청을 처리할 수 없는 경우"
type PlatformBtxNotEnabledError implements Error {
  message: String
}

type PlatformBulkPayout implements Node {
  "일괄 지급 고유 아이디"
  plainId: String!
  id: ID!
  name: String!
  creatorId: String!
  method: PlatformPayoutMethod!
  arePayoutsGenerated: Boolean!
  totalPayoutAmount: Long!
  status: PlatformBulkPayoutStatus!
  payoutStats: PlatformBulkPayoutStats!
  partnerSettlements(filter: PlatformBulkPayoutPartnerSettlementsFilterInput, page: PageInput, """전체 페이지 조회

필터가 적용된 내역을 기준으로 true일 경우 전체 페이지를 조회 하고 false 또는 값이 없을 경우 page에 해당하는 페이지를 조회 합니다.""" all: Boolean): PlatformBulkPayoutPartnerSettlementsOutput! @hidden @unstable
  "일괄 지급 전자 서명용 문서를 생성합니다. 전자 서명 시에만 사용하시길 바랍니다."
  documentContent: PlatformBulkPayoutDocumentContentOutput! @hidden @unstable
  statusUpdatedAt: DateTime!
  createdAt: DateTime!
  updatedAt: DateTime!
  scheduledAt: DateTime
}

"일괄 지급이 취소 가능한 상태가 아닌 경우"
type PlatformBulkPayoutNonCancellableStatusError implements Error {
  message: String
}

"일괄 지급이 정지 가능한 상태(ONGOING)가 아닌 경우"
type PlatformBulkPayoutNonStoppableStatusError implements Error {
  message: String
}

"일괄 지급이 존재하지 않는 경우"
type PlatformBulkPayoutNotFoundError implements Error {
  message: String
}

type PlatformBulkPayoutPartnerSettlement {
  bulkPayoutId: ID!
  partnerSettlement: PlatformPartnerSettlement!
  isSelected: Boolean!
}

"일괄지급 정산내역 대시보드 조회 결과"
type PlatformBulkPayoutPartnerSettlementsDashboardPayload {
  counts: PlatformPartnerSettlementStatusStats!
  amount: PlatformPartnerSettlementStatusStats!
}

type PlatformBulkPayoutPartnerSettlementsPayload {
  items: [PlatformBulkPayoutPartnerSettlement!]!
  page: PageInfo
  counts: PlatformPartnerSettlementStatusStats!
}

"일괄 지급 최대 예약 개수를 초과한 경우"
type PlatformBulkPayoutScheduleLimitExceededError implements Error {
  "일괄 지급 최대 예약 개수"
  limit: Int!
  message: String
}

type PlatformBulkPayoutStats {
  amount: PlatformPayoutStatusStats!
  count: PlatformPayoutStatusStats!
}

"일괄 지급이 준비중인 상태가 아닌 경우"
type PlatformBulkPayoutStatusNotPreparingError implements Error {
  message: String
}

"일괄 지급이 예약 상태가 아닌 경우"
type PlatformBulkPayoutStatusNotScheduledError implements Error {
  message: String
}

type PlatformBulkPayoutStatusStats {
  scheduled: Long!
  preparing: Long!
  prepared: Long!
  ongoing: Long!
  stopped: Long!
  cancelled: Long!
  completed: Long!
}

type PlatformBulkPayoutsPayload {
  items: [PlatformBulkPayout!]!
  page: PageInfo!
  counts: PlatformBulkPayoutStatusStats!
}

type PlatformBulkTask implements Node {
  plainId: String!
  id: ID!
  status: PlatformBulkTaskStatus!
  type: PlatformBulkTaskType!
  progressStats: PlatformBulkTaskProgressStats!
  isForTest: Boolean!
  statusUpdatedAt: DateTime!
  createdAt: DateTime!
  updatedAt: DateTime!
}

"일괄 작업이 취소 가능한 상태가 아닌 경우"
type PlatformBulkTaskNonCancellableStatusError implements Error {
  message: String
}

"일괄 작업이 존재하지 않는 경우"
type PlatformBulkTaskNotFoundError implements Error {
  message: String
}

type PlatformBulkTaskProgressStats {
  preparedCount: Long!
  processingCount: Long!
  succeededCount: Long!
  failedCount: Long!
  canceledCount: Long!
}

type PlatformBulkTasksPayload {
  items: [PlatformBulkTask!]!
  page: PageInfo!
}

type PlatformCancelOrderTransfersExistsError implements Error {
  message: String
}

"취소 가능한 금액이 초과한 경우"
type PlatformCancellableAmountExceededError implements Error {
  cancellableAmount: Long!
  requestAmount: Long!
  amountType: PlatformCancellableAmountType!
  message: String
}

type PlatformCancellableDiscountAmountExceededError implements Error {
  discountSharePolicyPlainId: String!
  discountSharePolicyId: ID!
  cancellableAmount: Long!
  requestAmount: Long!
  productPlainId: String
  message: String
}

type PlatformCancellableDiscountTaxFreeAmountExceededError implements Error {
  discountSharePolicyPlainId: String!
  discountSharePolicyId: ID!
  cancellableAmount: Long!
  requestAmount: Long!
  productPlainId: String
  message: String
}

type PlatformCancellableProductQuantityExceededError implements Error {
  productPlainId: String!
  cancellableQuantity: Long!
  message: String
}

type PlatformCancellationAndPaymentTypeMismatchedError implements Error {
  message: String
}

type PlatformCancellationNotFoundError implements Error {
  message: String
}

"예약된 업데이트가 있는 추가 수수료 정책을 보관하려고 하는 경우"
type PlatformCannotArchiveScheduledAdditionalFeePolicyError implements Error {
  message: String
}

"예약된 업데이트가 있는 계약을 보관하려고 하는 경우"
type PlatformCannotArchiveScheduledContractError implements Error {
  message: String
}

"예약된 업데이트가 있는 할인 분담 정책을 보관하려고 하는 경우"
type PlatformCannotArchiveScheduledDiscountSharePolicyError implements Error {
  message: String
}

"예약된 업데이트가 있는 파트너를 보관하려고 하는 경우"
type PlatformCannotArchiveScheduledPartnerError implements Error {
  message: String
}

"은행 점검시간을 예약 시간으로 지정하려는 경우"
type PlatformCannotScheduledBankMaintenanceTimedError implements Error {
  message: String
}

"정산 건 식별에 실패한 경우"
type PlatformCannotSpecifyTransferError implements Error {
  message: String
}

"사업자 정보를 찾을 수 없는 경우"
type PlatformCompanyNotFoundError implements Error {
  message: String
}

type PlatformCompanyState {
  taxationType: PlatformTaxationType!
  taxationTypeDate: Date
  businessStatus: PlatformBusinessStatus!
  closedSuspendedDate: Date
}

"파트너 사업자 검증 아이디를 이미 사용한 경우"
type PlatformCompanyVerificationAlreadyUsedError implements Error {
  message: String
}

"""
플랫폼 파트너 담당자 연락 정보

파트너 담당자에게 연락하기 위한 정보들 입니다.
"""
type PlatformContact {
  "담당자 이름"
  name: String!
  "담당자 휴대폰 번호"
  phoneNumber: String
  "담당자 이메일"
  email: String!
}

"""
계약

계약은 플랫폼 고객사가 파트너에게 정산해줄 대금과 정산일을 계산하는 데 적용되는 정보입니다.
고객사의 플랫폼에서 재화 및 서비스를 판매하기 위한 중개수수료와 판매금에 대한 정산일로 구성되어 있습니다.
"""
type PlatformContract implements Node {
  "계약 고유 아이디"
  plainId: String!
  id: ID!
  "계약 이름"
  name: String!
  "계약 내부 표기를 위한 메모"
  memo: String
  "중개수수료"
  platformFee: PlatformFee!
  "정산 주기"
  settlementCycle: PlatformSettlementCycle!
  "중개수수료에 대한 부가세 부담 주체"
  platformFeeVatPayer: PlatformPayer!
"""
정산 시 결제금액 부가세 감액 여부

false인 경우 정산금에서 결제 금액 부가세를 감액하지 않고, true인 경우 정산금에서 결제 금액 부가세를 감액합니다.
"""
  subtractPaymentVatAmount: Boolean!
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
}

type PlatformContractAlreadyExistsError implements Error {
  message: String
}

type PlatformContractId {
  contractPlainId: String!
  contractId: ID!
  exists: Boolean!
}

type PlatformContractIdSuggestion {
  contractPlainId: String!
  contractId: ID!
}

type PlatformContractNotFoundError implements Error {
  message: String
}

type PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError implements Error {
  contractPlainId: String!
  contractId: ID!
  feeCurrency: Currency!
  settlementCurrency: Currency!
  message: String
}

"계약의 예약된 업데이트 정보"
type PlatformContractSchedule {
  "계약 고유 아이디"
  targetPlainId: String!
  "예약 업데이트의 대상 객체 아이디"
  targetId: ID!
  "계약 이름"
  name: String!
  "계약 내부 표기를 위한 메모"
  memo: String
  "중개수수료"
  platformFee: PlatformFee!
  "정산 주기"
  settlementCycle: PlatformSettlementCycle!
  "중개수수료에 대한 부가세 부담 주체"
  platformFeeVatPayer: PlatformPayer!
"""
정산 시 결제금액 부가세 감액 여부

false인 경우 정산금에서 결제 금액 부가세를 감액하지 않고, true인 경우 정산금에서 결제 금액 부가세를 감액합니다.
"""
  subtractPaymentVatAmount: Boolean!
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
}

type PlatformContractScheduleAlreadyExistsError implements Error {
  message: String
}

type PlatformContractSummariesPayload {
  items: [PlatformContractSummary!]!
}

"계약 요약 정보"
type PlatformContractSummary {
  "계약 아이디"
  contractId: ID!
  contractPlainId: String!
  "계약 이름"
  name: String!
  "계약 메모"
  memo: String
}

type PlatformContractsNotFoundError implements Error {
  plainIds: [String!]!
  ids: [ID!]!
  message: String
}

"계약 다건 조회 성공 응답"
type PlatformContractsPayload {
  "조회된 계약 리스트"
  items: [PlatformContract!]!
  "조회된 페이지 정보"
  page: PageInfo!
}

"지원 되지 않는 통화를 선택한 경우"
type PlatformCurrencyNotSupportedError implements Error {
  message: String
}

"일괄 송금 대행에 지원 되지 않는 통화를 선택한 경우"
type PlatformCurrencyNotSupportedForAgencyMethodError implements Error {
  message: String
}

type PlatformDepositAccountTransfer implements PlatformAccountTransfer {
  "계좌 이체 아이디"
  plainId: String!
  "통화"
  currency: Currency!
  "금액"
  amount: Long!
  "입금 계좌 적요"
  depositMemo: String
  isForTest: Boolean!
  "생성 일자"
  createdAt: DateTime!
  "수정 일자"
  updatedAt: DateTime!
  "입금자명"
  depositorName: String!
}

type PlatformDiscountSharePoliciesNotFoundError implements Error {
  plainIds: [String!]!
  ids: [ID!]!
  message: String
}

"할인 분담 정책 다건 조회 성공 응답 정보"
type PlatformDiscountSharePoliciesPayload {
  "조회된 할인 분담 정책 리스트"
  items: [PlatformDiscountSharePolicy!]!
  "조회된 페이지 정보"
  page: PageInfo!
}

"""
할인 분담 정책

할인 분담은 고객사의 주문건에 쿠폰 및 포인트와 같은 할인금액이 적용될 때, 파트너 정산 시 할인금액에 대한 분담 정책을 가지는 객체입니다.
할인 유형에 대한 아이디와 메모, 그리고 파트너 분담율을 가집니다.
"""
type PlatformDiscountSharePolicy implements Node {
  plainId: String!
  id: ID!
  "할인 분담 정책 이름"
  name: String!
"""
할인 분담율

파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은 `할인금액 * partnerShareRate * 10^5` 로 책정합니다.
"""
  partnerShareRate: Int!
  "해당 할인 분담에 대한 메모"
  memo: String
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
}

type PlatformDiscountSharePolicyAlreadyExistsError implements Error {
  message: String
}

"할인 분담 정책 필터 옵션 조회 성공 응답 정보"
type PlatformDiscountSharePolicyFilterOptions {
  "조회된 파트너 분담율 리스트"
  partnerShareRates: [Int!]!
}

type PlatformDiscountSharePolicyId {
  discountSharePolicyPlainId: String!
  discountSharePolicyId: ID!
  exists: Boolean!
}

type PlatformDiscountSharePolicyIdDuplicatedError implements Error {
  discountSharePolicyPlainId: String!
  discountSharePolicyId: ID!
  message: String
}

type PlatformDiscountSharePolicyIdSuggestion {
  discountSharePolicyPlainId: String!
  discountSharePolicyId: ID!
}

type PlatformDiscountSharePolicyNotFoundError implements Error {
  message: String
}

"할인 분담 정책의 예약된 업데이트 정보"
type PlatformDiscountSharePolicySchedule {
  targetPlainId: String!
  "예약 업데이트의 대상 객체 아이디"
  targetId: ID!
  "할인 분담 정책 이름"
  name: String!
"""
할인 분담율

파트너가 분담할 할인금액의 비율을 의미하는 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수이며, 파트너가 부담할 금액은 `할인금액 * partnerShareRate * 10^5` 로 책정합니다.
"""
  partnerShareRate: Int!
  "해당 할인 분담에 대한 메모"
  memo: String
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
}

type PlatformDiscountSharePolicyScheduleAlreadyExistsError implements Error {
  message: String
}

"서명한 전자서명의 원본 문서가 현재 문서와 해시가 일치하지 않는 경우"
type PlatformDocumentHashMismatchedError implements Error {
  message: String
}

type PlatformElectronicDocumentContent {
  title: String!
  summaries: [PlatformElectronicDocumentSummary!]!
  body: String!
  hash: String!
}

type PlatformElectronicDocumentSummary {
  label: String!
  value: String!
}

"외부 api 오류"
type PlatformExternalApiFailedError implements Error {
  message: String
}

"외부 api의 일시적인 오류"
type PlatformExternalApiTemporarilyFailedError implements Error {
  message: String
}

"외부 결제 정보"
type PlatformExternalPayment implements PlatformPayment {
  "결제 아이디"
  paymentPlainId: String!
  "주문 명"
  orderName: String
  "통화"
  currency: Currency!
  "결제 수단"
  method: PlatformPaymentMethod
  "결제 일시"
  paidAt: DateTime
}

"파일이 존재하지 않는 경우"
type PlatformFileNotFoundError implements Error {
  message: String
}

"""
정액 수수료

총 금액에 무관하게 정해진 수수료 금액을 책정합니다.
"""
type PlatformFixedAmountFee {
  "고정된 수수료 금액"
  amount: Long!
}

"""
정률 수수료

총 금액에 정해진 비율을 곱한 만큼의 수수료를 책정합니다.
"""
type PlatformFixedRateFee {
"""
수수료율

총 금액 대비 수수료 비율을 의미하며, 밀리 퍼센트 단위 (10^-5) 의 음이 아닌 정수입니다. `총 금액 * rate * 10^5` (`rate * 10^3 %`) 만큼 수수료를 책정합니다.
"""
  rate: Int!
}

"공휴일"
type PlatformHoliday {
  "이름"
  name: String!
  "날짜"
  date: Date!
}

"공휴일 조회"
type PlatformHolidaysPayload {
  "공휴일 리스트"
  holidays: [PlatformHoliday!]!
}

"파트너 타입 수정에 필요한 데이터가 부족한 경우"
type PlatformInsufficientDataToChangePartnerTypeError implements Error {
  message: String
}

"유효하지 않은 정산 수식 오류"
type PlatformInvalidSettlementFormulasError implements Error {
  "중개 수수료"
  platformFee: PlatformSettlementFormulaError
  "할인 분담금"
  discountShare: PlatformSettlementFormulaError
  "추가 수수료"
  additionalFee: PlatformSettlementFormulaError
  "정산금"
  settlement: PlatformSettlementFormulaError
  "사용자 정의"
  userDefined: [PlatformSettlementFormulaKeyErrorPair!]!
  message: String
}

type PlatformInvalidSheetCell {
  column: String!
  row: Int!
  error: PlatformInvalidSheetCellError!
}

type PlatformInvalidSheetCellInvalidValueError {
  rules: [String!]!
}

type PlatformInvalidSheetCellRequiredError {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"파일에 잘못된 내용이 포함되어 있는 경우"
type PlatformInvalidSheetError implements Error {
  cells: [PlatformInvalidSheetCell!]!
  message: String
}

"수기 정산건"
type PlatformManualTransfer implements Node & PlatformTransfer {
  "정산건 아이디"
  plainId: String!
  id: ID!
  "파트너"
  partner: PlatformPartner!
  "정산 상태"
  status: PlatformTransferStatus!
  "메모"
  memo: String
  "정산 일"
  settlementDate: Date!
  "정산 통화"
  settlementCurrency: Currency!
  payoutPlainId: String
  payoutId: ID
  "테스트 모드 여부"
  isForTest: Boolean!
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  "정산 금액"
  settlementAmount: Long!
}

type PlatformManualTransferSummary implements PlatformTransferSummary {
  transferPlainId: String!
  transferId: ID!
  partner: PlatformTransferSummaryPartner!
  status: PlatformTransferStatus!
  memo: String
  settlementDate: Date!
  settlementCurrency: Currency!
  isForTest: Boolean!
  partnerUserDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  settlementAmount: Long!
}

"연동 사업자로 연동된 파트너의 사업자등록번호를 변경하려고 시도한 경우"
type PlatformMemberCompanyConnectedPartnerBrnUnchangeableError implements Error {
  message: String
}

"연동 사업자로 연동된 파트너를 예약 수정하려고 시도한 경우"
type PlatformMemberCompanyConnectedPartnerCannotBeScheduledError implements Error {
  message: String
}

"연동 사업자로 연동된 파트너의 파트너 유형을 변경하려고 시도한 경우"
type PlatformMemberCompanyConnectedPartnerTypeUnchangeableError implements Error {
  message: String
}

"연동 사업자로 연동된 파트너들을 예약 수정하려고 시도한 경우"
type PlatformMemberCompanyConnectedPartnersCannotBeScheduledError implements Error {
  plainIds: [String!]!
  ids: [ID!]!
  message: String
}

"파트너 연동 사업자 연동 상태가 연동 가능한 상태가 아닌 경우"
type PlatformMemberCompanyNotConnectableStatusError implements Error {
  message: String
}

"파트너가 연동 사업자로 연동 되어있지 않은 경우"
type PlatformMemberCompanyNotConnectedError implements Error {
  message: String
}

"수식 순서에 지정되지 않은 수식 키가 있는 경우"
type PlatformMissingFormulaKeysInOrderError implements Error {
  keys: [String!]!
  message: String
}

"지급 금액의 총합이 음수인 파트너가 존재하는 경우"
type PlatformNegativePayoutAmountPartnersError implements Error {
  message: String
}

type PlatformNoPayablePartnerSettlementsError implements Error {
  message: String
}

"선택된 정산건이 없는 경우"
type PlatformNoSelectedPartnerSettlementsError implements Error {
  message: String
}

"삭제가 불가능한 버전인 경우"
type PlatformNonDeletableVersionError implements Error {
  message: String
}

"수식 순서에 지정할 수 없는 키가 있는 경우"
type PlatformNonOrderableKeysInOrderError implements Error {
  keys: [String!]!
  message: String
}

"지급할 수 없는 정산 상태 값을 선택한 경우"
type PlatformNonPayablePartnerSettlementStatusError implements Error {
  message: String
}

"예약이 불가능한 시간인 경우"
type PlatformNonSchedulableTimeError implements Error {
  message: String
}

"업데이트 불가능한 상태를 업데이트하려는 경우"
type PlatformNonUpdatableStatusError implements Error {
  message: String
}

"플랫폼 기능이 활성화되지 않아 요청을 처리할 수 없는 경우"
type PlatformNotEnabledError implements Error {
  message: String
}

"가상 계좌에 충분한 잔액이 없는 경우"
type PlatformNotEnoughAccountBalanceError implements Error {
  message: String
}

"지원하지 않는 은행인 경우"
type PlatformNotSupportedBankError implements Error {
  message: String
}

"진행 중인 세금계산서가 존재하는 경우"
type PlatformOngoingTaxInvoiceExistsError implements Error {
  message: String
}

"주문 취소 정산건"
type PlatformOrderCancelTransfer implements Node & PlatformTransfer {
  "정산건 아이디"
  plainId: String!
  id: ID!
  "파트너"
  partner: PlatformPartner!
  "정산 상태"
  status: PlatformTransferStatus!
  "메모"
  memo: String
  "정산 일"
  settlementDate: Date!
  "정산 통화"
  settlementCurrency: Currency!
  payoutPlainId: String
  payoutId: ID
  "테스트 모드 여부"
  isForTest: Boolean!
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  "정산 금액 정보"
  amount: PlatformOrderSettlementAmount!
  "계약"
  contract: PlatformContract!
  "결제 정보"
  payment: PlatformPayment!
  "정산 시작일"
  settlementStartDate: Date!
  "주문 항목 리스트"
  orderLines: [PlatformOrderTransferOrderLine!]!
  "정산 금액 계산 시 사용된 추가 수수료 정보"
  additionalFees: [PlatformOrderTransferAdditionalFee!]!
  "정산 금액 계산 시 사용된 할인 정보"
  discounts: [PlatformOrderTransferDiscount!]!
  "주문 취소 정보"
  cancellation: PlatformOrderTransferCancellation!
  "정산 파라미터 (실험기능)"
  parameters: [PlatformTransferParameter!]!
}

type PlatformOrderCancelTransferSummary implements PlatformTransferSummary {
  transferPlainId: String!
  transferId: ID!
  storePlainId: String!
  partner: PlatformTransferSummaryPartner!
  status: PlatformTransferStatus!
  memo: String
  settlementDate: Date!
  settlementCurrency: Currency!
  isForTest: Boolean!
  partnerUserDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  amount: PlatformOrderSettlementAmount!
  payment: PlatformTransferSummaryPayment!
  settlementStartDate: Date!
}

type PlatformOrderDetailMismatchedError implements Error {
  message: String
}

"""
정산 금액 정보

정산 금액과 정산 금액 계산에 사용된 금액 정보들 입니다.
"""
type PlatformOrderSettlementAmount {
  "정산 금액"
  settlement: Long!
  "결제 금액"
  payment: Long!
  "결제 금액 부가세"
  paymentVat: Long!
"""
결제 금액 부가세 부담금액

참조된 계약의 결제 금액 부가세 감액 여부에 따라 false인 경우 0원, true인 경우 결제 금액 부가세입니다.
"""
  paymentVatBurden: Long!
"""
결제 면세 금액

해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 paymentTaxFree 필드를 사용해주세요.
"""
  taxFree: Long!
"""
결제 공급가액

해당 필드는 deprecated되어 9월까지만 유지되고 이후 삭제될 예정입니다. 대신 paymentSupply 필드를 사용해주세요.
"""
  supply: Long!
  "결제 면세 금액"
  paymentTaxFree: Long!
  "결제 공급가액"
  paymentSupply: Long!
  "주문 금액"
  order: Long!
  "면세 주문 금액"
  orderTaxFree: Long!
  "중개 수수료"
  platformFee: Long!
  "중개 수수료 부가세"
  platformFeeVat: Long!
  "추가 수수료"
  additionalFee: Long!
  "추가 수수료 부가세"
  additionalFeeVat: Long!
  "할인 금액"
  discount: Long!
  "면세 할인 금액"
  discountTaxFree: Long!
  "할인 분담 금액"
  discountShare: Long!
  "면세 할인 분담 금액"
  discountShareTaxFree: Long!
  "사용자 정의 수식 결과"
  userDefinedFormulas: [PlatformUserDefinedFormulaResult!]!
}

"주문 정산건"
type PlatformOrderTransfer implements Node & PlatformTransfer {
  "정산건 아이디"
  plainId: String!
  id: ID!
  "파트너"
  partner: PlatformPartner!
  "정산 상태"
  status: PlatformTransferStatus!
  "메모"
  memo: String
  "정산 일"
  settlementDate: Date!
  "정산 통화"
  settlementCurrency: Currency!
  payoutPlainId: String
  payoutId: ID
  "테스트 모드 여부"
  isForTest: Boolean!
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  "정산 금액 정보"
  amount: PlatformOrderSettlementAmount!
  "계약"
  contract: PlatformContract!
  "결제 정보"
  payment: PlatformPayment!
  "정산 시작일"
  settlementStartDate: Date!
  "주문 항목 리스트"
  orderLines: [PlatformOrderTransferOrderLine!]!
  "정산 금액 계산 시 사용된 추가 수수료 정보"
  additionalFees: [PlatformOrderTransferAdditionalFee!]!
  "정산 금액 계산 시 사용된 할인 정보"
  discounts: [PlatformOrderTransferDiscount!]!
  "정산 파라미터 (실험기능)"
  parameters: [PlatformTransferParameter!]!
}

"추가 수수료 정보"
type PlatformOrderTransferAdditionalFee {
  "추가 수수료 정책"
  policy: PlatformAdditionalFeePolicy!
  "추가 수수료 금액"
  amount: Long!
  "추가 수수료 부가세 금액"
  vat: Long!
}

type PlatformOrderTransferAlreadyCancelledError implements Error {
  message: String
}

"주문 취소 정보"
type PlatformOrderTransferCancellation {
  "주문 취소 아이디"
  cancellationPlainId: String!
  "취소 일시"
  cancelledAt: DateTime!
}

"할인 정보"
type PlatformOrderTransferDiscount {
  "할인 분담 정책"
  sharePolicy: PlatformDiscountSharePolicy!
  "할인 금액"
  amount: Long!
  "면세 할인 금액"
  taxFreeAmount: Long!
  "할인 분담 금액"
  shareAmount: Long!
  "면세 할인 분담 금액"
  shareTaxFreeAmount: Long!
}

"주문 항목"
type PlatformOrderTransferOrderLine {
  "상품"
  product: PlatformOrderTransferProduct!
  "상품 수량"
  quantity: Int!
  "상품 할인 정보"
  discounts: [PlatformOrderTransferDiscount!]!
  "상품 추가 수수료 정보"
  additionalFees: [PlatformOrderTransferAdditionalFee!]!
  "상품 정산 금액 정보"
  amount: PlatformOrderSettlementAmount!
}

"상품"
type PlatformOrderTransferProduct {
  "상품 아이디"
  productPlainId: String!
  "상품 이름"
  name: String!
  "상품 금액"
  amount: Long!
  "상품 면세 금액"
  taxFreeAmount: Long!
  "태그"
  tag: String
}

type PlatformOrderTransferSummary implements PlatformTransferSummary {
  transferPlainId: String!
  transferId: ID!
  storePlainId: String!
  partner: PlatformTransferSummaryPartner!
  status: PlatformTransferStatus!
  memo: String
  settlementDate: Date!
  settlementCurrency: Currency!
  isForTest: Boolean!
  partnerUserDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
  amount: PlatformOrderSettlementAmount!
  payment: PlatformTransferSummaryPayment!
  settlementStartDate: Date!
}

"""
파트너

파트너는 고객사가 정산해주어야 할 대상입니다.
기본 사업자 정보와 정산정보, 그리고 적용될 계약의 정보를 등록 및 관리할 수 있습니다.
"""
type PlatformPartner implements Node {
  "파트너 고유 아이디"
  plainId: String!
  id: ID!
  "파트너 법인명 혹은 이름"
  name: String!
  "파트너 담당자 연락 정보"
  contact: PlatformContact!
  "정산 계좌"
  account: PlatformAccount!
  "파트너의 상태"
  status: PlatformPartnerStatus!
  "파트너에 설정된 기본 계약"
  defaultContract: PlatformContractOutput!
  "파트너에 대한 메모"
  memo: String
  "파트너의 태그 리스트"
  tags: [String!]!
  "파트너 유형별 정보"
  type: PlatformPartnerType!
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
}

type PlatformPartnerAlreadyExistsError implements Error {
  message: String
}

"파트너 계좌 은행 조회 성공 응답"
type PlatformPartnerBanksPayload {
  "파트너 계좌 은행 리스트"
  banks: [Bank!]!
}

"파트너 계약 요약 정보"
type PlatformPartnerContractSummary {
  "계약 고유 아이디"
  id: String!
  "계약 이름"
  name: String!
}

"파트너 계좌 통화 조회 성공 응답"
type PlatformPartnerCurrenciesPayload {
  "파트너 계좌 통화 리스트"
  currencies: [Currency!]!
}

"파트너 현황 조회 성공 응답"
type PlatformPartnerDashboard {
  "전체 파트너 현황"
  totalPartner: PlatformPartnerDashboardCount!
  "정산 예정인 파트너 현황"
  upcomingSettledPartner: PlatformPartnerDashboardCount!
"""
예정된 정산일

정산이 예정되어 있지 않은 경우 값이 주어지지 않습니다.
"""
  upcomingSettlementDate: Date
}

"파트너 현황 정보"
type PlatformPartnerDashboardCount {
  "보관된 파트너를 포함한 전체 파트너 수"
  total: Int!
  "보관된 파트너 수"
  archived: Int!
}

"파트너 필터 옵션 조회 성공 응답 정보"
type PlatformPartnerFilterOptions {
  "조회된 태그 리스트"
  tags: [String!]!
  "조회된 파트너 계약 요약 정보 리스트"
  contractSummary: [PlatformPartnerContractSummary!]!
}

type PlatformPartnerId {
  partnerPlainId: String!
  partnerId: ID!
  exists: Boolean!
}

type PlatformPartnerIdAlreadyExistsError implements Error {
  message: String
}

type PlatformPartnerIdSuggestion {
  partnerPlainId: String!
  partnerId: ID!
}

type PlatformPartnerIdsAlreadyExistError implements Error {
  plainIds: [String!]!
  ids: [ID!]!
  message: String
}

type PlatformPartnerIdsDuplicatedError implements Error {
  plainIds: [String!]!
  ids: [ID!]!
  message: String
}

type PlatformPartnerManualSettlement implements PlatformPartnerSettlement & Node {
  "정산내역 아이디"
  plainId: String!
  id: ID!
  "파트너"
  partner: PlatformPartner!
  "정산 일"
  settlementDate: Date!
  "정산 통화"
  settlementCurrency: Currency!
  "정산 상태"
  status: PlatformPartnerSettlementStatus!
  "메모"
  memo: String
  "정산 금액"
  amount: Long!
  "테스트 모드 여부"
  isForTest: Boolean!
}

type PlatformPartnerNotFoundError implements Error {
  message: String
}

type PlatformPartnerOrderCancelSettlement implements PlatformPartnerSettlement & Node {
  "정산내역 아이디"
  plainId: String!
  id: ID!
  "파트너"
  partner: PlatformPartner!
  "정산 일"
  settlementDate: Date!
  "정산 통화"
  settlementCurrency: Currency!
  "정산 상태"
  status: PlatformPartnerSettlementStatus!
  "메모"
  memo: String
  "계약"
  contract: PlatformContract!
  "정산 시작 일 범위"
  settlementStartDateRange: DateRange!
  "금액 정보"
  amount: PlatformOrderSettlementAmount!
  "테스트 모드 여부"
  isForTest: Boolean!
}

type PlatformPartnerOrderSettlement implements PlatformPartnerSettlement & Node {
  "정산내역 아이디"
  plainId: String!
  id: ID!
  "파트너"
  partner: PlatformPartner!
  "정산 일"
  settlementDate: Date!
  "정산 통화"
  settlementCurrency: Currency!
  "정산 상태"
  status: PlatformPartnerSettlementStatus!
  "메모"
  memo: String
  "계약"
  contract: PlatformContract!
  "정산 시작 일 범위"
  settlementStartDateRange: DateRange!
  "금액 정보"
  amount: PlatformOrderSettlementAmount!
  "테스트 모드 여부"
  isForTest: Boolean!
}

type PlatformPartnerPayoutAccountTransfer implements PlatformAccountTransfer {
  "계좌 이체 아이디"
  plainId: String!
  "거래 일련번호"
  sequenceNumber: Int!
  "통화"
  currency: Currency!
  "입금 계좌 은행"
  depositBank: Bank!
  "입금 계좌 번호"
  depositAccountNumber: String!
  "금액"
  amount: Long!
  "출금 계좌 적요"
  withdrawalMemo: String
  "입금 계좌 적요"
  depositMemo: String
  "잔액"
  balance: Long
  "실패 사유"
  failReason: String
  isForTest: Boolean!
  "생성 일자"
  createdAt: DateTime!
  "수정 일자"
  updatedAt: DateTime!
  "파트너 고유 아이디"
  partnerPlainId: String!
  partnerId: ID!
  "일괄 지급 고유 아이디"
  bulkPayoutPlainId: String!
  bulkPayoutId: ID!
  "지급 고유 아이디"
  payoutPlainId: String!
  payoutId: ID!
}

"파트너의 예약된 업데이트 정보"
type PlatformPartnerSchedule {
  "파트너 고유 아이디"
  targetPlainId: String!
  "예약 업데이트의 대상 객체 아이디"
  targetId: ID!
  "파트너 법인명 혹은 이름"
  name: String!
  "파트너 담당자 연락 정보"
  contact: PlatformContact!
  "정산 계좌"
  account: PlatformAccount!
  "파트너의 상태"
  status: PlatformPartnerStatus!
  "파트너에 설정된 기본 계약"
  defaultContract: PlatformContractOutput!
  "파트너에 대한 메모"
  memo: String
  "파트너의 태그 리스트"
  tags: [String!]!
  "파트너 유형별 정보"
  type: PlatformPartnerType!
  "보관 여부"
  isArchived: Boolean!
  "변경 적용 시점"
  appliedAt: DateTime!
  "사용자 정의 속성"
  userDefinedProperties: [PlatformUserDefinedPropertyKeyValue!]!
}

type PlatformPartnerScheduleAlreadyExistsError implements Error {
  message: String
}

"파트너 수정 예약 건이 존재하는 경우"
type PlatformPartnerScheduleExistsError implements Error {
  message: String
}

type PlatformPartnerSchedulesAlreadyExistError implements Error {
  plainIds: [String!]!
  ids: [ID!]!
  message: String
}

"정산내역 통화 조회 결과"
type PlatformPartnerSettlementCurrenciesPayload {
  settlementCurrencies: [Currency!]!
}

"정산내역 대시보드"
type PlatformPartnerSettlementDashboard {
  "정산 통화별 정산내역 통계 리스트"
  currencyStats: [PlatformPartnerSettlementDashboardCurrencyStat!]!
}

"정산 통화별 정산내역 통계"
type PlatformPartnerSettlementDashboardCurrencyStat {
  "정산 통화"
  currency: Currency!
  "총 정산 금액"
  settlementAmount: Long!
  "총 주문 금액"
  orderAmount: Long!
"""
총 정산 수수료 금액

중개 수수료, 중개 수수료 부가세, 추가 수수료, 추가 수수료 부가세, 할인 분담금, 결제금액 부가세 부담금을 더한 금액 입니다.
"""
  feeAmount: Long!
  "총 수기 정산 금액"
  manualAmount: Long!
  "상태별 총 정산 금액"
  statusSettlementAmount: PlatformPartnerSettlementStatusStats!
}

"정산일 리스트 조회 결과"
type PlatformPartnerSettlementDatesPayload {
  settlementDates: [Date!]!
}

"정산내역을 찾을 수 없는 경우"
type PlatformPartnerSettlementNotFoundError implements Error {
  message: String
}

type PlatformPartnerSettlementStatusStats {
  payoutScheduled: Long!
  payoutPrepared: Long!
  payoutWithheld: Long!
  payoutFailed: Long!
  inPayout: Long!
  paidOut: Long!
}

"정산내역 다건 조회 성공 응답 정보"
type PlatformPartnerSettlementsPayload {
  "조회된 정산내역 리스트"
  items: [PlatformPartnerSettlement!]!
  "조회된 페이지 정보"
  page: PageInfo!
  "정산내역 상태 별 갯수"
  counts: PlatformPartnerSettlementStatusStats!
}

type PlatformPartnerSummariesPayload {
  items: [PlatformPartnerSummary!]!
}

type PlatformPartnerSummary {
  partnerId: ID!
  partnerPlainId: String!
  name: String!
  email: String!
  businessRegistrationNumber: String
}

"파트너 태그 조회 성공 응답"
type PlatformPartnerTagsPayload {
  "파트너 태그 리스트"
  tags: [String!]!
}

"파트너의 과세 유형이 간이 과세 세금계산서 미발행 유형인 경우"
type PlatformPartnerTaxationTypeIsSimpleError implements Error {
  message: String
}

"""
사업자 파트너 정보

사업자 유형의 파트너 추가 정보 입니다.
"""
type PlatformPartnerTypeBusiness {
  "상호명"
  companyName: String!
  "과세 유형"
  taxationType: PlatformPartnerTaxationType!
  "사업자 상태"
  businessStatus: PlatformPartnerBusinessStatus!
  "사업자등록번호"
  businessRegistrationNumber: String!
  "대표자 이름"
  representativeName: String!
  "사업장 주소"
  companyAddress: String
  "업태"
  businessType: String
  "업종"
  businessClass: String
  "연동사업자 연동 상태"
  memberCompanyConnectionStatus: PlatformPartnerMemberCompanyConnectionStatus!
  "연동사업자 연동 실패 사유"
  memberCompanyConnectionFailedReason: String
}

"파트너 유형이 사업자가 아닌 경우"
type PlatformPartnerTypeIsNotBusinessError implements Error {
  message: String
}

"""
원천징수 비대상자 파트너 정보

비사업자 유형의 파트너 추가 정보 입니다.
"""
type PlatformPartnerTypeNonWhtPayer {
  "생년월일"
  birthdate: Date
}

"""
원천징수 대상자 파트너 정보

비사업자 유형의 파트너 추가 정보 입니다.
"""
type PlatformPartnerTypeWhtPayer {
  "생년월일"
  birthdate: Date
}

"파트너 다건 조회 성공 응답 정보"
type PlatformPartnersPayload {
  "조회된 파트너 리스트"
  items: [PlatformPartner!]!
  "조회된 페이지 정보"
  page: PageInfo!
}

"지급 가능한 정산일 리스트 조회 성공 응답 정보"
type PlatformPayableSettlementDatesPayload {
  "IN_PROCESS, SETTLED 상태의 Transfer가 등록되어 있는 정산일 리스트"
  settlementDates: [Date!]!
}

"채널"
type PlatformPaymentChannel {
  "채널 아이디"
  channelPlainId: String!
  "채널 키"
  key: String!
  "채널 이름"
  name: String!
  "PG사 가맹점 식별 아이디"
  pgMerchantId: String!
  "PG사"
  pgCompany: PgCompany
}

"카드"
type PlatformPaymentMethodCard {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"간편 결제"
type PlatformPaymentMethodEasyPay {
  "간편 결제사"
  provider: EasyPayProvider
  "간편 결제 수단"
  methodType: EasyPayMethodType
}

"상품권"
type PlatformPaymentMethodGiftCertificate {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"모바일"
type PlatformPaymentMethodMobile {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"계좌이체"
type PlatformPaymentMethodTransfer {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"가상계좌"
type PlatformPaymentMethodVirtualAccount {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type PlatformPaymentNotFoundError implements Error {
  message: String
}

type PlatformPayout implements Node {
  "지급 고유 아이디"
  plainId: String!
  id: ID!
  method: PlatformPayoutMethod!
  status: PlatformPayoutStatus!
  statusUpdatedAt: DateTime!
  memo: String
  partner: PlatformPartner!
  account: PlatformPayoutAccount!
  currency: Currency!
  amount: Long!
  settlementAmount: Long!
  incomeTaxAmount: Long!
  localIncomeTaxAmount: Long!
  withdrawalMemo: String
  depositMemo: String
  createdAt: DateTime!
  scheduledAt: DateTime
}

type PlatformPayoutAccount {
  bank: Bank!
  number: String!
  holder: String!
}

type PlatformPayoutCreatorMismatchedError implements Error {
  creatorPlainId: String!
  message: String
}

"지급에 사용된 조회 성공 응답"
type PlatformPayoutCurrenciesPayload {
  currencies: [Currency!]!
}

"지급 방식이 송금 대행 방식이 아닌 경우"
type PlatformPayoutMethodNotAgencyError implements Error {
  message: String
}

type PlatformPayoutNotFoundError implements Error {
  message: String
}

type PlatformPayoutPartnerSettlementAlreadyPaidOutError implements Error {
  message: String
}

type PlatformPayoutPartnerSettlementNotFoundError implements Error {
  message: String
}

type PlatformPayoutSheetNotFoundError implements Error {
  message: String
}

type PlatformPayoutStatusStats {
  prepared: Long!
  cancelled: Long!
  stopped: Long!
  processing: Long!
  succeeded: Long!
  failed: Long!
  scheduled: Long!
}

"일괄 지급의 지급 내역이 이미 생성된 경우"
type PlatformPayoutsAlreadyGeneratedError implements Error {
  message: String
}

"일괄 지급의 지급 내역이 생성되지 않은 경우"
type PlatformPayoutsNotGeneratedError implements Error {
  message: String
}

type PlatformPayoutsPayload {
  items: [PlatformPayout!]!
  page: PageInfo
  counts: PlatformPayoutStatusStats!
}

"보유 사용 권한 조회 응답 정보"
type PlatformPermissions {
  "보유 사용 권한"
  permissions: [PlatformPermission!]!
}

"포트원 결제 정보"
type PlatformPortOnePayment implements PlatformPayment {
  "결제 아이디"
  paymentPlainId: String!
  "상점 아이디"
  storePlainId: String!
  "채널 키"
  channelKey: String!
  "주문 명"
  orderName: String!
  "결제 수단"
  method: PlatformPaymentMethod
  "통화"
  currency: Currency!
  "결제 일시"
  paidAt: DateTime!
}

type PlatformProductIdDuplicatedError implements Error {
  productPlainId: String!
  message: String
}

type PlatformProductIdNotFoundError implements Error {
  productPlainId: String!
  message: String
}

type PlatformRemitAccountTransfer implements PlatformAccountTransfer {
  "계좌 이체 아이디"
  plainId: String!
  "거래 일련번호"
  sequenceNumber: Int!
  "통화"
  currency: Currency!
  "입금 계좌 은행"
  depositBank: Bank!
  "입금 계좌 번호"
  depositAccountNumber: String!
  "금액"
  amount: Long!
  "출금 계좌 적요"
  withdrawalMemo: String
  "입금 계좌 적요"
  depositMemo: String
  "잔액"
  balance: Long
  "실패 사유"
  failReason: String
  isForTest: Boolean!
  "생성 일자"
  createdAt: DateTime!
  "수정 일자"
  updatedAt: DateTime!
  "전자서명 아이디"
  documentPlainId: String!
}

"송금 api 요청에 실패한 경우"
type PlatformRemitRequestFailedError implements Error {
  message: String
}

type PlatformReservedFormula {
  formula: String!
  roundType: PlatformRoundType!
}

"과거 시간을 예약 시간으로 지정하려는 경우"
type PlatformScheduleNotAllowedPastTimeError implements Error {
  message: String
}

"이미 예약된 버전이 존재하는 경우"
type PlatformScheduledVersionAlreadyExists {
  message: String
}

"플랫폼 설정"
type PlatformSetting {
  "기본 보내는 이 통장 메모"
  defaultWithdrawalMemo: String
  "기본 받는 이 통장 메모"
  defaultDepositMemo: String
}

"정산 가능한 금액을 초과한 경우"
type PlatformSettlementAmountExceededError implements Error {
  message: String
"""
상품 아이디

주문 항목의 상품 아이디입니다.
"""
  productId: String
  "요청 받은 금액"
  requestedAmount: Long!
  "초과한 금액"
  allowedAmount: Long!
  "요청 받은 금액과 초과한 금액 타입"
  type: PlatformAmountExceededType!
}

type PlatformSettlementCalculator {
  "정산 수식 설정"
  formula: PlatformSettlementFormula!
  "부가세 소수점 절사 설정"
  vatRoundType: PlatformRoundType!
  "버전"
  version: PlatformVersion!
}

"정산 계산기 버전 이력 조회 성공 응답 정보"
type PlatformSettlementCalculatorVersionsPayload {
  "조회된 정산 계산기 버전 이력"
  versions: [PlatformSettlementCalculator!]!
}

"정산 취소 요청 금액이 포트원 결제 취소 내역의 취소 금액을 초과한 경우"
type PlatformSettlementCancelAmountExceededPortOneCancelError implements Error {
  registeredSettlementCancelAmount: Long!
  requestSettlementCancelAmount: Long!
  portOneCancelAmount: Long!
  amountType: PlatformPortOnePaymentCancelAmountType!
  message: String
}

"""
정산 주기

지체일, 정산일, 기준일로 구성되며, 해당 요소들의 조합으로 실제 정산일을 계산합니다.
"""
type PlatformSettlementCycle {
"""
지체일 (d+n 의 n)

정산시작일(통상 주문완료일)로부터 더해진 다음 날짜로부터 가장 가까운 날에 정산이 됩니다. 최소 1 에서 최대 10 까지 지정할 수 있습니다.
"""
  lagDays: Int!
  "기준일로, 정산일 계산 시 공휴일을 고려하기 위한 정보입니다."
  datePolicy: PlatformSettlementCycleDatePolicy!
  "정산 주기 계산 방식"
  method: PlatformSettlementCycleMethod!
}

"매일 정산"
type PlatformSettlementCycleMethodDaily {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"정해진 날짜(월, 일)에 정산"
type PlatformSettlementCycleMethodManualDates {
  dates: [MonthDay!]!
}

"매월 정해진 날(일)에 정산"
type PlatformSettlementCycleMethodMonthly {
  daysOfMonth: [Int!]!
}

"매주 정해진 요일에 정산"
type PlatformSettlementCycleMethodWeekly {
  daysOfWeek: [DayOfWeek!]!
}

type PlatformSettlementFormula {
  "플랫폼 수수료 계산식"
  platformFee: PlatformReservedFormula!
  "할인 분담액 계산식"
  discountShare: PlatformReservedFormula!
  "추가 수수료 계산식"
  additionalFee: PlatformReservedFormula!
  "정산 수식"
  settlement: PlatformReservedFormula!
  "사용자정의 수식"
  userDefined: [PlatformUserDefinedFormula!]!
  "수식 순서"
  orderKeys: [String!]!
}

type PlatformSettlementFormulaInvalidFunction {
  name: String!
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaInvalidOperator {
  operator: String!
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaInvalidSyntax {
  syntax: String!
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaInvalidVariable {
  name: String!
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaKeyErrorPair {
  "수식 키"
  key: String!
  "수식 오류"
  error: PlatformSettlementFormulaError!
}

type PlatformSettlementFormulaMissingExpectedToken {
  token: String!
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaMissingLeftOperand {
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaMissingOperator {
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaMissingRightOperand {
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaPosition {
  startLine: Int!
  startIndex: Int!
  endLine: Int!
  endIndex: Int!
}

type PlatformSettlementFormulaUnexpectedFunctionArguments {
  functionName: String!
  expectedCount: Int!
  currentCount: Int!
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaUnexpectedToken {
  token: String!
  position: PlatformSettlementFormulaPosition!
}

type PlatformSettlementFormulaUnknownError {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"플랫폼 정산 파라미터"
type PlatformSettlementParameter {
"""
정산 파라미터 키

수식에 사용되는 파라미터 식별자입니다.
"""
  key: String!
  "이름"
  name: String!
  "기본 값"
  defaultValue: PlatformSettlementParameterValue!
  "생성 일시"
  createdAt: DateTime!
  "수정 일시"
  updatedAt: DateTime!
}

"정산 파라미터의 생성 허용 갯수를 초과한 경우"
type PlatformSettlementParameterCountLimitExceededError implements Error {
  message: String
}

"정산 파라미터의 키가 이미 존재하는 경우"
type PlatformSettlementParameterKeyAlreadyExistsError implements Error {
  message: String
}

"입력한 정산 파라미터의 키가 이미 사용자 정의 수식에서 사용 중인 경우"
type PlatformSettlementParameterKeyConflictUserDefinedFormulaError implements Error {
  message: String
}

"정산 파라미터가 존재하지 않는 경우"
type PlatformSettlementParameterNotFoundError implements Error {
  message: String
}

"플랫폼 정산 파라미터 값"
type PlatformSettlementParameterValue {
  "크기가 조정되지 않은 숫자"
  decimal: Long!
"""
소수 자리수

정산 시 필요한 `decimalScale`이 지정되지 않은 경우 기본값으로 0을 사용합니다.
입력 가능한 법위는 0 ~ 5 입니다.
"""
  decimalScale: Int
}

type PlatformSettlementParametersPayload {
  items: [PlatformSettlementParameter!]!
}

"정산 요청 결제 금액이 포트원 결제 내역의 결제 금액을 초과한 경우"
type PlatformSettlementPaymentAmountExceededPortOnePaymentError implements Error {
  registeredSettlementPaymentAmount: Long!
  requestSettlementPaymentAmount: Long!
  portOnePaymentAmount: Long!
  message: String
}

"플랫폼 정산건 처리 방식에 관한 규칙"
type PlatformSettlementRule {
  "paymentId, storeId, partnerId가 같은 주문 정산건에 대한 중복 정산 지원 여부"
  supportsMultipleOrderTransfersPerPartner: Boolean!
  "정산일이 정산시작일보다 작거나 같을 경우 공휴일 후 영업일로 정산일 다시 계산 여부"
  adjustSettlementDateAfterHolidayIfEarlier: Boolean!
  "지급 금액에서 원천징수세 차감 여부"
  subtractWhtInPayoutAmount: Boolean!
}

"정산 요청 공급대가가 포트원 결제 내역의 공급대가를 초과한 경우"
type PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError implements Error {
  registeredSettlementSupplyWithVatAmount: Long!
  requestSettlementSupplyWithVatAmount: Long!
  portOneSupplyWithVatAmount: Long!
  message: String
}

"정산 요청 면세 금액이 포트원 결제 내역의 면세 금액을 초과한 경우"
type PlatformSettlementTaxFreeAmountExceededPortOnePaymentError implements Error {
  registeredSettlementTaxFreeAmount: Long!
  requestSettlementTaxFreeAmount: Long!
  portOneTaxFreeAmount: Long!
  message: String
}

"전자서명에 대한 유효성 검증에 실패한 경우"
type PlatformSignatureVerificationFailedError implements Error {
  message: String
}

"처리 대상 파트너가 존재하지 않는 경우"
type PlatformTargetPartnerNotFoundError implements Error {
  message: String
}

type PlatformTransferAlreadyExistsError implements Error {
  transferPlainId: String!
  transferId: ID!
  message: String
}

type PlatformTransferDashboard {
  totalSettlementAmount: Long!
  totalSettlementFeeAmount: Long!
  totalOrderAmount: Long!
  settlementStartDateRange: DateRange
}

type PlatformTransferDiscountSharePolicyNotFoundError implements Error {
  discountSharePolicyPlainId: String!
  discountSharePolicyId: ID!
  productPlainId: String
  message: String
}

type PlatformTransferFilterOptions {
  partnerTags: [String!]!
  contractPlainIds: [String!]!
  additionalFeePolicyPlainIds: [String!]!
  discountSharePolicyPlainIds: [String!]!
  paymentChannels: [PlatformPaymentChannel!]!
}

type PlatformTransferNonDeletableStatusError implements Error {
  message: String
}

type PlatformTransferNotFoundError implements Error {
  message: String
}

"정산 파라미터"
type PlatformTransferParameter {
  "파라미터 키"
  key: String!
  "파라미터 값"
  value: PlatformSettlementParameterValue!
}

type PlatformTransferSummariesPayload {
  transferSummaries: [PlatformTransferSummary!]!
  page: PageInfo!
}

type PlatformTransferSummaryExternalPayment implements PlatformTransferSummaryPayment {
  paymentPlainId: String!
  orderName: String
  currency: Currency!
  methodType: PaymentMethodType
}

type PlatformTransferSummaryPartner {
  partnerPlainId: String!
  partnerId: ID!
  name: String!
  type: PlatformTransferSummaryPartnerType!
  taxationType: PlatformPartnerTaxationType
}

type PlatformTransferSummaryPortOnePayment implements PlatformTransferSummaryPayment {
  paymentPlainId: String!
  orderName: String!
  currency: Currency!
  methodType: PaymentMethodType
}

"수식 순서에 알 수 없는 수식 키가 있는 경우"
type PlatformUnknownFormulaKeysInOrderError implements Error {
  keys: [String!]!
  message: String
}

type PlatformUserDefinedFormula {
  name: String!
  key: String!
  formula: String!
  roundType: PlatformRoundType!
}

"사용자 정의 수식의 키가 정산 파라미터에서 이미 사용중인 경우"
type PlatformUserDefinedFormulaKeysConflictSettlementParameterError implements Error {
  keys: [String!]!
  message: String
}

"사용자 정의 수식 중 키 중복이 있는 경우"
type PlatformUserDefinedFormulaKeysDuplicatedError implements Error {
  keys: [String!]!
  message: String
}

"사용자 정의 수식의 최대 개수를 초과한 경우"
type PlatformUserDefinedFormulaLimitExceededError implements Error {
  message: String
}

"사용자 정의 수식을 삭제하려고 하는 경우"
type PlatformUserDefinedFormulaNotDeletableError implements Error {
  keys: [String!]!
  message: String
}

"사용자 정의 수식 결과"
type PlatformUserDefinedFormulaResult {
  "수식 키"
  key: String!
  "수식 계산 결과"
  value: Long!
}

"사용자 정의 속성 생성 허용 개수를 초과한 경우"
type PlatformUserDefinedPropertiesMaxCountsExceededError implements Error {
  message: String
}

"사용자 정의 속성"
type PlatformUserDefinedProperty {
  key: String!
  id: ID!
  name: String!
  objectType: PlatformUserDefinedPropertyObjectType!
  isForTest: Boolean!
  isSecret: Boolean!
  createdAt: DateTime!
  updatedAt: DateTime!
}

"사용자 정의 속성의 키가 이미 존재하는 경우"
type PlatformUserDefinedPropertyKeyAlreadyExistsError implements Error {
  message: String
}

"사용자 정의 속성"
type PlatformUserDefinedPropertyKeyValue {
  "사용자 정의 속성 키"
  key: String!
  "사용자 정의 속성 값"
  value: PlatformUserDefinedPropertyValue!
}

"사용자 정의 속성이 존재 하지 않는 경우"
type PlatformUserDefinedPropertyNotFoundError implements Error {
  message: String
}

type PlatformUserDefinedPropertyValue {
  string: String!
}

"사용자가 존재하지 않는 경우"
type PlatformUserNotFoundError implements Error {
  message: String
}

"버전"
type PlatformVersion {
  "버전 식별자"
  ref: String!
  "적용 시점"
  appliedAt: DateTime!
}

"요청한 버전이 존재하지 않는 경우"
type PlatformVersionNotFoundError implements Error {
  message: String
}

"가상계좌 정보 조회 성공 응답 정보"
type PlatformVirtualAccount {
  "가상계좌 잔액"
  amount: String!
  "가상계좌 은행"
  bank: Bank!
  "가상계좌 번호"
  accountNumber: String!
}

"계상계좌 잔액을 확인할 수 없는 경우"
type PlatformVirtualAccountBalanceCheckFailedError implements Error {
  message: String
}

"가상계좌가 할당되지 않은 경우"
type PlatformVirtualAccountNotAllocatedError implements Error {
  message: String
}

type PromotionAmountDiscountScheme {
  amount: Long!
}

"금액 구간별 프로모션 할인 정책"
type PromotionDiscountPartition {
  amountFrom: Long!
  scheme: PromotionDiscountScheme!
}

"프로모션 할인 정책"
type PromotionDiscountPolicy {
  partitions: [PromotionDiscountPartition!]!
}

"프로모션 혜택 유지 옵션을 이전 부분 취소와 다른 것으로 입력한 경우"
type PromotionDiscountRetainOptionShouldNotBeChangedError implements Error {
  message: String
}

type PromotionEdge {
  node: Promotion!
  cursor: String!
}

"프로모션 그룹"
type PromotionGroup {
  "프로모션 그룹 아이디"
  plainId: String!
  "프로모션 그룹 아이디"
  id: ID!
  "프로모션 그룹 이름"
  name: String!
  "카드사별로 지정된 프로모션 정보"
  entries: [PromotionGroupEntry!]!
}

"동일한 이름의 프로모션 그룹이 이미 존재하는 경우"
type PromotionGroupDuplicateNameError implements Error {
  message: String
}

type PromotionGroupEntry {
  "프로모션 아이디"
  promotionPlainId: String!
  "프로모션 아이디"
  promotionId: ID!
}

"프로모션 그룹이 존재하지 않는 경우"
type PromotionGroupNotFoundError implements Error {
  message: String
}

"프로모션 아이디 리스트 조회 성공 응답 정보"
type PromotionIdsPayload {
  promotionIds: [String!]!
}

"프로모션이 존재하지 않는 경우"
type PromotionNotFoundError implements Error {
  message: String
}

"결제수단이 프로모션에 지정된 것과 일치하지 않는 경우"
type PromotionPayMethodDoesNotMatchError implements Error {
  message: String
}

type PromotionPercentDiscountScheme {
  percent: Int!
}

"결제 취소 시 프로모션 예산 미복구"
type PromotionRecoverOptionNoRecover {
  spareBudget: PromotionSpareBudget
}

"결제 취소 시 프로모션 예산 복구"
type PromotionRecoverOptionRecover {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type PromotionSpareBudgetAmount {
  amount: Long!
}

type PromotionSpareBudgetPercent {
  percent: Int!
}

"프로모션 통계 조회 성공 응답 정보"
type PromotionStatisticsPayload {
  "총 프로모션 개수"
  totalCount: Int!
  "진행 중인 프로모션 개수"
  inProgressCount: Int!
  "진행 예정인 프로모션 개수"
  scheduledCount: Int!
  "일시 중지된 프로모션 개수"
  pausedCount: Int!
  "종료된 프로모션 갯수"
  terminatedCount: Int!
  "예산 소진된 프로모션 갯수"
  budgetExhaustedCount: Int!
}

"프로모션이 중단된 상태인 경우"
type PromotionTerminatedError implements Error {
  message: String
}

"프로모션 다건 조회 성공 응답 정보"
type PromotionsPayload {
  edges: [PromotionEdge!]!
  pageInfo: CursorPageInfo!
}

type Query {
  "요청된 ID 에 대응되는 객체를 반환합니다 (Global Object Identification)."
  node(id: ID!): Node
"""
고객사 정보를 조회합니다.
요청된 Authorization header 를 통해 자동으로 요청자의 고객사를 특정합니다.
"""
  merchant: MerchantOutput!
}

"가맹점의 대사 관련 정보"
type Reconciliation {
"""
거래 대사 거래 건별 조회

고객사 내 모든 하위 상점의 거래대사 거래 건별 내역을 조회합니다.
"""
  paymentReconciliations(dateCondition: ReconciliationDateConditionInput!, searchCondition: PaymentReconciliationSearchConditionInput, filter: PaymentReconciliationFilterInput, order: PaymentReconciliationOrderInput, "조회할 건 수" first: Int!, "이전 페이지의 마지막 커서" after: String): PaymentReconciliationsPayload @hidden @unstable
"""
대사용 PG사 가맹점 식별자 목록 조회

고객사 내 대사용 PG사 가맹점 식별자 목록을 가져옵니다.
"""
  pgSpecifiers: ReconciliationPgSpecifiersOutput! @hidden @unstable
"""
거래대사 거래 요약 정보 조회

고객사 내 모든 하위 상점의 거래대사 거래 요약 정보를 일별 조회 합니다
"""
  paymentReconciliationTransactionSummaries("거래일 범위" dateRange: DateRangeInput!, filter: PaymentReconciliationTransactionSummaryFilterInput, "조회할 건 수" first: Int!, "이전 페이지의 마지막 커서" after: String): PaymentReconciliationTransactionSummariesPayload @hidden @unstable
"""
거래대사 거래 통계 조회

고객사 내 모든 하위 상점의 거래대사 거래 통계를 조회 합니다
"""
  paymentReconciliationTransactionStatistics(dateCondition: ReconciliationDateConditionInput!, filter: PaymentReconciliationTransactionStatisticsFilterInput): PaymentReconciliationTransactionStatisticsOutput! @hidden @unstable
"""
거래대사 정산 요약 정보 조회

고객사 내 모든 하위 상점의 거래대사 정산 요약 정보를 일별 조회 합니다
"""
  paymentReconciliationSettlementSummaries("정산일 범위" dateRange: DateRangeInput!, filter: PaymentReconciliationSettlementSummaryFilterInput, "조회할 건 수" first: Int!, "이전 페이지의 마지막 커서" after: String): PaymentReconciliationSettlementSummariesPayload @hidden @unstable
"""
거래대사 정산 통계 조회

고객사 내 모든 하위 상점의 거래대사 정산 통계를 조회 합니다
"""
  paymentReconciliationSettlementStatistics("정산일 범위" dateRange: DateRangeInput!, filter: PaymentReconciliationSettlementStatisticsFilterInput): PaymentReconciliationSettlementStatisticsOutput! @hidden @unstable
"""
대사 서비스 이용약관 동의 여부

대사 서비스 이용약관 동의 여부를 조회합니다.
"""
  termsAndConditions: ReconciliationTermsAndConditionsOutput! @hidden @unstable
"""
거래 대사 거래통화 목록 조회

사용된 거래통화 목록을 조회합니다.
"""
  paymentReconciliationPaymentCurrencies: PaymentReconciliationPaymentCurrenciesOutput! @hidden @unstable
"""
거래 대사 정산통화 목록 조회

사용된 정산통화 목록을 조회합니다.
"""
  paymentReconciliationSettlementCurrencies: PaymentReconciliationSettlementCurrenciesOutput! @hidden @unstable
}

"ARS 결제"
type ReconciliationPaymentMethodArs {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"카드 결제"
type ReconciliationPaymentMethodCard {
  "카드 발급사"
  issuer: CardCompany
  "카드 매입사"
  acquirer: CardCompany
  "카드 승인 번호"
  approvalNumber: String
  "카드 할부 개월 수"
  installmentMonth: Int
}

"간편결제 충전"
type ReconciliationPaymentMethodCharge {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"간편 결제"
type ReconciliationPaymentMethodEasyPay {
  "간편 결제 PG사"
  provider: ReconciliationEasyPayProvider
  "간편 결제 결제 수단"
  method: ReconciliationEasyPayMethod
  paymentMethodType: ReconciliationPaymentMethodType!
}

"기타 결제"
type ReconciliationPaymentMethodEtc {
  "기타 결제 이름"
  name: String!
}

"상품권 결제"
type ReconciliationPaymentMethodGiftCertificate {
  "상품권 승인 번호"
  approvalNumber: String
  "상품권 종류"
  giftCertificateType: GiftCertificateType
}

"모바일 결제"
type ReconciliationPaymentMethodMobile {
  "통신사"
  carrier: Carrier
}

"계좌이체"
type ReconciliationPaymentMethodTransfer {
  "계좌 이체 은행"
  bank: Bank
  "계좌 이체 승인 번호"
  approvalNumber: String
}

"가상계좌 결제"
type ReconciliationPaymentMethodVirtualAccount {
  "가상계좌  은행"
  bank: Bank
  "가상계좌 은행"
  approvalNumber: String
}

"대사용 PG사 가맹점 식별자"
type ReconciliationPgSpecifier {
  "PG사 가맹점 식별 아이디"
  pgMerchantId: String!
  "PG사"
  pgProvider: ReconciliationPgProvider!
}

type ReconciliationPgSpecifiersPayload {
  pgSpecifiers: [ReconciliationPgSpecifier!]!
}

"대사 서비스 이용약관 동의 여부 조회 정보"
type ReconciliationTermsAndConditions {
  isAgreeing: Boolean!
  agreedAt: DateTime
}

"추가 수수료 정책 복원 성공 응답"
type RecoverPlatformAdditionalFeePolicyPayload {
  "복원된 추가 수수료 정책"
  additionalFeePolicy: PlatformAdditionalFeePolicy!
}

"계약 복원 성공 응답"
type RecoverPlatformContractPayload {
  "복원된 계약"
  contract: PlatformContract!
}

"할인 분담 복원 성공 응답"
type RecoverPlatformDiscountSharePolicyPayload {
  "복원된 할인 분담"
  discountSharePolicy: PlatformDiscountSharePolicy!
}

"파트너 복원 성공 응답"
type RecoverPlatformPartnerPayload {
  "복원된 파트너"
  partner: PlatformPartner!
}

"토큰 재발급 성공 응답"
type RefreshTokenPayload {
"""
인증에 사용하는 엑세스 토큰

30분의 유효기간을 가지고 있습니다.
"""
  accessToken: String!
"""
토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰

하루의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다.
동일한 유저가 로그인 또는 토큰 재발급을 진행할 때마다 기존에 발급된 리프레시 토큰은 즉시 만료되므로 API 사용에 유의해주세요.
"""
  refreshToken: String!
}

"세금계산서 역발행 요청 거부 응답"
type RefuseB2bTaxInvoiceRequestPayload {
  taxInvoice: B2bTaxInvoice!
}

"고객사 연 결제 등록 성공 응답"
type RegisterAnnualBillingPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"사업자 연동 응답 정보"
type RegisterB2bMemberCompanyPayload {
  "사업자 정보"
  company: B2bMemberCompany!
}

"고객사의 서비스 과금을 위한 카드 등록 성공 응답"
type RegisterMerchantBillingMethodCardPayload {
  _: Boolean
  card: MerchantBillingMethodCard!
}

type RegisterStoreBusinessInfoPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"""
사업자 등록증 정보

개인 / 법인 사업자로 분류가 나뉘며, 해당 분류에 따라 입력 정보가 조금씩 다릅니다. 회사명, 사업자 등록번호, 주소지 등의 일반적인 정보들은 공통 필드로 입력 받습니다.
"""
type RegisteredBusinessLicense implements Node & BusinessLicense {
  id: ID!
  plainId: String!
  "우편번호"
  postalCode: String!
  "사업자 업태 목록"
  types: [String!]!
  "사업자 종목 목록"
  items: [String!]!
  "사업자 등록번호"
  registrationNumber: String!
  "회사명"
  companyName: String!
  "주소지 정보"
  location: RegisteredBusinessLicenseLocation!
  "개인 / 법인 사업자 정보"
  classification: RegisteredBusinessLicenseClassification!
}

"법인 사업자 정보"
type RegisteredBusinessLicenseClassificationCorporation {
"""
법인 사업자 등록번호

사업자 등록번호와 별개의 개념으로 , 법인 설립 시 등기소에서 부여하는 부동산 등기용 등록 번호
"""
  corporationNumber: String
  "대표 이름 목록"
  representativeNames: [RegisteredBusinessLicenseRepresentativeName!]
}

"개인 사업자 등록증 정보"
type RegisteredBusinessLicenseClassificationSoleProprietorship {
  "대표자 이름 정보"
  representativeName: RegisteredBusinessLicenseRepresentativeName!
  "공동 대표자 이름 정보"
  coRepresentativeName: RegisteredBusinessLicenseRepresentativeName
}

type RegisteredBusinessLicenseLocation implements BusinessLicenseLocation {
  "주소"
  address: String!
  "상세 주소"
  detail: String!
}

type RegisteredBusinessLicenseRepresentativeName implements BusinessLicenseRepresentativeName {
  "한글명"
  ko: String!
  "영문명"
  en: String!
}

"등록이 완료된 상점의 대표자 정보"
type RegisteredStoreRepresentative implements StoreRepresentative {
  "이름"
  name: String!
  "휴대폰번호"
  phoneNumber: String!
  "이메일"
  email: String!
  "생년월일"
  birthdate: Date!
}

"파트너 거절 성공 응답"
type RejectPlatformPartnerPayload {
  "거절된 파트너"
  partner: PlatformPartner!
}

"가상계좌 송금 결과"
type RemitPlatformVirtualAccountPayload {
  accountTransfer: PlatformAccountTransfer!
}

"""
삭제하고자 하는 상점이 대표상점인 경우

대표상점은 삭제가 불가능합니다.
"""
type RepresentativeStoreCannotBeDeletedError implements Error {
  message: String
}

"세금계산서 일괄 역발행 요청 응답"
type RequestB2bBulkTaxInvoicePayload {
  bulkTask: B2bBulkTask!
}

"세금계산서 역발행 요청 응답"
type RequestB2bTaxInvoicePayload {
  taxInvoice: B2bTaxInvoice!
}

"세금계산서 역발행 즉시 요청 응답"
type RequestB2bTaxInvoiceReverseIssuancePayload {
  taxInvoice: B2bTaxInvoice!
}

"세금계산서 일괄 발행 요청 응답"
type RequestBulkIssuanceByFilePayload {
  bulkTask: B2bBulkTask!
}

"필수 약관에 동의하지 않는 경우"
type RequiredTermDisagreedError implements Error {
  message: String
}

"추가 수수료 정책 예약 업데이트 재설정 성공 응답"
type ReschedulePlatformAdditionalFeePayload {
  "예약된 추가 수수료 정책"
  scheduledAdditionalFeePolicy: PlatformAdditionalFeePolicySchedule!
}

"일괄 지급 예약 변경 결과"
type ReschedulePlatformBulkPayoutPayload {
  bulkPayout: PlatformBulkPayout!
}

"계약 예약 업데이트 재설정 성공 응답"
type ReschedulePlatformContractPayload {
  "예약된 계약 정보"
  scheduledContract: PlatformContractSchedule!
}

"할인 분담 정책 예약 업데이트 재설정 성공 응답"
type ReschedulePlatformDiscountSharePayload {
  "예약된 할인 분담 정보"
  scheduledDiscountSharePolicy: PlatformDiscountSharePolicySchedule!
}

"파트너 예약 업데이트 재설정 성공 응답"
type ReschedulePlatformPartnerPayload {
  "예약된 파트너 정보"
  scheduledPartner: PlatformPartnerSchedule!
}

"세금계산서 역발행 이메일 재발송 API 응답"
type ResendB2bTaxInvoiceReverseIssuanceEmailRequestPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"웹훅 일괄 재발송 성공 응답"
type ResendFailedPaymentWebhooksPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"프로모션 재개 성공 응답"
type ResumePromotionPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"예약 결제 실패 후 재시도 성공 응답"
type RetryPaymentSchedulePayload {
  schedule: PaymentSchedule!
  "결제건 요약 정보입니다. payImmediately 옵션을 통해 즉시 재시도했을 경우에만 존재합니다."
  payment: RetryPaymentScheduleSummary
}

"즉시 재시도로 결제 완료된 결제건 요약 정보"
type RetryPaymentScheduleSummary {
  "PG사 결제 아이디"
  pgTxId: String!
  "결제 완료 시점"
  paidAt: DateTime!
}

"결제 예약 건 취소 성공 응답"
type RevokePaymentSchedulePayload {
  schedule: PaymentSchedule!
}

"결제 예약 취소 상태"
type RevokedPaymentSchedule implements PaymentSchedule & Node {
  "결제 예약 건 아이디"
  plainId: String!
  "결제 예약 건 아이디"
  id: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "고객사 아이디"
  merchantId: ID!
  "상점 아이디"
  storePlainId: String!
  "상점 아이디"
  storeId: ID!
  "결제 건 아이디"
  paymentPlainId: String!
  "빌링키"
  billingKey: String!
  "빌링키 요약 정보"
  billingKeyInfo: PaymentScheduleBillingKeyInfo!
  "주문명"
  orderName: String!
  "문화비 지출 여부"
  isCulturalExpense: Boolean!
  "에스크로 결제 여부"
  isEscrow: Boolean!
  "고객 정보"
  customer: Customer!
  "사용자 지정 데이터"
  customData: String!
  "결제 총 금액"
  totalAmount: Long!
  "면세액"
  taxFreeAmount: Long
  "부가세"
  vatAmount: Long
  "통화"
  currency: Currency!
  "할부 개월 수"
  installmentMonth: Int
  "웹훅 주소"
  noticeUrls: [String!]
  "상품 정보"
  products: [PaymentProduct!]
  "결제 예약 등록 시점"
  createdAt: DateTime!
  "결제 예정 시점"
  timeToPay: DateTime
  "결제 취소 시점"
  revokedAt: DateTime!
  "결제 예약 이벤트 리스트"
  events: PaymentScheduleEvents!
}

"고객사의 청구서 담당자 저장 성공 응답 정보"
type SaveMerchantBillingManagerPayload {
  manager: MerchantBillingManager!
}

type SaveMerchantTermsPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type SaveTemporaryStoreBusinessInfoPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"추가 수수료 정책 업데이트 예약 성공 응답"
type SchedulePlatformAdditionalFeePayload {
  "예약된 추가 수수료 정책"
  scheduledAdditionalFeePolicy: PlatformAdditionalFeePolicySchedule!
}

"계약 업데이트 예약 성공 응답"
type SchedulePlatformContractPayload {
  "예약된 계약 정보"
  scheduledContract: PlatformContractSchedule!
}

"할인 분담 정책 업데이트 예약 성공 응답"
type SchedulePlatformDiscountSharePayload {
  "예약된 할인 분담 정보"
  scheduledDiscountSharePolicy: PlatformDiscountSharePolicySchedule!
}

"파트너 업데이트 예약 성공 응답"
type SchedulePlatformPartnerPayload {
  "예약된 파트너 정보"
  scheduledPartner: PlatformPartnerSchedule!
}

type SchedulePlatformPartnersPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"결제 예약 완료 상태"
type ScheduledPaymentSchedule implements PaymentSchedule & Node {
  "결제 예약 건 아이디"
  plainId: String!
  "결제 예약 건 아이디"
  id: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "고객사 아이디"
  merchantId: ID!
  "상점 아이디"
  storePlainId: String!
  "상점 아이디"
  storeId: ID!
  "결제 건 아이디"
  paymentPlainId: String!
  "빌링키"
  billingKey: String!
  "빌링키 요약 정보"
  billingKeyInfo: PaymentScheduleBillingKeyInfo!
  "주문명"
  orderName: String!
  "문화비 지출 여부"
  isCulturalExpense: Boolean!
  "에스크로 결제 여부"
  isEscrow: Boolean!
  "고객 정보"
  customer: Customer!
  "사용자 지정 데이터"
  customData: String!
  "결제 총 금액"
  totalAmount: Long!
  "면세액"
  taxFreeAmount: Long
  "부가세"
  vatAmount: Long
  "통화"
  currency: Currency!
  "할부 개월 수"
  installmentMonth: Int
  "웹훅 주소"
  noticeUrls: [String!]
  "상품 정보"
  products: [PaymentProduct!]
  "결제 예약 등록 시점"
  createdAt: DateTime!
  "결제 예정 시점"
  timeToPay: DateTime
  "결제 예약 이벤트 리스트"
  events: PaymentScheduleEvents!
}

"(결제, 본인인증 등에) 선택된 채널 정보"
type SelectedChannel {
  "채널 타입"
  type: SelectedChannelType!
  "채널 아이디"
  id: String
  "채널 키"
  key: String
  "채널 명"
  name: String
  "PG사"
  pgProvider: PgProvider!
  "PG사 고객사 식별 아이디"
  pgMerchantId: String!
}

"세금계산서 국세청 즉시 전송 응답"
type SendToNtsB2bTaxInvoicePayload {
  taxInvoice: B2bTaxInvoice!
}

"""
분리 형식 주소

한 줄 형식 주소와 분리 형식 주소 모두 존재합니다.
한 줄 형식 주소는 분리 형식 주소를 이어 붙인 형태로 생성됩니다.
"""
type SeparatedAddress implements Address {
  "주소 (한 줄)"
  oneLine: String!
  "상세 주소 1"
  addressLine1: String!
  "상세 주소 2"
  addressLine2: String!
  "시/군/구"
  city: String
  "주/도/시"
  province: String
  "국가"
  country: Country
}

type SignUpPayload {
  "유저 이메일"
  email: String!
"""
인증 이메일 전송시 사용되는 토큰

하루의 유효기간을 가지고 있습니다.
"""
  emailAuthToken: String!
}

type SignUpViaAgencyPayload {
  "유저 이메일"
  email: String!
"""
인증 이메일 전송시 사용되는 토큰

하루의 유효기간을 가지고 있습니다.
"""
  emailAuthToken: String!
}

"결제 시작 상태"
type StartedPaymentSchedule implements PaymentSchedule & Node {
  "결제 예약 건 아이디"
  plainId: String!
  "결제 예약 건 아이디"
  id: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "고객사 아이디"
  merchantId: ID!
  "상점 아이디"
  storePlainId: String!
  "상점 아이디"
  storeId: ID!
  "결제 건 아이디"
  paymentPlainId: String!
  "빌링키"
  billingKey: String!
  "빌링키 요약 정보"
  billingKeyInfo: PaymentScheduleBillingKeyInfo!
  "주문명"
  orderName: String!
  "문화비 지출 여부"
  isCulturalExpense: Boolean!
  "에스크로 결제 여부"
  isEscrow: Boolean!
  "고객 정보"
  customer: Customer!
  "사용자 지정 데이터"
  customData: String!
  "결제 총 금액"
  totalAmount: Long!
  "면세액"
  taxFreeAmount: Long
  "부가세"
  vatAmount: Long
  "통화"
  currency: Currency!
  "할부 개월 수"
  installmentMonth: Int
  "웹훅 주소"
  noticeUrls: [String!]
  "상품 정보"
  products: [PaymentProduct!]
  "결제 예약 등록 시점"
  createdAt: DateTime!
  "결제 예정 시점"
  timeToPay: DateTime
  "결제 시작 시점"
  startedAt: DateTime!
  "결제 예약 이벤트 리스트"
  events: PaymentScheduleEvents!
}

"일괄 지급 중단 결과"
type StopPlatformBulkPayoutPayload {
  bulkPayout: PlatformBulkPayout!
}

type Store implements Node {
  id: ID!
  "상점 아이디"
  plainId: String!
  "하위상점명"
  name: String!
  "상점 관리자"
  manager: StoreManager
"""
URL 목록

고객사가 제공하는 서비스 웹사이트 & 앱스토어 다운로드 url 목록을 의미합니다.
"""
  urls: [String!]!
  "대표상점 여부"
  isRepresentative: Boolean!
  "상점 V1 관련 정보"
  v1Info: StoreV1InfoOutput!
"""
API Secret 정보 목록

하위 상점의 API Secret 정보들을 조회합니다
"""
  v2ApiSecrets: V2ApiSecretInfosOutput!
  "상점 서비스 정보"
  service: StoreService
  "요청사항 메모"
  requestMemo: String
  "비즈니스 인증 여부"
  isCertifiedBusinessInfo: Boolean!
  "하위 상점 설정 정보"
  settings: StoreSettings! @hidden @unstable
"""
채널 리스트 조회

상점에 존재하는 채널 리스트를 조회합니다.
"""
  channels: ChannelsOutput! @hidden @unstable
"""
채널 그룹 목록 조회

해당 상점에서 지정한 채널 그룹 목록을 조회합니다.
"""
  channelGroups: ChannelGroupsOutput! @hidden @unstable
"""
결제 예약 캘린더 조회

하위 상점의 결제 예약 캘린더를 조회합니다.
"""
  paymentScheduleCalendar(filter: PaymentScheduleCalendarFilterInput!): PaymentScheduleCalendarOutput! @hidden @unstable
"""
결제 예약 상태별 통계 조회

하위 상점의 결제 예약 상태별 통계를 조회합니다.
"""
  paymentScheduleStat(filter: PaymentScheduleFilterInput): PaymentScheduleStatOutput! @hidden @unstable
"""
결제 예약 다건 조회

하위 상점의 결제 예약 건들을 조회합니다.
"""
  paymentSchedules("""요청할 페이지 정보

미 입력 시 number: 0, size: 10 으로 기본값이 적용됩니다.""" page: PageInput, """정렬 조건

미 입력 시 sortBy: TIME_TO_PAY, sortOrder: DESC 으로 기본값이 적용됩니다.""" sort: PaymentScheduleSortInput, "조회할 결제 예약 건의 조건 필터" filter: PaymentScheduleFilterInput): PaymentSchedulesOutput! @hidden @unstable
"""
결제 예약 건이 존재하는 통화 조회

하위 상점의 결제 예약 건이 존재하는 통화를 조회합니다.
"""
  usedCurrenciesForPaymentSchedule: UsedCurrenciesForPaymentScheduleOutput! @hidden @unstable
"""
빌링 결제 리커버리 최근 실행 내역 조회

빌링 결제 리커버리 최근 실행 내역을 조회합니다.
"""
  paymentRecoveryLog: PaymentRecoveryLogOutput! @hidden @unstable
  channelGroupUsage: ChannelGroupUsage! @hidden @unstable
  pgCompanyUsage: PgCompanyUsage! @hidden @unstable
"""
프로모션 다건 조회

프로모션 설정 내역을 조회합니다.
"""
  promotions("조회할 프로모션 조건" filter: PromotionFilterInput!, "조회할 건수" first: Int!, "이전 페이지의 마지막 커서" after: String): PromotionsPayload
"""
프로모션 아이디 리스트 조회

특정 기간 내에 존재하는 모든 프로모션의 아이디 리스트를 조회합니다.
"""
  promotionIds("시각 범위" dateTimeRange: DateTimeRangeInput, "시각 범위를 적용할 필드" dateTimeRangeField: PromotionTimeRangeField): PromotionIdsOutput!
"""
프로모션 통계 조회

특정 기간에 존재하는 프로모션의 통계값을 조회합니다.
"""
  promotionStatistics("조회할 프로모션 조건" filter: PromotionFilterInput!): PromotionStatisticsOutput!
  businessLicenseOcr(fileId: ID!): StoreBusinessLicenseOcrOutput! @hidden @unstable
  businessLicense: StoreBusinessLicenseOutput! @hidden @unstable
  "상점의 파일 목록 조회"
  files(category: StoreFileCategory!): StoreFilesOutput! @hidden @unstable
  "상점의 대표자 목록 조회"
  representatives: StoreRepresentativesOutput! @hidden @unstable
  "프로모션 그룹 다건 조회"
  promotionGroups: PromotionGroupsOutput! @hidden @unstable
  "웹훅 실패 건수 조회"
  failedPaymentWebhookCount("조회 기준 시점 유형" timestampType: PaymentTimestampType!, "결제 요청/상태 승인 시점 범위의 시작" from: DateTime!, "결제 요청/상태 승인 시점 범위의 끝" until: DateTime!): GetFailedPaymentWebhookCountOutput! @hidden @unstable
  "웹훅 일괄 재발송 진행 상태 조회"
  failedPaymentWebhooksResendStatus: GetFailedWebhooksResendStatusOutput! @hidden @unstable
}

"""
상점의 사업자 인증정보가 이미 등록되어 편집이 불가능한 경우

한번 등록된 사업자 인증정보는 추가 편집이 불가능합니다
"""
type StoreBusinessInfoAlreadyRegisteredError implements Error {
  message: String
}

"상점 파일 정보"
type StoreFile implements Node {
  id: ID!
  plainId: String!
  "상점 ID"
  storeId: String!
  "파일명"
  name: String
"""
파일 유형

어떠한 도메인에 연관된 파일인지 나타냅니다.
"""
  category: StoreFileCategory!
  "확장자"
  extension: String
}

"요청한 상점에 관련된 파일이 존재하지 않는 경우"
type StoreFileNotFoundError implements Error {
  message: String
}

type StoreFilesPayload {
  files: [StoreFile!]!
}

"상점 관리자"
type StoreManager {
  "이름"
  name: String
"""
핸드폰번호

핸드폰번호는 `-`, 공백 등의 특수기호 없이 숫자만 포함됩니다.
"""
  phoneNumber: String
"""
이메일

상점 관리자의 이메일, 전자결제 진행상황 및 포트원에서 알림을 수신받는 이메일
"""
  email: String
}

"요청된 상점이 존재하지 않는 경우"
type StoreNotFoundError implements Error {
  message: String
}

type StoreRepresentativesPayload {
  representatives: [StoreRepresentative!]!
}

"상점 서비스 정보"
type StoreService {
  "판매 품목"
  salesItems: [String!]!
  "상점 서비스 형태"
  type: StoreServiceType
  "상점 월 예상 거래액"
  monthlySalesEstimation: StoreServiceMonthlySalesEstimation
  "서비스 url 목록"
  urls: [String!]!
  "서비스 준비 중"
  isPreparing: Boolean
}

type StoreSettings {
  "웹훅 설정"
  webhook(portOneVersion: PortOneVersion!, environment: WebhookEnvironment!): StoreWebhookSettingOutput! @hidden @unstable
  "빌링결제 리커버리 설정"
  paymentRecovery: PaymentRecoverySettingOutput! @hidden @unstable
}

"상점 v1 정보"
type StoreV1Info {
  "v1 유저 아이디"
  v1UserId: Int!
  "v1 가맹점 식별코드"
  userCode: String!
"""
티어 코드

v1 결제시 사용하는 코드입니다. 대문자 3글자만 가능합니다. ex) ABC
"""
  tierCode: String
}

type StoreWebhookSetting {
  url: String
  contentType: WebhookContentType!
  version: WebhookVersion
  secrets: [WebhookSecretInfo!]!
}

"하위 상점의 웹훅 URL 이 설정되어 있지 않은 경우"
type StoreWebhookUrlNotSetError implements Error {
  message: String
}

type StoresPayload {
  "조회된 하위 상점 리스트"
  items: [Store!]!
}

"결제 성공 상태"
type SucceededPaymentSchedule implements PaymentSchedule & Node {
  "결제 예약 건 아이디"
  plainId: String!
  "결제 예약 건 아이디"
  id: ID!
  "고객사 아이디"
  merchantPlainId: String!
  "고객사 아이디"
  merchantId: ID!
  "상점 아이디"
  storePlainId: String!
  "상점 아이디"
  storeId: ID!
  "결제 건 아이디"
  paymentPlainId: String!
  "빌링키"
  billingKey: String!
  "빌링키 요약 정보"
  billingKeyInfo: PaymentScheduleBillingKeyInfo!
  "PG"
  determinedPgProvider: PgProvider!
  "PG사"
  determinedPgCompany: PgCompany!
  "주문명"
  orderName: String!
  "문화비 지출 여부"
  isCulturalExpense: Boolean!
  "에스크로 결제 여부"
  isEscrow: Boolean!
  "고객 정보"
  customer: Customer!
  "사용자 지정 데이터"
  customData: String!
  "결제 총 금액"
  totalAmount: Long!
  "면세액"
  taxFreeAmount: Long
  "부가세"
  vatAmount: Long
  "통화"
  currency: Currency!
  "할부 개월 수"
  installmentMonth: Int
  "웹훅 주소"
  noticeUrls: [String!]
  "상품 정보"
  products: [PaymentProduct!]
  "결제 예약 등록 시점"
  createdAt: DateTime!
  "결제 예정 시점"
  timeToPay: DateTime
  "결제 시작 시점"
  startedAt: DateTime!
  "결제 완료 시점"
  completedAt: DateTime!
  "결제 예약 이벤트 리스트"
  events: PaymentScheduleEvents!
}

"면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우"
type SumOfPartsExceedsCancelAmountError implements Error {
  message: String
}

"면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우"
type SumOfPartsExceedsTotalAmountError implements Error {
  message: String
}

"""
임시저장된 사업자 등록증 정보

개인 / 법인 사업자로 분류가 나뉘며, 해당 분류에 따라 입력 정보가 조금씩 다릅니다. 회사명, 사업자 등록번호, 주소지 등의 일반적인 정보들은 공통 필드로 입력 받습니다.
"""
type TemporaryBusinessLicense implements Node & BusinessLicense {
  id: ID!
  plainId: String!
  "우편번호"
  postalCode: String
  "사업자 업태 목록"
  types: [String!]!
  "사업자 종목 목록"
  items: [String!]!
  "사업자 등록번호"
  registrationNumber: String
  "회사명"
  companyName: String
  "주소지 정보"
  location: TemporaryBusinessLicenseLocation
  "개인 / 법인 사업자 정보"
  classification: TemporaryBusinessLicenseClassification!
}

"법인 사업자 정보"
type TemporaryBusinessLicenseClassificationCorporation {
"""
법인 사업자 등록번호

사업자 등록번호와 별개의 개념으로 , 법인 설립 시 등기소에서 부여하는 부동산 등기용 등록 번호
"""
  corporationNumber: String
  "대표 이름 목록"
  representativeNames: [TemporaryBusinessLicenseRepresentativeName!]
}

"개인 사업자 등록증 정보"
type TemporaryBusinessLicenseClassificationSoleProprietorship {
  "대표자 이름 정보"
  representativeName: TemporaryBusinessLicenseRepresentativeName
  "공동 대표자 이름 정보"
  coRepresentativeName: TemporaryBusinessLicenseRepresentativeName
}

type TemporaryBusinessLicenseLocation implements BusinessLicenseLocation {
  "주소"
  address: String
  "상세 주소"
  detail: String
}

type TemporaryBusinessLicenseRepresentativeName implements BusinessLicenseRepresentativeName {
  "한글명"
  ko: String
  "영문명"
  en: String
}

"임시저장 되어있는 상점의 대표자 정보"
type TemporaryStoreRepresentative implements StoreRepresentative {
  "이름"
  name: String
  "휴대폰번호"
  phoneNumber: String
  "이메일"
  email: String
  "생년월일"
  birthdate: Date
}

"약관 동의 상태"
type TermState {
  "동의 여부"
  isAgreeing: Boolean!
  "동의 일시"
  createdAt: DateTime!
}

"프로모션 중단 성공 응답"
type TerminatePromotionPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

type TestWebhookPayload {
  requestBody: String!
  responseBody: String!
  responseStatusCode: Int!
}

"일괄지급 정산 건 토글 결과"
type TogglePlatformBulkPayoutPartnerSettlementsPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"웹훅 시크릿이 최대 갯수에 도달하여 추가 발급에 실패한 경우"
type TooManyWebhookSecretsError implements Error {
  message: String
}

"인증 정보가 올바르지 않은 경우"
type UnauthorizedError implements Error {
  message: String
}

"연동 사업자 정보 수정 응답"
type UpdateB2bMemberCompanyPayload {
  "연동 사업자 정보"
  memberCompany: B2bMemberCompany!
}

"세금계산서 임시저장 수정 응답"
type UpdateB2bTaxInvoiceDraftPayload {
  taxInvoice: B2bTaxInvoice!
}

type UpdateChannelGroupPayload {
  channelGroup: ChannelGroup!
}

"추가 수수료 정책 업데이트 성공 응답"
type UpdatePlatformAdditionalFeePayload {
  "업데이트된 추가 수수료 정책"
  additionalFeePolicy: PlatformAdditionalFeePolicy!
}

"계약 객체 업데이트 성공 응답"
type UpdatePlatformContractPayload {
  "업데이트된 계약 객체"
  contract: PlatformContract!
}

"할인 분담 정책 업데이트 성공 응답"
type UpdatePlatformDiscountSharePayload {
  "업데이트된 할인 분담 정책"
  discountSharePolicy: PlatformDiscountSharePolicy!
}

"파트너 업데이트 성공 응답"
type UpdatePlatformPartnerPayload {
  "업데이트된 파트너"
  partner: PlatformPartner!
}

"정산내역 상태 업데이트 결과"
type UpdatePlatformPartnerSettlementStatusPayload {
  partnerSettlement: PlatformPartnerSettlement!
}

"플랫폼 업데이트 결과 정보"
type UpdatePlatformPayload {
  "업데이트된 플랫폼 정보"
  platform: Platform!
}

"지급 건 메모 업데이트 결과"
type UpdatePlatformPayoutPayload {
  payout: PlatformPayout!
}

"지급 건 일괄 업데이트 결과"
type UpdatePlatformPayoutsPayload {
  "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead."
  _: Boolean
}

"플랫폼 설정 업데이트 결과"
type UpdatePlatformSettingPayload {
  setting: PlatformSetting!
}

type UpdatePlatformSettlementParameterPayload {
  settlementParameter: PlatformSettlementParameter!
}

"사용자 정의 속성 업데이트 성공 응답"
type UpdatePlatformUserDefinedPropertyPayload {
  "업데이트 된 사용자 정의 속성"
  property: PlatformUserDefinedProperty!
}

"프로모션 그룹 업데이트 성공 응답"
type UpdatePromotionGroupPayload {
  "업데이트된 프로모션 그룹"
  promotionGroup: PromotionGroup!
}

"프로모션 업데이트 성공 응답"
type UpdatePromotionPayload {
  "업데이트된 프로모션"
  promotion: Promotion!
}

type UpdateStorePayload {
  store: Store!
}

type UpdateStoreWebhookSettingPayload {
  setting: StoreWebhookSetting!
}

"결제 예약 건이 존재하는 통화 조회 성공 응답 정보"
type UsedCurrenciesForPaymentSchedulePayload {
  items: [Currency!]!
}

"V2 API Secret 에 관한 정보"
type V2ApiSecretInfo {
  "시크릿 등록 시의 이름"
  name: String!
  "시크릿을 인증정보로 가지고 있는 유저 아이디"
  userId: String!
"""
시크릿 만료 시각

존재하지 않는 경우 무기한 시크릿입니다.
"""
  expiresAt: DateTime
  "시크릿 생성 시각"
  createdAt: DateTime!
}

type V2ApiSecretInfosPayload {
  infos: [V2ApiSecretInfo!]!
}

"요청된 시크릿이 존재하지 않는 경우"
type V2ApiSecretNotFoundError implements Error {
  message: String
}

"인증서 유효성 검증 응답 정보"
type ValidateB2bCertificatePayload {
  "인증서 유효 여부"
  isValid: Boolean!
}

"웹훅 내역이 존재하지 않는 경우"
type WebhookNotFoundError implements Error {
  message: String
}

type WebhookSecretInfo {
  secret: String!
  createdAt: DateTime!
}

"만료하고자 하는 웹훅 시크릿을 찾을 수 없는 경우"
type WebhookSecretNotFoundError implements Error {
  message: String
}

"테스트 웹훅 발송이 실패한 경우"
type WebhookTestFailedError implements Error {
  message: String
}
