PHPackages                             coxeh/omnipay-barclays-epdq - 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. coxeh/omnipay-barclays-epdq

ActiveLibrary[Payment Processing](/categories/payments)

coxeh/omnipay-barclays-epdq
===========================

Barclays ePDQ driver for the Omnipay payment processing library.

v3.0.0(3y ago)01.3k↑87.5%1MITPHP

Since Mar 26Pushed 3y agoCompare

[ Source](https://github.com/coxeh/omnipay-barclays-epdq)[ Packagist](https://packagist.org/packages/coxeh/omnipay-barclays-epdq)[ Docs](https://github.com/digitickets/omnipay-barclays-epdq)[ RSS](/packages/coxeh-omnipay-barclays-epdq/feed)WikiDiscussions master Synced today

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

Omnipay: Barclays ePDQ
======================

[](#omnipay-barclays-epdq)

**Barclays ePDQ driver for the Omnipay PHP payment processing library**

[![Build Status](https://camo.githubusercontent.com/83f641b9abf29635744660278e858792d03d1d1230ec1c8065f06f2d45c5ac23/68747470733a2f2f7472617669732d63692e6f72672f73616d7661756768746f6e2f6f6d6e697061792d626172636c6179732d657064712e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/samvaughton/omnipay-barclays-epdq)[![Latest Stable Version](https://camo.githubusercontent.com/45c3122e99f10ba1ae102eb13ab87d207da1a4591faf359637a8ff79844a0f2c/68747470733a2f2f706f7365722e707567782e6f72672f73616d7661756768746f6e2f6f6d6e697061792d626172636c6179732d657064712f76657273696f6e2e706e67)](https://packagist.org/packages/samvaughton/omnipay-barclays-epdq)[![Total Downloads](https://camo.githubusercontent.com/96c4da6c639d567379be07fceb827fabad865b191f7c96ac36f203d19939e3b1/68747470733a2f2f706f7365722e707567782e6f72672f73616d7661756768746f6e2f6f6d6e697061792d626172636c6179732d657064712f642f746f74616c2e706e67)](https://packagist.org/packages/samvaughton/omnipay-barclays-epdq)

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

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

[](#installation)

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

```
{
    "require": {
        "samvaughton/omnipay-barclays-epdq": "~2.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:

- Barclays ePDQ Essential (Redirect)

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

Advanced Usage
--------------

[](#advanced-usage)

### Creating a purchase request

[](#creating-a-purchase-request)

The example below explains how you can create a purchase request then send it.

```
// create a gateway instance using onminpay factory
$gateway = Omnipay::getFactory()->create('BarclaysEpdq\Essential');
$gateway->setClientId('reseller_pspid');
$gateway->setShaIn('sha_in_passphrase');
$gateway->setCurrency('GBP');

// create a purchase request
$purchase = $gateway->purchase();

$purchase->setTransactionId('ORDER-00001'); // Unique ID
$purchase->setAmount(5000); // 50£

/**
 * @var $request EssentialPurchaseResponse
 */
$response = $purchase->send();

// send the HTTP query with POST parameters
// you will be redirected to barclays payment server page
$response->redirect();
```

### Handling complete purchase request

[](#handling-complete-purchase-request)

When the user submit the payment form, the gateway will redirect you to the URL you have specified in prameters or in the backoffice. The code below gives an example how to handle the server feedback answer.

```
/**
 * var $gateway Omnipay\BarclaysEpdq\EssentialGateway
 */
$gateway = Omnipay::getFactory()->create('BarclaysEpdq\Essential');

/**
 * var $request Omnipay\BarclaysEpdq\Message\EssentialCompletePurchaseRequest
 */
$request = $gateway->completePurchase();
// if you get parameters back with GET request you need to use setCallbackMethod
$request->setCallbackMethod('GET');
// validates the SHASIGN then store the array containing
// feedback values for a later use like generating invoices
$data = $request->getData();
```

Extra Parameters
----------------

[](#extra-parameters)

It is also possible to add more parameters and fine tune the create POST HTTP request

```
/**
 * @var $request EssentialPurchaseResponse
 */
$response = $purchase->send();

// additional parameters resent as feedback parameter after the payment
// resulting in a redirection with the feedback parameters:
// https://www.yourwebsite.com/payment_accepted.php?[…standard.parameters…]
// &COMPLUS=123456789123456789123456789&SessionID=126548354&ShopperID=73541312
$feedback = new Feedback();
$feedback->setComplus('123456789123456789123456789');
$feedback->setParamplus('SessionID=126548354&ShopperID=73541312');
$response->setFeedback($feedback);

// Payment page layout configuration
$layout = new PageLayout();
// logo URL must be absolute and store on a secure server accessible via HTTPS
$layout->setTitle('Secure payment with our partner');
$layout->setLogo('https://www.mycompany/images/payment/logo.png');
$layout->setTextColor('#006400');
$response->setPageLayout($layout);

// Delivery & Invoicing Data
$delivery = new Delivery();
$delivery->setInvoicingFirstName('John');
$delivery->setInvoicingLastName('Doe');
$response->setDelivery($delivery);

// send the HTTP query with POST parameters
// you will be redirected to barclays payment server page
$response->redirect();
```

Supported languages
-------------------

[](#supported-languages)

The supported languages by barclays gateway are:

- ar\_AR (Arabic)
- cs\_CZ (Czech)
- dk\_DK (Danish)
- de\_DE (German)
- el\_GR (Greek)
- en\_US (English)
- es\_ES (Spanish)
- fi\_FI (Finnish)
- fr\_FR (French)
- he\_IL (Hebrew)
- hu\_(HU hungarian)
- it\_IT (Italian)
- ja\_JP (Japanese)
- ko\_KR (Korean)
- nl\_BE (Flemish)
- nl\_NL (Dutch)
- no\_NO (Norwegian)
- pl\_PL (Polish)
- pt\_PT (Portugese)
- ru\_RU (Russian)
- se\_SE (Swedish)
- sk\_SK (Slovak)
- tr\_TR (Turkish)
- zh\_CN (Simplified Chinese)

Supported currencies
--------------------

[](#supported-currencies)

The supported currencies by barclays gateway are:

- AED, ANG, ARS, AUD, AWG, BGN, BRL, BYR, CAD, CHF, CNY, CZK, DKK, EEK, EGP, EUR, GBP, GEL, HKD, HRK, HUF, ILS, ISK, JPY, KRW, LTL, LVL, MAD, MXN, NOK, NZD, PLN, RON, RUB, SEK, SGD, SKK, THB, TRY, UAH, USD, XAF, XOF, XPF and ZAR

Tips for using this driver
--------------------------

[](#tips-for-using-this-driver)

Barclays ePDQ (Essential) is not the most intuitive gateway to use, so with that in mind, here are a couple of pointers for a slightly less painful integration experience:

- The driver defaults to using POST for the post-transaction server-to-server callback. Make sure you also set the callback method to POST in the Barclays back office. Alternatively, you can use GET by configuring the driver using the `setCallbackMethod()` method.
- Barclays only allow redirects to their payment page from URLs that you've already whitelisted. Make sure you've put the full URL of whichever page on your site does the redirect in the Barclays back office configuration.

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.

###  Health Score

34

—

LowBetter than 79% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Every ~157 days

Recently: every ~548 days

Total

20

Last Release

1381d ago

Major Versions

2.2.4 → v3.0.02022-06-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/17f4564c5f76e83117416bf82353b90e91bee34cd84f882f64b2b09feeae5d51?d=identicon)[coxeh](/maintainers/coxeh)

---

Top Contributors

[![GhaziTriki](https://avatars.githubusercontent.com/u/4991088?v=4)](https://github.com/GhaziTriki "GhaziTriki (24 commits)")[![samvaughton](https://avatars.githubusercontent.com/u/584914?v=4)](https://github.com/samvaughton "samvaughton (17 commits)")[![rquadling](https://avatars.githubusercontent.com/u/12801?v=4)](https://github.com/rquadling "rquadling (7 commits)")[![carlecce](https://avatars.githubusercontent.com/u/81373498?v=4)](https://github.com/carlecce "carlecce (6 commits)")

---

Tags

paymentgatewaypaymerchantomnipaybarclaysepdq

### Embed Badge

![Health badge](/badges/coxeh-omnipay-barclays-epdq/health.svg)

```
[![Health](https://phpackages.com/badges/coxeh-omnipay-barclays-epdq/health.svg)](https://phpackages.com/packages/coxeh-omnipay-barclays-epdq)
```

###  Alternatives

[omnipay/payflow

Payflow driver for the Omnipay payment processing library

20967.7k3](/packages/omnipay-payflow)[omnipay/payfast

PayFast driver for the Omnipay payment processing library

24622.6k3](/packages/omnipay-payfast)

PHPackages © 2026

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