Skip to main content
All webhooks sent by Finogates are signed using HMAC-SHA256.
You must verify this signature to confirm that the request:
  • Originated from Finogates
  • Was not modified in transit
  • Is not a replayed request

Required Headers

Every Finogates webhook request includes the following headers:

Example


Obtaining Your Webhook Secret

Navigate to the Developer Panel to obtain your secret key for verifying webhook signatures.

Signature Construction

Finogates signs the webhook payload using the following steps:

1. Build the Signed Payload

  • timestamp → Unix timestamp (seconds)
  • raw_request_body → Exact raw body bytes (no formatting changes)

2. Generate HMAC

  • secret → Your webhook signing secret
  • Output → Hex-encoded SHA-256 digest

Verification Steps

Your webhook handler must:
  1. Read the raw request body
  2. Parse t and v1 from Finogates-Signature
  3. Reject requests older than your allowed time window (recommended: 5 minutes)
  4. Recompute the HMAC signature
  5. Compare using a constant-time comparison
  6. Respond with 200 OK only if verification succeeds

Signature Verification Examples


Security Recommendations

  • Always read the raw request body (do not re-serialize JSON)
  • Enforce a timestamp tolerance window (recommended: 5 minutes)
  • Store your webhook secret securely
  • Reject requests with missing or malformed headers
  • Respond with 200 OK only after successful verification

Need help? Contact support@finogates.com