Skip to content

PaymentBase — @gj-kit/toss-payments

A public interface from @gj-kit/toss-payments/server. The signature below is taken directly from the 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;
}

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/toss-payments
  • Version: 0.6.1
  • Public entry: ./server
  • Source: GitHub