The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:
Integrates the Omnipay PHP library with Laravel 5 via a ServiceProvider to make Configuring multiple payment tunnels a breeze!
For Laravel 4 see the version 1.x tree
2.0and onwards has been updated to use Omnipay 2.3.
2.2and onwards is using Omnipay 2.5
2.3and onwards supports Laravel 5.4
3.0and onwards supports Omnipay 3.0 and Laravel 5.3, 5.4, 5.5, 5.6, 5.7
3.1and onwards supports Omnipay 3.0 and Laravel 5.3, 5.4, 5.5, 5.6, 5.7, 6.0
3.2and onwards supports Omnipay 3.0 and Laravel 5.3, 5.4, 5.5, 5.6, 5.7, 6.0, 7.0
Include the laravel-omnipay package as a dependency in your
composer require ignited/laravel-omnipay "3.*"
Note: You don't need to include the
omnipay/commonin your composer.json - it is a requirement of the
Omnipay recently went refactoring that made it so that each package is now a seperate repository. The
omnipay/commonpackage includes the core framework. You will then need to include each gateway as you require. For example:
composer require omnipay/eway "3.*"
Alternatively you can include every gateway by requring:
composer require omnipay/omnipay "3.*"
Note: this requires a large amount of composer work as it needs to fetch each seperate repository. This is not recommended.
Add a ServiceProvider to your providers array in
'providers' => [
Omnipayfacade to your facades array:
'Omnipay' => Ignited\LaravelOmnipay\Facades\OmnipayFacade::class
Finally, publish the configuration files:
php artisan vendor:publish --provider="Ignited\LaravelOmnipay\LaravelOmnipayServiceProvider" --tag=config
Lumenadd the following in your bootstrap/app.php
Copy the laravel-omnipay.php file from the config directory to config/laravel-omnipay.php
And also add the following to bootstrap/app.php
Once you have published the configuration files, you can add your gateway options to the config file in
Here is an example of how to configure password, username and, signature with paypal express checkout driver
... 'gateways' => [ 'paypal' => [ 'driver' => 'PayPal_Express', 'options' => [ 'username' => env( 'OMNIPAY_PAYPAL_EXPRESS_USERNAME', '' ), 'password' => env( 'OMNIPAY_PAYPAL_EXPRESS_PASSWORD', '' ), 'signature' => env( 'OMNIPAY_PAYPAL_EXPRESS_SIGNATURE', '' ), 'solutionType' => env( 'OMNIPAY_PAYPAL_EXPRESS_SOLUTION_TYPE', '' ), 'landingPage' => env( 'OMNIPAY_PAYPAL_EXPRESS_LANDING_PAGE', '' ), 'headerImageUrl' => env( 'OMNIPAY_PAYPAL_EXPRESS_HEADER_IMAGE_URL', '' ), 'brandName' => 'Your app name', 'testMode' => env( 'OMNIPAY_PAYPAL_TEST_MODE', true ) ] ], ] ...
$cardInput = [ 'number' => '4444333322221111', 'firstName' => 'MR. WALTER WHITE', 'expiryMonth' => '03', 'expiryYear' => '16', 'cvv' => '333', ];
$card = Omnipay::creditCard($cardInput); $response = Omnipay::purchase([ 'amount' => '100.00', 'returnUrl' => 'http://bobjones.com/payment/return', 'cancelUrl' => 'http://bobjones.com/payment/cancel', 'card' => $cardInput ])->send();
This will use the gateway specified in the config as
However, you can also specify a gateway to use.
$response = Omnipay::purchase([ 'amount' => '100.00', 'card' => $cardInput ])->send();
In addition you can take an instance of the gateway.
$gateway = Omnipay::gateway('eway');