PHPackages                             emmanuel-obua/payment-integrator - 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. emmanuel-obua/payment-integrator

ActiveLibrary[Payment Processing](/categories/payments)

emmanuel-obua/payment-integrator
================================

Integrate online payments from different service providors

v2.1.0(2y ago)2890[1 PRs](https://github.com/EmmanuelObua/payment-integrator/pulls)MITPHPPHP ^8.1

Since Jun 6Pushed 2y ago1 watchersCompare

[ Source](https://github.com/EmmanuelObua/payment-integrator)[ Packagist](https://packagist.org/packages/emmanuel-obua/payment-integrator)[ RSS](/packages/emmanuel-obua-payment-integrator/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (5)Versions (11)Used By (0)

DOCUMENTATIONS
==============

[](#documentations)

Available providers
===================

[](#available-providers)

IndexProvider1FlutterWave---

Usage for FlutterWave provider
==============================

[](#usage-for-flutterwave-provider)

> Collect payment

```
use BlackJew\Payments\Gateway;

$gateway = Gateway::create('FlutterWave');

$gateway->loadClient()->setProvider()->setToken('passin secondary api key for flutterwave');

/*Collect payments*/

$request = [
	"tx_ref" 			=> "hooli-tx-1920bbtytty",
	"amount" 			=> "100",
	"currency" 			=> "UGX",
	"redirect_url" 		=> "https://webhook.site/9d0b00ba-9a69-44fa-a43d-a82c33c36fdc",
	"payment_options" 	=> "mobilemoneyuganda",
	"meta" => [
		"consumer_id" 	=> 23,
		"consumer_mac" 	=> "92a3-912ba-1192a"
	],
	"customer" => [
		"email" 		=> "user@gmail.com",
		"phonenumber" 	=> "080****4528",
		"name" 			=> "Yemi Desola"
	],
	"customizations" => [
		"title" 			=> "Your company's Payments",
		"description" 	=> "Middleout isn't free. Pay the price",
		"logo" 			=> "https://assets.piedpiper.com/logo.png"
	]
];

// This returns a checkout link to complete payments

$response = $gateway->collect($request);

print_r($response);

if ($response->status == true) {
	header('location:'.$response->link);
} else {
	return;
}

/*After this verify transaction ...*/
```

> Transfer payment

```
use BlackJew\Payments\Gateway;

$gateway = Gateway::create('FlutterWave');

$gateway->loadClient()->setProvider()->setToken('passin secondary api key for flutterwave');

/*Transfer payments*/

$request = [
	"account_bank" 		=> "MPS",
	"account_number" 	=> "2567XXXXXXXX",
	"amount" 			=> 5500,
	"narration" 		=> "UG MOMO",
	"currency" 			=> "UGX",
	"reference" 		=> "ugx-momo-transfer",
	"beneficiary_name" 	=> "Emmanuel Obua"
];

// This returns a checkout link to complete payments

$response = $gateway->transfer($request);

print_r($response);

/**
 * Response will look like below
 */

{
	"status": "success",
	"message": "Transfer Queued Successfully",
	"data": {
		"id": 127894,
		"account_number": "2567XXXXXXXX",
		"bank_code": "MPS",
		"full_name": "Emmanuel Obua",
		"created_at": "2020-06-25T14:39:16.000Z",
		"currency": "UGX",
		"amount": 5500,
		"fee": 500,
		"status": "NEW",
		"reference": "ugx-momo-transfer",
		"meta": null,
		"narration": "UGX momo transfer",
		"complete_message": "",
		"requires_approval": 0,
		"is_approved": 1,
		"bank_name": "FA-BANK"
	}
}

/*After this, verify transaction ...*/
```

> Transaction verification

```
/**
 * After payment processing on the flutterwave UI,
 * a callback is sent back to the callback uri preset in flutterwave dashboard.
 * 1. Get the tx_ref from the callback response object.
 * 2. Verify the transaction from the callback before updating your backend
 * 3. Update the affected tables with the confirmed transaction.
*/

$transactionId = $callback_response->tx_ref;

$response = $gateway->verifyTransaction($transactionId);

print_r($response);

/**
 * Transaction verification response will look like below
 */

{
	"status": "success",
	"message": "Transaction fetched successfully",
	"data": {
		"id": 1163068,
		"tx_ref": "akhlm-pstmn-blkchrge-xx6",
		"flw_ref": "FLW-M03K-02c21a8095c7e064b8b9714db834080b",
		"device_fingerprint": "N/A",
		"amount": 3000,
		"currency": "NGN",
		"charged_amount": 3000,
		"app_fee": 1000,
		"merchant_fee": 0,
		"processor_response": "Approved",
		"auth_model": "noauth",
		"ip": "pstmn",
		"narration": "Kendrick Graham",
		"status": "successful",
		"payment_type": "card",
		"created_at": "2020-03-11T19:22:07.000Z",
		"account_id": 73362,
		"amount_settled": 2000,
		"customer": {
			"id": 252759,
			"name": "Kendrick Graham",
			"phone_number": "0813XXXXXXX",
			"email": "user@example.com",
			"created_at": "2020-01-15T13:26:24.000Z"
		}
	}
}
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity67

Established project with proven stability

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

Recently: every ~196 days

Total

9

Last Release

1012d ago

Major Versions

v1.4.2 → v2.0.02023-08-02

PHP version history (2 changes)v1.0.0PHP ^7.2|^7.3|^8.0

v2.0.0PHP ^8.1

### Community

Maintainers

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

---

Top Contributors

[![EmmanuelObua](https://avatars.githubusercontent.com/u/45915845?v=4)](https://github.com/EmmanuelObua "EmmanuelObua (16 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/emmanuel-obua-payment-integrator/health.svg)

```
[![Health](https://phpackages.com/badges/emmanuel-obua-payment-integrator/health.svg)](https://phpackages.com/packages/emmanuel-obua-payment-integrator)
```

###  Alternatives

[laraveldaily/laravel-invoices

Missing invoices for Laravel

1.5k1.3M4](/packages/laraveldaily-laravel-invoices)[musahmusah/laravel-multipayment-gateways

A Laravel Package that makes implementation of multiple payment Gateways endpoints and webhooks seamless

852.2k1](/packages/musahmusah-laravel-multipayment-gateways)[karson/mpesa-php-sdk

172.2k](/packages/karson-mpesa-php-sdk)

PHPackages © 2026

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