PHPackages                             catharsisjelly/omnipay-worldpay-cg-hosted - 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. catharsisjelly/omnipay-worldpay-cg-hosted

AbandonedArchivedLibrary[Payment Processing](/categories/payments)

catharsisjelly/omnipay-worldpay-cg-hosted
=========================================

WorldPay Hosted Corporate Gateway driver for the Omnipay payment processing library

2.0.0(7y ago)4105.8k↑122.6%4MITPHPPHP ^7

Since Aug 14Pushed 3y ago1 watchersCompare

[ Source](https://github.com/catharsisjelly/omnipay-worldpay-cg-hosted)[ Packagist](https://packagist.org/packages/catharsisjelly/omnipay-worldpay-cg-hosted)[ Docs](https://github.com/comicrelief/omnipay-worldpay-cg-hosted)[ RSS](/packages/catharsisjelly-omnipay-worldpay-cg-hosted/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (24)Used By (0)

Omnipay: Worldpay Hosted Corporate Gateway (XML)
================================================

[](#omnipay-worldpay-hosted-corporate-gateway-xml)

[![Build Status](https://camo.githubusercontent.com/859ac5ef2c6503002f84fdb096887ea68bbfe99bfd3e68f3181b25f339e0b7e1/68747470733a2f2f7472617669732d63692e6f72672f6361746861727369736a656c6c792f6f6d6e697061792d776f726c647061792d63672d686f737465642e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/catharsisjelly/omnipay-worldpay-cg-hosted)

**WorldPay Hosted driver for the Omnipay PHP payment processing library**

This was forked from [comicrelief/omnipay-worldpay-cg-hosted](https://github.com/comicrelief/omnipay-worldpay-cg-hosted)which is now not a maintained library. [@catharsisjelly](https://github.com/catharsisjelly) did offer to take over the library and continue development of this but so far has been unsuccessful. For more information on the changes implemented please see the [CHANGELOG](./CHANGELOG.md)

[Omnipay](https://github.com/omnipay/omnipay) is a framework agnostic, multi-gateway payment processing library for PHP 7.1+. This package implements WorldPay XML Corporate Gateway Hosted support for Omnipay. This implementation has been guided by the [documentation available on WorldPay](http://support.worldpay.com/support/kb/gg/corporate-gateway-guide/content/home.htm)

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

[](#installation)

This library is best installed via [Composer](http://getcomposer.org/) e.g.

```
composer require catharsisjelly/omnipay-worldpay-cg-hosted
```

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

[](#basic-usage)

The following gateways are provided by this package:

- WorldPay Corporate Gateway Hosted

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

Order description
-----------------

[](#order-description)

We currently set the order description to "Merchandise" by default.

To set another one, use `PurchaseRequest::setDescription()`.

Notification setup
------------------

[](#notification-setup)

This library aims to be able to give sensible answers for `isValid()`, `isAuthorised()`, `isPending()` and `isCancelled()`, if you select almost every possible type on this screen:

[![Notification setup](./docs/Notification%20setup.png "Notification setup")](./docs/Notification%20setup.png)

Generally it's good to tick everything you can, so as not to miss notifications you might care about.

However we've had to **not tick *SENT\_FOR\_AUTHORISATION*** because of an apparent Worldpay bug that sends two *AUTHORISED* notifications when this is selected, instead of sending the additional type.

We have not yet had confirmation from Worldpay on whether this is expected to affect the production gateway or if it will be fixed, so it's safer not to enable this notification for now.

Notification verification
-------------------------

[](#notification-verification)

Worldpay recommend the following to receive notifications and check they came from them:

1. Use server SSL - this should be standard for any payment app!
2. Check the IP's reverse DNS records - this actually isn't very secure and can be spoofed, but is implemented in this library as a first line of defence. There is an IP fallback for known Worldpay subnets, in case your environment can't do public reverse DNS lookups.
3. Request for them to send, and validate on your server, their client TLS certificate.

Unfortunately there's no easy server- and environment-agnostic way to implement client TLS verification (point 3) within this library, and for our apps' current infrastructure it wasn't feasible. Some of the work would generally live in your web server anyway rather than this library.

We also considered an additional measure, [inquiry requests](http://support.worldpay.com/support/kb/gg/corporate-gateway-guide/content/manage/inquiryrequests.htm), but as this document explains they're not enabled by default and are also nowhere near real-time (~5 minutes latency). This means they are not suitable for checking notifications' validity unless you queue them and accept much longer delays.

This means that for now you should *not* consider notifications shown as 'valid' in this library to be guaranteed valid, i.e. **do not ship goods based on this without a later check**, using inquiry requests or the Worldpay UI, that gives a matching result.

Any ideas or contributions that you think might improve this situation would be very welcome!

Support
-------

[](#support)

If you are having general issues with Omnipay, we suggest posting on [Stack Overflow](https://stackoverflow.com/). Be sure to add the [omnipay tag](https://stackoverflow.com/questions/tagged/omnipay) so it can be easily found.

If you want to keep up to date with release announcements, 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 [issue tracker](https://github.com/catharsisjelly/omnipay-worldpay-cg-hosted/issues), or better yet, fork the library and submit a pull request.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity38

Limited adoption so far

Community16

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

Recently: every ~76 days

Total

19

Last Release

2679d ago

Major Versions

v0.0.10 → v1.0.02017-09-21

1.2.0 → 2.0.02019-01-16

PHP version history (2 changes)v0.0.1PHP ^5.6|^7

2.0.0PHP ^7

### Community

Maintainers

![](https://www.gravatar.com/avatar/188f6dcb5f93ba208cd1b7096db0f05ec6d2a2e7a6dce2db670d039df5610c80?d=identicon)[catharsisjelly](/maintainers/catharsisjelly)

---

Top Contributors

[![ayanozturk](https://avatars.githubusercontent.com/u/1406135?v=4)](https://github.com/ayanozturk "ayanozturk (12 commits)")[![knasher](https://avatars.githubusercontent.com/u/1300648?v=4)](https://github.com/knasher "knasher (8 commits)")[![NoelLH](https://avatars.githubusercontent.com/u/3274454?v=4)](https://github.com/NoelLH "NoelLH (8 commits)")[![catharsisjelly](https://avatars.githubusercontent.com/u/510747?v=4)](https://github.com/catharsisjelly "catharsisjelly (7 commits)")[![adamclark-dev](https://avatars.githubusercontent.com/u/9998404?v=4)](https://github.com/adamclark-dev "adamclark-dev (2 commits)")[![zhibek](https://avatars.githubusercontent.com/u/1309381?v=4)](https://github.com/zhibek "zhibek (1 commits)")[![Sylry](https://avatars.githubusercontent.com/u/9798412?v=4)](https://github.com/Sylry "Sylry (1 commits)")

---

Tags

omnipayphpworldpaypaymentgatewaypaymerchantomnipayworldpaycorporate

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/catharsisjelly-omnipay-worldpay-cg-hosted/health.svg)

```
[![Health](https://phpackages.com/badges/catharsisjelly-omnipay-worldpay-cg-hosted/health.svg)](https://phpackages.com/packages/catharsisjelly-omnipay-worldpay-cg-hosted)
```

###  Alternatives

[lokielse/omnipay-alipay

Alipay gateway for Omnipay payment processing library

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

WorldPay driver for the Omnipay payment processing library

24934.6k7](/packages/omnipay-worldpay)[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)
