import { Webhook } from "svix";
const secret = process.env.SVIX_SIGNING_SECRET; // from Svix dashboard
export async function handleWebhook(request: Request): Promise<Response> {
const wh = new Webhook(secret);
const payload = await request.text();
const headers = {
"svix-id": request.headers.get("svix-id") ?? "",
"svix-timestamp": request.headers.get("svix-timestamp") ?? "",
"svix-signature": request.headers.get("svix-signature") ?? "",
};
try {
const event = wh.verify(payload, headers);
// Process event...
return new Response("OK", { status: 200 });
} catch (err) {
return new Response("Invalid signature", { status: 400 });
}
}