UNPKG

mpesajs

Version:

A Node.js SDK for seamless integration with M-Pesa payment gateway, providing easy-to-use methods for handling transactions, payments, and API interactions

50 lines (49 loc) 1.72 kB
import { Auth } from './auth'; interface PayoutResponse { ConversationID: string; OriginatorConversationID: string; ResponseCode: string; ResponseDescription: string; } interface PayoutPayload { OriginatorConversationID: string; InitiatorName: string; SecurityCredential: string; CommandID: 'BusinessPayment' | 'SalaryPayment' | 'PromotionPayment'; PartyA: string; PartyB: string; Amount: number; Remarks: string; Occassion?: string; QueueTimeOutURL: string; ResultURL: string; } export declare class Payout { private readonly baseUrl; private readonly auth; private readonly initiatorName; private readonly securityCredential; private readonly rateLimiter; /** * Creates an instance of Payout * @param auth - Instance of Auth class for token generation * @param initiatorName - Name of the initiator making the request * @param securityCredential - Encrypted security credential * @param sandbox - Whether to use sandbox environment */ constructor(auth: Auth, initiatorName?: string, securityCredential?: string, sandbox?: boolean); /** * Validates the URLs are HTTPS * @param queueTimeoutUrl - URL for timeout notifications * @param resultUrl - URL for result notifications */ private validateUrls; private validatePhoneNumber; private validateAmount; /** * Builds the payload for payout request */ private buildPayload; send(amount: number, remarks: string, occasion?: string, commandId?: PayoutPayload['CommandID'], shortCode?: string, phoneNumber?: string, queueTimeoutUrl?: string, resultUrl?: string): Promise<PayoutResponse>; } export {};