Skip to content

Configuration

After publishing the package config:

php artisan vendor:publish --provider="Alphabalex\PaymentMadeEasy\PaymentServiceProvider"

you get config/payment-gateways.php (exact published filename may match the package tag — use the path shown by Artisan).

Defaults

Env / idea Purpose
PAYMENT_GATEWAY Default driver slug (e.g. paystack)
PAYMENT_CURRENCY Default currency (e.g. NGN)

Resolve drivers with:

use Alphabalex\PaymentMadeEasy\Facades\Payment;

Payment::initializePayment([...]);           // default
Payment::driver('flutterwave')->initializePayment([...]);

Credentials

Each gateway block under gateways.{slug} maps to env vars. See Installation for a full .env example covering Paystack, Flutterwave, Stripe, Seerbit, Monnify, Squad, Remita, Budpay, Mono, Interswitch, PayPal, M-Pesa, MTN MoMo, Razorpay, and Paddle.

List what is configured:

php artisan payment:gateways --configured

Common flags (names follow the package config; check your published file):

Concern Typical env
Enable webhooks PAYMENT_WEBHOOKS_ENABLED
Verify signatures PAYMENT_WEBHOOK_VERIFY_SIGNATURE
Require signing secret (HMAC gateways) PAYMENT_WEBHOOK_REQUIRE_SIGNING_SECRET
Queue webhook handling PAYMENT_WEBHOOK_QUEUE_EVENTS
Idempotency PAYMENT_WEBHOOK_IDEMPOTENCY_ENABLED
Throttle PAYMENT_WEBHOOK_THROTTLE_ENABLED

Details: Webhooks.

HTTP client

Drivers use Laravel’s Http client. Per-gateway timeout / TLS verify options live on each gateway config entry. Prefer those over forking drivers when you only need timeouts or proxy behaviour.

Recording (optional)

Enable database recording via env after publishing migrations — see Installation (PAYMENT_RECORDING_ENABLED, webhook recording flags).