PHPackages                             oneafricamedia/omnipay-pesapal - 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. oneafricamedia/omnipay-pesapal

ActiveLibrary[Payment Processing](/categories/payments)

oneafricamedia/omnipay-pesapal
==============================

Pesapal gateway for Omnipay payment processing library

3.0.4(4y ago)4432[1 issues](https://github.com/OneAfricaMedia/omnipay-pesapal/issues)MITPHPPHP ^7.3 || ^8.0

Since Feb 13Pushed 4y ago30 watchersCompare

[ Source](https://github.com/OneAfricaMedia/omnipay-pesapal)[ Packagist](https://packagist.org/packages/oneafricamedia/omnipay-pesapal)[ Docs](https://github.com/OneAfricaMedia/omnipay-pespal)[ RSS](/packages/oneafricamedia-omnipay-pesapal/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (1)Versions (13)Used By (0)

Omnipay: Pesapal
================

[](#omnipay-pesapal)

**Pesapal driver for the Omnipay PHP payment processing library**

[![Maintainability](https://camo.githubusercontent.com/ac57b585bd42ab4849b28b572f736a4111f42c00a4541fc4cfa3cc92c7dc813d/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f30623733323965336337323565333063343334342f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/lucidlogic/omnipay-pesapal/maintainability)[![Test Coverage](https://camo.githubusercontent.com/8ab91ac2bf25f870b185fa79840627f85dc4c95cb75fa9e6e9687a2c33028c88/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f30623733323965336337323565333063343334342f746573745f636f766572616765)](https://codeclimate.com/github/lucidlogic/omnipay-pesapal/test_coverage)[![Style CI](https://camo.githubusercontent.com/46653c4370e001e73c45ee2967394c6ab7f5e7b2900de8c89f9fad64453404e6/68747470733a2f2f7374796c6563692e696f2f7265706f732f3132313234363039342f736869656c64)](https://styleci.io/repos/121246094/shield)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/8b06977b37f8bcaee92d6b68d398a6adfbd098aa700f5cd8138f6eb0cdca50ad/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c756369646c6f6769632f6f6d6e697061792d7065736170616c2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/lucidlogic/omnipay-pesapal/?branch=master)

[Omnipay](https://github.com/thephpleague/omnipay) is a framework agnostic, multi-gateway payment processing library for PHP. This package implements Pesapal support for Omnipay. refer to the API docs here:

Install
-------

[](#install)

Via Composer

```
$ composer require oneafricamedia/omnipay-pesapal
```

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

[](#basic-usage)

### Get the pesapal iframe/redirect URL

[](#get-the-pesapal-iframeredirect-url)

```
use Omnipay\Omnipay;

$url = Omnipay::create('Pesapal')
    ->setCredentials(
        'your_key',
        'your_secret'
    )
    ->setCallbackUrl('https://example.com/callback')
    ->getUrl(
        'test@example.com',
        'my_reference',
        'description',
        100
    );
```

### Check transaction status (from the pesapal ipn)

[](#check-transaction-status-from-the-pesapal-ipn)

1. configure &amp; setup an endpoint to receive the ipn message from pesapal
2. listen for the message and use `getTransactionStatus` (please handle the http GET vars accordingly)

```
use Omnipay\Omnipay;

$status = Omnipay::create('Pesapal')
    ->setCredentials(
        'your_key',
        'your_secret'
    )
    ->getTransactionStatus(
        $_GET['pesapal_notification_type'],
        $_GET['pesapal_transaction_tracking_id'],
        $_GET['pesapal_merchant_reference']
    );

```

3. `$status` will be either `PENDING`, `COMPLETED`, `FAILED` or `INVALID`. Handle these statuses in your application workflow accordingly.

### TODO

[](#todo)

1. Test coverage
2. add `QueryPaymentStatusByMerchantRef` support
3. add `QueryPaymentDetails` support

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 69.2% 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 ~109 days

Recently: every ~64 days

Total

12

Last Release

1806d ago

Major Versions

0.1 → 1.0.02018-02-16

1.0.4 → 2.0.02019-02-14

2.0.0 → 3.0.02020-09-16

PHP version history (3 changes)1.0.0PHP ^7.0

3.0.2PHP ^7.3

3.0.3PHP ^7.3 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e2c55fd5db456fb3a073fb33e716015eb94a1c7da2a1d5658ae3b4aeb279e30?d=identicon)[theBadger](/maintainers/theBadger)

---

Top Contributors

[![lucidlogic](https://avatars.githubusercontent.com/u/932221?v=4)](https://github.com/lucidlogic "lucidlogic (18 commits)")[![matthewnessworthy](https://avatars.githubusercontent.com/u/5653887?v=4)](https://github.com/matthewnessworthy "matthewnessworthy (7 commits)")[![vusile](https://avatars.githubusercontent.com/u/240282?v=4)](https://github.com/vusile "vusile (1 commits)")

---

Tags

omnipaypesapalphp7paymentgatewaypaymerchantomnipaypurchasepesapal

### Embed Badge

![Health badge](/badges/oneafricamedia-omnipay-pesapal/health.svg)

```
[![Health](https://phpackages.com/badges/oneafricamedia-omnipay-pesapal/health.svg)](https://phpackages.com/packages/oneafricamedia-omnipay-pesapal)
```

###  Alternatives

[lokielse/omnipay-alipay

Alipay gateway for Omnipay payment processing library

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

PHPackages © 2026

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