Add comprehensive webhook validation and processing system with Polar.sh integration:
- Create built-in Standard Webhooks package following official specification
- Implement HMAC-SHA256 signature validation with base64 encoding
- Add webhook factory for multi-provider support (Polar, Stripe, generic)
- Replace custom Polar webhook validation with Standard Webhooks implementation
- Add proper exception handling with custom WebhookVerificationException
- Support sandbox mode bypass for development environments
- Update Polar provider to use database-driven configuration
- Enhance webhook test suite with proper Standard Webhooks format
- Add PaymentProvider model HasFactory trait for testing
- Implement timestamp tolerance checking (±5 minutes) for replay protection
- Support multiple signature versions and proper header validation
This provides a secure, reusable webhook validation system that can be extended
to other payment providers while maintaining full compliance with Standard
Webhooks specification.
BREAKING CHANGE: Polar webhook validation now uses Standard Webhooks format
with headers 'webhook-id', 'webhook-timestamp', 'webhook-signature' instead of
previous Polar-specific headers.
- 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
- Upgrade Filament framework from v3 to v4
- Update all Filament resources and pages for v4 compatibility
- Fix test suite to maintain 100% pass rate (321 tests passing)
- Add visibility condition for ticket close action (only when not closed)
- Update dependencies and build assets for new Filament version
- Maintain backward compatibility while leveraging v4 improvements
- Add proper Tests\ namespace to all test classes in tests/Feature and tests/Unit
- Split RemainingModelsTest.php into separate files (PSR-4 compliance)
- Create missing factories: MetaFactory, RemoteEmailFactory
- Add HasFactory trait to RemoteEmail model
- Add missing ReflectionClass imports to test files
- Fix mass assignment issues in Meta and RemoteEmail models
- Override database connection for RemoteEmail in testing environment
- Fix DateTime comparison precision issues in tests
- Fix Laravel bootstrap issues in TestCase setup
- Add missing database factories (Setting, PremiumEmail, ActivationKey, etc.)
- Convert Pest tests to PHPUnit style for compatibility
- Fix model relationships and boolean casts
- Add missing Filament resource actions and filters
- Fix form validation and test data mismatches
- Resolve assertion parameter order issues
- Add proper configuration for test views
- Fix searchable columns and table sorting
- Simplify complex filter assertions for stability