UNPKG

@fenil265/fundly-payment-sdk

Version:

Fundly Payment SDK for seamless integration with Fundly Pay systems.

91 lines 3.52 kB
/** * Analytics Service * Central service for managing analytics tracking in the Payment SDK */ import type { IAnalyticsProvider, AnalyticsConfig } from './types'; declare class AnalyticsService { private static instance; private provider; private enabled; private constructor(); static getInstance(): AnalyticsService; /** * Configure analytics with a custom provider or CleverTap config */ configure(config: AnalyticsConfig): void; /** * Set a custom analytics provider */ setProvider(provider: IAnalyticsProvider | null): void; /** * Check if analytics is enabled and configured */ isEnabled(): boolean; /** * Set user identity for analytics tracking * This should be called after user login to associate all subsequent events with the user */ setUserIdentity(identity: string, profileData?: Record<string, unknown>): void; /** * Helper to map payment mode from API format to analytics format */ private mapPaymentMode; /** * Track payment initiated event */ trackPaymentInitiated(paymentMode: string, amount: number, invoiceCount: number, transactionId?: string, salesmanId?: number, salesmanName?: string, invoiceIds?: string, additionalDetails?: { chemistName?: string; chemistId?: string; chemistCode?: string; mobileNumber?: string; distributorId?: string; distributorName?: string; partyCode?: string; transactionDate?: string; transactionDateFormatted?: string; }, salesmanPhone?: string): void; /** * Track payment link generated event */ trackPaymentLinkGenerated(amount: number, invoiceCount: number, paymentLink: string, transactionId?: string, salesmanId?: number, salesmanName?: string, invoiceIds?: string): void; /** * Track payment QR generated event */ trackPaymentQRGenerated(amount: number, invoiceCount: number, qrExpiry: number, transactionId?: string, salesmanId?: number, salesmanName?: string, invoiceIds?: string): void; /** * Track payment success event */ trackPaymentSuccess(paymentMode: string, amount: number, invoiceCount: number, transactionId?: string, salesmanId?: number, salesmanName?: string, invoiceIds?: string, additionalDetails?: { paymentType?: string; paymentDate?: string | null; transactionDate?: string; transactionDateFormatted?: string; distributorId?: string; distributorName?: string; chemistId?: string; chemistName?: string; chemistCode?: string; mobileNumber?: string; partyCode?: string; upiTxnRefNo?: string | null; }, salesmanPhone?: string): void; /** * Track payment failed event */ trackPaymentFailed(paymentMode: string, amount: number, invoiceCount: number, error?: string, transactionId?: string, salesmanId?: number, salesmanName?: string, invoiceIds?: string, additionalDetails?: { paymentType?: string; paymentDate?: string | null; transactionDate?: string; distributorId?: string; distributorName?: string; chemistId?: string; chemistName?: string; chemistCode?: string; mobileNumber?: string; partyCode?: string; upiTxnRefNo?: string | null; }): void; } export declare const analyticsService: AnalyticsService; export {}; //# sourceMappingURL=analytics.service.d.ts.map