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