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
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Generate Migrations from an Existing Database With the Migration Generator Package
    Laravel Migration Generator Migration Generator for Laravel is a package by Bennett Treptow to generate migrations from existing database ...
  • 'Ramayana' to have 'Baahubali'-style cliffhanger ending
    image/jpeg https://timesofindia.indiatimes.com/entertainment/hindi/bollywood/news/ramayana-to-end-on-baahubali-style-cliffhanger-director-ni...
  • How to get value of selected option in vue js
      In Vue JS, we will learn how to get text of selected option vue js on change event. i will give you simple example of get the text of the ...
  • Easily Create Stripe Tokens and Cards For Testing
      When you are building a payment flow with Stripe there are a lot of different flows for you to test. These include successful charges and ...
  • .Net 8 XUnit: Use an In-Memory DBConnection for testing as a replacement for the real MySqlConnection
    I'm creating tests for my .Net 8 API, and as I want to test with fake self created data (instead of using the real MySql connection) I...

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 (69)
  • 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

  • ►  2026 (109)
    • ►  07/26 - 08/02 (108)
    • ►  06/28 - 07/05 (1)
  • ►  2025 (4)
    • ►  07/06 - 07/13 (2)
    • ►  06/29 - 07/06 (2)
  • ►  2024 (486)
    • ►  09/15 - 09/22 (30)
    • ►  09/08 - 09/15 (35)
    • ►  09/01 - 09/08 (35)
    • ►  08/11 - 08/18 (2)
    • ►  08/04 - 08/11 (33)
    • ►  07/28 - 08/04 (30)
    • ►  07/07 - 07/14 (11)
    • ►  06/30 - 07/07 (35)
    • ►  06/23 - 06/30 (5)
    • ►  06/02 - 06/09 (31)
    • ►  05/26 - 06/02 (20)
    • ►  05/05 - 05/12 (29)
    • ►  04/28 - 05/05 (26)
    • ►  04/07 - 04/14 (10)
    • ►  03/31 - 04/07 (34)
    • ►  03/24 - 03/31 (10)
    • ►  03/03 - 03/10 (35)
    • ►  02/25 - 03/03 (15)
    • ►  02/04 - 02/11 (22)
    • ►  01/28 - 02/04 (30)
    • ►  01/07 - 01/14 (8)
  • ►  2023 (484)
    • ►  12/31 - 01/07 (35)
    • ►  12/24 - 12/31 (10)
    • ►  12/03 - 12/10 (33)
    • ►  11/26 - 12/03 (20)
    • ►  11/05 - 11/12 (35)
    • ►  10/29 - 11/05 (20)
    • ►  10/22 - 10/29 (9)
    • ►  10/15 - 10/22 (7)
    • ►  10/08 - 10/15 (9)
    • ►  10/01 - 10/08 (10)
    • ►  09/24 - 10/01 (9)
    • ►  09/17 - 09/24 (9)
    • ►  09/10 - 09/17 (7)
    • ►  09/03 - 09/10 (9)
    • ►  08/27 - 09/03 (9)
    • ►  08/20 - 08/27 (8)
    • ►  08/13 - 08/20 (8)
    • ►  08/06 - 08/13 (8)
    • ►  07/30 - 08/06 (8)
    • ►  07/23 - 07/30 (7)
    • ►  07/16 - 07/23 (8)
    • ►  07/09 - 07/16 (7)
    • ►  07/02 - 07/09 (8)
    • ►  06/25 - 07/02 (7)
    • ►  06/18 - 06/25 (7)
    • ►  06/11 - 06/18 (7)
    • ►  06/04 - 06/11 (11)
    • ►  05/28 - 06/04 (7)
    • ►  05/21 - 05/28 (8)
    • ►  05/14 - 05/21 (11)
    • ►  05/07 - 05/14 (7)
    • ►  04/30 - 05/07 (7)
    • ►  04/23 - 04/30 (8)
    • ►  04/16 - 04/23 (9)
    • ►  04/09 - 04/16 (7)
    • ►  04/02 - 04/09 (4)
    • ►  03/26 - 04/02 (21)
    • ►  03/19 - 03/26 (2)
    • ►  03/12 - 03/19 (9)
    • ►  03/05 - 03/12 (26)
    • ►  02/26 - 03/05 (25)
    • ►  01/15 - 01/22 (7)
    • ►  01/08 - 01/15 (1)
  • ►  2022 (1037)
    • ►  12/11 - 12/18 (13)
    • ►  12/04 - 12/11 (1)
    • ►  11/27 - 12/04 (40)
    • ►  11/06 - 11/13 (1)
    • ►  10/16 - 10/23 (13)
    • ►  09/04 - 09/11 (5)
    • ►  08/21 - 08/28 (24)
    • ►  08/14 - 08/21 (24)
    • ►  07/03 - 07/10 (9)
    • ►  06/19 - 06/26 (3)
    • ►  05/29 - 06/05 (3)
    • ►  05/22 - 05/29 (3)
    • ►  05/15 - 05/22 (109)
    • ►  05/01 - 05/08 (7)
    • ►  04/24 - 05/01 (7)
    • ►  04/17 - 04/24 (64)
    • ►  04/10 - 04/17 (115)
    • ►  04/03 - 04/10 (73)
    • ►  03/27 - 04/03 (77)
    • ►  03/13 - 03/20 (2)
    • ►  03/06 - 03/13 (25)
    • ►  02/27 - 03/06 (18)
    • ►  02/20 - 02/27 (153)
    • ►  02/13 - 02/20 (187)
    • ►  01/30 - 02/06 (45)
    • ►  01/23 - 01/30 (15)
    • ►  01/16 - 01/23 (1)
  • ►  2021 (412)
    • ►  10/24 - 10/31 (2)
    • ►  07/25 - 08/01 (1)
    • ►  07/11 - 07/18 (10)
    • ►  06/13 - 06/20 (29)
    • ►  05/23 - 05/30 (1)
    • ►  05/02 - 05/09 (24)
    • ►  04/25 - 05/02 (24)
    • ►  04/18 - 04/25 (112)
    • ►  04/11 - 04/18 (1)
    • ►  04/04 - 04/11 (6)
    • ►  03/28 - 04/04 (86)
    • ►  03/21 - 03/28 (19)
    • ►  03/14 - 03/21 (2)
    • ►  03/07 - 03/14 (10)
    • ►  02/28 - 03/07 (1)
    • ►  02/21 - 02/28 (29)
    • ►  02/14 - 02/21 (13)
    • ►  02/07 - 02/14 (12)
    • ►  01/31 - 02/07 (6)
    • ►  01/17 - 01/24 (2)
    • ►  01/10 - 01/17 (8)
    • ►  01/03 - 01/10 (14)
  • ▼  2020 (376)
    • ►  12/27 - 01/03 (37)
    • ▼  12/20 - 12/27 (92)
      • SQL Operators
      • SQL Operators
      • SQL Comments
      • SQL Comments
      • SQL Stored Procedures for SQL Server
      • SQL Stored Procedures for SQL Server
      • SQL IFNULL(), ISNULL(), COALESCE(), and NVL() Func...
      • SQL IFNULL(), ISNULL(), COALESCE(), and NVL() Func...
      • The SQL CASE Statement
      • The SQL CASE Statement
      • The SQL INSERT INTO SELECT Statement
      • The SQL INSERT INTO SELECT Statement
      • The SQL SELECT INTO Statement
      • The SQL SELECT INTO Statement
      • The SQL ANY and ALL Operators
      • The SQL ANY and ALL Operators
      • The SQL EXISTS Operator
      • The SQL EXISTS Operator
      • The SQL HAVING Clause
      • The SQL HAVING Clause
      • The SQL GROUP BY Statement
      • The SQL GROUP BY Statement
      • SQL UNION Operator
      • SQL UNION Operator
      • SQL Self JOIN
      • SQL Self JOIN
      • SQL FULL OUTER JOIN Keyword
      • SQL FULL OUTER JOIN Keyword
      • SQL RIGHT JOIN Keyword
      • SQL RIGHT JOIN Keyword
      • SQL LEFT JOIN Keyword
      • SQL LEFT JOIN Keyword
      • SQL INNER JOIN Keyword
      • SQL INNER JOIN Keyword
      • SQL Joins
      • SQL Joins
      • SQL Aliases
      • SQL Aliases
      • SQL BETWEEN Operator
      • SQL BETWEEN Operator
      • The SQL IN Operator
      • The SQL IN Operator
      • SQL Wildcards
      • SQL Wildcards
      • SQL LIKE Operator
      • SQL LIKE Operator
      • SQL COUNT(), AVG() and SUM() Functions
      • SQL COUNT(), AVG() and SUM() Functions
      • SQL MIN() and MAX() Functions
      • SQL MIN() and MAX() Functions
      • SQL TOP, LIMIT or ROWNUM Clause
      • SQL TOP, LIMIT or ROWNUM Clause
      • The SQL DELETE Statement
      • The SQL DELETE Statement
      • SQL UPDATE Statement
      • SQL UPDATE Statement
      • SQL NULL Values
      • SQL NULL Values
      • SQL INSERT INTO Statement
      • SQL INSERT INTO Statement
      • SQL ORDER BY Keyword
      • SQL ORDER BY Keyword
      • SQL AND, OR and NOT Operators
      • SQL AND, OR and NOT Operators
      • SQL WHERE Clause
      • SQL WHERE Clause
      • SQL SELECT DISTINCT Statement
      • SQL SELECT DISTINCT Statement
      • SQL SELECT Statement
      • SQL SELECT Statement
      • SQL Syntax
      • SQL Syntax
      • Introduction to SQL
      • Introduction to SQL
      • SQL HOME
      • SQL HOME
      • SQL Tutorial
      • SQL Tutorial
      • SQL Tutorial
      • Razorpay Payment Gateway Integration Laravel 8
      • Razorpay Payment Gateway Integration Laravel 8
      • Vue 3 Full Course for Beginners to Advanced - Buil...
      • Vue 3 Full Course for Beginners to Advanced - Buil...
      • Redirect HTTP to HTTPS via .htaccess Laravel
      • Redirect HTTP to HTTPS via .htaccess Laravel
      • Get the first element of an array in PHP
      • Get the first element of an array in PHP
      • Convert tree structure into flat array in php
      • Convert tree structure into flat array in php
      • How to Flatten a Multidimensional Array?
      • How to Flatten a Multidimensional Array?
      • How to Flatten a Multidimensional Array?
    • ►  12/13 - 12/20 (29)
    • ►  12/06 - 12/13 (37)
    • ►  11/29 - 12/06 (4)
    • ►  11/15 - 11/22 (14)
    • ►  11/08 - 11/15 (8)
    • ►  11/01 - 11/08 (2)
    • ►  10/18 - 10/25 (14)
    • ►  10/11 - 10/18 (16)
    • ►  10/04 - 10/11 (10)
    • ►  09/20 - 09/27 (10)
    • ►  09/06 - 09/13 (19)
    • ►  08/30 - 09/06 (26)
    • ►  08/23 - 08/30 (4)
    • ►  08/16 - 08/23 (2)
    • ►  07/12 - 07/19 (48)
    • ►  05/17 - 05/24 (2)
    • ►  01/05 - 01/12 (2)
  • ►  2019 (74)
    • ►  07/07 - 07/14 (6)
    • ►  06/16 - 06/23 (6)
    • ►  02/10 - 02/17 (17)
    • ►  01/13 - 01/20 (37)
    • ►  01/06 - 01/13 (8)
  • ►  2018 (376)
    • ►  12/30 - 01/06 (24)
    • ►  12/16 - 12/23 (8)
    • ►  12/09 - 12/16 (98)
    • ►  12/02 - 12/09 (16)
    • ►  11/18 - 11/25 (36)
    • ►  11/04 - 11/11 (18)
    • ►  10/28 - 11/04 (10)
    • ►  10/21 - 10/28 (26)
    • ►  10/14 - 10/21 (52)
    • ►  10/07 - 10/14 (4)
    • ►  09/30 - 10/07 (2)
    • ►  09/23 - 09/30 (68)
    • ►  09/16 - 09/23 (4)
    • ►  09/09 - 09/16 (4)
    • ►  08/26 - 09/02 (6)

Data Publish News

Loading...

Al Jazeera – Breaking News, World News and Video from Al Jazeera

Loading...

Laravel News

Loading...

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