PHPackages                             pickupman/omnipay-verifi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. pickupman/omnipay-verifi

ActiveLibrary[Payment Processing](/categories/payments)

pickupman/omnipay-verifi
========================

Verifi driver for the Omnipay payment processing library"

v0.5.0(10y ago)048MITPHP

Since Aug 10Pushed 10y ago1 watchersCompare

[ Source](https://github.com/pickupman/omnipay-verifi)[ Packagist](https://packagist.org/packages/pickupman/omnipay-verifi)[ RSS](/packages/pickupman-omnipay-verifi/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Omnipay: Verifi
===============

[](#omnipay-verifi)

**Verifi driver for the Omnipay PHP payment processing library**

[![Latest Stable Version](https://camo.githubusercontent.com/753446aabe571f65cedb2e9999187fc9fbe3a4125067d03fbf61f35a7203e694/68747470733a2f2f706f7365722e707567782e6f72672f7069636b75706d616e2f6f6d6e697061792d7665726966692f76657273696f6e2e706e67)](https://packagist.org/packages/pickupman/omnipay-verifi)[![Total Downloads](https://camo.githubusercontent.com/7adeadc814994e36a3a5186ab21822ac1d15417363203cee5f954c6bc3e7474e/68747470733a2f2f706f7365722e707567782e6f72672f7069636b75706d616e2f6f6d6e697061792d7665726966692f642f746f74616c2e706e67)](https://packagist.org/packages/pickupman/omnipay-verifi)

[Omnipay](https://github.com/thephpleague/omnipay) is a framework agnostic, multi-gateway payment processing library for PHP 5.3+. This package implements Verifi support for Omnipay.

Installation
------------

[](#installation)

Omnipay is installed via [Composer](http://getcomposer.org/). To install, simply add it to your `composer.json` file:

```
{
    "require": {
        "pickupman/omnipay-verifi": "~1.0"
    }
}
```

And run composer to update your dependencies:

```
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update

```

Basic Usage
-----------

[](#basic-usage)

The following gateways are provided by this package:

- Verifi

For general usage instructions, please see the main [Omnipay](https://github.com/thephpleague/omnipay)repository.

Purchase / Sale
---------------

[](#purchase--sale)

For charging a card you may do the following

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

// Example card data
$card = new Omnipay\Common\CreditCard([
    'firstName'       => 'John',
    'lastName'        => 'Doe',
    'billingAddress1' => '888 Main',
    'billingZip'      => '77777',
    'billingCity'     => 'City',
    'billingState'    => 'State',
    'billingPostcode' => 'Zip',
    'number'          => '4111111111111111',
    'expiryMonth'     => '6',
    'expiryYear'      => '2016',
    'cvv'             => '123'
]);

$response = $gateway->purchase(
		         [
			         'card'                 => $card,
			         'amount'               => '10.00',
			         'clientIp'             => $_SERVER['REMOTE_ADDR'],
			         'transactionReference' => '1',
		         ]
		     )->send();

if ( $response->isSuccessful() ) {
	// Continue processing
	$transactionID = $response->getTransactionReference();
}
```

Refund / Credit
---------------

[](#refund--credit)

In order to process a refund, you must pass the originating transaction id returned by the gateway

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

$response = $gateway->refund(
		         [
			         'amount'               => '10.00',
			         'transactionReference' => 'original transactionid',
		         ]
		     )->send();

if ( $response->isSuccessful() ) {
	// Continue processing
	$transactionID = $response->getTransactionReference();
}
```

Void
----

[](#void)

To void an existing transaction, you must pass the originating transaction id returned by the gateway

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

$response = $gateway->void(
		         [
			         'transactionReference' => 'original transactionid',
		         ]
		     )->send();

if ( $response->isSuccessful() ) {
	// Continue processing
	$transactionID = $response->getTransactionReference();
}
```

Authorize
---------

[](#authorize)

You can authorize a credit card to verify funds, and then process the amount later.

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

// Example card data
$card = new Omnipay\Common\CreditCard([
    'firstName'       => 'John',
    'lastName'        => 'Doe',
    'billingAddress1' => '888 Main',
    'billingZip'      => '77777',
    'billingCity'     => 'City',
    'billingState'    => 'State',
    'billingPostcode' => 'Zip',
    'number'          => '4111111111111111',
    'expiryMonth'     => '6',
    'expiryYear'      => '2016',
    'cvv'             => '123'
]);

$response = $gateway->authorize(
		         [
			         'card'                 => $card,
			         'amount'               => '10.00',
			         'transactionReference' => 'order id or other unique value',
		         ]
		     )->send();

if ( $response->isSuccessful() ) {
	// Continue processing
	$transactionID = $response->getTransactionReference(); // Use this value later to capture
}
```

Capture
-------

[](#capture)

Use a capture, to charge a card after retrieving an authorization

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

$response = $gateway->capture(
		         [
			         'amount'               => '10.00',
			         'transactionReference' => 'order id or other unique value',
		         ]
		     )->send();

if ( $response->isSuccessful() ) {
	// Continue processing
	$transactionID = $response->getTransactionReference(); // Use this value later to capture
}
```

Creating a Recurring Billing Subscription
-----------------------------------------

[](#creating-a-recurring-billing-subscription)

You can create a custom billing cycle without any plans. You will need to define the amount, and billing intervals. See Verifi documentation for supported values. All API values are supported.

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

// Example card data
$card = new Omnipay\Common\CreditCard([
    'firstName'       => 'John',
    'lastName'        => 'Doe',
    'billingAddress1' => '888 Main',
    'billingZip'      => '77777',
    'billingCity'     => 'City',
    'billingState'    => 'State',
    'billingPostcode' => 'Zip',
    'number'          => '4111111111111111',
    'expiryMonth'     => '6',
    'expiryYear'      => '2016',
    'cvv'             => '123'
]);

//Create a subscription
$subscription = $gateway->createCustomSubscription([
	'start_date'      => 'YYYYMMDD', // Defaults to current date if not passed
    'plan_id'         => 'valid plan id from control panel',
    'card'            => $card
])->send();

if ( $subscription->isSuccessful() ) {
	$subscriptionID = $subscription->getSubscriptionId(); // Save for later
}
```

Create a Recurring Billing Custom Subscription
----------------------------------------------

[](#create-a-recurring-billing-custom-subscription)

You can create a custom billing cycle without any plans. You will need to define the amount, and billing intervals. See Verifi documentation for supported values. All API values are supported.

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

// Example card data
$card = new Omnipay\Common\CreditCard([
    'firstName'       => 'John',
    'lastName'        => 'Doe',
    'billingAddress1' => '888 Main',
    'billingZip'      => '77777',
    'billingCity'     => 'City',
    'billingState'    => 'State',
    'billingPostcode' => 'Zip',
    'number'          => '4111111111111111',
    'expiryMonth'     => '6',
    'expiryYear'      => '2016',
    'cvv'             => '123'
]);

//Create a subscription
$subscription = $gateway->createCustomSubscription([
    'amount'          => '25.00',
    'month_frequency' => 1, // Billed monthly
    'day_of_month'    => 1, // on first of the month
    'plan_payments'   => 0, // indefinitely or cancelled
    'card'            => $card
])->send();

if ( $subscription->isSuccessful() ) {
	$subscriptionID = $subscription->getSubscriptionId(); // Save for later
}
```

Delete a Subscription
---------------------

[](#delete-a-subscription)

You may delete / cancel a subscription by passing the originating subscription id.

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

$subscription = $gateway->deleteSubscription([
    'subscription_id' => 'subscription id here'
])->send();
```

Add Customer to Vault
---------------------

[](#add-customer-to-vault)

You may add a customer and their billing information to be saved in your Verifi vault.

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

// Example card data
$card = new Omnipay\Common\CreditCard([
    'firstName'       => 'John',
    'lastName'        => 'Doe',
    'billingAddress1' => '888 Main',
    'billingZip'      => '77777',
    'billingCity'     => 'City',
    'billingState'    => 'State',
    'billingPostcode' => 'Zip',
    'number'          => '4111111111111111',
    'expiryMonth'     => '6',
    'expiryYear'      => '2016',
    'cvv'             => '123'
]);

$response = $gateway->createCard([
				'card' => $card
			]);

if ( $response->isSuccessful() ) {
	$vaultId = $response->getToken();
}
```

Update a subscription
---------------------

[](#update-a-subscription)

You can update the billing information for customer by passing the originating transaction id.

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setUsername('username');
$gateway->setPassword('password');

// Example card data
$card = new Omnipay\Common\CreditCard([
    'firstName'       => 'John',
    'lastName'        => 'Doe',
    'billingAddress1' => '888 Main',
    'billingZip'      => '77777',
    'billingCity'     => 'City',
    'billingState'    => 'State',
    'billingPostcode' => 'Zip',
    'number'          => '4111111111111111',
    'expiryMonth'     => '6',
    'expiryYear'      => '2016',
    'cvv'             => '123'
]);

$subscription = $gateway->updateSubscription([
					'subscription_id' => 'subscription id here',
					'card' => $card
				]);

if ( $subscription->isSuccessful() ) {
	$subscriptionID = $subscription->getSubscriptionId();
}
```

Test Mode
---------

[](#test-mode)

This feature will *NOT* turn on test mode for your account. Test mode must be enabled or disabled from your Verifi control panel. All transactions processed on a live account will be charged.

If you would like to use the default testing credentials from Verifi, please initialize the gateway with

```
$gateway = Omnipay\Omnipay::create('Verifi');
$gateway->setTestMode(true); // Automatically sets default testing gateway username and password
```

Any transactions processed with testMode(true) will not be charged, *OR* shown in your control panel. This method will automatically apply the testing username and password for the Verifi gateway.

Support
-------

[](#support)

If you are having general issues with Omnipay, we suggest posting on [Stack Overflow](http://stackoverflow.com/). Be sure to add the [omnipay tag](http://stackoverflow.com/questions/tagged/omnipay) 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](https://groups.google.com/forum/#!forum/omnipay) which you can subscribe to.

If you believe you have found a bug, please report it using the [GitHub issue tracker](https://github.com/pickupman/omnipay-verifi/issues), or better yet, fork the library and submit a pull request.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3928d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/52ba696c9ae39e63cbb1dda630bf921b16118f123b0fe62c7d41ddd0b4526e3b?d=identicon)[pickupman](/maintainers/pickupman)

---

Top Contributors

[![pickupman](https://avatars.githubusercontent.com/u/1220279?v=4)](https://github.com/pickupman "pickupman (20 commits)")

---

Tags

paymentgatewaypaymerchantomnipayverifi

### Embed Badge

![Health badge](/badges/pickupman-omnipay-verifi/health.svg)

```
[![Health](https://phpackages.com/badges/pickupman-omnipay-verifi/health.svg)](https://phpackages.com/packages/pickupman-omnipay-verifi)
```

###  Alternatives

[lokielse/omnipay-alipay

Alipay gateway for Omnipay payment processing library

587421.0k11](/packages/lokielse-omnipay-alipay)[sudiptpa/omnipay-nabtransact

National Australia Bank (NAB) Transact driver for the Omnipay payment processing library.

1017.2k](/packages/sudiptpa-omnipay-nabtransact)[lucassmacedo/omnipay-mercadopago

MercadoPago gateway for OmniPay

154.6k](/packages/lucassmacedo-omnipay-mercadopago)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
