boxpay-checkout-reactnative-sdk
Version:
Boxpay Payment Gateway
36 lines (32 loc) • 1.25 kB
text/typescript
import { checkoutDetailsHandler } from '../sharedContext/checkoutDetailsHandler';
import type { AnalyticsApiResponse } from '../interface';
import { getBrowserData, getDeviceDetails, getBaseURL } from '../utility'
import { APIStatus } from '../interface';
import axios from 'axios';
const callUIAnalytics = async (
uiEvent: string,
screenName: string,
message: string
) : Promise<AnalyticsApiResponse> => {
const { checkoutDetails } = checkoutDetailsHandler;
const deviceDetails = getDeviceDetails()
const browserData = getBrowserData()
const requestBody = {
browserData: browserData,
callerToken : checkoutDetails.token,
uiEvent : uiEvent,
eventAttrs : {
errorMessage: message,
screenName: screenName
},
deviceDetails: deviceDetails,
};
try {
const API_URL = `${getBaseURL(checkoutDetails.env)}/ui-analytics`
const response = await axios.post(API_URL, requestBody);
return {apiStatus : APIStatus.Success, data : response.data};
} catch (error) {
return { apiStatus : APIStatus.Failed , data : {status: { reasonCode: 'API_FAILED', reason: `${error}` }} };
}
}
export default callUIAnalytics;