Salami Gateway

API Documentation
Back to Dashboard

Payment Drivers

Payment drivers are thin adapters in laravel-payments that connect standalone SDKs to the Salami transaction lifecycle (create transaction records, handle callbacks, fire events).

Driver Architecture

Each driver extends AbstractDriver and implements one or more contracts:

Contract Method Purpose
RequestsPayment requestPayment(), checkPaymentRequestStatus() Collect money (STK Push)
SendsMoney sendMoney() Send money (B2C, IFT, RTGS, etc.)
HandlesCallback handleCallback() Process provider callbacks/IPNs
ChecksBalance checkBalance() Query account balance
FetchesTransactions fetchTransactions() Get mini/full statements
FetchesTransactionStatus getTransactionStatus() Query single transaction status
SendsAirtime sendAirtime() Purchase airtime
ValidatesTransactions validateTransaction() Validate account/transaction
ReversesTransactions reversal() Reverse a transaction
RegistersUrls registerUrls() Register callback URLs

Available Drivers

M-Pesa Kenya

Driver Key Type Contracts
MpesaKeExpress STK Push RequestsPayment, HandlesCallback, FetchesTransactionStatus, ReversesTransactions, ChecksBalance
MpesaKeC2B C2B HandlesCallback, ValidatesTransactions, RegistersUrls, SimulatesTransactions, ChecksBalance, ReversesTransactions, FetchesTransactionStatus
MpesaKeB2C B2C SendsMoney, ReversesTransactions, HandlesCallback, FetchesTransactionStatus, ChecksBalance
MpesaKeB2B B2B SendsMoney, ReversesTransactions, FetchesTransactionStatus, ChecksBalance, HandlesCallback

Co-op Bank Kenya

Driver Key Type Contracts
CoopKeExpress STK Push RequestsPayment, HandlesCallback
CoopKeB2M To M-Pesa SendsMoney, HandlesCallback, FetchesTransactionStatus
CoopKeIFT Internal Transfer SendsMoney, HandlesCallback, FetchesTransactionStatus
CoopKePesaLink PesaLink Bank SendsMoney, HandlesCallback, FetchesTransactionStatus
CoopKePesaLinkPhone PesaLink Phone SendsMoney, HandlesCallback, FetchesTransactionStatus
CoopKeAccountBalance Balance ChecksBalance
CoopKeMiniStatement Statements FetchesTransactions
CoopKeAccountValidation Validation ValidatesTransactions
CoopKeExchangeRate FX Rates (custom method)

Equity Bank Kenya (Jenga)

Driver Key Type Contracts
EquityKeExpress M-Pesa STK RequestsPayment, HandlesCallback
EquityKeEquitelExpress Equitel STK RequestsPayment, HandlesCallback
EquityKeIFT Internal Transfer SendsMoney, HandlesCallback, FetchesTransactionStatus
EquityKeB2M To Mobile SendsMoney, HandlesCallback, FetchesTransactionStatus
EquityKeRTGS RTGS SendsMoney, HandlesCallback, FetchesTransactionStatus
EquityKeSWIFT SWIFT SendsMoney, HandlesCallback, FetchesTransactionStatus
EquityKePesaLink PesaLink Bank SendsMoney, HandlesCallback, FetchesTransactionStatus
EquityKePesaLinkPhone PesaLink Phone SendsMoney, HandlesCallback, FetchesTransactionStatus
EquityKeAccountBalance Balance ChecksBalance
EquityKeMiniStatement Statements FetchesTransactions
EquityKeAirtime Airtime SendsAirtime

Airtel Money Kenya

Driver Key Type Contracts
AirtelKeExpress USSD Push RequestsPayment, HandlesCallback
AirtelKeB2C Disbursement SendsMoney, HandlesCallback, FetchesTransactionStatus
AirtelKeAccountBalance Balance ChecksBalance

Other

Driver Key Provider Contracts
AirtelGh Airtel Ghana ExtractsTransactionsFromSms
MtnGh / MtnRwa / MtnUg MTN MoMo ExtractsTransactionsFromSms
PesalinkKe PesaLink ExtractsTransactionsFromSms
PaypalIPN PayPal HandlesCallback
Kopokopo Kopokopo HandlesCallback
TigoTz Tigo Pesa ExtractsTransactionsFromSms
Log Testing (multiple)

Usage via PaymentsManager

// Get a driver by key
$driver = app('payments')->driver('CoopKeExpress');

// From a PaymentApp model
$driver = app('payments')->driverFromApp($paymentApp);

// Use it
$transaction = $driver->requestPayment([
    'Amount' => 1000,
    'PhoneNumber' => '254712345678',
]);

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