Skip to content

Mpesa

Defined in: src/clients/mpesa-client.ts:61

M-Pesa SDK client.

Single entry point for all Daraja API operations. OAuth is handled automatically; tokens are cached and refreshed before expiry.

// With env vars (MPESA_CONSUMER_KEY, MPESA_CONSUMER_SECRET, etc. set):
const mpesa = new Mpesa({});
// Or with explicit config:
const mpesa = new Mpesa({
consumerKey: "...",
consumerSecret: "...",
environment: "sandbox",
shortCode: "174379",
passKey: "...",
});
const res = await mpesa.stkPush({
phoneNumber: "254708374149",
amount: 10,
callbackUrl: "https://example.com/callback",
accountReference: "order-123",
transactionDesc: "Payment",
});
console.log(res.CheckoutRequestID);

new Mpesa(config?): Mpesa

Defined in: src/clients/mpesa-client.ts:72

MpesaConfig = {}

Mpesa

readonly account: AccountModule

Defined in: src/clients/mpesa-client.ts:64


readonly b2c: B2CModule

Defined in: src/clients/mpesa-client.ts:63


readonly c2b: C2BModule

Defined in: src/clients/mpesa-client.ts:62


readonly pull: PullModule

Defined in: src/clients/mpesa-client.ts:68


readonly qr: QrModule

Defined in: src/clients/mpesa-client.ts:67


readonly reversal: ReversalModule

Defined in: src/clients/mpesa-client.ts:66


readonly transaction: TransactionModule

Defined in: src/clients/mpesa-client.ts:65

stkPush(input): Promise<StkPushResult>

Defined in: src/clients/mpesa-client.ts:130

Initiate STK Push (Lipa Na M-Pesa Online). Sends a prompt to the customer’s phone; use the returned CheckoutRequestID with stkQuery().

StkPushInput

Promise<StkPushResult>


stkQuery(input): Promise<StkQueryResponse>

Defined in: src/clients/mpesa-client.ts:137

Query STK Push status using CheckoutRequestID from stkPush() response.

StkQueryInput

Promise<StkQueryResponse>