Package Data | |
---|---|
Maintainer Username: | ErikCampobadal |
Maintainer Contact: | soc@erik.cat (Erik Campobadal) |
Package Create Date: | 2017-07-11 |
Package Last Update: | 2018-03-07 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-22 03:18:10 |
Package Statistics | |
---|---|
Total Downloads: | 92 |
Monthly Downloads: | 1 |
Daily Downloads: | 0 |
Total Stars: | 23 |
Total Watchers: | 3 |
Total Forks: | 4 |
Total Open Issues: | 0 |
Payzap is the new simple way of integrating paypal in your laravel application with a few lines of code. It uses simple and elegant syntax to create the payment.
composer require consoletvs/payzap
Register the service provider to the current project (Not needed if using laravel 5.5+):
ConsoleTVs\Payzap\PayzapServiceProvider::class
Publish the configuration:
php artisan vendor:publish
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use ConsoleTVs\Payzap\Classes\Payment;
class PaymentController extends Controller
{
/**
* Returns the payment view and setups the javascript logic.
*
* @author Erik Campobadal <soc@erik.cat>
* @copyright 2017 erik.cat
* @return \Illuminate\Http\Response
*/
public function index()
{
$payment = Payment::prepare()
->createUrl(route('api::payments.create'))
->executeUrl(route('api::payments.execute'))
->redirectUrl(route('payment.finished'))
->buttonId('paypal-button');
return view('payment', compact('payment'));
}
/**
* Creates the paypal payment using payzap.
*
* @author Erik Campobadal <soc@erik.cat>
* @copyright 2017 erik.cat
* @return \ConsoleTVs\Payzap\Classes\Payment
*/
public function create()
{
return Payment::create()
->addItem([
'name' => 'Product 1',
'currency' => 'EUR',
'quantity' => 1,
'price' => 0.5,
])->addItem([
'name' => 'Product 2',
'currency' => 'EUR',
'quantity' => 2,
'price' => 0.25,
])->description("My first payment")
->generate();
}
/**
* Executes the paypal payment and returns the result boolean in an array.
*
* @author Erik Campobadal <soc@erik.cat>
* @copyright 2017 erik.cat
* @param Request $request
* @return array
*/
public function execute(Request $request)
{
return ['result' => Payment::execute($request->payment_id, $request->payer_id) !== false];
}
}
<!DOCTYPE html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body>
<div id="paypal-button"></div>
{!! $payment->scripts() !!}
</body>
Route::get('/payment', 'PaymentController@index')->name('payment');
Route::get('/payment/finished', function () {
return "Payment Executed.";
})->name('payment.finished');