Setup Stripe webhook

Hi,

You need to parse the Stripe webhook event as raw data. Usually, everyone have JSON parser before any router defined:

app.use(express.json());
app.use(express.urlencoded());

Express executes code from top to bottom. That means that express.json() will be called before express.raw({ type: 'application/json'}) defined in the /webhook endpoint.

So, all you have to do is to move /webhook endpoint before defining express.json() parser.

app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
   ...
});

app.use(express.json());
app.use(express.urlencoded());