CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

22 December, 2020

Razorpay Payment Gateway Integration Laravel 8

 Programing Coderfunda     December 22, 2020     Payment Gateway     No comments   

  In First step, We need to get fresh laravel version application 
  using bellow command. So Let's open terminal and run
  bellow command.

  <?php
  composer create-project --prefer-dist laravel/laravel blog
  ?>


  Step 2 : Setup Database Configuration

  After successfully install laravel app thenafter configure databse setup.
  We will open ".env" file and change the database name, username and 
  password in the env file.

  <?php

  DB_CONNECTION=mysql
  DB_HOST=127.0.0.1
  DB_PORT=3306
  DB_DATABASE=Enter_Your_Database_Name
  DB_USERNAME=Enter_Your_Database_Username
  DB_PASSWORD=Enter_Your_Database_Password

  ?>



  Step 3 : Install Razorpay

  In this step, we need to install razorpay laravel package in our application. 
  so let's open terminal and run bellow
  command:
  <?php
  composer require razorpay/razorpay
  Successfully install razorpay package then after you can add razorkey and razorsecret in .env file.

  .env

  RAZOR_KEY=your_razorpay_key
  RAZOR_SECRET=your_razorpay_secret
  Step 4: Add New Route
  ?>
  In this step, we will add two routes, one for display razorpay payment gateway 
  and another for store payment. So you have to simply add two new routes in your
   laravel application.

  <?php 
  /routes/web.php

  Route::get('payment-razorpay', 'PaymentController@create')->name('paywithrazorpay');
  Route::post('payment', 'PaymentController@payment')->name('payment');


  Step 5: Create Controller

  In third step, we will create new PaymentController file to handle request of 
  created two new route. In this Controller we define two method, create() 
  and payment(). Both method will handle route request. So let's create 
  new controller and put code:

  php artisan make:controller PaymentController
  After successfully run above command . So, let's copy bellow code
  and put on PaymentController.php file.

  app/http/controller/PaymentController.php
  ?>

  <?php

  namespace App\Http\Controllers;

  use Illuminate\Http\Request;
  use Razorpay\Api\Api;
  use Session;
  use Redirect;

  class PaymentController extends Controller
  {    
  public function create()
  {        
  return view('payWithRazorpay');
  }

  public function payment(Request $request)
  {
  $input = $request->all();

  $api = new Api(env('RAZOR_KEY'), env('RAZOR_SECRET'));

  $payment = $api->payment->fetch($input['razorpay_payment_id']);

  if(count($input)  && !empty($input['razorpay_payment_id'])) {
  try {
  $response = $api->payment->fetch($input['razorpay_payment_id'])
    ->capture(array('amount'=>$payment['amount'])); 

  } catch (\Exception $e) {
  return  $e->getMessage();
  \Session::put('error',$e->getMessage());
  return redirect()->back();
  }
  }

  \Session::put('success', 'Payment successful');
  return redirect()->back();
  }
  }

  ?>
  Step 6: Create blade file

  In last step we will create payWithRazorpay.blade.php file
  and write code of display razorpay payment form.

  resources/views/payWithRazorpay.blade.php

  <!DOCTYPE html>
  <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">

  <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <!-- CSRF Token -->
      <meta name="csrf-token" content="{{ csrf_token() }}">
      <title>Laravel 7 - Razorpay Payment Gateway Integration</title>
      <!-- Scripts -->
      <script src="{{ asset('js/app.js') }}" defer></script>
      <!-- Fonts -->
      <link rel="dns-prefetch" href="//fonts.gstatic.com">
      <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
      <!-- Styles -->
      <link href="{{ asset('css/app.css') }}" rel="stylesheet">
  </head>

  <body>
      <div id="app">
          <main class="py-4">
              <div class="container">
                  <div class="row">
                      <div class="col-md-6 offset-3 col-md-offset-6">
                          @if($message = Session::get('error'))
                          <div class="alert alert-danger alert-dismissible fade in" role="alert">
                              <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                  <span aria-hidden="true">×</span>
                              </button>
                              <strong>Error!</strong> {{ $message }}
                          </div>
                          @endif
                          @if($message = Session::get('success'))
                          <div class="alert alert-success alert-dismissible fade 
                          {{ Session::has('success') ? 'show' : 'in' }}"
                              role="alert">
                              <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                  <span aria-hidden="true">×</span>
                              </button>
                              <strong>Success!</strong> {{ $message }}
                          </div>
                          @endif
                          <div class="card card-default">
                              <div class="card-header">
                                  Laravel 7 - Razorpay Payment Gateway Integration
                              </div>
                              <div class="card-body text-center">
                                <form action="{{ route('payment') }}" method="POST">
                                 @csrf
                                 <script src="https://checkout.razorpay.com/v1/checkout.js"
                                     data-key="{{ env('RAZOR_KEY') }}" data-amount="1000"
                                      data-buttontext="Pay 1 INR"
                                     data-name="NiceSnippets" data-description="Rozerpay"
                                     data-image="{{ asset('/image/nice.png') }}" data-prefill.name="name"
                                     data-prefill.email="email" data-theme.color="#ff7529">
                                 </script>
                                </form>
                              </div>
                          </div>
                      </div>
                  </div>
              </div>
          </main>
      </div>
  </body>

  </html>

  Now we are ready to run our example so run bellow command for quick run:

  php artisan serve
  Now you can open bellow URL on your browser:
  <?php
  http://localhost:8000/payment-razorpay

  ?>
  It will help you...
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • Laravel Razorpay Integration | Payment gateway integration Laravel in 30 mins | Laravel Razorpay 1 Integration of Razorpay with Laravel. In this tutorial, I have taught how to integrate payment gateway with laravel with mini-project. If you want … Read More
  • Laravel 8/7/6 Razorpay Payment Gateway Integration Tutorial Example Laravel Razorpay Payment Gateway Integration ExampleFollow the below steps and integrate razorpay payment gateway in laravel web applications:In… Read More
  • Razorpay Payment Gateway Integration Laravel 8  In First step, We need to get fresh laravel version application   using&n… Read More
  • Razorpay Payment Gateway Integration Laravel 8  In First step, We need to get fresh laravel version application   using&n… Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh
    I had follow these steps to install an configure firebase to my cordova project for cloud messaging. https://medium.com/@felipepucinelli/how...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Cashier package and Blade files
    I'm a little confused about this Cashier package. I installed it using the Laravel website (with composer), but noticed there's no...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Improved Installation and Frontend Hooks in Laravel Echo 2.1 - 5/15/2025
  • Filter Model Attributes with Laravel's New except() Method - 5/13/2025
  • Arr::from() Method in Laravel 12.14 - 5/14/2025
  • Streamline API Resources with Laravel's Fluent Methods - 5/13/2025
  • Customize URL Handling with Laravel's Macroable URI Class - 5/13/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda