@stratosphere-network/wallet
Version:
Wallet module for StratoSphere SDK
43 lines • 2.3 kB
TypeScript
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