Download the PHP package xepan/omnipay without Composer

On this page you can find all versions of the php package xepan/omnipay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package omnipay

Omnipay

An easy to use, consistent payment processing library for PHP 5.3+

Build Status Latest Stable Version Total Downloads

Omnipay is a payment processing library for PHP. It has been designed based on ideas from Active Merchant, plus experience implementing dozens of gateways for [CI Merchant]. It has a clear and consistent API, is fully unit tested, and even comes with an example application to get you started.

Why use Omnipay instead of a gateway's official PHP package/example code?

Important Note: Upgrading from < 2.0

If you are upgrading from a pre-2.0 version of Omnipay, please note that the project has now been split into multiple packages. There have also been some changes to how gateway instances are created. See the full release notes for more details.

TL;DR

Just want to see some code?

As you can see, Omnipay has a consistent, well thought out API. We try to abstract as much as possible the differences between the various payments gateways.

Package Layout

Omnipay is a collection of packages which all depend on the omnipay/common package to provide a consistent interface. There are no dependencies on official payment gateway PHP packages - we prefer to work with the HTTP API directly. Under the hood, we use the popular and powerful Guzzle library to make HTTP requests.

New gateways can be created by cloning the layout of an existing package. When choosing a name for your package, please don't use the omnipay vendor prefix, as this implies that it is officially supported. You should use your own username as the vendor prefix, and prepend omnipay- to the package name to make it clear that your package works with Omnipay. For example, if your GitHub username was santa, and you were implementing the giftpay payment library, a good name for your composer package would be santa/omnipay-giftpay.

If you want to transfer your gateway to the omnipay GitHub organization and add it to the list of officially supported gateways, please open a pull request on the omnipay/common package. Before new gateways will be accepted, they must have 100% unit test code coverage, and follow the conventions and code style used in other Omnipay gateways.

Installation

Omnipay is installed via Composer. For most uses, you will need to require an individual gateway:

To install all officially supported gateways:

This will require ALL ~25 Omnipay gateways and is generally discouraged.

Payment Gateways

All payment gateways must implement GatewayInterface, and will usually extend AbstractGateway for basic functionality.

The following gateways are available:

