UNPKG

mpesalib

Version:

A robust Node.js library for Safaricom's Daraja API with complete TypeScript support and modern async/await patterns

67 lines 2.69 kB
import { MpesaConfig, MpesaResponse, C2BRegisterUrlRequest, C2BSimulateRequest, B2CRequest, B2BRequest, STKPushRequest, AccountBalanceRequest, TransactionStatusRequest, ReversalRequest } from '../types'; export declare class MpesaService { private httpClient; private config; constructor(config: MpesaConfig); /** * Register C2B URLs for confirmation and validation */ registerC2BUrls(request: C2BRegisterUrlRequest): Promise<MpesaResponse>; /** * Simulate a C2B transaction */ simulateC2B(request: C2BSimulateRequest): Promise<MpesaResponse>; /** * Business to Customer (B2C) payment */ b2cPayment(request: B2CRequest): Promise<MpesaResponse>; /** * Business to Business (B2B) payment */ b2bPayment(request: B2BRequest): Promise<MpesaResponse>; /** * STK Push (Lipa Na M-Pesa Online) */ stkPush(request: Omit<STKPushRequest, 'Password' | 'Timestamp'>): Promise<MpesaResponse>; /** * STK Push Query (Check status of STK Push) */ stkPushQuery(checkoutRequestID: string): Promise<MpesaResponse>; /** * Check account balance */ getAccountBalance(request: AccountBalanceRequest): Promise<MpesaResponse>; /** * Query transaction status */ getTransactionStatus(request: TransactionStatusRequest): Promise<MpesaResponse>; /** * Reverse a transaction */ reverseTransaction(request: ReversalRequest): Promise<MpesaResponse>; /** * Generate security credential for API requests */ generateSecurityCredential(initiatorPassword: string): string; /** * Convenience method for salary payment (B2C) */ salaryPayment(amount: number, phoneNumber: string, remarks: string, queueTimeOutURL: string, resultURL: string, occasion?: string): Promise<MpesaResponse>; /** * Convenience method for business payment (B2C) */ businessPayment(amount: number, phoneNumber: string, remarks: string, queueTimeOutURL: string, resultURL: string, occasion?: string): Promise<MpesaResponse>; /** * Convenience method for paybill payment (STK Push) */ paybillPayment(amount: number, phoneNumber: string, accountReference: string, transactionDesc: string, callBackURL: string): Promise<MpesaResponse>; /** * Convenience method for buy goods payment (STK Push) */ buyGoodsPayment(amount: number, phoneNumber: string, accountReference: string, transactionDesc: string, callBackURL: string): Promise<MpesaResponse>; /** * Get configuration (useful for debugging) */ getConfig(): Partial<MpesaConfig>; } //# sourceMappingURL=mpesaService.d.ts.map