1. Go to this page and download the library: Download njoguamos/laravel-jenga 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/ */
// app/Console/Kernel.php
use NjoguAmos\Jenga\Models\JengaToken;
protected function schedule(Schedule $schedule)
{
# ...
$schedule->command(command: 'model:prune', parameters: [
'--model' => [JengaToken::class],
])->everyFiveMinutes();
}
use NjoguAmos\Jenga\JengaSignature;
$data = [
"accountId" => "0011547896523",
"countryCode" => "KE",
"date" => "2022-01-01"
];
$signature = (new JengaSignature(data: $data))->getSignature();
// This will return signature for "0011547896523KE2022-01-01'
// "NCgbapJwPIt+203eyADfPSvPX6uWPPVwMbFdrW+3XoT7oQC2+IaS6srFIGGdMrwrTH ..."
use NjoguAmos\Jenga\Models\JengaToken;
return view(view: 'check-out', data: [
'token' => JengaToken::query()->latest()->first()?->access_token, // Token generated via auth API
'checkOutUrl' => config(key: 'jenga.checkout'), // Check our url. Don't modify
'merchantCode' => config(key: 'jenga.merchant'), // The merchant code provided at registration.
'wallet' => config(key: 'jenga.wallet'), // The wallet to be used for the transaction
'orderAmount' => '', // The value of the transaction
'orderReference' => '', // The merchant order reference. Min8 characters and It has to be alphanumeric
'productType' => '', // Product category
'productDescription' => '' // A brief summary of the product. Max 200 characters. Alphanumeric only.,
'customerFirstName' => '', // The customer's First Name
'customerLastName' => '', // The customer's Last Name
'customerEmail' => '', // Customer email
'customerPhone' => '', // Customer phone number e.g 700325008
'countryCode' => config(key: 'jenga.country'), // Country code
'customerPostalCodeZip' => '', // Customer’s postal code
'customerAddress' => '', // Customer’s address
'callbackUrl' => '' // Merchant callback url
'extraData' => '', // This data will be echoed back during callback url
]);
use NjoguAmos\Jenga\Api\AccountInquiry;
$search = (new AccountInquiry())
->search(
countryCode: $data['countryCode'],
accountNumber: $data['accountNumber']
);
use NjoguAmos\Jenga\Api\ForexExchangeRates;
use NjoguAmos\Jenga\Dto\ExchangeRatesDto;
// Convert 1042 USD into KES using Equity Bank Kenya rate.
$data = new ExchangeRatesDto(
amount: 1042,
currencyCode: "USD",
toCurrency: "KES",
accountNumber: '1450160649886',
countryCode: 'KE'
);
$rates = (new ForexExchangeRates())->convert($data);
use NjoguAmos\Jenga\Api\IDVerification;
use NjoguAmos\Jenga\Dto\IDVerificationDto;
$data = new IDVerificationDto(
documentNumber: '555555',
firstName: 'John',
lastName: 'Doe',
dateOfBirth: '20 June 1985',
documentType: 'ID',
countryCode: 'KE',
);
$search = (new IDVerification())->search($data);
bash
php artisan jenga:install
bash
php artisan migrate
bash
php artisan jenga:auth
bash
php artisan jenga:keys
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.