UNPKG

@stratosphere-network/wallet

Version:

Wallet module for StratoSphere SDK

43 lines 2.3 kB
import { BaseService } from "../base-service"; import { MpesaSTKInitiateRequest, MpesaSTKInitiateResponse, MpesaTransactionStatusRequest, MpesaTransactionStatusResponse, MpesaTransactionHistoryRequest, MpesaTransactionHistoryResponse, SphereConfig } from "../types"; export declare class OnrampService extends BaseService { private mpesaClient; constructor(httpClient: any, config: SphereConfig); /** * Initiates an M-Pesa STK push for crypto on-ramping * @param request - The STK initiation request containing user details and payment info * @returns Promise with the STK initiation response */ initiateSafaricomSTK(request: MpesaSTKInitiateRequest): Promise<MpesaSTKInitiateResponse>; /** * Gets the status of a Safaricom transaction * @param request - The transaction status request with checkout or merchant request ID * @returns Promise with the transaction status response */ getSafaricomTransactionStatus(request: MpesaTransactionStatusRequest): Promise<MpesaTransactionStatusResponse>; /** * Polls transaction status until completion or timeout * @param checkoutRequestId - The checkout request ID from STK initiation (optional) * @param merchantId - The merchant request ID from STK initiation (optional) * @param maxAttempts - Maximum number of polling attempts (default: 10) * @param intervalMs - Interval between polls in milliseconds (default: 10000) * @returns Promise with the final transaction status */ pollSafaricomTransactionStatus(checkoutRequestId?: string, merchantId?: string, maxAttempts?: number, intervalMs?: number): Promise<MpesaTransactionStatusResponse>; /** * Gets user's M-Pesa onramp transaction history with filtering and pagination * @param request - The transaction history request with optional filters * @returns Promise with the transaction history response */ getUserTransactionHistory(request?: MpesaTransactionHistoryRequest): Promise<MpesaTransactionHistoryResponse>; /** * Set API key for M-Pesa operations */ setMpesaApiKey(apiKey: string): void; /** * Utility method to delay execution * @param ms - Milliseconds to delay */ private delay; } //# sourceMappingURL=onramp.d.ts.map