Payment Gateways

Each gateway is a self-contained driver class that implements the BillingGateway interface. All configuration is managed through admin settings.

Stripe

Driver: StripeCashierDriver — built on top of Laravel Cashier for a battle-tested Stripe integration.

  • Supports recurring, one-time, per-seat, and metered billing
  • Customer portal via Stripe Billing Portal
  • Automatic invoice generation

Configuration

billing.stripe.secret_key       — Stripe secret key
billing.stripe.publishable_key  — Stripe publishable key
billing.stripe.webhook_secret   — Webhook signing secret
billing.stripe.mode             — "live" or "test"

Paddle

Driver: PaddleDriver — Paddle acts as merchant of record, handling global taxes and compliance.

  • Checkout via Paddle overlay or hosted page
  • Automatic VAT/sales tax calculation

Configuration

billing.paddle.vendor_id        — Paddle vendor ID
billing.paddle.api_key          — Paddle API key
billing.paddle.webhook_secret   — Webhook verification secret
billing.paddle.mode             — "live" or "test"

MercadoPago

Driver: MercadoPagoDriver — ideal for SaaS products targeting Latin American markets.

  • Supports local payment methods (PIX, boleto, OXXO)
  • Multi-currency support across LATAM countries

Configuration

billing.mercadopago.access_token    — MercadoPago access token
billing.mercadopago.public_key      — MercadoPago public key
billing.mercadopago.webhook_secret  — Webhook verification secret
billing.mercadopago.mode            — "live" or "test"

Lemon Squeezy

Driver: LemonSqueezyDriver — simple merchant of record built for digital products and SaaS.

  • Hosted checkout pages
  • Built-in tax handling

Configuration

billing.lemonsqueezy.api_key        — Lemon Squeezy API key
billing.lemonsqueezy.store_id       — Store identifier
billing.lemonsqueezy.webhook_secret — Webhook signing secret
billing.lemonsqueezy.mode           — "live" or "test"

PayPal

Driver: PayPalDriver — global payment platform with wide consumer adoption.

  • PayPal Checkout and subscription billing
  • Supports PayPal balance, cards, and local methods

Configuration

billing.paypal.client_id        — PayPal client ID
billing.paypal.client_secret    — PayPal client secret
billing.paypal.webhook_id       — Webhook ID for verification
billing.paypal.mode             — "live" or "test"

Null Driver

Driver: NullBillingDriver — a no-op driver for projects that only offer free plans.

  • All gateway methods return empty results or do nothing
  • No API keys or external service required
  • Useful during development or for free-only SaaS products

Set billing.driver to null in admin settings to activate this driver.

Live vs. Test Mode

Every gateway supports a mode setting with two values:

  • test — Uses sandbox/test API keys. No real charges are made.
  • live — Uses production API keys. Real transactions are processed.

All gateway settings are managed from the admin panel under Settings → Billing. No environment file or config file changes are needed.