All Versions
Latest Version
Avg Release Cycle
253 days
Latest Release
611 days ago

Changelog History
Page 2

  • v2.0.0 Changes

    November 17, 2013

    📦 Package Separation

    📦 As of 2.0, Omnipay has been split into separate packages. Core functionality is contained within the omnipay/common repository, and all gateways have their own repositories. This means that if your project only requires on a single gateway, you can load it without installing all of the other gateways. All officially supported gateways can be found under the Omnipay GitHub organization.

    📦 If you want to install all gateways, you can still use the omnipay/omnipay metapackage in composer.json:

        "require": {
            "omnipay/omnipay": "~2.0"

    Alternatively, if you want to migrate to an individual gateway, simply change your composer.json file to reference the specific gateway (omnipay/common will be included for you automatically):

        "require": {
            "omnipay/paypal": "~2.0"

    💥 Breaking Changes

    The GatewayFactory class can now longer be called in a static fashion. To help those who want to use dependency injection, you can now create an instance of GatewayFactory:

    $factory = new GatewayFactory();
    $gateway = $factory->create('PayPal_Express');

    The following code is invalid and will no longer work:

    $gateway = GatewayFactory::create('PayPal_Express'); // will cause PHP error!

    If you want to continue to use static methods for simplicity, you can use the new Omnipay class:

    // at the top of your PHP file
    use Omnipay\Omnipay;
    // further down when you need to create the gateway
    $gateway = Omnipay::create('PayPal_Express');

    Behind the scenes, this will create a GatewayFactory instance for you and call the appropriate method on it.

    ➕ Additions

    👍 Omnipay now supports sending line-item data to gateways. Currently this is only supported by the PayPal gateway. Line item details can be added to a request like so:

        array('name' => 'Food', 'quantity' => 1, 'price' => '40.00'),
        array('name' => 'Drinks', 'quantity' => 2, 'price' => '6.00'),

    👀 For more details, see the pull request.

    👍 Omnipay now also supports modifying request data before it is sent to the gateway.. This allows you to send arbitrary custom data with a request, even if Omnipay doesn't support a parameter directly. To modify the request data, instead of calling send() directly on the request, you may use the new sendData() method:

    // standard method - send default data
    $response = $request->send();
    // new method - get and send custom data
    $data = $request->getData();
    $data['customParameter'] = true;
    $response = $request->sendData($data);

    👀 For more details, see the pull request.

  • v1.1.0 Changes

    October 19, 2013
    • 🚚 Paypal [BC BREAK]: Removed default values for noShipping and allowNote Express Checkout options. To retain previous behavior, pass 'noShipping' => 1 and 'allowNote' => 0 when creating the request. (@aderuwe)
    • ➕ Add TargetPay gateway (@aderuwe)
    • MultiSafepay: Add purchase parameter (@aderuwe)
    • 👍 MultiSafepay: Add support for directtransaction (@ruudk)
    • 👍 Authorize.Net SIM: Add support for hash secret (@amsross)
    • Authorize.Net AIM: Add extra response getters
    • Sage Pay Direct: Don't pass state unless country is US