hooksig

hooksig  /  Cashfree

HMAC-SHA256 · base64 · timestamped

Cashfree

India's other big gateway, with a timestamp folded straight in front of the body before hashing.

Try it, live in your browser

HMAC-SHA256 · base64 · timestamped
Request: edit anything
Verify this in code
import { verify } from "hooksig";

const result = await verify("cashfree", {
  payload: rawBody,            // the RAW body, not parsed JSON
  headers: request.headers,
  secret: env.WEBHOOK_SECRET,
});

if (!result.verified) {
  return new Response(result.reason, { status: 400 });
}
no match: signature invalid
Signed string
HMAC-SHA256( secret, signed string ) = expected
Expected vs provided
expected
provided
How it's built

    The scheme

    Gotchas

    Official Cashfree docs →