Sean Robertson

Sean Robertson

1565059932

How to implement Paypal in Laravel 5.8 Application

Paypal payment gateway is a more popular gateway in web development. Almost client prefer to use Paypal payment gateway for money transfer in his website. Paypal is a user friendly gateway to transfer word wide.

In this tutorial, we will use srmklive package for laravel paypal integrate in Laravel 5.8. You just need to follow few steps to getting done payment integration in php laravel.

Step 1: Laravel 5.8 Installation

We are going from scratch so, If you haven't installed laravel in your system then you can run bellow command and get fresh Laravel project.

composer create-project --prefer-dist laravel/laravel blog

Step 2: Install Composer Packages

Now we require to install srmklive/paypal package for paypal integration, that way we can use it's method. So Open your terminal and run bellow command.

composer require srmklive/paypal

Now open config/app.php file and add service provider and aliase.

config/app.php

'providers' => [
	....
	Srmklive\PayPal\Providers\PayPalServiceProvider::class
]
....

We can also custom changes on srmklive/paypal package, so if you also want to changes then you can fire bellow command and get config file in config/paypal.php.

php artisan vendor:publish --provider "Srmklive\PayPal\Providers\PayPalServiceProvider"

You can view paypal.php file like as bellow:

config/paypal.php

<?php
/**
 * PayPal Setting & API Credentials
 * Created by Raza Mehdi .
 */

return [
‘mode’ => env(‘PAYPAL_MODE’, ‘sandbox’)
‘sandbox’ => [
‘username’ => env(‘PAYPAL_SANDBOX_API_USERNAME’, ‘’),
‘password’ => env(‘PAYPAL_SANDBOX_API_PASSWORD’, ‘’),
‘secret’ => env(‘PAYPAL_SANDBOX_API_SECRET’, ‘’),
‘certificate’ => env(‘PAYPAL_SANDBOX_API_CERTIFICATE’, ‘’),
‘app_id’ => ‘APP-80W284485P519543T’,
],
‘live’ => [
‘username’ => env(‘PAYPAL_LIVE_API_USERNAME’, ‘’),
‘password’ => env(‘PAYPAL_LIVE_API_PASSWORD’, ‘’),
‘secret’ => env(‘PAYPAL_LIVE_API_SECRET’, ‘’),
‘certificate’ => env(‘PAYPAL_LIVE_API_CERTIFICATE’, ‘’),
‘app_id’ => ‘’,
],
‘payment_action’ => ‘Sale’,
‘currency’ => env(‘PAYPAL_CURRENCY’, ‘USD’),
‘billing_type’ => ‘MerchantInitiatedBilling’,
‘notify_url’ => ‘’,
‘locale’ => ‘’,
‘validate_ssl’ => false,
];

Read Also: Laravel 5.8 CRUD (Create Read Update Delete) Tutorial For Beginners

Step 3: Create Routes

Here, we need to add resource route for paypal payment gateway. so open your “routes/web.php” file and add following route.

routes/web.php

Route::get(‘payment’, ‘PayPalController@payment’)->name(‘payment’);
Route::get(‘cancel’, ‘PayPalController@cancel’)->name(‘payment.cancel’);
Route::get(‘payment/success’, ‘PayPalController@success’)->name(‘payment.success’);

Step 4: Create PayPalController Controller

In this step, now we should create new controller as PayPalController. So run bellow command and create new controller. bellow controller for create with some methods.

php artisan make:controller PayPalController

After bellow command you will find new file in this path “app/Http/Controllers/PayPalController.php”.

app/Http/Controllers/PayPalController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Srmklive\PayPal\Services\ExpressCheckout;

