UNPKG

@fenil265/fundly-payment-sdk

Version:

Fundly Payment SDK for seamless integration with Fundly Pay systems.

94 lines 2.61 kB
/** * Analytics Types * Defines the interface for payment analytics tracking */ export type PaymentMode = 'CHEQUE' | 'CASH' | 'STATIC_QR' | 'DYNAMIC_QR' | 'PAYMENT_LINK' | 'UPI'; export type PaymentStatus = 'INITIATED' | 'LINK_GENERATED' | 'QR_GENERATED' | 'SUCCESS' | 'FAILED'; /** * Base event data for all payment events */ export interface PaymentEventData { paymentMode: PaymentMode; amount: number; invoiceCount: number; invoiceIds?: string; salesmanId?: number; salesmanName?: string; salesmanPhone?: string; paymentStatus: PaymentStatus; transactionId?: string; timestamp: string; 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; } /** * Payment link generated event data */ export interface PaymentLinkGeneratedEventData extends PaymentEventData { paymentLink: string; } /** * Payment QR generated event data */ export interface PaymentQRGeneratedEventData extends PaymentEventData { qrExpiry: number; } /** * Payment failed event data */ export interface PaymentFailedEventData extends PaymentEventData { error?: string; } /** * Analytics provider interface * Implement this interface to create custom analytics providers */ export interface IAnalyticsProvider { /** * 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; /** * Track payment initiated event */ trackPaymentInitiated(data: PaymentEventData): void; /** * Track payment link generated event */ trackPaymentLinkGenerated(data: PaymentLinkGeneratedEventData): void; /** * Track payment QR generated event */ trackPaymentQRGenerated(data: PaymentQRGeneratedEventData): void; /** * Track payment success event */ trackPaymentSuccess(data: PaymentEventData): void; /** * Track payment failed event */ trackPaymentFailed(data: PaymentFailedEventData): void; } /** * Analytics configuration */ export interface AnalyticsConfig { enabled?: boolean; provider?: IAnalyticsProvider; clevertap?: { accountId: string; region?: string; }; } //# sourceMappingURL=types.d.ts.map