콘텐츠로 이동

FetchHandlerOptions — @gj-kit/toss-payments

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

import { FetchHandlerOptions } from '@gj-kit/toss-payments/webhook';
/**
* 프레임워크 어댑터 — fetchHandler(Next.js Route Handler / Hono) + nodeHandler(Express).
*
* raw body 보존·검증·dedupe·처리 claim 수명주기를 라이브러리가 소유한다.
* 검증 거부는 400, body 상한 초과는 413, store 장애와 이미 처리 중인 전달은 503으로 재전송을 유도한다.
* duplicate는 정상 200 ack — 400을 돌려주면 3일 19시간 재전송 폭탄을 맞는다.
*/
interface FetchHandlerOptions {
/**
* 수신 raw body의 최대 바이트 수. 기본 256 KiB.
*
* Content-Length가 이 값을 넘으면 body를 읽기 전에 413을 반환하고, 길이 헤더가
* 없거나 거짓이어도 스트림을 이 값까지만 누적한다. webhook payload는 작아야 하므로
* 앱의 reverse proxy/body-parser 제한과 같은 값으로 맞추는 것을 권장한다.
*/
readonly maxBodyBytes?: number;
/**
* 신뢰할 수 있는 런타임/ingress 메타데이터에서 원본 클라이언트 IP를 추출한다.
* X-Forwarded-For를 무조건 믿지 말고, 해당 ingress가 재작성한 값만 사용할 것.
*/
readonly sourceIp?: (request: Request) => string | null | undefined;
}

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

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

프레임워크 어댑터 — fetchHandler(Next.js Route Handler / Hono) + nodeHandler(Express).

raw body 보존·검증·dedupe·처리 claim 수명주기를 라이브러리가 소유한다. 검증 거부는 400, body 상한 초과는 413, store 장애와 이미 처리 중인 전달은 503으로 재전송을 유도한다. duplicate는 정상 200 ack — 400을 돌려주면 3일 19시간 재전송 폭탄을 맞는다.