Skip to content

Environment Variables

All environment variables supported by Laravel Payments.

Core Settings

VariableDefaultDescription
PAYMENT_GATEWAYstripeDefault gateway
PAYMENT_PROFILEtestDefault credential profile (test/live)
PAYMENT_CREDENTIAL_STORAGEenvCredential storage mode (env/database/composite)

Logging

VariableDefaultDescription
PAYMENT_LOG_LEVELbasicLog verbosity: off, errors_only, basic, verbose, debug
PAYMENT_LOG_CHANNELnullLaravel log channel (null = default)

Gateway Credentials

Gateway credentials follow the pattern:

{GATEWAY}_{PROFILE}_{KEY}

Stripe

VariableProfileDescription
STRIPE_TEST_KEYtestStripe test secret key
STRIPE_TEST_SECRETtestStripe test webhook secret
STRIPE_TEST_WEBHOOK_SECRETtestStripe test webhook signing secret
STRIPE_LIVE_KEYliveStripe live secret key
STRIPE_LIVE_SECRETliveStripe live webhook secret
STRIPE_LIVE_WEBHOOK_SECRETliveStripe live webhook signing secret

bKash (Example)

VariableProfileDescription
BKASH_TEST_APP_KEYtestbKash sandbox app key
BKASH_TEST_APP_SECRETtestbKash sandbox app secret
BKASH_TEST_USERNAMEtestbKash sandbox username
BKASH_TEST_PASSWORDtestbKash sandbox password

Adding Your Own

When creating a gateway driver, establish your own ENV naming convention:

dotenv
# Pattern: GATEWAY_PROFILE_KEY
MYGW_TEST_API_KEY=...
MYGW_TEST_API_SECRET=...
MYGW_LIVE_API_KEY=...
MYGW_LIVE_API_SECRET=...

Map them in config/payments.php:

php
'gateways' => [
    'mygw' => [
        'test' => [
            'api_key' => env('MYGW_TEST_API_KEY'),
            'api_secret' => env('MYGW_TEST_API_SECRET'),
        ],
        'live' => [
            'api_key' => env('MYGW_LIVE_API_KEY'),
            'api_secret' => env('MYGW_LIVE_API_SECRET'),
        ],
    ],
],

Released under the MIT License.