mustQueryOutcomeBeforeRetry — @gj-kit/toss-payments
@gj-kit/toss-payments/server에서 공개하는 function입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { mustQueryOutcomeBeforeRetry } from '@gj-kit/toss-payments/server';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * `true` when the caller must look the payment/billing outcome up before retrying or failing * the operation, because the provider may have completed it: * * - every `TransportFailure` (`NETWORK_ERROR` / `TIMEOUT`) — the request may have reached Toss * and the response was lost; * - every `TossApiFailure` whose `code` is in {@link OUTCOME_QUERY_FIRST_ERROR_CODES}. * * Decided by `source` and `code` only — never by HTTP status (`PROVIDER_ERROR` is a 400 that * belongs here; `REFUND_REJECTED` is a 400 that does not). `false` means the error is a * definitive refusal as far as the library can tell; unregistered codes return `false`. * * The lookup itself stays with the caller: for confirm use `resolveConfirmFailure`, for cancel * and billing approve re-fetch the payment by orderId and compare against your ledger. Note the * two CONCURRENCY codes are special among the `true` cases: the *original* request may still be * running, so a lookup that finds nothing (`NOT_FOUND_PAYMENT`) does **not** prove it never * happened — replay the same key after a delay instead of minting a new attempt. */declare function mustQueryOutcomeBeforeRetry(failure: TossApiFailure | TransportFailure): boolean;이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/toss-payments - 버전:
0.6.1 - 공개 entry:
./server - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”true when the caller must look the payment/billing outcome up before retrying or failing
the operation, because the provider may have completed it:
- every
TransportFailure(NETWORK_ERROR/TIMEOUT) — the request may have reached Toss and the response was lost; - every
TossApiFailurewhosecodeis in {@link OUTCOME_QUERY_FIRST_ERROR_CODES}.
Decided by source and code only — never by HTTP status (PROVIDER_ERROR is a 400 that
belongs here; REFUND_REJECTED is a 400 that does not). false means the error is a
definitive refusal as far as the library can tell; unregistered codes return false.
The lookup itself stays with the caller: for confirm use resolveConfirmFailure, for cancel
and billing approve re-fetch the payment by orderId and compare against your ledger. Note the
two CONCURRENCY codes are special among the true cases: the original request may still be
running, so a lookup that finds nothing (NOT_FOUND_PAYMENT) does not prove it never
happened — replay the same key after a delay instead of minting a new attempt.