PHP code example of akika / laravel-momo

1. Go to this page and download the library: Download akika/laravel-momo library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

akika / laravel-momo example snippets


use Akika\\MoMo\\Facades\\MoMo;
use Akika\\MoMo\\Enums\\Currency;

// transfer 10.00 UGX to a payee MSISDN
$referenceId = MoMo::disbursement()->transfer(
	10.00,
	Currency::UgandaShilling,
	externalId: 'your-unique-external-id',
	payeeMsisdn: '25677XXXXXXX',
	payerMessage: 'Payment for invoice #123',
	payeeNote: 'Thanks',
);

// $referenceId is the transfer reference you can use to query status

$status = MoMo::disbursement()->getTransferStatus($referenceId);

$status = [
    "amount" => "6.00",
    "currency" => "EUR",
    "financialTransactionId" => "554662921",
    "externalId" => "01KHXC2B1JQTKN16T8XHHTZX6A",
    "payee" => [
        "partyIdType" => "MSISDN",
        "partyId" => "0296631315"
    ],
    "payeeNote" => "Reprehenderit sequi fugiat ipsam sed.",
    "status" => "SUCCESSFUL"
];

use Akika\\MoMo\\MoMo;
use Akika\\MoMo\\Facades\\MoMo as MoMoFacade;

$client = new MoMo();
$client->createApiUser();
$apiKey = $client->createApiKey();


use Akika\\MoMo\\Facades\\MoMo;

MoMo::createApiUser();
$apiKey = MoMo::createApiKey();

use Akika\MoMo\Facades\MoMo;

$balance = MoMo::disbursement()->getAccountBalance();

// Example result:
// [
//   'availableBalance' => '123.45',
//   'currency' => 'EUR',
// ]

use Akika\MoMo\MoMo;

$client = new MoMo();
$balance = $client->disbursement()->getAccountBalance();

use Akika\MoMo\MoMo;

$client = new MoMo(
    'your_secondary_key',       // overrides momo.<env>.secondary_key
	'your_user_reference_id',   // overrides momo.<env>.user_reference_id
	'your_api_key',
    'your_target_environment'  // overrides momo.target_environment
)
$referenceId = $client->disbursement()->transfer(
	10.00,
	Currency::UgandaShilling,
	externalId: 'invoice-123',
	payeeMsisdn: '25677XXXXXXX',
);

use Akika\\MoMo\\Facades\\MoMo;
use Akika\\MoMo\\Enums\\Currency;

$referenceId = MoMo::with(
	'your_secondary_key',
	'your_user_reference_id',
	'your_api_key',
    'your_target_environment'
)->disbursement()->transfer(
	10.00,
	Currency::UgandaShilling,
	externalId: 'invoice-123',
	payeeMsisdn: '25677XXXXXXX',
);

use Illuminate\Http\Request;

Route::post('/callbacks/momo', function (Request $request) {
	$data = $request->all();

	info(__METHOD__, compact('data'));

	return response()->json(['message' => 'success']);
});
bash
php artisan vendor:publish --tag="laravel-momo-config"
bash
php artisan momo:create-api-user
bash
php artisan momo:create-api-user --no-confirmation --secondary-key=YOUR_SECONDARY_KEY --user-reference-id=YOUR_UUID_V4
bash
php artisan momo:create-api-key
bash
php artisan momo:create-api-key --no-confirmation --secondary-key=YOUR_SECONDARY_KEY --user-reference-id=YOUR_UUID_V4