cre-sync/lib/stripe/client.ts
BusyBee3333 4e6467ffb0 Add CRESync CRM application with Setup page
- Build complete Next.js CRM for commercial real estate
- Add authentication with JWT sessions and role-based access
- Add GoHighLevel API integration for contacts, conversations, opportunities
- Add AI-powered Control Center with tool calling
- Add Setup page with onboarding checklist (/setup)
- Add sidebar navigation with Setup menu item
- Fix type errors in onboarding API, GHL services, and control center tools
- Add Prisma schema with SQLite for local development
- Add UI components with clay morphism design system

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 17:30:55 -05:00

25 lines
616 B
TypeScript

import Stripe from 'stripe';
import { settingsService } from '@/lib/settings/settings-service';
let stripeInstance: Stripe | null = null;
export async function getStripeClient(): Promise<Stripe> {
if (stripeInstance) return stripeInstance;
const settings = await settingsService.getAll();
if (!settings.stripeSecretKey) {
throw new Error('Stripe secret key not configured');
}
stripeInstance = new Stripe(settings.stripeSecretKey, {
apiVersion: '2025-12-15.clover',
typescript: true,
});
return stripeInstance;
}
export function resetStripeClient(): void {
stripeInstance = null;
}