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 incomposer.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:
$request->setItems(array( 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 newsendData()
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
andallowNote
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
- 🚚 Paypal [BC BREAK]: Removed default values for