class PayPalController extends Controller
{
/**
* Responds with a welcome message with instructions
*
* @return \Illuminate\Http\Response
*/
public function payment()
{
$data = [];
$data[‘items’] = [
[
‘name’ => ‘ItSolutionStuff.com’,
‘price’ => 100,
‘desc’ => ‘Description for ItSolutionStuff.com’,
‘qty’ => 1
]
];

    $data['invoice_id'] = 1;
    $data['invoice_description'] = "Order #{$data['invoice_id']} Invoice";
    $data['return_url'] = route('payment.success');
    $data['cancel_url'] = route('payment.cancel');
    $data['total'] = 100;

    $provider = new ExpressCheckout;

    $response = $provider-&gt;setExpressCheckout($data);

    $response = $provider-&gt;setExpressCheckout($data, true);

    return redirect($response['paypal_link']);
}

/**
 * Responds with a welcome message with instructions
 *
 * @return \Illuminate\Http\Response
 */
public function cancel()
{
    dd('Your payment is canceled. You can create cancel page here.');
}

/**
 * Responds with a welcome message with instructions
 *
 * @return \Illuminate\Http\Response
 */
public function success(Request $request)
{
    $response = $provider-&gt;getExpressCheckoutDetails($request-&gt;token);

    if (in_array(strtoupper($response['ACK']), ['SUCCESS', 'SUCCESSWITHWARNING'])) {
        dd('Your payment was successfully. You can create success page here.');
    }

    dd('Something is wrong.');
}

}

Step 5: Create Blade File

In this step, we need to update welcome.blade.php file. in this file we will put one button for paypal payment gateway. so let’s put bellow code:

resources/views/products/welcome.blade.php

