IDEN
Wacommerce

Verifikasi Signature

Validasi keaslian payload webhook dengan HMAC.

Setiap webhook menyertakan header signature HMAC-SHA256 dari raw body memakai signing secret Anda. Bandingkan dengan hash yang Anda hitung sendiri memakai perbandingan timing-safe.

typescriptimport crypto from "crypto";

function valid(raw: string, signature: string, secret: string) {
  const expected = crypto.createHmac("sha256", secret).update(raw).digest("hex");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}