All webhooks sent by Finogates are signed using HMAC-SHA256.Documentation Index
Fetch the complete documentation index at: https://developer.finogates.com/llms.txt
Use this file to discover all available pages before exploring further.
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:| Header | Description |
|---|---|
Finogates-Signature | Signature header in the format t=timestamp,v1=signature |
Finogates-Signature-Version | Signature version (currently 1) |
Content-Type | application/json |
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:- Read the raw request body
- Parse
tandv1fromFinogates-Signature - Reject requests older than your allowed time window (recommended: 5 minutes)
- Recompute the HMAC signature
- Compare using a constant-time comparison
- Respond with
200 OKonly 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 OKonly after successful verification
Need help? Contact support@finogates.com

