Skip to content

Commit 0580627

Browse files
committed
Update README.md
1 parent a91e7ff commit 0580627

File tree

1 file changed

+55
-40
lines changed

1 file changed

+55
-40
lines changed

README.md

Lines changed: 55 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -57,29 +57,49 @@ as possible the differences between the various payments gateways.
5757

5858
## Package Layout
5959

60-
Omnipay is a single package which provides abstract base classes and implementations for all
61-
officially supported gateways. There are no dependencies on official payment gateway PHP packages -
60+
Omnipay is a collection of packages which all depend on the
61+
[omnipay/common](https://github.com/omnipay/common) package to provide
62+
a consistent interface. There are no dependencies on official payment gateway PHP packages -
6263
we prefer to work with the HTTP API directly. Under the hood, we use the popular and powerful
6364
[Guzzle](http://guzzlephp.org/) library to make HTTP requests.
6465

65-
New gateways can either be added by forking this package and submitting a pull request
66-
(unit tests and tidy code required), or by distributing a separate library which depends on this
67-
package and makes use of our base classes and consistent developer API.
66+
New gateways can be created by cloning the layout of an existing package. When choosing a
67+
name for your package, please don't use the `omnipay` vendor prefix, as this implies that
68+
it is officially supported. You should use your own username as the vendor prefix, and append
69+
`-omnipay` to the package name to make it clear that your package works with Omnipay.
70+
For example, if your GitHub username was `santa`, and you were implementing the `giftpay`
71+
payment library, a good name for your composer package would be `santa/giftpay-omnipay`.
72+
73+
If you want to transfer your gateway to the `omnipay` GitHub organization and add it
74+
to the list of officially supported gateways, please open a pull request on the
75+
[omnipay/common](https://github.com/omnipay/common) package. Before new gateways will
76+
be accepted, they must have 100% unit test code coverage, and follow the conventions
77+
and code style used in other Omnipay gateways.
6878

6979
## Installation
7080

71-
Omnipay is installed via [Composer](http://getcomposer.org/). To install, simply add it
72-
to your `composer.json` file:
81+
Omnipay is installed via [Composer](http://getcomposer.org/). To install all officially
82+
supported gateways, simply add the following to your `composer.json` file:
83+
84+
```json
85+
{
86+
"require": {
87+
"omnipay/omnipay": "~2.0"
88+
}
89+
}
90+
```
91+
92+
Alternatively, you can require individual gateways:
7393

7494
```json
7595
{
7696
"require": {
77-
"omnipay/omnipay": "1.*"
97+
"omnipay/paypal": "~2.0"
7898
}
7999
}
80100
```
81101

82-
And run composer to update your dependencies:
102+
Next, run composer to update your dependencies:
83103

84104
$ curl -s http://getcomposer.org/installer | php
85105
$ php composer.phar update
@@ -89,37 +109,32 @@ And run composer to update your dependencies:
89109
All payment gateways must implement [GatewayInterface](https://github.com/omnipay/omnipay/blob/master/src/Omnipay/Common/GatewayInterface.php), and will usually
90110
extend [AbstractGateway](https://github.com/omnipay/omnipay/blob/master/src/Omnipay/Common/AbstractGateway.php) for basic functionality.
91111

92-
The following gateways are already implemented:
93-
94-
* 2Checkout
95-
* Authorize.Net AIM
96-
* Authorize.Net SIM
97-
* Buckaroo
98-
* CardSave
99-
* Dummy
100-
* eWAY Rapid 3.0
101-
* First Data Connect
102-
* GoCardless
103-
* Manual
104-
* Migs 2-Party
105-
* Migs 3-Party
106-
* Mollie
107-
* MultiSafepay
108-
* Netaxept (BBS)
109-
* Netbanx
110-
* PayFast
111-
* Payflow Pro
112-
* PaymentExpress (DPS) PxPay
113-
* PaymentExpress (DPS) PxPost
114-
* PayPal Express Checkout
115-
* PayPal Payments Pro
116-
* Pin Payments
117-
* Sage Pay Direct
118-
* Sage Pay Server
119-
* SecurePay Direct Post
120-
* Stripe
121-
* TargetPay
122-
* WorldPay
112+
The following gateways are available and officially supported:
113+
114+
* [2Checkout](https://github.com/omnipay/2checkout)
115+
* [Authorize.Net](https://github.com/omnipay/authorizenet)
116+
* [Buckaroo](https://github.com/omnipay/buckaroo)
117+
* [CardSave](https://github.com/omnipay/cardsave)
118+
* [Dummy](https://github.com/omnipay/dummy)
119+
* [eWAY](https://github.com/omnipay/eway)
120+
* [First Data](https://github.com/omnipay/firstdata)
121+
* [GoCardless](https://github.com/omnipay/gocardless)
122+
* [Manual](https://github.com/omnipay/manual)
123+
* [Migs](https://github.com/omnipay/migs)
124+
* [Mollie](https://github.com/omnipay/mollie)
125+
* [MultiSafepay](https://github.com/omnipay/multisafepay)
126+
* [Netaxept (BBS)](https://github.com/omnipay/netaxept)
127+
* [Netbanx](https://github.com/omnipay/netbanx)
128+
* [PayFast](https://github.com/omnipay/payfast)
129+
* [Payflow](https://github.com/omnipay/payflow)
130+
* [PaymentExpress (DPS)](https://github.com/omnipay/paymentexpress)
131+
* [PayPal](https://github.com/omnipay/paypal)
132+
* [Pin Payments](https://github.com/omnipay/pin)
133+
* [Sage Pay](https://github.com/omnipay/sagepay)
134+
* [SecurePay](https://github.com/omnipay/securepay)
135+
* [Stripe](https://github.com/omnipay/stripe)
136+
* [TargetPay](https://github.com/omnipay/targetpay)
137+
* [WorldPay](https://github.com/omnipay/worldpay)
123138

124139
Gateways are created and initialized like so:
125140

0 commit comments

Comments
 (0)