PaymentStateInput — @gj-kit/toss-payments
@gj-kit/toss-payments에서 공개하는 type입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { PaymentStateInput } from '@gj-kit/toss-payments';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * The minimal structural input {@link summarizePaymentState} actually reads — exactly these * eight fields, nothing else (verified against the implementation: the lifecycle, amount and * consistency judgments consume `status`/`totalAmount`/`balanceAmount`/`lastTransactionKey`/ * `isPartialCancelable`/`cancels`, and the snapshot carries `paymentKey`/`orderId`). * * A full `Payment` is always assignable — including a fresh inline object literal: * {@link summarizePaymentState} is typed `PaymentStateInput | Payment`, and the `Payment` * union member exists solely so TypeScript's excess-property check accepts literals that * spell out non-Pick `Payment` fields (`version`, `requestedAt`, …). Existing call sites * compile unchanged. The point of the reduced shape is the opposite direction: an app-owned * payment view that stripped `raw`/`secret`/card details can still produce a snapshot, * **provided its eight fields are faithful copies of a real Payment response**. Do not fabricate `lastTransactionKey`, * `isPartialCancelable` or `cancels` to satisfy the type — the consistency and * cancelability judgments would then describe your fabrication, not the provider state. */type PaymentStateInput = Pick<Payment, "paymentKey" | "orderId" | "status" | "totalAmount" | "balanceAmount" | "lastTransactionKey" | "isPartialCancelable" | "cancels">;이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/toss-payments - 버전:
0.6.1 - 공개 entry:
. - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”The minimal structural input {@link summarizePaymentState} actually reads — exactly these
eight fields, nothing else (verified against the implementation: the lifecycle, amount and
consistency judgments consume status/totalAmount/balanceAmount/lastTransactionKey/
isPartialCancelable/cancels, and the snapshot carries paymentKey/orderId).
A full Payment is always assignable — including a fresh inline object literal:
{@link summarizePaymentState} is typed PaymentStateInput | Payment, and the Payment
union member exists solely so TypeScript’s excess-property check accepts literals that
spell out non-Pick Payment fields (version, requestedAt, …). Existing call sites
compile unchanged. The point of the reduced shape is the opposite direction: an app-owned
payment view that stripped raw/secret/card details can still produce a snapshot,
provided its eight fields are faithful copies of a real Payment response. Do not fabricate lastTransactionKey,
isPartialCancelable or cancels to satisfy the type — the consistency and
cancelability judgments would then describe your fabrication, not the provider state.