const express = require('express');
const app = express();
const stripe = require('stripe')(sk_live_xNb9J8qjcyQUMz5rb0IKZ4Ey);
const bodyParser = require('body-parser');
const endpointSecret = whsec_U6qZgEl00zaywQgumm8HIx7CqPx3NITl;
app.post('/page/stripe-webhook-endpoint', bodyParser.raw({ type: 'application/json' }), (req, res) => {
const sig = req.headers['stripe-signature'];
let event;
try {
event = stripe.webhooks.constructEvent(req.body, sig, endpointSecret);
} catch (err) {
console.log(`Webhook Error: ${err.message}`);
return res.status(400).send(`Webhook Error: ${err.message}`);
}
if (event.type === 'checkout.session.completed') {
const session = event.data.object;
console.log('Payment complete! Session ID:', session.id);
}
res.json({ received: true });
});
app.listen(3000, () => console.log('Webhook endpoint running on port 3000'));