feat: implement comprehensive multi-provider payment processing system

- 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
This commit is contained in:
idevakk
2025-11-19 09:37:00 -08:00
parent 0560016f33
commit 27ac13948c
83 changed files with 15613 additions and 103 deletions

View File

@@ -75,9 +75,6 @@ REMOTE_DB_PASSWORD=
NOTIFY_TG_BOT_TOKEN=
NOTIFY_TG_CHAT_ID=
OXAPAY_MERCHANT_API_KEY=
OXAPAY_PAYOUT_API_KEY=
FORCE_DB_MAIL=false
AUTO_FETCH_MAIL=false
FETCH_FETCH_FOR_DB=true
@@ -88,8 +85,50 @@ MOVE_OR_DELETE=delete
STRIPE_KEY=
STRIPE_SECRET=
STRIPE_WEBHOOK_SECRET=
STRIPE_PUBLISHABLE_KEY=
STRIPE_SUCCESS_URL=/payment/success
STRIPE_CANCEL_URL=/payment/cancel
CASHIER_LOGGER=stack
# Lemon Squeezy Payment Provider
LEMON_SQUEEZY_API_KEY=
LEMON_SQUEEZY_STORE_ID=
LEMON_SQUEEZY_WEBHOOK_SECRET=
LEMON_SQUEEZY_SUCCESS_URL=/payment/success
LEMON_SQUEEZY_CANCEL_URL=/payment/cancel
# Polar.sh Payment Provider
POLAR_API_KEY=
POLAR_WEBHOOK_SECRET=
POLAR_ACCESS_TOKEN=
POLAR_SUCCESS_URL=/payment/success
POLAR_CANCEL_URL=/payment/cancel
# OxaPay Payment Provider
OXAPAY_MERCHANT_API_KEY=
OXAPAY_PAYOUT_API_KEY=
OXAPAY_WEBHOOK_URL=
OXAPAY_SUCCESS_URL=/payment/success
OXAPAY_CANCEL_URL=/payment/cancel
OXAPAY_SANDBOX=false
# Crypto Payment Provider
CRYPTO_PAYMENTS_ENABLED=false
CRYPTO_WEBHOOK_SECRET=
CRYPTO_CONFIRMATION_TIMEOUT=30
CRYPTO_EXCHANGE_RATE_PROVIDER=coingecko
COINGECKO_API_KEY=
BLOCKCHAIR_API_KEY=
CRYPTO_SUCCESS_URL=/payment/success
CRYPTO_CANCEL_URL=/payment/cancel
# Activation Key Provider
ACTIVATION_KEY_PREFIX=AK-
ACTIVATION_KEY_LENGTH=32
ACTIVATION_KEY_EXPIRATION_DAYS=
ACTIVATION_KEY_REQUIRE_EMAIL=true
ACTIVATION_KEY_MAX_PER_USER=5
FILAMENT_LOG_VIEWER_DRIVER=raw
#IMAP_HOST=