Integerates Omnipay with Laravel and provides an easy configuration.

Installs: 16 776

Dependents: 0

Stars: 105

Watchers: 9

Forks: 10

Open Issues: 6

Language: PHP

2.1.0 2015-09-03 01:40 UTC


Total Downloads Latest Version Dependency Status

Integrates the Omnipay PHP library with Laravel 5 via a ServiceProvider to make Configuring multiple payment tunnels a breeze!

Laravel 4 Support

For Laravel 4 see the version 1.x tree

Now using Omnipay 2.3

Version 2.0 and onwards has been updated to use Omnipay 2.3.

Composer Configuration

Include the laravel-omnipay package as a dependency in your composer.json:

"ignited/laravel-omnipay": "2.*"

Note: You don't need to include the omnipay/common in your composer.json - it is a requirement of the laravel-omnipay package.

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:

"omnipay/eway": "*"

Alternatively you can include every gateway by requring:

"omnipay/omnipay": "*"

Note: this requires a large amount of composer work as it needs to fetch each seperate repository. This is not recommended.


Run composer install to download the dependencies.

Laravel 5

Add a ServiceProvider to your providers array in config/app.php:

'providers' => [



Add the Omnipay facade to your facades array:

    'Omnipay' => 'Ignited\LaravelOmnipay\Facades\OmnipayFacade',

Finally, publish the configuration files via php artisan vendor:publish.


For Lumen add 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 config/laravel-omnipay.php.


$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


This will use the gateway specified in the config as default.

However, you can also specify a gateway to use.


$response = Omnipay::purchase([
    'amount' => '100.00',
    'card'   => $cardInput


In addition you can take an instance of the gateway.

$gateway = Omnipay::gateway('eway');