Verifies Synctera webhook deliveries, signed with HMAC-SHA256 over
"#{timestamp}.#{body}" (docs: Webhooks guide). Supports two signatures
during secret rotation and a configurable replay window.
Summary
Functions
Non-raising, non-error-tuple convenience wrapper: returns a plain boolean.
Verifies a webhook delivery. Returns :ok or {:error, %Synctera.WebhookSignatureError{}}.
Like verify/1 but raises Synctera.WebhookSignatureError on failure.
Types
Functions
@spec valid?(verify_opts()) :: boolean()
Non-raising, non-error-tuple convenience wrapper: returns a plain boolean.
@spec verify(verify_opts()) :: :ok | {:error, Synctera.WebhookSignatureError.t()}
Verifies a webhook delivery. Returns :ok or {:error, %Synctera.WebhookSignatureError{}}.
payload must be the raw request body exactly as received — do not decode
it before verifying.
@spec verify!(verify_opts()) :: :ok
Like verify/1 but raises Synctera.WebhookSignatureError on failure.