PHPackages                             freethinkerz/laravel-pay - 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. freethinkerz/laravel-pay

ActiveLibrary[Payment Processing](/categories/payments)

freethinkerz/laravel-pay
========================

A laravel Payment Gateway wrapper for MeSomb and NotchPay

1.2.0(2y ago)017MITPHPPHP ^7.2.5|^8.0|^8.1

Since Jan 16Pushed 2y agoCompare

[ Source](https://github.com/FreeThinkerz/laravel-pay)[ Packagist](https://packagist.org/packages/freethinkerz/laravel-pay)[ RSS](/packages/freethinkerz-laravel-pay/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (8)Versions (3)Used By (0)

Laravel MeSomb
==============

[](#laravel-mesomb)

A laravel Payment Gateway wrapper for MeSomb and NotchPay

Roadmap
-------

[](#roadmap)

API Features and their implementations

FeatureStatusDocumentationPayment☑[Check the documentation](docs/README.md#Collect)Transaction Status☑[Check the documentation](docs/README.md#TransactioncheckStatus)Application Status☑[Check the documentation](docs/README.md#ApplicationcheckStatus)Deposits☑[Check the documentation](docs/README.md#Deposit)Test☐Better Documentation☐Installation
------------

[](#installation)

Before you start, you must register your service and MeSomb and get API Access keys. Please follow [this tutorial](https://mesomb.hachther.com/en/blog/tutorials/how-to-register-your-service-on-mesomb/).

### Install Package

[](#install-package)

```
composer require freethinkerz/laravel-pay
```

### Publish Configuration Files

[](#publish-configuration-files)

Setting the following parameters from MeSomb

Get the information below from MeSomb after following the above tutorial.

```
MESOMB_APP_KEY=
MESOMB_API_HOST=https://mesomb.hachther.com
MESOMB_API_VERSION=v1.1
MESOMB_ACCESS_KEY=
MESOMB_SECRET_KEY=
MESOMB_SSL_VERIFY=true
```

Publish configurations file

```
php artisan vendor:publish --tag=mesomb-configuration
```

### Migrate Mesomb Transaction Tables

[](#migrate-mesomb-transaction-tables)

```
php artisan migrate
```

Usage
-----

[](#usage)

### Quick Examples

[](#quick-examples)

#### Simple Collect

[](#simple-collect)

```
// OrderController.php
use FreeThinkerz\LaravelPay\Operation\Payment\Collect;

class OrderController extends Controller {

    public function confirmOrder()
    {
        $request = new Collect('67xxxxxxx', 1000, 'MTN', 'CM');

        $payment = $request->pay();

        if($payment->success){
            // Fire some event,Pay someone, Alert user
        } else {
            // fire some event, redirect to error page
        }

        // get Transactions details $payment->transactions
    }
}
```

#### Simple Deposit

[](#simple-deposit)

```
// OrderController.php
use FreeThinkerz\LaravelPay\Operation\Payment\Deposit;

class OrderController extends Controller {

    public function makeDeposit()
    {
        $request = new Deposit('67xxxxxxx', 1000, 'MTN', 'CM');

        $payment = $request->pay();

        if($payment->success){
            // Fire some event,Pay someone, Alert user
        } else {
            // fire some event, redirect to error page
        }

        // get Transactions details $payment->transactions
    }
}
```

#### Attaching Payments to Models Directly

[](#attaching-payments-to-models-directly)

```
// Order.php

use FreeThinkerz\LaravelPay\Helper\HasPayments;

class Order extends Model
{
    use HasPayments;
}

// OrderController.php

class OrderController extends Controller {

    public function confirmOrder(){

        $order = Order::create(['amount' => 100]);

        $payment  = $order->payment('67xxxxxxx', $order->amount, 'MTN', 'CM')->pay();

        if($payment->success){
            // Fire some event,Pay someone, Alert user
        } else {
            // fire some event, redirect to error page
        }

        // View Order payments via $order->payments

        // Get payment transaction with $payment->transaction

        return $payment;
    }
}
```

### Handle multiple applications

[](#handle-multiple-applications)

This is how you process if you want to handle multiple MeSomb applications with the same project.

1. Set up your configuration file with the default application and other information as specified below.
2. Update the applicationKey (the accessKey and the secretKey if needed) on the fly as you can see below.

```
// OrderController.php
use FreeThinkerz\LaravelPay\Operation\Payment\Collect;

class OrderController extends Controller {

    public function confirmOrder()
    {
        $request = new Collect('67xxxxxxx', 1000, 'MTN', 'CM');

        // Update applicationKey before process the payment
        // You also have setAccessKey and setSecretKey
        $payment = $request->setApplicationKey('')->pay();

        if($payment->success){
            // Fire some event,Pay someone, Alert user
        } else {
            // fire some event, redirect to error page
        }

        // get Transactions details $payment->transactions
    }
}
```

Author
------

[](#author)

FreeThinkerz

Apreciations
------------

[](#apreciations)

Thank you to Malico ([hi@malico.me](hi@malico.me)) for starting this module.

Hachther LLC (For Adding updates to the module) [contact@hachther.com](contact@hachther.com)

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60.4% 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 ~0 days

Total

2

Last Release

843d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/83a9317fd9542de2762fd73871014a2a997e57a8f9279c1c17186c305998ead8?d=identicon)[Stephan-MC](/maintainers/Stephan-MC)

---

Top Contributors

[![yondifon](https://avatars.githubusercontent.com/u/35140079?v=4)](https://github.com/yondifon "yondifon (64 commits)")[![hachther](https://avatars.githubusercontent.com/u/38338353?v=4)](https://github.com/hachther "hachther (16 commits)")[![Stephan-MC](https://avatars.githubusercontent.com/u/77833621?v=4)](https://github.com/Stephan-MC "Stephan-MC (14 commits)")[![MuluhGodson](https://avatars.githubusercontent.com/u/40151808?v=4)](https://github.com/MuluhGodson "MuluhGodson (8 commits)")[![renovate-bot](https://avatars.githubusercontent.com/u/25180681?v=4)](https://github.com/renovate-bot "renovate-bot (4 commits)")

###  Code Quality

TestsPest

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/freethinkerz-laravel-pay/health.svg)

```
[![Health](https://phpackages.com/badges/freethinkerz-laravel-pay/health.svg)](https://phpackages.com/packages/freethinkerz-laravel-pay)
```

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[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)[asciisd/knet

Knet package is provides an expressive, fluent interface to KNet's payment services.

141.1k](/packages/asciisd-knet)[dena-a/iran-payment

a Laravel package to handle Internet Payment Gateways for Iran Banking System

312.4k1](/packages/dena-a-iran-payment)

PHPackages © 2026

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