PHPackages                             itinerisltd/wc-worldpay - 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. itinerisltd/wc-worldpay

ActiveWordpress-plugin[Payment Processing](/categories/payments)

itinerisltd/wc-worldpay
=======================

WorldPay integration for WooCommerce.

0.1.2(7y ago)2814GPL-2.0-or-laterPHPPHP ^7.2

Since Sep 18Pushed 3y ago10 watchersCompare

[ Source](https://github.com/ItinerisLtd/wc-worldpay)[ Packagist](https://packagist.org/packages/itinerisltd/wc-worldpay)[ Docs](https://github.com/ItinerisLtd/wc-worldpay)[ RSS](/packages/itinerisltd-wc-worldpay/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (6)Versions (6)Used By (0)

wc-worldpay
===========

[](#wc-worldpay)

[![Packagist Version](https://camo.githubusercontent.com/ae3916e4e73464b4e35f32d1658c467c66ca2aef26a1fe84f56801ad09909c8c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6974696e657269736c74642f77632d776f726c647061792e737667)](https://packagist.org/packages/itinerisltd/wc-worldpay)[![PHP from Packagist](https://camo.githubusercontent.com/14ada3f882ad6b39fc8007a5f99d3f17dfb12a70389293d0fee016e157a4142a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6974696e657269736c74642f77632d776f726c647061792e737667)](https://packagist.org/packages/itinerisltd/wc-worldpay)[![Packagist Downloads](https://camo.githubusercontent.com/2c924ecc4107a24f66aa9d9e7673c566ba2c1e7243dff47fdd87eed2f54ca06c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6974696e657269736c74642f77632d776f726c647061792e737667)](https://packagist.org/packages/itinerisltd/wc-worldpay)[![GitHub License](https://camo.githubusercontent.com/b45018a5ffe803afa8bf9e39daac1b88462e5a094980596d9a794245c196aaab/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6974696e657269736c74642f77632d776f726c647061792e737667)](https://github.com/ItinerisLtd/wc-worldpay/blob/master/LICENSE)[![Hire Itineris](https://camo.githubusercontent.com/28070f6fe57ce0e650e45ceddf0f294c6ebb8e5248af50e801ed5d81026c076c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f486972652d4974696e657269732d6666363962342e737667)](https://www.itineris.co.uk/contact/)

WorldPay integration for WooCommerce.

- [Minimum Requirements](#minimum-requirements)
- [Installation](#installation)
- [Setup](#setup)
- [Security Concerns about WorldPay HTML API](#security-concerns-about-worldpay-html-api)
- [Not Issue](#not-issue)
- [Features](#features)
- [Not Supported / Not Implemented](#not-supported--not-implemented)
- [Best Practices](#best-practices)
    - [HTTPS Everywhere](#https-everywhere)
    - [Payment Status](#payment-status)
- [Test Sandbox](#test-sandbox)
- [FAQ](#faq)
    - [Is `support.worldpay.com` secure?](#is-supportworldpaycom-secure)
    - [Will you add support for older PHP versions?](#will-you-add-support-for-older-php-versions)
    - [It looks awesome. Where can I find some more goodies like this?](#it-looks-awesome-where-can-i-find-some-more-goodies-like-this)
    - [This plugin isn't on wp.org. Where can I give a ⭐️⭐️⭐️⭐️⭐️ review?](#this-plugin-isnt-on-wporg-where-can-i-give-a-%EF%B8%8F%EF%B8%8F%EF%B8%8F%EF%B8%8F%EF%B8%8F-review)
- [Coding](#coding)
    - [Required Reading List](#required-reading-list)
    - [Testing](#testing)
- [Feedback](#feedback)
- [Security](#security)
- [Change log](#change-log)
- [Credits](#credits)
- [License](#license)

Minimum Requirements
--------------------

[](#minimum-requirements)

- PHP v7.2
- php-curl
- WordPress v4.9.8
- WooCommerce v3.4.5

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

[](#installation)

```
$ composer require itinerisltd/wc-worldpay
```

Setup
-----

[](#setup)

[Payment response(redirection)](http://support.worldpay.com/support/kb/bg/htmlredirect/htmlredirect.htm#rhtml/Telling_your_shopper_about.htm#_Payment_Response_messages) and [Enhancing security with MD5](http://support.worldpay.com/support/kb/bg/htmlredirect/htmlredirect.htm#rhtml/Enhancing_security_with_MD5.htm%3FTocPath%3D_____10) are mandatory.

On WorldPay's [integration setup page](http://support.worldpay.com/support/kb/bg/customisingadvanced/custa6011.html):

1. Enable **Enable the Shopper Response**
2. Enter `` as **Payment Response URL**
3. Enable **Payment Response enabled?**
4. Enter a 25-char random passphrase as **Payment Response password**
5. Enter a 30-char random passphrase as **MD5 secret for transactions**
6. Enter `instId:amount:currency:cartId` as **SignatureFields**

Then, fill in the same information on WP admin dashboard - **WooCommerce &gt; Settings &gt; Payments &gt; WordPay**.

Note that WorldPay truncate long **Payment Response password** without notices!

Security Concerns about WorldPay HTML API
-----------------------------------------

[](#security-concerns-about-worldpay-html-api)

- Leaking **MD5 secret for transactions**
    - Allow evil hackers to set up fake checkout pages, pretending to be the merchant
    - WorldPay would accept these checkouts and charges the credit cards
- Leaking **Payment Response password**
    - Allow evil hackers to pretending to be WorldPay
    - WordPress would accept evil hackers' payment callbacks and changes order payment statuses

Not Issue
---------

[](#not-issue)

If **Payment Response password**(also known as`callbackPW`) is incorrect, `InvalidResponseException` is throw to *stop the world*. Credit card holders see white screen of death in such case.

Features
--------

[](#features)

- [Enhancing security with MD5](http://support.worldpay.com/support/kb/bg/htmlredirect/htmlredirect.htm#rhtml/Enhancing_security_with_MD5.htm%3FTocPath%3D_____10)

Not Supported / Not Implemented
-------------------------------

[](#not-supported--not-implemented)

- Shipping address
- Reject according to fraud check results
- Token payment
- Recurring payment
- Refund
- Void

Best Practices
--------------

[](#best-practices)

### HTTPS Everywhere

[](#https-everywhere)

Although WorldPay accepts insecure HTTP sites, you should **always use HTTPS** to protect all communication.

### Payment Status

[](#payment-status)

Always double check payment status on `worldpay.com`.

Test Sandbox
------------

[](#test-sandbox)

Use this [test credit card](http://support.worldpay.com/support/kb/bg/pdf/181450-test-transaction-f.pdf).

FAQ
---

[](#faq)

### Is `support.worldpay.com` secure?

[](#is-supportworldpaycom-secure)

No! `support.worldpay.com` does not support HTTPS. This is unacceptable. Please [encourage them](https://www.worldpay.com/uk/about/contact-us) to use HTTPS everywhere.

### Will you add support for older PHP versions?

[](#will-you-add-support-for-older-php-versions)

Never! This plugin will only works on [actively supported PHP versions](https://secure.php.net/supported-versions.php).

Don't use it on **end of life** or **security fixes only** PHP versions.

### It looks awesome. Where can I find some more goodies like this?

[](#it-looks-awesome-where-can-i-find-some-more-goodies-like-this)

- Articles on [Itineris' blog](https://www.itineris.co.uk/blog/)
- More projects on [Itineris' GitHub profile](https://github.com/itinerisltd)
- Follow [@itineris\_ltd](https://twitter.com/itineris_ltd) and [@TangRufus](https://twitter.com/tangrufus) on Twitter
- Hire [Itineris](https://www.itineris.co.uk/services/) to build your next awesome site

### This plugin isn't on wp.org. Where can I give a ⭐️⭐️⭐️⭐️⭐️ review?

[](#this-plugin-isnt-on-wporg-where-can-i-give-a-️️️️️-review)

Thanks! Glad you like it. It's important to make my boss know somebody is using this project. Instead of giving reviews on wp.org, consider:

- tweet something good with mentioning [@itineris\_ltd](https://twitter.com/itineris_ltd)
- star this Github repo
- watch this Github repo
- write blog posts
- submit pull requests
- [hire Itineris](https://www.itineris.co.uk/services/)

Coding
------

[](#coding)

### Required Reading List

[](#required-reading-list)

Read the followings before developing:

- [WorldPay HTML API](https://www.worldpay.com/uk/support/guides/business-gateway)
- [Omnipay: WorldPay](https://github.com/thephpleague/omnipay-worldpay)
- [thephpleague/omnipay#255 (comment)](https://github.com/thephpleague/omnipay/issues/255#issuecomment-90509446)
- [`Omnipay\WorldPay\Message\PurchaseRequest::getData()`](https://github.com/thephpleague/omnipay-worldpay/blob/cae548cb186c134510acdf488c14650782158bc6/src/Message/PurchaseRequest.php#L141-L190)

### Testing

[](#testing)

```
$ composer test
$ composer check-style
```

Pull requests without tests will not be accepted!

Feedback
--------

[](#feedback)

**Please provide feedback!** We want to make this library useful in as many projects as possible. Please submit an [issue](https://github.com/ItinerisLtd/wc-worldpay/issues/new) and point out what you do and don't like, or fork the project and make suggestions. **No issue is too small.**

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Change log
----------

[](#change-log)

Please see [CHANGELOG](./CHANGELOG.md) for more information on what has changed recently.

Credits
-------

[](#credits)

[wc-worldpay](https://github.com/ItinerisLtd/wc-worldpay) is a [Itineris Limited](https://www.itineris.co.uk/) project created by [Tang Rufus](https://typist.tech).

Full list of contributors can be found [here](https://github.com/ItinerisLtd/wc-worldpay/graphs/contributors).

License
-------

[](#license)

[wc-worldpay](https://github.com/ItinerisLtd/wc-worldpay) is licensed under the GPLv2 (or later) from the [Free Software Foundation](http://www.fsf.org/). Please see [License File](./LICENSE) for more information.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

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

Every ~21 days

Total

3

Last Release

2798d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c1b05c8ed4ea3f68173555264d0226d5faeb7f315ed9df91890c351ef576ce72?d=identicon)[TangRufus](/maintainers/TangRufus)

![](https://www.gravatar.com/avatar/1f6b0052977c5b438b9677de0189a69e4c2aa7c945eedd76fa3adac30dab067c?d=identicon)[codepuncher](/maintainers/codepuncher)

---

Top Contributors

[![tangrufus](https://avatars.githubusercontent.com/u/2259834?v=4)](https://github.com/tangrufus "tangrufus (15 commits)")

---

Tags

woocommerce-paymentwordpresswordpress-pluginworldpaywordpresspaymentgatewaywpwoocommerceworldpaywc

### Embed Badge

![Health badge](/badges/itinerisltd-wc-worldpay/health.svg)

```
[![Health](https://phpackages.com/badges/itinerisltd-wc-worldpay/health.svg)](https://phpackages.com/packages/itinerisltd-wc-worldpay)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[wp-pay/core

Core components for the WordPress payment processing library.

26120.9k110](/packages/wp-pay-core)[wp-pay-extensions/gravityforms

Gravity Forms driver for the WordPress payment processing library.

1134.0k4](/packages/wp-pay-extensions-gravityforms)

PHPackages © 2026

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