PHPackages                             mula/express-checkout - 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. mula/express-checkout

ActiveLibrary[Payment Processing](/categories/payments)

mula/express-checkout
=====================

This is a php package that helps developers to set up the mula Express checkout quickly.

0448PHP

Since Nov 7Pushed 8y agoCompare

[ Source](https://github.com/samuelkubai/mula-express-checkout)[ Packagist](https://packagist.org/packages/mula/express-checkout)[ RSS](/packages/mula-express-checkout/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Mula express checkout
=====================

[](#mula-express-checkout)

This is a composer package that aims to encapsulate most of the server side set needed when integrating your site to the Mula express checkout. Features included:

1. Encryption
2. Decryption
3. Response formatting. (Returns the format expected by the payment callback. Visit [Mula express checkout documentation](https://beep2.cellulant.com:9001/hub/checkoutDocumentation/express.html#add-mula-button) for more on this.)

Getting started
---------------

[](#getting-started)

This is a composer package and can thus pull it in by adding;
`"mula/express-checkout": "dev-master"`
to your composer.json `require` object and running `composer update`

Encrypting the request data
---------------------------

[](#encrypting-the-request-data)

Before you send your parameters to the express checkout, you are required to encrypt them so as to protect your data from being read or changed by any man-in-the-middle attacks.

```
...

// Build the mula express checkout payload.
$mulaPayload = (new RequestProcessor(
    config('IV_KEY'),
    config('KEY'),
    config('ACCESS_KEY'),
    config('COUNTRY_CODE')
))->process($parameterArray)

...
```

The payload has the following structure;

```
...

array(
    'PARAMS' => $encrypted, // The encrypted parameter string
    'ACCESS_KEY' => $access_key, // The merchant's access key
    'COUNTRY_CODE' => $country_code // The merchant's country code
);

...
```

Decrypting the response data
----------------------------

[](#decrypting-the-response-data)

When the express checkout is sending the payment details for you to acknowledge the payments, the details are encrypted and thus you need to decrypt the passed encrypted string to get the payment details.

```
...

// Decrypt the payload from the express checkout web hook integration.
$data = (new ResponseProcessor(
    config('IV_KEY'),
    config('KEY')
))->process($passedEncryptedString);

...
```

> Please make sure you protect your access, secret and iv keys from the public as they may be used to masquerade as you to your customers and/ or used to intercept between your communication with mula Express checkout.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6b95e574a6757281fd6a5f74e0967c07004cd8c7c286a51ea3d2ec9e281d06be?d=identicon)[ryota](/maintainers/ryota)

---

Top Contributors

[![samuelkubai](https://avatars.githubusercontent.com/u/10863328?v=4)](https://github.com/samuelkubai "samuelkubai (3 commits)")

---

Tags

composerexpress-checkoutmulamula-express-checkoutphp

### Embed Badge

![Health badge](/badges/mula-express-checkout/health.svg)

```
[![Health](https://phpackages.com/badges/mula-express-checkout/health.svg)](https://phpackages.com/packages/mula-express-checkout)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

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