This is a laravel package for intergration with paypal
epmnzava/paypal-laravel is a Laravel package for this is a laravel package for intergration with paypal.
It currently has 5 GitHub stars and 839 downloads on Packagist (latest version 1.7).
Install it with composer require epmnzava/paypal-laravel.
Discover more Laravel packages by epmnzava
or browse all Laravel packages to compare alternatives.
Last updated
This package is meant to help laravel developers to easily integrate their server side web application or web service with Paypal

Version | Laravel | PHP Version ------- | --------- | ------------ 1.5 | 8.0 | >= 8.0 1.3 | 8.0 | >= 7.3 1.2 | 7.0 | >= 7.2.5
You can install the package via composer:
composer require epmnzava/paypal-laravel
Add the service provider to the providers array in config/app.php:
"Epmnzava\PaypalLaravel\PaypalLaravelServiceProvider"::class
Add the facade to the aliases array in config/app.php:
'Paypal'=>Epmnzava\PaypalLaravel\PaypalLaravelFacade::class,
Publish the configuration file and migrations by running the provided console command:
php artisan vendor:publish --provider="Epmnzava\PaypalLaravel\PaypalLaravelServiceProvider"
PAYPAL_CLIENT_ID your provided paypal client id
PAYPAL_CLIENT_SECRET your provided paypal client secret
PAYPAL_REDIRECT_URL your redirect url
PAYPAL_CANCEL_URL your cancel url
PAYPAL_ENVIRONMENT your environment either test or production
PAYPAL_CURRENCY_CODE currency put TZS for Tanzanian Shillings
PAYPAL_ORG_NAME your organization name
<?php>
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Epmnzava\PaypalLaravel\PaypalLaravel as Paypal;
class TestController extends Controller
{
public function payments(Request $request){
$paypal_payments=new paypal;
$response=$paypal_payments->CreatePayment(int $amount, $tax, $shipping, $handling_fee, $description);
// You will need the order_id to reference the transaction hence save it from here.
$payment_id=$response["order_id"];
//the checkout link will lead the user you to paypal where he/she can approve the payment.
return redirect($response["checkout_link"]);
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Epmnzava\PaypalLaravel\PaypalLaravel as Paypal;
class TestController extends Controller
{
public function paypal_redirect(Request $request){
$paypal=new Paypal;
// This will execute the approved payment notice that the redirected url comes back with PayerID which we reuse it
$response=$paypal->executePayment($request->paymentId,$request->PayerID);
if(json_decode($response)->state=="approved"){
// update your database and share the success message to the user.
}
}
composer test
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.