Replace SQLite-specific functions with database-agnostic expressions to support
MySQL, SQLite, PostgreSQL, and SQL Server across all Filament dashboard widgets.
- Fix strftime() date formatting in SubscriptionMetrics, RevenueMetrics, and TrialPerformance
- Fix CAST AS REAL syntax in ChurnAnalysis widget
- Add getDateFormatExpression() method for date function compatibility
- Add getCastExpression() method for CAST syntax compatibility
- Support MySQL/MariaDB, SQLite, PostgreSQL, and SQL Server drivers
- Maintain identical functionality across all database types
Fixes multiple SQLSTATE[42000] syntax errors when using MySQL/MariaDB databases.
- Add unified payment provider architecture with contract-based design
- Implement 6 payment providers: Stripe, Lemon Squeezy, Polar, Oxapay, Crypto, Activation Keys
- Create subscription management with lifecycle handling (create, cancel, pause, resume, update)
- Add coupon system with usage tracking and trial extensions
- Build Filament admin resources for payment providers, subscriptions, coupons, and trials
- Implement payment orchestration service with provider registry and configuration management
- Add comprehensive payment logging and webhook handling for all providers
- Create customer analytics dashboard with revenue, churn, and lifetime value metrics
- Add subscription migration service for provider switching
- Include extensive test coverage for all payment functionality