import express from 'express';
import { createWebhookVerifier } from 'pepay';
const verifier = createWebhookVerifier({
secrets: [process.env.PEPAY_WEBHOOK_SECRET, process.env.PEPAY_WEBHOOK_SECRET_PREVIOUS].filter(Boolean),
toleranceMs: 5 * 60 * 1000
});
const app = express();
app.post('/webhooks/pepay', express.raw({ type: 'application/json' }), async (req, res) => {
const result = await verifier.verify({ rawBody: req.body, headers: req.headers });
if (!result.valid) return res.status(400).send(result.reason || 'invalid_signature');
const event = JSON.parse(req.body.toString('utf8'));
console.log(event.type, event.id);
return res.status(200).send('ok');
});