feat(payment): implement database-driven payment provider system with encrypted configuration support

- Add PaymentProviderSeeder with initial provider data (Stripe, Lemon Squeezy, Polar, OxaPay, Crypto, Activation Key)
  - Create migration to disable JSON constraints and change configuration column from JSON to TEXT
  - Update PaymentProvider model cast from 'array' to 'encrypted:array' for secure configuration storage
This commit is contained in:
idevakk
2025-12-03 02:32:08 -08:00
parent 3b908484de
commit 724a2d9a1f
4 changed files with 301 additions and 1 deletions

View File

@@ -24,7 +24,7 @@ class PaymentProvider extends Model
protected $casts = [
'is_active' => 'boolean',
'configuration' => 'array',
'configuration' => 'encrypted:array',
'supports_recurring' => 'boolean',
'supports_one_time' => 'boolean',
'supported_currencies' => 'array',