19 lines
757 B
TypeScript
19 lines
757 B
TypeScript
import express, { Router } from 'express';
|
|
import { StripeController } from '../controllers/stripe.controller';
|
|
import { validateSubscription } from '../middleware/validation';
|
|
|
|
const router = Router();
|
|
|
|
// Test route
|
|
router.post('/test/create-subscription', StripeController.createTestSubscription);
|
|
|
|
// Subscription routes
|
|
router.post('/subscriptions/checkout', validateSubscription, StripeController.createCheckoutSession);
|
|
router.get('/subscriptions/:id', StripeController.getSubscription);
|
|
router.post('/subscriptions/:id/portal', StripeController.createPortalSession);
|
|
|
|
// Webhook route (requires raw body)
|
|
router.post('/webhooks/stripe', express.raw({ type: 'application/json' }), StripeController.handleWebhook);
|
|
|
|
export { router as stripeRoutes };
|