omnipay-bundle
, (*1)
Simple bundle for implementing Omnipay in your Symfony application., (*2)
Install
Via Composer, (*3)
``` bash
$ composer require colinodell/omnipay-bundle, (*4)
Enable the bundle in your `AppKernel.php`:
```php
new ColinODell\OmnipayBundle\OmnipayBundle(),
Usage
This bundle provides a new service called Omnipay. It contains a single method get(), which returns a fully-configured gateway for you to use:, (*5)
``` php
$stripe = $this->get('omnipay')->get('Stripe');, (*6)
$paypal = $this->get('omnipay')->get('PayPal_Express');, (*7)
You can then use these gateways like usual.
**Note:** Gateways are "cached" - calling `get('Some_Gateway')` multiple times will always return the same object.
## Configuration
Gateways can be configured in your `app/config/config.yml` file
``` yml
omnipay:
methods:
# Your config goes here
For example, to configure the Stripe and PayPal Express gateways:, (*8)
``` yml
omnipay:
methods:
Stripe:
apiKey: sk_test_BQokikJOvBiI2HlWgH4olfQ2, (*9)
PayPal_Express:
username: test-facilitator_api1.example.com
password: 3MPI3VB4NVQ3XSVF
signature: 6fB0XmM3ODhbVdfev2hUXL2x7QWxXlb1dERTKhtWaABmpiCK1wtfcWd.
testMode: false
solutionType: Sole
landingPage: Login
**NOTE:** You should probably consider using parameters instead of storing credentials directly in your `config.yml` like that.
The method names should be whatever you'd typically pass into `Omnipay::create()`. The configuration settings vary per gateway - see
[Configuring Gateways](http://omnipay.thephpleague.com/gateways/configuring/) in the Omnipay documentation for more details.
## Registering Custom Gateways
Custom gateways can be registered via the container by tagging them with `omnipay.gateway`:
```yml
# services.yml
services:
my.test.gateway:
class: Path\To\MyTestGateway
tags:
- { name: omnipay.gateway, alias: MyTest }
# config.yml
omnipay:
methods:
# Reference the gateway alias here
MyTest:
apiKey: abcd1234!@#
You can then obtain the fully-configured gateway by its alias:, (*10)
$this->get('omnipay')->get('MyTest');
Testing
bash
$ phpunit, (*11)
Contributing
Please see CONTRIBUTING for details., (*12)
Security
If you discover any security related issues, please email colinodell@gmail.com instead of using the issue tracker., (*13)
Credits
License
The MIT License (MIT). Please see License File for more information., (*14)