Integerates Omnipay with Laravel and provides an easy configuration.
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.0 and onwards has been updated to use Omnipay 2.3.
Include the laravel-omnipay package as a dependency in your
Note: You don't need to include the
omnipay/common in 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/common package includes the core framework. You will then need to include each gateway as you require. For example:
Alternatively you can include every gateway by requring:
Note: this requires a large amount of composer work as it needs to fetch each seperate repository. This is not recommended.
composer install to download the dependencies.
Add a ServiceProvider to your providers array in
'providers' => [ 'Ignited\LaravelOmnipay\LaravelOmnipayServiceProvider', ]
Omnipay facade to your facades array:
'Omnipay' => 'Ignited\LaravelOmnipay\Facades\OmnipayFacade',
Finally, publish the configuration files via
php artisan vendor:publish.
Once you have published the configuration files, you can add your gateway options to the config file in
$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(); dd($response->getMessage());
This will use the gateway specified in the config as
However, you can also specify a gateway to use.
Omnipay::setGateway('eway'); $response = Omnipay::purchase([ 'amount' => '100.00', 'card' => $cardInput ])->send(); dd($response->getMessage());
In addition you can take an instance of the gateway.
$gateway = Omnipay::gateway('eway');