Gateway Composer Package Maintainer
2Checkout omnipay/2checkout Kayla Daniels
2Checkout Improved collizo4sky/omnipay-2checkout Agbonghama Collins
Agms agmscode/omnipay-agms Maanas Royy
Alipay(Global) lokielse/omnipay-global-alipay Loki Else
Alipay lokielse/omnipay-alipay Loki Else
Authorize.Net omnipay/authorizenet Kayla Daniels
Barclays ePDQ samvaughton/omnipay-barclays-epdq Sam Vaughton
Beanstream lemonstand/omnipay-beanstream LemonStand
BKM Express yasinkuyu/omnipay-bkm Yasin Kuyu
Buckaroo omnipay/buckaroo Kayla Daniels
CardGate cardgate/omnipay-cardgate CardGate
CardSave omnipay/cardsave Kayla Daniels
Checkout.com fotografde/checkoutcom fotograf.de
Coinbase omnipay/coinbase Kayla Daniels
Creditcall meebio/omnipay-creditcall John Jablonski
Cybersource dioscouri/omnipay-cybersource Dioscouri Design
Cybersource SOAP dabsquared/omnipay-cybersource-soap DABSquared
DataCash coatesap/omnipay-datacash Andrew Coates
Dummy omnipay/dummy Kayla Daniels
ecoPayz dercoder/omnipay-ecopayz Alexander Fedra
Elavon lemonstand/omnipay-elavon LemonStand
eWAY omnipay/eway Kayla Daniels
Fasapay andreas22/omnipay-fasapay Andreas Christodoulou
Fat Zebra delatbabel/omnipay-fatzebra Del
First Data omnipay/firstdata Andrew Coates
Flo2cash guisea/omnipay-flo2cash Aaron Guise
Globalcloudpay dercoder/omnipay-globalcloudpay Alexander Fedra
GoCardless omnipay/gocardless Kayla Daniels
GVP (Garanti) yasinkuyu/omnipay-gvp Yasin Kuyu
Helcim academe/omnipay-helcim Jason Judge
IfthenPay ifthenpay/omnipay-ifthenpay Rafael Almeida
Iyzico yasinkuyu/omnipay-iyzico Yasin Kuyu
Komerci (Rede, former RedeCard) byjg/omnipay-komerci João Gilberto Magalhães
Komoju vink/omnipay-komoju Danny Vink
Manual omnipay/manual Kayla Daniels
Migs omnipay/migs Kayla Daniels
Mollie omnipay/mollie Kayla Daniels
MOLPay leesiongchan/molpay Lee Siong Chan
MultiCards incube8/omnipay-multicards Del
MultiSafepay omnipay/multisafepay Alexander Deruwe
NestPay (EST) yasinkuyu/omnipay-nestpay Yasin Kuyu
Netaxept (BBS) omnipay/netaxept Kayla Daniels
Netbanx omnipay/netbanx Maks Rafalko
Neteller alfaproject/omnipay-neteller João Dias
Network Merchants Inc. (NMI) mfauveau/omnipay-nmi Matthieu Fauveau
Pacnet mfauveau/omnipay-pacnet Matthieu Fauveau
Pagar.me descubraomundo/omnipay-pagarme Descubra o Mundo
PayFast omnipay/payfast Kayla Daniels
Payflow omnipay/payflow Kayla Daniels
PaymentExpress (DPS) omnipay/paymentexpress Kayla Daniels
PaymentSense coatesap/omnipay-paymentsense Andrew Coates
PaymentWall incube8/omnipay-paymentwall Del
PayPal omnipay/paypal Kayla Daniels
PayPro paypronl/omnipay-paypro Fruitcake Studio
Paysafecard dercoder/omnipay-paysafecard Alexander Fedra
PayTrace softcommerce/omnipay-paytrace Oleg Ilyushyn
PayU omnipay/payu efesaid
Pin Payments omnipay/pin Kayla Daniels
Portmanat dercoder/omnipay-portmanat Alexander Fedra
Posnet yasinkuyu/omnipay-posnet Yasin Kuyu
Postfinance bummzack/omnipay-postfinance Roman Schmid
Realex coatesap/omnipay-realex Andrew Coates
RedSys nazka/sermepa-omnipay Javier Sampedro
Sage Pay omnipay/sagepay Kayla Daniels
SecPay justinbusschau/omnipay-secpay Justin Busschau
SecurePay omnipay/securepay Kayla Daniels
Secure Trading meebio/omnipay-secure-trading John Jablonski
Sisow fruitcakestudio/omnipay-sisow Fruitcake Studio
Skrill alfaproject/omnipay-skrill João Dias
Stripe omnipay/stripe Kayla Daniels
TargetPay omnipay/targetpay Alexander Deruwe
UnionPay lokielse/omnipay-unionpay Loki Else
Vantiv lemonstand/omnipay-vantiv LemonStand
Veritrans andylibrian/omnipay-veritrans Andy Librian
WebMoney dercoder/omnipay-webmoney Alexander Fedra
WeChat labs7in0/omnipay-wechat 7IN0's Labs
WechatPay lokielse/omnipay-wechatpay Loki Else
WePay collizo4sky/omnipay-wepay Agbonghama Collins
Wirecard igaponov/omnipay-wirecard Igor Gaponov
WorldPay omnipay/worldpay Kayla Daniels
WorldPay XML Direct teaandcode/omnipay-worldpay-xml Dave Nash
Yandex.Money aTastyCookie/yandexmoney_omnipay Roman Ananyev

Gateways are created and initialized like so:

Most settings are gateway specific. If you need to query a gateway to get a list of available settings, you can call getDefaultParameters():

Generally most payment gateways can be classified as one of two types:

However, there are some gateways such as Sage Pay Direct, where you take credit card details on site, then optionally redirect if the customer's card supports 3D Secure authentication. Therefore, there is no point differentiating between the two types of gateway (other than by the methods they support).

Credit Card / Payment Form Input

User form input is directed to an CreditCard object. This provides a safe way to accept user input.

The CreditCard object has the following fields:

Even off-site gateways make use of the CreditCard object, because often you need to pass customer billing or shipping details through to the gateway.

The CreditCard object can be initialized with untrusted user input via the constructor. Any fields passed to the constructor which are not recognized will be ignored.

You can also just pass the form data array directly to the gateway, and a CreditCard object will be created for you.

CreditCard fields can be accessed using getters and setters:

If you submit credit card details which are obviously invalid (missing required fields, or a number which fails the Luhn check), InvalidCreditCardException will be thrown. You should validate the card details using your framework's validation library before submitting the details to your gateway, to avoid unnecessary API calls.

For on-site payment gateways, the following card fields are generally required:

You can also verify the card number using the Luhn algorithm by calling Helper::validateLuhn($number).

Gateway Methods

The main methods implemented by gateways are:

On-site gateways do not need to implement the completeAuthorize and completePurchase methods. Gateways that don't receive payment notifications don't need to implement acceptNotification. If any gateway does not support certain features (such as refunds), it will throw BadMethodCallException.

