← back to NationalPaperHangers
scripts/stripe-webhook-test.js
30 lines
#!/usr/bin/env node
const path = require('node:path');
require('dotenv').config({ path: path.resolve(__dirname, '..', '.env') });
const Stripe = require('stripe');
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY, { apiVersion: '2024-10-28.acacia' });
const urls = [
'https://nationalpaperhangers.com/webhooks/stripe',
'https://nationalpaperhangers.com/webhooks/stripe/',
'https://www.nationalpaperhangers.com/webhooks/stripe',
'https://nationalpaperhangers.com/api/stripe/webhook'
];
(async () => {
for (const url of urls) {
try {
const ep = await stripe.webhookEndpoints.create({
url,
enabled_events: ['payment_intent.succeeded','payment_intent.payment_failed','payment_intent.canceled','checkout.session.completed','customer.subscription.created','customer.subscription.updated','customer.subscription.deleted','invoice.payment_succeeded','invoice.payment_failed','account.updated'],
metadata: { project: 'national-paper-hangers' }
});
console.log('OK ', url, '→', ep.id);
await stripe.webhookEndpoints.del(ep.id);
console.log(' cleaned up');
} catch (e) {
console.log('FAIL', url, '→', e.message.slice(0, 150));
}
}
})();