I have been following a tutorial to secure my stripe webhooks in nextjs. It recommends to use the npm package micro:
import { buffer } from "micro";
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY, {
apiVersion: "2020-08-27",
});
const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET;
const handler = async (req, res) => {
if (req.method === "POST") {
const buf = await buffer(req);
const sig = req.headers["stripe-signature"];
let event;
try {
event = stripe.webhooks.constructEvent(buf, sig, webhookSecret);
} catch (err) {
res.status(400).send(`Webhook Error: ${err.message}`);
return;
}
Micro is by the people at Vercel. I am using Next.js + Vercel and when I check out micros npm page, it says:
Disclaimer: Micro was created for use within containers and is not intended for use in serverless environments. For those using Vercel, this means that there is no requirement to use Micro in your projects as the benefits it provides are not applicable to the platform. Utility features provided by Micro, such as json, are readily available in the form of Serverless Function helpers.
However, I can't find the buffer function, that I am using in this example. Any ideas what i would have to do here?