콘텐츠로 이동

PaymentBase — @gj-kit/toss-payments

@gj-kit/toss-payments/server에서 공개하는 interface입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.

import { PaymentBase } from '@gj-kit/toss-payments/server';
interface PaymentBase {
/** API 버전 — CalVer 날짜 문자열. */
readonly version: string;
readonly paymentKey: PaymentKey;
readonly type: 'NORMAL' | 'BILLING' | 'BRANDPAY';
readonly orderId: OrderId;
readonly orderName: string;
readonly mId: string;
readonly currency: 'KRW' | 'USD' | 'JPY';
readonly totalAmount: number;
/** '취소할 수 있는 금액(잔고)' — 완전 취소 판정의 유일한 근거 (status 아님 — Phase 0 실측). */
readonly balanceAmount: number;
readonly status: PaymentStatus;
readonly requestedAt: string;
readonly approvedAt: string | null;
readonly useEscrow: boolean;
readonly lastTransactionKey: string | null;
readonly suppliedAmount: number;
readonly vat: number;
/** 문화비(도서·공연비 등) 지출 여부 — 리서치 문서 Payment 필드 목록에 포함 확인. */
readonly cultureExpense: boolean;
readonly taxFreeAmount: number;
readonly taxExemptionAmount: number;
readonly cancels: readonly CancelTransaction[] | null;
readonly isPartialCancelable: boolean;
/** 가상계좌 웹훅(DEPOSIT_CALLBACK) 검증용 — 승인 시 저장 필수. */
readonly secret: string | null;
readonly metadata: Readonly<Record<string, string>> | null;
readonly receipt: {
readonly url: string;
} | null;
readonly checkout: {
readonly url: string;
} | null;
readonly country: string;
readonly failure: {
readonly code: string;
readonly message: string;
} | null;
/** 응답 원문 — 타입에 없는 필드(cashReceipt/cashReceipts/discount 등)의 탈출구. */
readonly raw: unknown;
}

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/toss-payments
  • 버전: 0.6.1
  • 공개 entry: ./server
  • 소스: GitHub