Stripe Payment Gateway Integration in Laravel (2025)

Today, in 2025, every modern web app must make providing a seamless and secure payment experience its top priority. Stripe remains one of the most robust and developer-friendly payment processors worldwide. If you are working with Laravel, implementing Stripe is easy and fast.
This post will walk you through Stripe payment gateway integration in Laravel based on the latest best practices.
Why choose Stripe?
Supports credit/debit cards, wallets (Apple Pay, Google Pay) and bank transfers and is easy to implement with clean APIs and SDKs. Secure with built-in PCI compliance and fraud detection capabilities. Supports one-time and recurring payments.
Read also:-
- Cashfree Payment Gateway Integration in PHP – Step-by-Step Guide
- Paytm Payment gateway integration in PHP: A Step-by-Step Guide

Step-by-Step Stripe Integration in Laravel
Step 1: Install Stripe PHP SDK
Run the following command to install Stripe via Composer:
bash:-
composer require stripe/stripe-php
Step 2: Set Up Stripe API Keys
env:
STRIPE_KEY=your_stripe_publishable_key
STRIPE_SECRET=your_stripe_secret_key
In config/services.php, add:
'stripe' => [
'key' => env('STRIPE_KEY'),
'secret' => env('STRIPE_SECRET'),
],
Step 3: Create Stripe Payment Form
Create a simple form in resources/views/checkout.blade.php:
<formaction="{{ route('stripe.payment') }}"method="POST">
@csrf
Step 4: Create Routes
In routes/web.php:
use App\Http\Controllers\StripeController;
Route::get('/checkout', [StripeController::class, 'checkout'])->name('checkout');
Route::post('/stripe/payment', [StripeController::class, 'payment'])->name('stripe.payment');
Step 5: Create StripeController
Create a controller via:
bash:-
php artisan make:controller StripeController
Then, define the method: