- Add comprehensive rate limiting (300 req/min) with automatic throttling - Implement centralized API request method for consistent authentication - Add support for Polar-specific webhook events (order.created, order.paid, subscription.active, customer.state_changed, benefit_grant.created) - Update API endpoints to match Polar's official structure (remove /v1 prefix) - Add external_id support for reliable customer-user mapping - Implement sandbox mode with separate credentials configuration - Add discount code support in checkout flow - Add credential validation method for API connectivity testing - Update webhook signature validation and event handling - Enhance error handling and logging throughout provider - Add proper metadata structure with user and plan information - Update services configuration and environment variables for sandbox support BREAKING CHANGE: Updated API endpoint structure and webhook event handling to comply with Polar.sh official API specification.
146 lines
2.8 KiB
Plaintext
146 lines
2.8 KiB
Plaintext
APP_NAME=Laravel
|
|
APP_ENV=local
|
|
APP_KEY=
|
|
APP_DEBUG=true
|
|
APP_URL=http://localhost
|
|
|
|
APP_LOCALE=en
|
|
APP_FALLBACK_LOCALE=en
|
|
APP_FAKER_LOCALE=en_US
|
|
|
|
APP_MAINTENANCE_DRIVER=file
|
|
# APP_MAINTENANCE_STORE=database
|
|
|
|
PHP_CLI_SERVER_WORKERS=4
|
|
|
|
BCRYPT_ROUNDS=12
|
|
|
|
LOG_CHANNEL=stack
|
|
LOG_STACK=single
|
|
LOG_DEPRECATIONS_CHANNEL=null
|
|
LOG_LEVEL=debug
|
|
|
|
DB_CONNECTION=sqlite
|
|
# DB_HOST=127.0.0.1
|
|
# DB_PORT=3306
|
|
# DB_DATABASE=laravel
|
|
# DB_USERNAME=root
|
|
# DB_PASSWORD=
|
|
|
|
SESSION_DRIVER=database
|
|
SESSION_LIFETIME=120
|
|
SESSION_ENCRYPT=false
|
|
SESSION_PATH=/
|
|
SESSION_DOMAIN=null
|
|
|
|
BROADCAST_CONNECTION=log
|
|
FILESYSTEM_DISK=local
|
|
QUEUE_CONNECTION=database
|
|
|
|
CACHE_STORE=database
|
|
# CACHE_PREFIX=
|
|
|
|
MEMCACHED_HOST=127.0.0.1
|
|
|
|
REDIS_CLIENT=phpredis
|
|
REDIS_HOST=127.0.0.1
|
|
REDIS_PASSWORD=null
|
|
REDIS_PORT=6379
|
|
|
|
MAIL_MAILER=log
|
|
MAIL_SCHEME=null
|
|
MAIL_HOST=127.0.0.1
|
|
MAIL_PORT=2525
|
|
MAIL_USERNAME=null
|
|
MAIL_PASSWORD=null
|
|
MAIL_FROM_ADDRESS="hello@example.com"
|
|
MAIL_FROM_NAME="${APP_NAME}"
|
|
|
|
AWS_ACCESS_KEY_ID=
|
|
AWS_SECRET_ACCESS_KEY=
|
|
AWS_DEFAULT_REGION=us-east-1
|
|
AWS_BUCKET=
|
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
|
|
|
VITE_APP_NAME="${APP_NAME}"
|
|
|
|
DEBUGBAR_ENABLED=false
|
|
|
|
REMOTE_DB_HOST=
|
|
REMOTE_DB_PORT=
|
|
REMOTE_DB_DATABASE=
|
|
REMOTE_DB_USERNAME=
|
|
REMOTE_DB_PASSWORD=
|
|
|
|
NOTIFY_TG_BOT_TOKEN=
|
|
NOTIFY_TG_CHAT_ID=
|
|
|
|
FORCE_DB_MAIL=false
|
|
AUTO_FETCH_MAIL=false
|
|
FETCH_FETCH_FOR_DB=true
|
|
FETCH_FROM_REMOTE_DB=true
|
|
MOVE_OR_DELETE=delete
|
|
#Provide Mailbox Folder Name to Which want to move, else put 'delete' to remove
|
|
|
|
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_SANDBOX=false
|
|
POLAR_SANDBOX_API_KEY=
|
|
POLAR_SANDBOX_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=
|
|
#IMAP_PORT=
|
|
#IMAP_ENCRYPTION=
|
|
#IMAP_VALIDATE_CERT=
|
|
#IMAP_USERNAME=
|
|
#IMAP_PASSWORD=
|
|
#IMAP_DEFAULT_ACCOUNT=
|
|
#IMAP_PROTOCOL=
|
|
#IMAP_CC_CHECK=
|