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

ActiveLibrary[Payment Processing](/categories/payments)

shopblocks/omnipay-barclays-epdq
================================

Barclays ePDQ driver for the Omnipay payment processing library.

v3.1.1(7y ago)072MITPHP

Since Mar 26Pushed 7y ago3 watchersCompare

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

READMEChangelog (2)Dependencies (2)Versions (24)Used By (0)

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

[](#omnipay-barclays-epdq)

This package has been forked from the seemingly abandoned samvaughton and digitickets repositories. New bug fixes have been added here November 2018.

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

[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)

Update your composer file as follows in order to use this forked repo:

```
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/shopblocks/omnipay-barclays-epdq"
        }
    ],
    "require": {
        "shopblocks/omnipay-barclays-epdq": "~3.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

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity73

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 ~77 days

Recently: every ~183 days

Total

23

Last Release

2731d ago

Major Versions

2.2.4 → 3.0.02016-11-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/3f800619ba21f2d791473b112c3d7bf51765a284e1fe24f3f9e31b491420e1d2?d=identicon)[shopblocks](/maintainers/shopblocks)

---

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)")[![shopblocks](https://avatars.githubusercontent.com/u/14819903?v=4)](https://github.com/shopblocks "shopblocks (5 commits)")[![DrRoach](https://avatars.githubusercontent.com/u/5173524?v=4)](https://github.com/DrRoach "DrRoach (2 commits)")

---

Tags

paymentgatewaypaymerchantomnipaybarclaysepdq

### Embed Badge

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

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

###  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)
