Laravel Wrapper on top of MeSomb Payment API
API Features and their implementations https://mesomb.hachther.com/en/api/v1.1/schema/
| Feature | Status | Documentation |
|---|---|---|
| Payment | ☑ | Check the documentation |
| Transaction Status | ☑ | Check the documentation |
| Application Status | ☑ | Check the documentation |
| Deposits | ☑ | Check the documentation |
| Test | ☐ | |
| Better Documentation | ☐ |
Before you start, you must register your service and MeSomb and get API Access keys. Please follow this tutorial.
composer require hachther/laravel-mesombSetting the following parameters from MeSomb
Get the information below from MeSomb after following the above tutorial.
MESOMB_APP_KEY=<ApplicationKey>
MESOMB_API_HOST=https://mesomb.hachther.com
MESOMB_API_VERSION=v1.1
MESOMB_ACCESS_KEY=<AccessKey>
MESOMB_SECRET_KEY=<SecretKey>
MESOMB_SSL_VERIFY=truePublish configurations file
php artisan vendor:publish --tag=mesomb-configurationphp artisan migrate// OrderController.php
use Hachther\MeSomb\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
}
}// OrderController.php
use Hachther\MeSomb\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
}
}// Order.php
use Hachther\MeSomb\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;
}
}This is how you process if you want to handle multiple MeSomb applications with the same project.
- Set up your configuration file with the default application and other information as specified below.
- Update the applicationKey (the accessKey and the secretKey if needed) on the fly as you can see below.
// OrderController.php
use Hachther\MeSomb\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('<applicationKey>')->pay();
if($payment->success){
// Fire some event,Pay someone, Alert user
} else {
// fire some event, redirect to error page
}
// get Transactions details $payment->transactions
}
}Hachther LLC contact@hachther.com
Thank you to Malico (hi@malico.me) for starting this module.