signWebhookPayload — @gj-kit/toss-payments
@gj-kit/toss-payments/testing에서 공개하는 function입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { signWebhookPayload } from '@gj-kit/toss-payments/testing';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * `tosspayments-webhook-signature` 헤더 값 생성 — * HMAC-SHA256("{rawBody}:{transmissionTime}", 보안 키) → base64에 "v1:" 접두사. * * ⚠ 설계 문서(§3.6)의 동기 시그니처에서 Promise 반환으로 변형했다: 서명은 * WebCrypto(`crypto.subtle`)로만 계산하는데(플랫폼 중립 — node:crypto 금지) * subtle API가 Promise 전용이라 동기 반환이 불가능하다. */declare function signWebhookPayload(rawBody: string, transmissionTime: string, key: SecurityKey): Promise<string>;이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/toss-payments - 버전:
0.6.1 - 공개 entry:
./testing - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”tosspayments-webhook-signature 헤더 값 생성 —
HMAC-SHA256(“{rawBody}:{transmissionTime}”, 보안 키) → base64에 “v1:” 접두사.
⚠ 설계 문서(§3.6)의 동기 시그니처에서 Promise 반환으로 변형했다: 서명은
WebCrypto(crypto.subtle)로만 계산하는데(플랫폼 중립 — node:crypto 금지)
subtle API가 Promise 전용이라 동기 반환이 불가능하다.