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
TypeScript
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