POST to the callback_url you set when
opening the session.
The payload
Respond with any
2xx to acknowledge. If your endpoint is unreachable, use
polling as a fallback.
Verify the signature
Every callback carries a signature header:HMAC_SHA256(signing_secret, "{t}.{rawBody}") over the raw request body and compare
it to v1 in constant time. Reject the request if it doesn’t match or if t is more than a few
minutes old (replay protection).
Treat
above_age_required as authoritative only after the signature checks pass. Never trust a
callback whose signature you couldn’t verify.