<commit_before># Omnipay: Vindicia

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

[![Build Status](https://travis-ci.org/vimeo/omnipay-vindicia.png?branch=master)](https://travis-ci.org/vimeo/omnipay-vindicia)
[![Latest Stable Version](https://poser.pugx.org/vimeo/omnipay-vindicia/version.png)](https://packagist.org/packages/vimeo/omnipay-vindicia)
[![Total Downloads](https://poser.pugx.org/vimeo/omnipay-vindicia/d/total.png)](https://packagist.org/packages/vimeo/omnipay-vindicia)

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

[Vindicia](https://vindicia.com/) is a payment services provider founded in Redwood City, CA in 2003 and focused on subscription billing. This driver interfaces with [Cashbox](https://www.vindicia.com/solutions/vindicia-cashbox), their subscription billing platform.

## Installation

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

```json
{
    "require": {
        "vimeo/omnipay-vindicia": "~2.0"
    }
}
```

And run composer to update your dependencies:

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

## Basic Usage

The following gateways are provided by this package:

* [Vindicia](https://vindicia.com/)
* Vindicia_PayPal (Vindicia's PayPal Express implementation)
* Vindicia_HOA ([Hosted Order Automation](https://www.vindicia.com/resources/data-sheets/hosted-order-automation), Vindicia's solution for minimizing your PCI compliance burden)

**NOTE:** Unlike many gateways, Vindicia requires that every purchase have a corresponding customer. Therefore, the `customerId` or `customerReference` must be provided for every authorize or purchase request. If you pass a `customerId` that does not exist, Vindicia will create the customer object for you as part of the same request. (A `customerReference` that does not exist is an error.)

### Simple Example

```php
$gateway = \Omnipay\Omnipay::create('Vindicia');
$gateway->setUsername('your_username');<commit_msg>Add note about pinning the minor version<commit_after># Omnipay: Vindicia

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

[![Build Status](https://travis-ci.org/vimeo/omnipay-vindicia.png?branch=master)](https://travis-ci.org/vimeo/omnipay-vindicia)
[![Latest Stable Version](https://poser.pugx.org/vimeo/omnipay-vindicia/version.png)](https://packagist.org/packages/vimeo/omnipay-vindicia)
[![Total Downloads](https://poser.pugx.org/vimeo/omnipay-vindicia/d/total.png)](https://packagist.org/packages/vimeo/omnipay-vindicia)

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

[Vindicia](https://vindicia.com/) is a payment services provider founded in Redwood City, CA in 2003 and focused on subscription billing. This driver interfaces with [Cashbox](https://www.vindicia.com/solutions/vindicia-cashbox), their subscription billing platform.

## Installation

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

```json
{
    "require": {
        "vimeo/omnipay-vindicia": "2.6.*"
    }
}
```

And run composer to update your dependencies:

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

_(Note that we recommend pinning the minor version. While `v2.*` will remain fully compatible with Omnipay 2, features added in addition to the base Omnipay features, such as subscriptions, may have breaking changes in a minor version bump.)_

## Basic Usage

The following gateways are provided by this package:

* [Vindicia](https://vindicia.com/)
* Vindicia_PayPal (Vindicia's PayPal Express implementation)
* Vindicia_HOA ([Hosted Order Automation](https://www.vindicia.com/resources/data-sheets/hosted-order-automation), Vindicia's solution for minimizing your PCI compliance burden)

**NOTE:** Unlike many gateways, Vindicia requires that every purchase have a corresponding customer. Therefore, the `customerId` or `customerReference` must be provided for every authorize or purchase request. If you pass a `customerId` that does not exist, Vindicia will create the customer object for you as part of the same request. (A `customerReference` that does not exist is an error.)

### Simple Example

```php
$gateway = \Omnipay\Omnipay::create('Vindicia');
$gateway->setUsername('your_username');
{'fraction_non_alphanumeric': 0.1205183585313175, 'fraction_numerical': 0.0038876889848812094, 'mean_word_length': 5.275067750677507, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 22, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3122894', 'n_tokens_mistral': 1514, 'n_tokens_neox': 1443, 'n_words': 425}