Salami Gateway

API Documentation
Back to Dashboard

Equity Bank (Jenga) SDK

deadangroup/jenga — Equity Bank Jenga HQ APIs

Namespace: DGL\Jenga Base URLs: uat.finserve.africa (sandbox) / api.finserve.africa (production)

Configuration

// config/jenga.php
return [
    'is_sandbox' => true,
    'merchant_code' => '...',
    'consumer_secret' => '...',
    'api_key' => '...',
    'account_number' => '...',
    'private_key_path' => storage_path('keys/jenga_private.pem'),
    'callback_url' => '...',
];

RSA Signature: Every transactional request requires an RSA SHA-256 signature. The SDK handles this automatically using the private key from config.

Send Money

Internal Transfer

$client->internalTransfer([
    'source' => ['countryCode' => 'KE', 'name' => 'John', 'accountNumber' => '0011547896523'],
    'destination' => ['type' => 'bank', 'countryCode' => 'KE', 'name' => 'Jane', 'accountNumber' => '0022547896523'],
    'transfer' => ['type' => 'InternalFundsTransfer', 'amount' => '1000', 'currencyCode' => 'KES', 'reference' => 'REF001', 'date' => '2026-03-30', 'description' => 'Payment'],
]);

Signature: accountNumber + amount + currencyCode + reference

To Mobile (M-Pesa / Airtel)

$client->toMobile([...]);  // POST /v3-apis/.../remittance/sendmobile

RTGS / SWIFT / PesaLink / Subsidiary

$client->rtgs([...]);           // POST .../remittance/rtgs
$client->swift([...]);          // POST .../remittance/swift
$client->pesaLinkBank([...]);   // POST .../remittance/pesalinkacc
$client->pesaLinkMobile([...]); // POST .../remittance/pesalinkMobile
$client->subsidiary([...]);     // POST .../remittance/subsidiary

Receive Money

M-Pesa STK Push (to Account)

$client->mpesaStkAccount([
    'merchant' => ['accountNumber' => '...', 'callbackUrl' => '...'],
    'customer' => ['mobileNumber' => '254712345678', 'telco' => 'Safaricom', 'countryCode' => 'KE'],
    'payment' => ['amount' => 1000, 'currency' => 'KES', 'ref' => 'INV001'],
]);

Signature: accountNumber + ref + mobileNumber + telco + amount + currency

Equitel STK Push / M-Pesa Wallet / Bill Payment / Merchant Payment / Payment Link

$client->equitelStkPush([...]);   // POST .../stkussdpush/initiate
$client->mpesaStkWallet([...]);   // POST /api-checkout/mpesa-stk-push/v3.0/init
$client->billPayment([...]);      // POST .../bills/pay
$client->billValidation([...]);   // POST .../bills/validation
$client->merchantPayment([...]);  // POST .../tills/pay
$client->paymentLink([...]);      // POST /api-checkout/api/v1/create/payment-link

Account

$client->accountBalance();        // GET .../accounts/balances/{cc}/{acct}
$client->miniStatement();         // GET .../accounts/miniStatement/{cc}/{acct}
$client->fullStatement([...]);    // POST .../accounts/fullStatement
$client->openCloseBalance([...]); // POST .../accounts/accountBalance/query
$client->accountInquiry();        // GET .../search/{cc}/{acct}
$client->accountValidation([...]); // POST .../account/validate

Other

$client->airtime([...]);              // POST .../airtime
$client->forexRate();                 // GET .../rates/{cc}/{currency}
$client->identityVerification([...]); // POST .../verify (KYC)
$client->transactionDetails([...]);   // POST .../transactionDetails

MPGS (Mastercard Payment Gateway)

$client->mpgsValidate([...]);  // POST .../mpgs/validate
$client->mpgsCreate([...]);    // POST .../mpgs/create
$client->mpgsQuery([...]);     // POST .../mpgs/query
$client->mpgsRefund([...]);    // POST .../mpgs/refund

Need help? Contact us at support@dgl.co.ke
© 2026 Deadan Group Limited. All rights reserved.
⚡ API Explorer
LIVE
// Response will appear here...