The Stripe Payment Gateway add-on enables your Larapen shop to accept credit and debit card payments securely via Stripe — using the Payment Intents API with 3D Secure support, webhook-driven order updates, and encrypted credential storage.

Pricing: This is a paid add-on, available from the Larapen Marketplace.

Key Features

  • Payment Intents API — Uses Stripe's latest Payment Intents flow for SCA-compliant, secure card payments.
  • Credit card payments — Accept Visa, Mastercard, American Express, and other major cards through Stripe's secure payment infrastructure.
  • 3D Secure — Automatic 3D Secure authentication when required by the card issuer for Strong Customer Authentication (SCA) compliance.
  • Webhook processing — Handles payment success, failure, refund, and dispute events via signed webhooks for real-time order updates.
  • Encrypted credentials — API keys are encrypted at rest using Laravel's Crypt facade. Never stored in plaintext.
  • Stripe Customer records — Stores Stripe customer IDs linked to user accounts for faster repeat purchases.
  • Refund support — Process full or partial refunds directly from the admin panel.
  • Multi-currency — Supports any currency enabled in your Stripe account.
  • Capture control — Automatic capture (default) or manual capture for review-before-charge workflows.

Admin Panel

SectionDescription
SettingsConfigure Stripe API keys (publishable key, secret key, webhook signing secret), capture method, currency, and 3D Secure behavior. All sensitive keys stored encrypted.

Configuration

SettingDescription
Publishable keyYour Stripe publishable key (starts with pk_).
Secret keyYour Stripe secret key (starts with sk_). Stored encrypted.
Webhook secretYour Stripe webhook signing secret (starts with whsec_). Stored encrypted.
Capture methodAutomatic (default) or manual.
CurrencyPayment currency (inherits from Shop settings by default).
3D SecureAutomatic (default) — triggered when required by the issuing bank.

Webhook events

The add-on handles the following Stripe webhook events:

  • payment_intent.succeeded — Marks the order as paid and triggers order completion.
  • payment_intent.payment_failed — Records the payment failure.
  • charge.refunded — Updates the order status to refunded.
  • charge.dispute.created — Flags the order with a dispute notification.

Payment flow

  1. Customer selects "Credit Card" at checkout.
  2. Stripe Elements form collects card details securely (PCI-compliant).
  3. A Payment Intent is created server-side.
  4. 3D Secure authentication is triggered if required by the card issuer.
  5. On success, the webhook confirms the payment and the order is marked as paid.

Dependencies

Requires: The E-Shop add-on must be installed and active. The Stripe add-on registers itself as a payment gateway via the PaymentGatewayInterface and is automatically discovered by the shop checkout system.

Setup guide

  1. Install and activate the E-Shop add-on first.
  2. Install and activate the Stripe add-on.
  3. Go to Stripe > Settings in the admin panel.
  4. Enter your Stripe API keys (found in the Stripe Dashboard).
  5. Configure the webhook endpoint URL in Stripe: https://yoursite.com/stripe/webhook.
  6. Enter the webhook signing secret.
  7. Stripe will appear as a payment option during checkout.

Ideal for

  • Any Larapen shop needing to accept credit card payments online.
  • Businesses in countries where Stripe is available.
  • SCA-compliant payment processing in the EU.
  • Multi-currency international sales.
  • Digital product stores needing instant payment confirmation.

Was this article helpful?

Thank you for your feedback!

Still need help? Create a support ticket

Create a Ticket