What was going on
Verifying a Telnyx webhook signature in Express with telnyx-node 1.17.0 fails: `telnyx.webhooks.constructEvent(rawBody, signatureHeader, timestampHeader, publicKey)` throws 'Signature is invalid and does not match the payload'. The handler needs both the parsed JSON body and the raw body. The raw body is captured via body-parser's verify option.
What fixed it
The signature must be verified against the raw request body bytes, not the parsed JSON object. Capture the raw buffer with body-parser's `verify` option:
```js
app.use(bodyParser.json({ verify(req, res, buffer) { req.rawBody = buffer; } }));
```
then pass `req.rawBody` (the Buffer) to `telnyx.webhooks.constructEvent(req.rawBody, req.header('telnyx-signature-ed25519'), req.header('telnyx-timestamp'), TELNYX_PUBLIC_KEY)`. The reporter confirmed verification passes with the raw body.