Download Laravel App
composer create-project --prefer-dist laravel/laravel my-app
C:\xampp\htdocs\laravel10project>composer create-project laravel/laravel laravel10project
Connecting our Database
open .env file root directory.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laraveldb
DB_USERNAME=root
DB_PASSWORD=
Database Migration
php artisan migrate
C:\xampp\htdocs\laravel\laravel10project>php artisan migrate
Migration table created successfully.
check database table
Create Controller
C:\xampp\htdocs\laravel\laravel10project>php artisan make:controller StripeController
app\Http\Controllers\StripeController.php
// <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class StripeController extends Controller { public function checkout() { return view('checkout'); } public function session(Request $request) { \Stripe\Stripe::setApiKey(config('stripe.sk')); $productname = $request->get('productname'); $totalprice = $request->get('total'); $two0 = "00"; $total = "$totalprice$two0"; $session = \Stripe\Checkout\Session::create([ 'line_items' => [ [ 'price_data' => [ 'currency' => 'USD', 'product_data' => [ "name" => $productname, ], 'unit_amount' => $total, ], 'quantity' => 1, ], ], 'mode' => 'payment', 'success_url' => route('success'), 'cancel_url' => route('checkout'), ]); return redirect()->away($session->url); } public function success() { return "Thanks for you order You have just completed your payment. The seeler will reach out to you as soon as possible"; } }Install Stripe Composer
https://github.com/stripe/stripe-php
composer require stripe/stripe-php
C:\xampp\htdocs\laravel\my-app>composer require stripe/stripe-php
Create File stripe.php config\stripe.php
//config\stripe.php <?php return [ 'pk' => env('STRIPE_KEY'), 'sk' => env('STRIPE_SECRET'), ];Login to your stripe account and copy the STRIPE_KEY and STRIPE_SECRET
open .env file add this
STRIPE_KEY=pk_test_xxxxxxxxxxxxxxxxxxx
STRIPE_SECRET=sk_test_xxxxxxxxxxxxxx
Create View File
Bootstrap 5
https://getbootstrap.com/docs/5.0/getting-started/introduction/
https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css
resources/views/checkout.blade.php
//resources/views/checkout.blade.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Laravel 10 How To Integrate Stripe Payment Gateway</title> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"> </head> <body> <div class="container"> <div class='row'> <h1>Laravel 10 How To Integrate Stripe Payment Gateway</h1> <div class='col-md-12'> <div class="card"> <div class="card-header"> Laravel 10 How To Integrate Stripe Payment Gateway </div> <div class="card-body"> <table id="cart" class="table table-hover table-condensed"> <thead> <tr> <th style="width:50%">Product</th> <th style="width:10%">Price</th> <th style="width:8%">Quantity</th> <th style="width:22%" class="text-center">Subtotal</th> <th style="width:10%"></th> </tr> </thead> <tbody> <tr> <td data-th="Product"> <div class="row"> <div class="col-sm-3 hidden-xs"><img src="{{ asset('img') }}/1.jpg" width="100" height="100" class="img-responsive"/></div> <div class="col-sm-9"> <h4 class="nomargin">Asus Vivobook 17 Laptop - Intel Core 10th</h4> </div> </div> </td> <td data-th="Price">$6</td> <td data-th="Quantity"> <input type="number" value="1" class="form-control quantity cart_update" min="1" /> </td> <td data-th="Subtotal" class="text-center">$6</td> <td class="actions" data-th=""> <button class="btn btn-danger btn-sm cart_remove"><i class="fa fa-trash-o"></i> Delete</button> </td> </tr> </tbody> <tfoot> <tr> <td colspan="5" style="text-align:right;"><h3><strong>Total $6</strong></h3></td> </tr> <tr> <td colspan="5" style="text-align:right;"> <form action="/session" method="POST"> <a href="{{ url('/') }}" class="btn btn-danger"> <i class="fa fa-arrow-left"></i> Continue Shopping</a> <input type="hidden" name="_token" value="{{csrf_token()}}"> <input type='hidden' name="total" value="6"> <input type='hidden' name="productname" value="Asus Vivobook 17 Laptop - Intel Core 10th"> <button class="btn btn-success" type="submit" id="checkout-live-button"><i class="fa fa-money"></i> Checkout</button> </form> </td> </tr> </tfoot> </table> </div> </div> </div> </div> </div> </body> </html>Routes
routes/web.php
//routes/web.php <?php use Illuminate\Support\Facades\Route; Route::get('/', function () { return view('welcome'); }); Route::get('/checkout', 'App\Http\Controllers\StripeController@checkout')->name('checkout'); Route::post('/session', 'App\Http\Controllers\StripeController@session')->name('session'); Route::get('/success', 'App\Http\Controllers\StripeController@success')->name('success');Run C:\xampp\htdocs\laravel\my-app>php artisan serve
Starting Laravel development server: http://127.0.0.1:8000/checkout