@portone/server-sdk
Version:
PortOne JavaScript SDK for server-side usage
367 lines (366 loc) • 23.4 kB
TypeScript
import { TransferError } from "./TransferError.js";
import type { Unrecognized } from "./../../../utils/unrecognized.js";
import { type PortOneClientInit } from "../../../client.js";
import type { CreateManualTransferResponse } from "../../../generated/platform/transfer/CreateManualTransferResponse.js";
import type { CreateOrderCancelTransferResponse } from "../../../generated/platform/transfer/CreateOrderCancelTransferResponse.js";
import type { CreateOrderTransferResponse } from "../../../generated/platform/transfer/CreateOrderTransferResponse.js";
import type { CreatePlatformOrderCancelTransferBodyDiscount } from "../../../generated/platform/transfer/CreatePlatformOrderCancelTransferBodyDiscount.js";
import type { CreatePlatformOrderCancelTransferBodyExternalCancellationDetail } from "../../../generated/platform/transfer/CreatePlatformOrderCancelTransferBodyExternalCancellationDetail.js";
import type { CreatePlatformOrderCancelTransferBodyOrderDetail } from "../../../generated/platform/transfer/CreatePlatformOrderCancelTransferBodyOrderDetail.js";
import type { CreatePlatformOrderTransferBodyAdditionalFee } from "../../../generated/platform/transfer/CreatePlatformOrderTransferBodyAdditionalFee.js";
import type { CreatePlatformOrderTransferBodyDiscount } from "../../../generated/platform/transfer/CreatePlatformOrderTransferBodyDiscount.js";
import type { CreatePlatformOrderTransferBodyExternalPaymentDetail } from "../../../generated/platform/transfer/CreatePlatformOrderTransferBodyExternalPaymentDetail.js";
import type { CreatePlatformOrderTransferBodyOrderDetail } from "../../../generated/platform/transfer/CreatePlatformOrderTransferBodyOrderDetail.js";
import type { DeletePlatformTransferResponse } from "../../../generated/platform/transfer/DeletePlatformTransferResponse.js";
import type { ForbiddenError } from "../../../generated/common/ForbiddenError.js";
import type { GetPlatformTransferSummariesResponse } from "../../../generated/platform/transfer/GetPlatformTransferSummariesResponse.js";
import type { InvalidRequestError } from "../../../generated/common/InvalidRequestError.js";
import type { PageInput } from "../../../generated/common/PageInput.js";
import type { PlatformAdditionalFeePoliciesNotFoundError } from "../../../generated/platform/transfer/PlatformAdditionalFeePoliciesNotFoundError.js";
import type { PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError } from "../../../generated/platform/transfer/PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError.js";
import type { PlatformCancelOrderTransfersExistsError } from "../../../generated/platform/transfer/PlatformCancelOrderTransfersExistsError.js";
import type { PlatformCancellableAmountExceededError } from "../../../generated/platform/transfer/PlatformCancellableAmountExceededError.js";
import type { PlatformCancellableDiscountAmountExceededError } from "../../../generated/platform/transfer/PlatformCancellableDiscountAmountExceededError.js";
import type { PlatformCancellableDiscountTaxFreeAmountExceededError } from "../../../generated/platform/transfer/PlatformCancellableDiscountTaxFreeAmountExceededError.js";
import type { PlatformCancellableProductQuantityExceededError } from "../../../generated/platform/transfer/PlatformCancellableProductQuantityExceededError.js";
import type { PlatformCancellationAndPaymentTypeMismatchedError } from "../../../generated/platform/transfer/PlatformCancellationAndPaymentTypeMismatchedError.js";
import type { PlatformCancellationNotFoundError } from "../../../generated/platform/transfer/PlatformCancellationNotFoundError.js";
import type { PlatformCannotSpecifyTransferError } from "../../../generated/platform/transfer/PlatformCannotSpecifyTransferError.js";
import type { PlatformContractNotFoundError } from "../../../generated/platform/PlatformContractNotFoundError.js";
import type { PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError } from "../../../generated/platform/transfer/PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError.js";
import type { PlatformCurrencyNotSupportedError } from "../../../generated/platform/PlatformCurrencyNotSupportedError.js";
import type { PlatformDiscountSharePoliciesNotFoundError } from "../../../generated/platform/transfer/PlatformDiscountSharePoliciesNotFoundError.js";
import type { PlatformDiscountSharePolicyIdDuplicatedError } from "../../../generated/platform/transfer/PlatformDiscountSharePolicyIdDuplicatedError.js";
import type { PlatformNotEnabledError } from "../../../generated/platform/PlatformNotEnabledError.js";
import type { PlatformOrderDetailMismatchedError } from "../../../generated/platform/transfer/PlatformOrderDetailMismatchedError.js";
import type { PlatformOrderTransferAlreadyCancelledError } from "../../../generated/platform/transfer/PlatformOrderTransferAlreadyCancelledError.js";
import type { PlatformPartnerNotFoundError } from "../../../generated/platform/PlatformPartnerNotFoundError.js";
import type { PlatformPaymentNotFoundError } from "../../../generated/platform/transfer/PlatformPaymentNotFoundError.js";
import type { PlatformProductIdDuplicatedError } from "../../../generated/platform/transfer/PlatformProductIdDuplicatedError.js";
import type { PlatformProductIdNotFoundError } from "../../../generated/platform/transfer/PlatformProductIdNotFoundError.js";
import type { PlatformSettlementAmountExceededError } from "../../../generated/platform/transfer/PlatformSettlementAmountExceededError.js";
import type { PlatformSettlementCancelAmountExceededPortOneCancelError } from "../../../generated/platform/transfer/PlatformSettlementCancelAmountExceededPortOneCancelError.js";
import type { PlatformSettlementDateEarlierThanSettlementStartDateError } from "../../../generated/platform/transfer/PlatformSettlementDateEarlierThanSettlementStartDateError.js";
import type { PlatformSettlementParameterNotFoundError } from "../../../generated/platform/transfer/PlatformSettlementParameterNotFoundError.js";
import type { PlatformSettlementPaymentAmountExceededPortOnePaymentError } from "../../../generated/platform/transfer/PlatformSettlementPaymentAmountExceededPortOnePaymentError.js";
import type { PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError } from "../../../generated/platform/transfer/PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError.js";
import type { PlatformSettlementTaxFreeAmountExceededPortOnePaymentError } from "../../../generated/platform/transfer/PlatformSettlementTaxFreeAmountExceededPortOnePaymentError.js";
import type { PlatformTransfer } from "../../../generated/platform/transfer/PlatformTransfer.js";
import type { PlatformTransferAlreadyExistsError } from "../../../generated/platform/transfer/PlatformTransferAlreadyExistsError.js";
import type { PlatformTransferDiscountSharePolicyNotFoundError } from "../../../generated/platform/transfer/PlatformTransferDiscountSharePolicyNotFoundError.js";
import type { PlatformTransferFilterInput } from "../../../generated/platform/transfer/PlatformTransferFilterInput.js";
import type { PlatformTransferNonDeletableStatusError } from "../../../generated/platform/transfer/PlatformTransferNonDeletableStatusError.js";
import type { PlatformTransferNotFoundError } from "../../../generated/platform/transfer/PlatformTransferNotFoundError.js";
import type { PlatformUserDefinedPropertyKeyValue } from "../../../generated/platform/transfer/PlatformUserDefinedPropertyKeyValue.js";
import type { PlatformUserDefinedPropertyNotFoundError } from "../../../generated/platform/PlatformUserDefinedPropertyNotFoundError.js";
import type { TransferParameters } from "../../../generated/platform/transfer/TransferParameters.js";
import type { UnauthorizedError } from "../../../generated/common/UnauthorizedError.js";
/**
* 포트원 API 클라이언트를 생성합니다.
*/
export declare function TransferClient(init: PortOneClientInit): TransferClient;
export type TransferClient = {
/**
* 정산 상세 내역 다운로드
*
* 정산 상세 내역을 csv 파일로 다운로드 합니다.
*
* @throws {@link DownloadPlatformTransferSheetError}
*/
downloadPlatformTransferSheet: (options?: {
/**
* 컬럼 키 목록
*
* - TRANSFER_MEMO: 메모
* - TRANSFER_TYPE: 정산 유형
* - TRANSFER_STATUS: 상태
* - TRANSFER_ID: 정산 아이디
* - TRANSFER_SETTLEMENT_DATE: 정산일
* - TRANSFER_SETTLEMENT_AMOUNT: 정산 금액
* - TRANSFER_SETTLEMENT_TAX_FREE_AMOUNT: 정산 면세액
* - TRANSFER_SETTLEMENT_CURRENCY: 정산 통화
* - TRANSFER_SETTLEMENT_START_DATE: 정산 시작일
* - TRANSFER_ORDER_NAME: 주문명
* - TRANSFER_ORDER_AMOUNT: 주문 금액
* - TRANSFER_ORDER_TAX_FREE_AMOUNT: 주문 면세액
* - TRANSFER_PAYMENT_ID: 주문 번호
* - TRANSFER_PAYMENT_METHOD: 결제 수단
* - TRANSFER_PAYMENT_AMOUNT: 결제 금액
* - TRANSFER_PAYMENT_SUPPLY_AMOUNT: 결제 공급가액
* - TRANSFER_PAYMENT_VAT_AMOUNT: 결제 부가세액
* - TRANSFER_PAYMENT_TAX_FREE_AMOUNT: 결제 면세액
* - TRANSFER_PAYMENT_VAT_BURDEN_AMOUNT: 결제 부가세 부담금
* - TRANSFER_PLATFORM_FEE: 중개수수료
* - TRANSFER_PLATFORM_FEE_VAT: 중개수수료 부가세 부담금
* - TRANSFER_DISCOUNT_AMOUNT: 할인 금액
* - TRANSFER_DISCOUNT_TAX_FREE_AMOUNT: 할인 면세액
* - TRANSFER_DISCOUNT_SHARE_AMOUNT: 할인 분담금
* - TRANSFER_DISCOUNT_SHARE_TAX_FREE_AMOUNT: 할인 면세 분담금
* - TRANSFER_ADDITIONAL_FEE: 추가수수료
* - TRANSFER_ADDITIONAL_FEE_VAT: 추가수수료 부가세 부담금
* - TRANSFER_{UserDefinedProperty.Key}
* - FORMULA_{UserDefinedFormula.Key}
* - PARTNER_* : 파트너 컬럼 키 사용 가능(w/o PARTNER_STATUS_UPDATED_AT)
*/
filter?: PlatformTransferFilterInput;
fields?: string[];
}) => Promise<string>;
/**
* 정산건 다건 조회
*
* 성공 응답으로 조회된 정산건 요약 리스트와 페이지 정보가 반환됩니다.
*
* @throws {@link GetPlatformTransferSummariesError}
*/
getPlatformTransferSummaries: (options?: {
/** 요청할 페이지 정보 */
page?: PageInput;
/** 조회할 정산건 조건 필터 */
filter?: PlatformTransferFilterInput;
}) => Promise<GetPlatformTransferSummariesResponse>;
/**
* 수기 정산건 생성
*
* 성공 응답으로 생성된 수기 정산건 객체가 반환됩니다.
*
* @throws {@link CreatePlatformManualTransferError}
*/
createPlatformManualTransfer: (options: {
/** 파트너 아이디 */
partnerId: string;
/** 메모 */
memo?: string;
/**
* 정산 금액
* (int64)
*/
settlementAmount: number;
/**
* 정산 면세 금액
* (int64)
*/
settlementTaxFreeAmount?: number;
/**
* 정산 일
*
* 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.
* (yyyy-MM-dd)
*/
settlementDate: string;
/**
* 테스트 모드 여부
*
* 기본값은 false 입니다.
*/
isForTest?: boolean;
/** 사용자 정의 속성 */
userDefinedProperties?: PlatformUserDefinedPropertyKeyValue[];
}) => Promise<CreateManualTransferResponse>;
/**
* 주문 정산건 생성
*
* 성공 응답으로 생성된 주문 정산건 객체가 반환됩니다.
*
* @throws {@link CreatePlatformOrderTransferError}
*/
createPlatformOrderTransfer: (options: {
/** 파트너 아이디 */
partnerId: string;
/**
* 계약 아이디
*
* 기본값은 파트너의 기본 계약 아이디 입니다.
*/
contractId?: string;
/** 메모 */
memo?: string;
/** 결제 아이디 */
paymentId: string;
/** 주문 정보 */
orderDetail: CreatePlatformOrderTransferBodyOrderDetail;
/**
* 주문 면세 금액
*
* 주문 항목과 면세 금액을 같이 전달하시면 최종 면세 금액은 주문 항목의 면세 금액이 아닌 전달해주신 면세 금액으로 적용됩니다.
* (int64)
*/
taxFreeAmount?: number;
/**
* 정산 시작일
*
* 기본값은 결제 일시 입니다.
* (yyyy-MM-dd)
*/
settlementStartDate?: string;
/**
* 정산일
*
* 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.
* (yyyy-MM-dd)
*/
settlementDate?: string;
/** 할인 정보 */
discounts: CreatePlatformOrderTransferBodyDiscount[];
/** 추가 수수료 정보 */
additionalFees: CreatePlatformOrderTransferBodyAdditionalFee[];
/**
* 외부 결제 상세 정보
*
* 해당 정보가 존재하는 경우 외부 결제 정산건 으로 등록되고, 존재하지않은 경우 포트원 결제 정산건으로 등록됩니다.
*/
externalPaymentDetail?: CreatePlatformOrderTransferBodyExternalPaymentDetail;
/**
* 테스트 모드 여부
*
* 기본값은 false 입니다.
*/
isForTest?: boolean;
/** 정산 파라미터 (실험기능) */
parameters?: TransferParameters;
/** 사용자 정의 속성 */
userDefinedProperties?: PlatformUserDefinedPropertyKeyValue[];
}) => Promise<CreateOrderTransferResponse>;
/**
* 주문 취소 정산건 생성
*
* 성공 응답으로 생성된 주문 취소 정산건 객체가 반환됩니다.
*
* @throws {@link CreatePlatformOrderCancelTransferError}
*/
createPlatformOrderCancelTransfer: (options: {
/** 파트너 아이디 */
partnerId?: string;
/** 결제 아이디 */
paymentId?: string;
/** 정산건 아이디 */
transferId?: string;
/** 취소 내역 아이디 */
cancellationId: string;
/** 메모 */
memo?: string;
/** 주문 취소 정보 */
orderDetail?: CreatePlatformOrderCancelTransferBodyOrderDetail;
/**
* 주문 취소 면세 금액
*
* 주문 취소 항목과 취소 면세 금액을 같이 전달하시면 최종 취소 면세 금액은 주문 취소 항목의 면세 금액이 아닌 전달해주신 취소 면세 금액으로 적용됩니다.
* (int64)
*/
taxFreeAmount?: number;
/** 할인 정보 */
discounts: CreatePlatformOrderCancelTransferBodyDiscount[];
/**
* 정산 시작일
*
* 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.
* (yyyy-MM-dd)
*/
settlementStartDate?: string;
/**
* 정산일
*
* 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다.
* (yyyy-MM-dd)
*/
settlementDate?: string;
/**
* 외부 결제 상세 정보
*
* 해당 정보가 존재하는 경우 외부 결제 취소 정산건으로 등록되고, 존재하지않은 경우 포트원 결제 취소 정산건으로 등록됩니다.
*/
externalCancellationDetail?: CreatePlatformOrderCancelTransferBodyExternalCancellationDetail;
/**
* 테스트 모드 여부
*
* 기본값은 false 입니다.
*/
isForTest?: boolean;
/** 사용자 정의 속성 */
userDefinedProperties?: PlatformUserDefinedPropertyKeyValue[];
}) => Promise<CreateOrderCancelTransferResponse>;
/**
* 정산건 조회
*
* 정산건을 조회합니다.
*
* @throws {@link GetPlatformTransferError}
*/
getPlatformTransfer: (options: {
/** 조회하고 싶은 정산건 아이디 */
id: string;
}) => Promise<PlatformTransfer>;
/**
* 정산건 삭제
*
* scheduled, in_process 상태의 정산건만 삭제가능합니다.
*
* @throws {@link DeletePlatformTransferError}
*/
deletePlatformTransfer: (options: {
/** 정산건 아이디 */
id: string;
}) => Promise<DeletePlatformTransferResponse>;
};
export declare class DownloadPlatformTransferSheetError extends TransferError {
readonly data: InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetPlatformTransferSummariesError extends TransferError {
readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class CreatePlatformManualTransferError extends TransferError {
readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformPartnerNotFoundError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformPartnerNotFoundError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class CreatePlatformOrderTransferError extends TransferError {
readonly data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePoliciesNotFoundError | PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError | PlatformContractNotFoundError | PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError | PlatformCurrencyNotSupportedError | PlatformDiscountSharePoliciesNotFoundError | PlatformNotEnabledError | PlatformPartnerNotFoundError | PlatformPaymentNotFoundError | PlatformProductIdDuplicatedError | PlatformSettlementAmountExceededError | PlatformSettlementDateEarlierThanSettlementStartDateError | PlatformSettlementParameterNotFoundError | PlatformSettlementPaymentAmountExceededPortOnePaymentError | PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError | PlatformSettlementTaxFreeAmountExceededPortOnePaymentError | PlatformTransferAlreadyExistsError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePoliciesNotFoundError | PlatformAdditionalFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError | PlatformContractNotFoundError | PlatformContractPlatformFixedAmountFeeCurrencyAndSettlementCurrencyMismatchedError | PlatformCurrencyNotSupportedError | PlatformDiscountSharePoliciesNotFoundError | PlatformNotEnabledError | PlatformPartnerNotFoundError | PlatformPaymentNotFoundError | PlatformProductIdDuplicatedError | PlatformSettlementAmountExceededError | PlatformSettlementDateEarlierThanSettlementStartDateError | PlatformSettlementParameterNotFoundError | PlatformSettlementPaymentAmountExceededPortOnePaymentError | PlatformSettlementSupplyWithVatAmountExceededPortOnePaymentError | PlatformSettlementTaxFreeAmountExceededPortOnePaymentError | PlatformTransferAlreadyExistsError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class CreatePlatformOrderCancelTransferError extends TransferError {
readonly data: ForbiddenError | InvalidRequestError | PlatformCancellableAmountExceededError | PlatformCancellableDiscountAmountExceededError | PlatformCancellableDiscountTaxFreeAmountExceededError | PlatformCancellableProductQuantityExceededError | PlatformCancellationAndPaymentTypeMismatchedError | PlatformCancellationNotFoundError | PlatformCannotSpecifyTransferError | PlatformDiscountSharePolicyIdDuplicatedError | PlatformNotEnabledError | PlatformOrderDetailMismatchedError | PlatformOrderTransferAlreadyCancelledError | PlatformPaymentNotFoundError | PlatformProductIdDuplicatedError | PlatformProductIdNotFoundError | PlatformSettlementAmountExceededError | PlatformSettlementCancelAmountExceededPortOneCancelError | PlatformSettlementDateEarlierThanSettlementStartDateError | PlatformTransferAlreadyExistsError | PlatformTransferDiscountSharePolicyNotFoundError | PlatformTransferNotFoundError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: ForbiddenError | InvalidRequestError | PlatformCancellableAmountExceededError | PlatformCancellableDiscountAmountExceededError | PlatformCancellableDiscountTaxFreeAmountExceededError | PlatformCancellableProductQuantityExceededError | PlatformCancellationAndPaymentTypeMismatchedError | PlatformCancellationNotFoundError | PlatformCannotSpecifyTransferError | PlatformDiscountSharePolicyIdDuplicatedError | PlatformNotEnabledError | PlatformOrderDetailMismatchedError | PlatformOrderTransferAlreadyCancelledError | PlatformPaymentNotFoundError | PlatformProductIdDuplicatedError | PlatformProductIdNotFoundError | PlatformSettlementAmountExceededError | PlatformSettlementCancelAmountExceededPortOneCancelError | PlatformSettlementDateEarlierThanSettlementStartDateError | PlatformTransferAlreadyExistsError | PlatformTransferDiscountSharePolicyNotFoundError | PlatformTransferNotFoundError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetPlatformTransferError extends TransferError {
readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformTransferNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformTransferNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class DeletePlatformTransferError extends TransferError {
readonly data: ForbiddenError | InvalidRequestError | PlatformCancelOrderTransfersExistsError | PlatformNotEnabledError | PlatformTransferNonDeletableStatusError | PlatformTransferNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: ForbiddenError | InvalidRequestError | PlatformCancelOrderTransfersExistsError | PlatformNotEnabledError | PlatformTransferNonDeletableStatusError | PlatformTransferNotFoundError | UnauthorizedError | {
readonly type: Unrecognized;
});
}