[ 'key' => env('POSTMARK_API_KEY'), ], 'resend' => [ 'key' => env('RESEND_API_KEY'), ], 'ses' => [ 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), ], 'slack' => [ 'notifications' => [ 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), ], ], // Where contact-form messages are sent (ContactController). 'contact' => [ 'email' => env('CONTACT_EMAIL'), ], // Bot check on guest forms (login, contact), verified by App\Rules\HCaptcha. For // local dev use hCaptcha's test keys, the real ones reject localhost: // sitekey 10000000-ffff-ffff-ffff-000000000001, // secret 0x0000000000000000000000000000000000000000. 'hcaptcha' => [ 'sitekey' => env('HCAPTCHA_SITEKEY'), 'secret' => env('HCAPTCHA_SECRET'), ], 'stoic' => [ 'sso_secret' => env('STOIC_SSO_SECRET'), 'host' => env('STOIC_HOST'), ], // Keys read by lunarphp/stripe + Modules\Core\Payment\Drivers\StripePaymentDriver. // `key` is the SECRET key (this ecosystem's convention — StripeManager calls // Stripe::setApiKey(config('services.stripe.key'))); `public_key` is the // publishable key for Stripe.js; `webhooks.lunar` is the signing secret the // webhook route verifies against. 'stripe' => [ 'key' => env('STRIPE_SECRET'), 'public_key' => env('STRIPE_PUBLIC_KEY'), 'webhooks' => [ 'lunar' => env('STRIPE_WEBHOOK_SECRET'), ], ], ];