<!doctype html>
<html>
<head>
<meta charset=“utf-8”>
<meta name=“viewport” content=“width=device-width, initial-scale=1”>

    &lt;title&gt;Laravel 5.8 PayPal Integration Tutorial - ItSolutionStuff.com&lt;/title&gt;

    &lt;!-- Fonts --&gt;
    &lt;link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet"&gt;
    &lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha256-YLGeXaapI0/5IgZopewRJcFXomhRMlYYjugPLSyNjTY=" crossorigin="anonymous" /&gt;

    &lt;!-- Styles --&gt;
    &lt;style&gt;
        html, body {
            background-color: #fff;
            color: #636b6f;
            font-family: 'Nunito', sans-serif;
            font-weight: 200;
            height: 100vh;
            margin: 0;
        }
        .content {
            margin-top: 100px;
            text-align: center;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div class="flex-center position-ref full-height"&gt;

        &lt;div class="content"&gt;
            &lt;h1&gt;Laravel 5.8 PayPal Integration Tutorial - ItSolutionStuff.com&lt;/h1&gt;
              
            &lt;table border="0" cellpadding="10" cellspacing="0" align="center"&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;a href="https://www.paypal.com/in/webapps/mpp/paypal-popup" title="How PayPal Works" onclick="javascript:window.open('https://www.paypal.com/in/webapps/mpp/paypal-popup','WIPaypal','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=1060, height=700'); return false;"&gt;&lt;img src="https://www.paypalobjects.com/webstatic/mktg/Logo/pp-logo-200px.png" border="0" alt="PayPal Logo"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

            &lt;a href="{{ route('payment') }}" class="btn btn-success"&gt;Pay $100 from Paypal&lt;/a&gt;

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/body&gt;

</html>

Step 6: Configuration

In this step, we will set configuration value like paypal username, secret and certificate key in .env file.

.env

PAYPAL_MODE=sandbox
PAYPAL_SANDBOX_API_USERNAME=sb-e2n47…
PAYPAL_SANDBOX_API_PASSWORD=XKCGW…
PAYPAL_SANDBOX_API_SECRET=A0EXIz…
PAYPAL_CURRENCY=INR
PAYPAL_SANDBOX_API_CERTIFICATE=

You can see bellow screen shot for getting above details:

Now we are ready to run our this application example with Laravel 5.8 so run bellow command for quick run:

php artisan serve

Now you can open bellow URL on your browser:

Read Also: Laravel 5.8 User Roles and Permissions Tutorial

http://localhost:8000/

You can download code from GitHub

I hope it can help you…

Thanks for reading

If you liked this post, share it with all of your programming buddies!

Follow me on Facebook | Twitter

Learn More about

PHP with Laravel for beginners - Become a Master in Laravel

Projects in Laravel: Learn Laravel Building 10 Projects

Laravel for RESTful: Build Your RESTful API with Laravel

Fullstack Web Development With Laravel and Vue.js

Laravel 5.8 Ajax CRUD tutorial using Datatable JS

Laravel 5.8 Tutorial from Scratch for Beginners

Build RESTful API In Laravel 5.8 Example

Login with Google in Laravel 5.8 App using Socialite Package

Laravel PHP Framework Tutorial - Full Course for Beginners (2019)

#laravel #php #web-development

What is GEEK

Buddha Community

How to implement Paypal in Laravel 5.8 Application

I am Developer

1617089618

Laravel 8 Tutorial for Beginners

Hello everyone! I just updated this tutorial for Laravel 8. In this tutorial, we’ll go through the basics of the Laravel framework by building a simple blogging system. Note that this tutorial is only for beginners who are interested in web development but don’t know where to start. Check it out if you are interested: Laravel Tutorial For Beginners

Laravel is a very powerful framework that follows the MVC structure. It is designed for web developers who need a simple, elegant yet powerful toolkit to build a fully-featured website.

Recommended:-Laravel Try Catch

#laravel 8 tutorial #laravel 8 tutorial crud #laravel 8 tutorial point #laravel 8 auth tutorial #laravel 8 project example #laravel 8 tutorial for beginners

I am Developer

1599536794

Laravel 8 New Features | Release Notes - Tuts Make

In this post, i will show you what’s new in laravel 8 version.

#What’s new in Laravel 8?

  • 1 - Change Path Of Default Models Directory
  • 2 - Removed Controllers Namespace Prefix
  • 3 - Enhancements on php artisan serve
  • 4 - Enhanced Rate Limiting
  • 5 - Enhanced on Route Caching
  • 6 - Update on Pagination Design
  • 8 - Dynamic Blade Componenets
  • 7 - Update Syntax for Closure Based Event Listeners
  • 8 - Queueable Model Event Listeners
  • 9 - Maintenance mode: secret access
  • 10 - Maintenance mode: pre-rendered page
  • 11 - Queued job batching
  • 12 - Queue backoff()
  • 13 - Laravel Factory

https://www.tutsmake.com/laravel-8-new-features-release-notes/

#laravel 8 features #laravel 8 release date #laravel 8 tutorial #news - laravel 8 new features #what's new in laravel 8 #laravel 8 release notes

Yogi Gurjar

1600308055

Laravel 8 Form Validation Tutorial

Laravel 8 form validation example. In this tutorial, i will show you how to submit form with validation in laravel 8.

And you will learn how to store form data in laravel 8. Also validate form data before store to db.

How to Validate Form Data in Laravel 8

  1. Step 1 – Install Laravel 8 Application
  2. Step 2 – Configuring Database using Env File
  3. Step 3 – Create Model & Migration File For Form
  4. Step 4 – Create Routes
  5. Step 5 – Creating Controller
  6. Step 6 – Create Blade File For Form
  7. Step 7 – Start Development Server
  8. Step 8 – Run Laravel 8 Form Validation App On Browser

https://laratutorials.com/laravel-8-form-validation-example-tutorial/

#laravel 8 form validation #laravel 8 form validation tutorial #laravel 8 form validation - google search #how to validate form data in laravel 8 #form validation in laravel 8

I am Developer

1609729452

Laravel 8 Tutorial For Beginners Step by Step

Recommended:- Laravel Try Catch

#laravel #laravel 8 tutoral #laravel 8 tutorial for beginners #laravel 8 tutorial for beginners step by step #laravel 8 tutorial from scratch

Laravel 8 PDF Generate Example

Today, we will see Laravel 8 PDF Generate Example.

For generating PDF file we will use Laravel-dompdf package, it is create pdf file and also provide to download file functionalities it is very easy to generate pdf in laravel 8, i will give you example in very simple way to generate pdf file and download in your system.

So, Let’s start and see how to generate pdf in laravel 8.

Laravel 8 PDF Generate Example

https://websolutionstuff.com/post/laravel-8-pdf-generate-example


Read Also : Send Mail Example In Laravel 8

https://websolutionstuff.com/post/send-mail-example-in-laravel-8


Read Also : How To Generate QRcode In Laravel

https://websolutionstuff.com/post/how-to-generate-qrcode-in-laravel


Read Also : How To Generate Barcode In Laravel

https://websolutionstuff.com/post/how-to-generate-barcode-in-laravel

#laravel 8 pdf generate example #laravel 8 #pdf generate #generate pdf in laravel 8 #laravel-dompdf package #how to generate pdf in laravel 8