All gateway methods except acceptNotification take an $options array as an argument. The acceptNotification method does not take any parameters and will access the HTTP URL variables or POST data implicitly. Each gateway differs in which parameters are required, and the gateway will throw InvalidRequestException if you omit any required parameters. All gateways will accept a subset of these options:

Pass the options through to the method like so:

When calling the completeAuthorize or completePurchase methods, the exact same arguments should be provided as when you made the initial authorize or purchase call (some gateways will need to verify for example the actual amount paid equals the amount requested). The only parameter you can omit is card.

To summarize the various parameters you have available to you:

The Payment Response

The payment response must implement ResponseInterface. There are two main types of response:

Successful Response

For a successful responses, a reference will normally be generated, which can be used to capture or refund the transaction at a later date. The following methods are always available:

In addition, most gateways will override the response object, and provide access to any extra fields returned by the gateway.

Redirect Response

The redirect response is further broken down by whether the customer's browser must redirect using GET (RedirectResponse object), or POST (FormRedirectResponse). These could potentially be combined into a single response class, with a getRedirectMethod().

After processing a payment, the cart should check whether the response requires a redirect, and if so, redirect accordingly:

The customer isn't automatically forwarded on, because often the cart or developer will want to customize the redirect method (or if payment processing is happening inside an AJAX call they will want to return JS to the browser instead).

To display your own redirect page, simply call getRedirectUrl() on the response, then display it accordingly:

Error Handling

You can test for a successful response by calling isSuccessful() on the response object. If there was an error communicating with the gateway, or your request was obviously invalid, an exception will be thrown. In general, if the gateway does not throw an exception, but returns an unsuccessful response, it is a message you should display to the customer. If an exception is thrown, it is either a bug in your code (missing required fields), or a communication error with the gateway.

You can handle both scenarios by wrapping the entire request in a try-catch block:

Token Billing

Token billing allows you to store a credit card with your gateway, and charge it at a later date. Token billing is not supported by all gateways. For supported gateways, the following methods are available:

Once you have a cardReference, you can use it instead of the card parameter when creating a charge:

$gateway->purchase(array('amount' => '10.00', 'cardReference' => 'abc'));

Recurring Billing

At this stage, automatic recurring payments functionality is out of scope for this library. This is because there is likely far too many differences between how each gateway handles recurring billing profiles. Also in most cases token billing will cover your needs, as you can store a credit card then charge it on whatever schedule you like. Feel free to get in touch if you really think this should be a core feature and worth the effort.

Incoming Notifications

Some gateways (e.g. Cybersource, GoPay) offer HTTP notifications to inform the merchant about the completion (or, in general, status) of the payment. To assist with handling such notifications, the acceptNotification() method will extract the transaction reference and payment status from the HTTP request and return a generic NotificationInterface.

Example Application

An example application is provided in the omnipay/example repo. You can run it using PHP's built in web server (PHP 5.4+):

$ php composer.phar update --dev
$ php -S localhost:8000

For more information, see the Omnipay example application.

Support

If you are having general issues with Omnipay, we suggest posting on Stack Overflow. Be sure to add the omnipay tag so it can be easily found.

If you want to keep up to date with release anouncements, discuss ideas for the project, or ask more detailed questions, there is also a mailing list which you can subscribe to.

If you believe you have found a bug, please report it using the GitHub issue tracker for the appropriate package, or better yet, fork the library and submit a pull request.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Feedback

Please provide feedback! We want to make this library useful in as many projects as possible. Please head on over to the mailing list and point out what you do and don't like, or fork the project and make suggestions. No issue is too small.


All versions of omnipay with dependencies

PHP Build Version
Package Version
Requires omnipay/2checkout Version ~2.0
omnipay/authorizenet Version ~2.0
omnipay/buckaroo Version ~2.0
omnipay/cardsave Version ~2.0
omnipay/coinbase Version ~2.0
omnipay/common Version ~2.3
omnipay/dummy Version ~2.0
omnipay/eway Version ~2.0
omnipay/firstdata Version ~2.0
omnipay/gocardless Version ~2.0
omnipay/manual Version ~2.0
omnipay/migs Version ~2.0
omnipay/mollie Version ~3.0
omnipay/multisafepay Version ~2.0
omnipay/netaxept Version ~2.0
omnipay/netbanx Version ~2.0
omnipay/payfast Version ~2.0
omnipay/payflow Version ~2.0
omnipay/paymentexpress Version ~2.0
omnipay/paypal Version ~2.0
omnipay/pin Version ~2.0
omnipay/sagepay Version ~2.0
omnipay/securepay Version ~2.0
omnipay/stripe Version ~2.0
omnipay/targetpay Version ~2.0
omnipay/worldpay Version ~2.0
xepan/ccavenue Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package xepan/omnipay contains the following files

Loading the files please wait ....