boxpay-checkout-reactnative-sdk 1.0.0-beta31 → 1.0.0-beta33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/images/ic_qr.png +0 -0
- package/lib/assets/assets/images/ic_qr.png +0 -0
- package/lib/assets/images/ic_qr.png +0 -0
- package/lib/module/components/sessionExpire.js +0 -3
- package/lib/module/components/sessionExpire.js.map +1 -1
- package/lib/module/interface.js.map +1 -1
- package/lib/module/postRequest/callUIAnalytics.js +3 -14
- package/lib/module/postRequest/callUIAnalytics.js.map +1 -1
- package/lib/module/postRequest/cardPostRequest.js +5 -42
- package/lib/module/postRequest/cardPostRequest.js.map +1 -1
- package/lib/module/postRequest/emiPostRequest.js +5 -42
- package/lib/module/postRequest/emiPostRequest.js.map +1 -1
- package/lib/module/postRequest/methodsPostRequest.js +5 -42
- package/lib/module/postRequest/methodsPostRequest.js.map +1 -1
- package/lib/module/postRequest/upiPostRequest.js +5 -42
- package/lib/module/postRequest/upiPostRequest.js.map +1 -1
- package/lib/module/screens/mainScreen.js +70 -1
- package/lib/module/screens/mainScreen.js.map +1 -1
- package/lib/module/screens/upiScreen.js +154 -43
- package/lib/module/screens/upiScreen.js.map +1 -1
- package/lib/module/scripts/checkPeerDeps.js +27 -0
- package/lib/module/scripts/checkPeerDeps.js.map +1 -0
- package/lib/module/sharedContext/checkoutDetailsHandler.js +1 -0
- package/lib/module/sharedContext/checkoutDetailsHandler.js.map +1 -1
- package/lib/module/sharedContext/handlePaymentResponseHandler.js +6 -1
- package/lib/module/sharedContext/handlePaymentResponseHandler.js.map +1 -1
- package/lib/module/styles/screens/savedAddressScreenStyles.js +2 -2
- package/lib/module/styles/screens/upiScreenStyles.js +64 -0
- package/lib/module/styles/screens/upiScreenStyles.js.map +1 -1
- package/lib/module/utils/listAndObjectUtils.js +56 -6
- package/lib/module/utils/listAndObjectUtils.js.map +1 -1
- package/lib/module/utils/stringUtils.js +5 -0
- package/lib/module/utils/stringUtils.js.map +1 -1
- package/lib/typescript/src/components/sessionExpire.d.ts.map +1 -1
- package/lib/typescript/src/interface.d.ts +7 -1
- package/lib/typescript/src/interface.d.ts.map +1 -1
- package/lib/typescript/src/postRequest/callUIAnalytics.d.ts.map +1 -1
- package/lib/typescript/src/postRequest/cardPostRequest.d.ts.map +1 -1
- package/lib/typescript/src/postRequest/emiPostRequest.d.ts.map +1 -1
- package/lib/typescript/src/postRequest/methodsPostRequest.d.ts.map +1 -1
- package/lib/typescript/src/postRequest/upiPostRequest.d.ts.map +1 -1
- package/lib/typescript/src/screens/mainScreen.d.ts.map +1 -1
- package/lib/typescript/src/screens/upiScreen.d.ts +5 -0
- package/lib/typescript/src/screens/upiScreen.d.ts.map +1 -1
- package/lib/typescript/src/sharedContext/checkoutDetailsHandler.d.ts.map +1 -1
- package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts +1 -2
- package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts.map +1 -1
- package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts +64 -0
- package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts.map +1 -1
- package/lib/typescript/src/utils/listAndObjectUtils.d.ts +34 -2
- package/lib/typescript/src/utils/listAndObjectUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/stringUtils.d.ts +1 -0
- package/lib/typescript/src/utils/stringUtils.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/components/sessionExpire.tsx +0 -3
- package/src/interface.ts +10 -2
- package/src/postRequest/callUIAnalytics.ts +3 -20
- package/src/postRequest/cardPostRequest.ts +6 -51
- package/src/postRequest/emiPostRequest.ts +6 -52
- package/src/postRequest/methodsPostRequest.tsx +6 -52
- package/src/postRequest/upiPostRequest.tsx +6 -52
- package/src/screens/mainScreen.tsx +72 -0
- package/src/screens/upiScreen.tsx +168 -40
- package/src/scripts/checkPeerDeps.js +23 -0
- package/src/sharedContext/checkoutDetailsHandler.ts +1 -0
- package/src/sharedContext/handlePaymentResponseHandler.ts +8 -1
- package/src/styles/screens/savedAddressScreenStyles.ts +2 -2
- package/src/styles/screens/upiScreenStyles.ts +64 -0
- package/src/utils/listAndObjectUtils.ts +58 -7
- package/src/utils/stringUtils.ts +7 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -5,8 +5,6 @@ import React from 'react';
|
|
|
5
5
|
import Modal from 'react-native-modal';
|
|
6
6
|
import LottieView from 'lottie-react-native';
|
|
7
7
|
import { checkoutDetailsHandler } from "../sharedContext/checkoutDetailsHandler.js";
|
|
8
|
-
import callUIAnalytics from "../postRequest/callUIAnalytics.js";
|
|
9
|
-
import { AnalyticsEvents } from "../interface.js";
|
|
10
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
9
|
const SessionExpire = ({
|
|
12
10
|
onClick
|
|
@@ -49,7 +47,6 @@ const SessionExpire = ({
|
|
|
49
47
|
backgroundColor: checkoutDetails.brandColor
|
|
50
48
|
}],
|
|
51
49
|
onPress: () => {
|
|
52
|
-
callUIAnalytics(AnalyticsEvents.PAYMENT_RESULT_SCREEN_DISPLAYED, "Session Expired button clicked", "");
|
|
53
50
|
onClick();
|
|
54
51
|
},
|
|
55
52
|
children: /*#__PURE__*/_jsx(Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","StyleSheet","Pressable","React","Modal","LottieView","checkoutDetailsHandler","
|
|
1
|
+
{"version":3,"names":["View","Text","StyleSheet","Pressable","React","Modal","LottieView","checkoutDetailsHandler","jsx","_jsx","jsxs","_jsxs","SessionExpire","onClick","checkoutDetails","children","isVisible","style","styles","modal","sheet","source","require","autoPlay","loop","width","height","alignSelf","successfulHeading","fontSize","fontFamily","color","textAlign","paddingTop","paddingBottom","lineHeight","buttonContainer","backgroundColor","brandColor","onPress","buttonText","create","justifyContent","margin","padding","borderTopLeftRadius","borderTopRightRadius","flexDirection","borderRadius","marginTop","paddingVertical"],"sourceRoot":"../../../src","sources":["components/sessionExpire.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,QAAQ,cAAc;AAChE,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,UAAU,MAAM,qBAAqB;AAC5C,SAASC,sBAAsB,QAAQ,4CAAyC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMjF,MAAMC,aAA2C,GAAGA,CAAC;EAAEC;AAAQ,CAAC,KAAK;EACnE,MAAM;IAAEC;EAAgB,CAAC,GAAGP,sBAAsB;EAClD,oBACEE,IAAA,CAACT,IAAI;IAAAe,QAAA,eACHN,IAAA,CAACJ,KAAK;MAACW,SAAS,EAAE,IAAK;MAACC,KAAK,EAAEC,MAAM,CAACC,KAAM;MAAAJ,QAAA,eAC1CJ,KAAA,CAACX,IAAI;QAACiB,KAAK,EAAEC,MAAM,CAACE,KAAM;QAAAL,QAAA,gBACxBN,IAAA,CAACH,UAAU;UACTe,MAAM,EAAEC,OAAO,CAAC,qDAAqD,CAAE;UACvEC,QAAQ;UACRC,IAAI,EAAE,KAAM;UACZP,KAAK,EAAE;YAAEQ,KAAK,EAAE,EAAE;YAAEC,MAAM,EAAE,EAAE;YAAEC,SAAS,EAAE;UAAS;QAAE,CACvD,CAAC,eACFlB,IAAA,CAACR,IAAI;UAACgB,KAAK,EAAEC,MAAM,CAACU,iBAAkB;UAAAb,QAAA,EAAC;QAEvC,CAAM,CAAC,eACPN,IAAA,CAACR,IAAI;UACHgB,KAAK,EAAE;YACLY,QAAQ,EAAE,EAAE;YACZC,UAAU,EAAE,iBAAiB;YAC7BC,KAAK,EAAE,SAAS;YAChBC,SAAS,EAAE,QAAQ;YACnBL,SAAS,EAAE,QAAQ;YACnBM,UAAU,EAAE,CAAC;YACbC,aAAa,EAAE,EAAE;YACjBC,UAAU,EAAE;UACd,CAAE;UAAApB,QAAA,EACH;QAGD,CAAM,CAAC,eACPN,IAAA,CAACN,SAAS;UACRc,KAAK,EAAE,CACLC,MAAM,CAACkB,eAAe,EACtB;YAAEC,eAAe,EAAEvB,eAAe,CAACwB;UAAW,CAAC,CAC/C;UACFC,OAAO,EAAEA,CAAA,KAAM;YACb1B,OAAO,CAAC,CAAC;UACX,CAAE;UAAAE,QAAA,eAEFN,IAAA,CAACR,IAAI;YAACgB,KAAK,EAAEC,MAAM,CAACsB,UAAW;YAAAzB,QAAA,EAAC;UAAe,CAAM;QAAC,CAC7C,CAAC;MAAA,CACR;IAAC,CACF;EAAC,CACJ,CAAC;AAEX,CAAC;AAED,eAAeH,aAAa;AAE5B,MAAMM,MAAM,GAAGhB,UAAU,CAACuC,MAAM,CAAC;EAC/BtB,KAAK,EAAE;IACLuB,cAAc,EAAE,UAAU;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDvB,KAAK,EAAE;IACLiB,eAAe,EAAE,OAAO;IACxBO,OAAO,EAAE,EAAE;IACXC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EACxB,CAAC;EACDlB,iBAAiB,EAAE;IACjBG,KAAK,EAAE,SAAS;IAChBF,QAAQ,EAAE,EAAE;IACZF,SAAS,EAAE,QAAQ;IACnBM,UAAU,EAAE,CAAC;IACbH,UAAU,EAAE;EACd,CAAC;EACDM,eAAe,EAAE;IACfW,aAAa,EAAE,KAAK;IACpBC,YAAY,EAAE,CAAC;IACfN,cAAc,EAAE,QAAQ;IACxBO,SAAS,EAAE,EAAE;IACbZ,eAAe,EAAE;EACnB,CAAC;EACDG,UAAU,EAAE;IACVT,KAAK,EAAE,OAAO;IACdF,QAAQ,EAAE,EAAE;IACZqB,eAAe,EAAE,EAAE;IACnBpB,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConfigurationOptions","TransactionStatus","APIStatus","AnalyticsEvents"],"sourceRoot":"../../src","sources":["interface.ts"],"mappings":";;AAKA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;
|
|
1
|
+
{"version":3,"names":["ConfigurationOptions","TransactionStatus","APIStatus","AnalyticsEvents"],"sourceRoot":"../../src","sources":["interface.ts"],"mappings":";;AAKA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAyXhC,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAU7B,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAwErB,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import Constants from 'expo-constants';
|
|
4
3
|
import { checkoutDetailsHandler } from "../sharedContext/checkoutDetailsHandler.js";
|
|
5
|
-
import { getDeviceDetails } from "../utils/listAndObjectUtils.js";
|
|
4
|
+
import { getBrowserData, getDeviceDetails } from "../utils/listAndObjectUtils.js";
|
|
6
5
|
import { APIStatus } from "../interface.js";
|
|
7
6
|
import axios from 'axios';
|
|
8
7
|
import { getBaseURL } from "../utils/stringUtils.js";
|
|
@@ -11,19 +10,9 @@ const callUIAnalytics = async (uiEvent, screenName, message) => {
|
|
|
11
10
|
checkoutDetails
|
|
12
11
|
} = checkoutDetailsHandler;
|
|
13
12
|
const deviceDetails = getDeviceDetails();
|
|
13
|
+
const browserData = getBrowserData();
|
|
14
14
|
const requestBody = {
|
|
15
|
-
browserData:
|
|
16
|
-
screenHeight: Constants.platform?.ios?.screenHeight || Constants.platform?.android?.screenHeight || 0,
|
|
17
|
-
screenWidth: Constants.platform?.ios?.screenWidth || Constants.platform?.android?.screenWidth || 0,
|
|
18
|
-
acceptHeader: 'application/json',
|
|
19
|
-
userAgentHeader: 'Expo App',
|
|
20
|
-
browserLanguage: 'en_US',
|
|
21
|
-
ipAddress: 'null',
|
|
22
|
-
colorDepth: 24,
|
|
23
|
-
javaEnabled: true,
|
|
24
|
-
timeZoneOffSet: new Date().getTimezoneOffset(),
|
|
25
|
-
packageId: Constants.manifest?.id || 'com.boxpay.checkout.sdk'
|
|
26
|
-
},
|
|
15
|
+
browserData: browserData,
|
|
27
16
|
callerToken: checkoutDetails.token,
|
|
28
17
|
uiEvent: uiEvent,
|
|
29
18
|
eventAttrs: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["checkoutDetailsHandler","getBrowserData","getDeviceDetails","APIStatus","axios","getBaseURL","callUIAnalytics","uiEvent","screenName","message","checkoutDetails","deviceDetails","browserData","requestBody","callerToken","token","eventAttrs","errorMessage","API_URL","env","response","post","apiStatus","Success","data","error","Failed","status","reasonCode","reason"],"sourceRoot":"../../../src","sources":["postRequest/callUIAnalytics.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4CAAyC;AAEhF,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,gCAA6B;AAC9E,SAASC,SAAS,QAAQ,iBAAc;AACxC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,yBAAsB;AAEjD,MAAMC,eAAe,GAAG,MAAAA,CACpBC,OAAe,EACfC,UAAkB,EAClBC,OAAe,KACoB;EACnC,MAAM;IAAEC;EAAgB,CAAC,GAAGV,sBAAsB;EAClD,MAAMW,aAAa,GAAGT,gBAAgB,CAAC,CAAC;EACxC,MAAMU,WAAW,GAAGX,cAAc,CAAC,CAAC;EAEpC,MAAMY,WAAW,GAAG;IAChBD,WAAW,EAAEA,WAAW;IACxBE,WAAW,EAAGJ,eAAe,CAACK,KAAK;IACnCR,OAAO,EAAGA,OAAO;IACjBS,UAAU,EAAG;MACTC,YAAY,EAAER,OAAO;MACrBD,UAAU,EAAEA;IAChB,CAAC;IACDG,aAAa,EAAEA;EACjB,CAAC;EAED,IAAI;IACF,MAAMO,OAAO,GAAG,GAAGb,UAAU,CAACK,eAAe,CAACS,GAAG,CAAC,eAAe;IACjE,MAAMC,QAAQ,GAAG,MAAMhB,KAAK,CAACiB,IAAI,CAACH,OAAO,EAAEL,WAAW,CAAC;IACvD,OAAO;MAACS,SAAS,EAAGnB,SAAS,CAACoB,OAAO;MAAEC,IAAI,EAAGJ,QAAQ,CAACI;IAAI,CAAC;EAC9D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO;MAAEH,SAAS,EAAGnB,SAAS,CAACuB,MAAM;MAAGF,IAAI,EAAG;QAACG,MAAM,EAAE;UAAEC,UAAU,EAAE,YAAY;UAAEC,MAAM,EAAE,GAAGJ,KAAK;QAAG;MAAC;IAAE,CAAC;EAC7G;AACN,CAAC;AAED,eAAenB,eAAe","ignoreList":[]}
|
|
@@ -1,50 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import Constants from 'expo-constants';
|
|
4
3
|
import api from "../serviceRequest.js";
|
|
5
|
-
import { userDataHandler } from "../sharedContext/userdataHandler.js";
|
|
6
4
|
import { checkoutDetailsHandler } from "../sharedContext/checkoutDetailsHandler.js";
|
|
7
|
-
import { getDeviceDetails } from "../utils/listAndObjectUtils.js";
|
|
5
|
+
import { getBrowserData, getDeviceDetails, getShopperDetails } from "../utils/listAndObjectUtils.js";
|
|
8
6
|
import { AnalyticsEvents, APIStatus } from "../interface.js";
|
|
9
7
|
import callUIAnalytics from "./callUIAnalytics.js";
|
|
10
8
|
const cardPostRequest = async (cardNumber, expiryDate, cvv, holderName, cardNickName, isCheckboxClicked) => {
|
|
11
|
-
const {
|
|
12
|
-
userData
|
|
13
|
-
} = userDataHandler;
|
|
14
9
|
const {
|
|
15
10
|
checkoutDetails
|
|
16
11
|
} = checkoutDetailsHandler;
|
|
17
12
|
const deviceDetails = getDeviceDetails();
|
|
13
|
+
const browserData = getBrowserData();
|
|
14
|
+
const shopperData = getShopperDetails();
|
|
18
15
|
const formatExpiry = input => {
|
|
19
16
|
const [month, year] = input.split('/');
|
|
20
17
|
return `20${year}-${month}`;
|
|
21
18
|
};
|
|
22
|
-
const isDeliveryAddressEmpty = address => {
|
|
23
|
-
return Object.values(address).every(value => value === null || value === undefined || value === '');
|
|
24
|
-
};
|
|
25
|
-
const deliveryAddress = {
|
|
26
|
-
address1: userData.address1,
|
|
27
|
-
address2: userData.address2,
|
|
28
|
-
city: userData.city,
|
|
29
|
-
state: userData.state,
|
|
30
|
-
countryCode: userData.country,
|
|
31
|
-
postalCode: userData.pincode,
|
|
32
|
-
labelType: userData.labelType,
|
|
33
|
-
labelName: userData.labelName
|
|
34
|
-
};
|
|
35
19
|
const requestBody = {
|
|
36
|
-
browserData:
|
|
37
|
-
screenHeight: Constants.platform?.ios?.screenHeight || Constants.platform?.android?.screenHeight || 0,
|
|
38
|
-
screenWidth: Constants.platform?.ios?.screenWidth || Constants.platform?.android?.screenWidth || 0,
|
|
39
|
-
acceptHeader: 'application/json',
|
|
40
|
-
userAgentHeader: 'Expo App',
|
|
41
|
-
browserLanguage: 'en_US',
|
|
42
|
-
ipAddress: 'null',
|
|
43
|
-
colorDepth: 24,
|
|
44
|
-
javaEnabled: true,
|
|
45
|
-
timeZoneOffSet: new Date().getTimezoneOffset(),
|
|
46
|
-
packageId: Constants.manifest?.id || 'com.boxpay.checkout.sdk'
|
|
47
|
-
},
|
|
20
|
+
browserData: browserData,
|
|
48
21
|
instrumentDetails: {
|
|
49
22
|
type: 'card/plain',
|
|
50
23
|
card: {
|
|
@@ -60,17 +33,7 @@ const cardPostRequest = async (cardNumber, expiryDate, cvv, holderName, cardNick
|
|
|
60
33
|
saveInstrument: true
|
|
61
34
|
} : {})
|
|
62
35
|
},
|
|
63
|
-
shopper:
|
|
64
|
-
email: userData.email,
|
|
65
|
-
firstName: userData.firstName,
|
|
66
|
-
gender: null,
|
|
67
|
-
lastName: userData.lastName,
|
|
68
|
-
phoneNumber: userData.phone,
|
|
69
|
-
uniqueReference: userData.uniqueId,
|
|
70
|
-
dateOfBirth: userData.dob,
|
|
71
|
-
panNumber: userData.pan,
|
|
72
|
-
deliveryAddress: isDeliveryAddressEmpty(deliveryAddress) ? null : deliveryAddress
|
|
73
|
-
},
|
|
36
|
+
shopper: shopperData,
|
|
74
37
|
deviceDetails: deviceDetails
|
|
75
38
|
};
|
|
76
39
|
callUIAnalytics(AnalyticsEvents.PAYMENT_CATEGORY_SELECTED, "Card Post Request", ``);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["api","checkoutDetailsHandler","getBrowserData","getDeviceDetails","getShopperDetails","AnalyticsEvents","APIStatus","callUIAnalytics","cardPostRequest","cardNumber","expiryDate","cvv","holderName","cardNickName","isCheckboxClicked","checkoutDetails","deviceDetails","browserData","shopperData","formatExpiry","input","month","year","split","requestBody","instrumentDetails","type","card","number","replace","expiry","cvc","shopperToken","nickName","saveInstrument","shopper","PAYMENT_CATEGORY_SELECTED","PAYMENT_INITIATED","response","post","apiStatus","Success","data","error","Failed","status","reasonCode","reason"],"sourceRoot":"../../../src","sources":["postRequest/cardPostRequest.ts"],"mappings":";;AAAA,OAAOA,GAAG,MAAM,sBAAmB;AACnC,SAASC,sBAAsB,QAAQ,4CAAyC;AAEhF,SAASC,cAAc,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,gCAA6B;AACjG,SAASC,eAAe,EAAEC,SAAS,QAAQ,iBAAc;AACzD,OAAOC,eAAe,MAAM,sBAAmB;AAE/C,MAAMC,eAAe,GAAG,MAAAA,CACtBC,UAAkB,EAClBC,UAAkB,EAClBC,GAAW,EACXC,UAAkB,EAClBC,YAAoB,EACpBC,iBAA0B,KACgB;EAC1C,MAAM;IAAEC;EAAgB,CAAC,GAAGd,sBAAsB;EAClD,MAAMe,aAAa,GAAGb,gBAAgB,CAAC,CAAC;EACxC,MAAMc,WAAW,GAAGf,cAAc,CAAC,CAAC;EACpC,MAAMgB,WAAW,GAAGd,iBAAiB,CAAC,CAAC;EAEvC,MAAMe,YAAY,GAAIC,KAAa,IAAK;IACtC,MAAM,CAACC,KAAK,EAAEC,IAAI,CAAC,GAAGF,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC;IACtC,OAAO,KAAKD,IAAI,IAAID,KAAK,EAAE;EAC7B,CAAC;EAED,MAAMG,WAAW,GAAG;IAClBP,WAAW,EAAEA,WAAW;IACxBQ,iBAAiB,EAAE;MACjBC,IAAI,EAAE,YAAY;MAClBC,IAAI,EAAE;QACJC,MAAM,EAAEnB,UAAU,CAACoB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpCC,MAAM,EAAEX,YAAY,CAACT,UAAU,CAAC;QAChCqB,GAAG,EAAEpB,GAAG;QACRC,UAAU,EAAEA,UAAU;QACtB,IAAIG,eAAe,CAACiB,YAAY,IAAIlB,iBAAiB,GACjD;UAAEmB,QAAQ,EAAEpB;QAAa,CAAC,GAC1B,CAAC,CAAC;MACR,CAAC;MACD,IAAIE,eAAe,CAACiB,YAAY,IAAIlB,iBAAiB,GACjD;QAAEoB,cAAc,EAAE;MAAK,CAAC,GACxB,CAAC,CAAC;IACR,CAAC;IACDC,OAAO,EAAEjB,WAAW;IACpBF,aAAa,EAAEA;EACjB,CAAC;EACDT,eAAe,CAACF,eAAe,CAAC+B,yBAAyB,EAAC,mBAAmB,EAAC,EAAE,CAAC;EACjF7B,eAAe,CAACF,eAAe,CAACgC,iBAAiB,EAAC,mBAAmB,EAAC,EAAE,CAAC;EAEzE,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMtC,GAAG,CAACuC,IAAI,CAAC,GAAG,EAAEf,WAAW,CAAC;IACjD,OAAO;MAACgB,SAAS,EAAGlC,SAAS,CAACmC,OAAO;MAAEC,IAAI,EAAGJ,QAAQ,CAACI;IAAI,CAAC;EAC9D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdpC,eAAe,CAACF,eAAe,CAACgC,iBAAiB,EAAC,mBAAmB,EAAC,GAAGM,KAAK,EAAE,CAAC;IACjF,OAAO;MAAEH,SAAS,EAAGlC,SAAS,CAACsC,MAAM;MAAGF,IAAI,EAAG;QAACG,MAAM,EAAE;UAAEC,UAAU,EAAE,YAAY;UAAEC,MAAM,EAAE,GAAGJ,KAAK;QAAG;MAAC;IAAE,CAAC;EAC7G;AACF,CAAC;AAED,eAAenC,eAAe","ignoreList":[]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import Constants from 'expo-constants';
|
|
4
3
|
import api from "../serviceRequest.js";
|
|
5
|
-
import {
|
|
6
|
-
import { getDeviceDetails } from "../utils/listAndObjectUtils.js";
|
|
4
|
+
import { getBrowserData, getDeviceDetails, getShopperDetails } from "../utils/listAndObjectUtils.js";
|
|
7
5
|
import { AnalyticsEvents, APIStatus } from "../interface.js";
|
|
8
6
|
import callUIAnalytics from "./callUIAnalytics.js";
|
|
9
7
|
const emiPostRequest = async ({
|
|
@@ -15,10 +13,9 @@ const emiPostRequest = async ({
|
|
|
15
13
|
offerCode,
|
|
16
14
|
duration
|
|
17
15
|
}) => {
|
|
18
|
-
const {
|
|
19
|
-
userData
|
|
20
|
-
} = userDataHandler;
|
|
21
16
|
const deviceDetails = getDeviceDetails();
|
|
17
|
+
const browserData = getBrowserData();
|
|
18
|
+
const shopperData = getShopperDetails();
|
|
22
19
|
const formatExpiry = input => {
|
|
23
20
|
const [month, year] = input.split('/');
|
|
24
21
|
return `20${year}-${month}`;
|
|
@@ -41,47 +38,13 @@ const emiPostRequest = async ({
|
|
|
41
38
|
provider: duration
|
|
42
39
|
}
|
|
43
40
|
};
|
|
44
|
-
const isDeliveryAddressEmpty = address => {
|
|
45
|
-
return Object.values(address).every(value => value === null || value === undefined || value === '');
|
|
46
|
-
};
|
|
47
|
-
const deliveryAddress = {
|
|
48
|
-
address1: userData.address1,
|
|
49
|
-
address2: userData.address2,
|
|
50
|
-
city: userData.city,
|
|
51
|
-
state: userData.state,
|
|
52
|
-
countryCode: userData.country,
|
|
53
|
-
postalCode: userData.pincode,
|
|
54
|
-
labelType: userData.labelType,
|
|
55
|
-
labelName: userData.labelName
|
|
56
|
-
};
|
|
57
41
|
const requestBody = {
|
|
58
|
-
browserData:
|
|
59
|
-
screenHeight: Constants.platform?.ios?.screenHeight || Constants.platform?.android?.screenHeight || 0,
|
|
60
|
-
screenWidth: Constants.platform?.ios?.screenWidth || Constants.platform?.android?.screenWidth || 0,
|
|
61
|
-
acceptHeader: 'application/json',
|
|
62
|
-
userAgentHeader: 'Expo App',
|
|
63
|
-
browserLanguage: 'en_US',
|
|
64
|
-
ipAddress: 'null',
|
|
65
|
-
colorDepth: 24,
|
|
66
|
-
javaEnabled: true,
|
|
67
|
-
timeZoneOffSet: new Date().getTimezoneOffset(),
|
|
68
|
-
packageId: Constants.manifest?.id || 'com.boxpay.checkout.sdk'
|
|
69
|
-
},
|
|
42
|
+
browserData: browserData,
|
|
70
43
|
instrumentDetails: instrumentDetails,
|
|
71
44
|
...(offerCode?.trim() !== '' && {
|
|
72
45
|
offers: [offerCode]
|
|
73
46
|
}),
|
|
74
|
-
shopper:
|
|
75
|
-
email: userData.email,
|
|
76
|
-
firstName: userData.firstName,
|
|
77
|
-
gender: null,
|
|
78
|
-
lastName: userData.lastName,
|
|
79
|
-
phoneNumber: userData.phone,
|
|
80
|
-
uniqueReference: userData.uniqueId,
|
|
81
|
-
dateOfBirth: userData.dob,
|
|
82
|
-
panNumber: userData.pan,
|
|
83
|
-
deliveryAddress: isDeliveryAddressEmpty(deliveryAddress) ? null : deliveryAddress
|
|
84
|
-
},
|
|
47
|
+
shopper: shopperData,
|
|
85
48
|
deviceDetails: deviceDetails
|
|
86
49
|
};
|
|
87
50
|
callUIAnalytics(AnalyticsEvents.PAYMENT_CATEGORY_SELECTED, "EMI Post Request", ``);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["api","getBrowserData","getDeviceDetails","getShopperDetails","AnalyticsEvents","APIStatus","callUIAnalytics","emiPostRequest","cardNumber","expiryDate","cvv","holderName","cardType","offerCode","duration","deviceDetails","browserData","shopperData","formatExpiry","input","month","year","split","instrumentType","includes","instrumentDetails","type","card","number","replace","expiry","cvc","emi","provider","requestBody","trim","offers","shopper","PAYMENT_CATEGORY_SELECTED","PAYMENT_INITIATED","response","post","apiStatus","Success","data","error","Failed","status","reasonCode","reason"],"sourceRoot":"../../../src","sources":["postRequest/emiPostRequest.ts"],"mappings":";;AAAA,OAAOA,GAAG,MAAM,sBAAmB;AAEnC,SAASC,cAAc,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,gCAA6B;AACjG,SAASC,eAAe,EAAEC,SAAS,QAAQ,iBAAc;AACzD,OAAOC,eAAe,MAAM,sBAAmB;AAY/C,MAAMC,cAAc,GAAG,MAAAA,CACrB;EACEC,UAAU;EACVC,UAAU;EACVC,GAAG;EACHC,UAAU;EACVC,QAAQ;EACRC,SAAS;EACTC;AACe,CAAC,KACwB;EAC1C,MAAMC,aAAa,GAAGb,gBAAgB,CAAC,CAAC;EACxC,MAAMc,WAAW,GAAGf,cAAc,CAAC,CAAC;EACpC,MAAMgB,WAAW,GAAGd,iBAAiB,CAAC,CAAC;EACvC,MAAMe,YAAY,GAAIC,KAAa,IAAK;IACtC,MAAM,CAACC,KAAK,EAAEC,IAAI,CAAC,GAAGF,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC;IACtC,OAAO,KAAKD,IAAI,IAAID,KAAK,EAAE;EAC7B,CAAC;EACD,MAAMG,cAAc,GAAGX,QAAQ,GAC3BA,QAAQ,CAACY,QAAQ,CAAC,QAAQ,CAAC,GACzB,QAAQ,GACR,QAAQ,GACV,cAAc;EAElB,MAAMC,iBAAiB,GAAGb,QAAQ,GAC9B;IACEc,IAAI,EAAEH,cAAc;IACpBI,IAAI,EAAE;MACJC,MAAM,EAAEpB,UAAU,EAAEqB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;MACrCC,MAAM,EAAEZ,YAAY,CAACT,UAAU,IAAI,EAAE,CAAC;MACtCsB,GAAG,EAAErB,GAAG;MACRC,UAAU,EAAEA;IACd,CAAC;IACDqB,GAAG,EAAE;MACHlB,QAAQ,EAAEA;IACZ;EACF,CAAC,GACD;IACEY,IAAI,EAAE,cAAc;IACpBM,GAAG,EAAE;MACHC,QAAQ,EAAEnB;IACZ;EACF,CAAC;EAEL,MAAMoB,WAAW,GAAG;IAClBlB,WAAW,EAAEA,WAAW;IACxBS,iBAAiB,EAAEA,iBAAiB;IACpC,IAAIZ,SAAS,EAAEsB,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI;MAAEC,MAAM,EAAE,CAACvB,SAAS;IAAE,CAAC,CAAC;IACxDwB,OAAO,EAAEpB,WAAW;IACpBF,aAAa,EAAEA;EACjB,CAAC;EAEDT,eAAe,CAACF,eAAe,CAACkC,yBAAyB,EAAC,kBAAkB,EAAC,EAAE,CAAC;EAChFhC,eAAe,CAACF,eAAe,CAACmC,iBAAiB,EAAC,kBAAkB,EAAC,EAAE,CAAC;EAExE,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMxC,GAAG,CAACyC,IAAI,CAAC,GAAG,EAAEP,WAAW,CAAC;IACjD,OAAO;MAACQ,SAAS,EAAGrC,SAAS,CAACsC,OAAO;MAAEC,IAAI,EAAGJ,QAAQ,CAACI;IAAI,CAAC;EAC9D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdvC,eAAe,CAACF,eAAe,CAACmC,iBAAiB,EAAC,kBAAkB,EAAC,GAAGM,KAAK,EAAE,CAAC;IAChF,OAAO;MAAEH,SAAS,EAAGrC,SAAS,CAACyC,MAAM;MAAEF,IAAI,EAAG;QAACG,MAAM,EAAE;UAAEC,UAAU,EAAE,YAAY;UAAEC,MAAM,EAAE,GAAGJ,KAAK;QAAG;MAAC;IAAE,CAAC;EAC5G;AACF,CAAC;AAED,eAAetC,cAAc","ignoreList":[]}
|
|
@@ -1,63 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import Constants from 'expo-constants';
|
|
4
3
|
import { checkoutDetailsHandler } from "../sharedContext/checkoutDetailsHandler.js";
|
|
5
4
|
import api from "../serviceRequest.js";
|
|
6
|
-
import {
|
|
7
|
-
import { getDeviceDetails } from "../utils/listAndObjectUtils.js";
|
|
5
|
+
import { getBrowserData, getDeviceDetails, getShopperDetails } from "../utils/listAndObjectUtils.js";
|
|
8
6
|
import { AnalyticsEvents, APIStatus } from "../interface.js";
|
|
9
7
|
import callUIAnalytics from "./callUIAnalytics.js";
|
|
10
8
|
const methodsPostRequest = async (instrumentDetails, paymentMethod) => {
|
|
11
|
-
const {
|
|
12
|
-
userData
|
|
13
|
-
} = userDataHandler;
|
|
14
9
|
const {
|
|
15
10
|
checkoutDetails
|
|
16
11
|
} = checkoutDetailsHandler;
|
|
17
12
|
const deviceDetails = getDeviceDetails();
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
const deliveryAddress = {
|
|
22
|
-
address1: userData.address1,
|
|
23
|
-
address2: userData.address2,
|
|
24
|
-
city: userData.city,
|
|
25
|
-
state: userData.state,
|
|
26
|
-
countryCode: userData.country,
|
|
27
|
-
postalCode: userData.pincode,
|
|
28
|
-
labelType: userData.labelType,
|
|
29
|
-
labelName: userData.labelName
|
|
30
|
-
};
|
|
13
|
+
const browserData = getBrowserData();
|
|
14
|
+
const shopperData = getShopperDetails();
|
|
31
15
|
const requestBody = {
|
|
32
|
-
browserData:
|
|
33
|
-
screenHeight: Constants.platform?.ios?.screenHeight || Constants.platform?.android?.screenHeight || 0,
|
|
34
|
-
screenWidth: Constants.platform?.ios?.screenWidth || Constants.platform?.android?.screenWidth || 0,
|
|
35
|
-
acceptHeader: 'application/json',
|
|
36
|
-
userAgentHeader: 'Expo App',
|
|
37
|
-
browserLanguage: 'en_US',
|
|
38
|
-
ipAddress: 'null',
|
|
39
|
-
colorDepth: 24,
|
|
40
|
-
javaEnabled: true,
|
|
41
|
-
timeZoneOffSet: new Date().getTimezoneOffset(),
|
|
42
|
-
packageId: Constants.manifest?.id || 'com.boxpay.checkout.sdk'
|
|
43
|
-
},
|
|
16
|
+
browserData: browserData,
|
|
44
17
|
instrumentDetails: {
|
|
45
18
|
type: instrumentDetails,
|
|
46
19
|
[paymentMethod]: {
|
|
47
20
|
token: checkoutDetails.token
|
|
48
21
|
}
|
|
49
22
|
},
|
|
50
|
-
shopper:
|
|
51
|
-
email: userData.email,
|
|
52
|
-
firstName: userData.firstName,
|
|
53
|
-
gender: null,
|
|
54
|
-
lastName: userData.lastName,
|
|
55
|
-
phoneNumber: userData.phone,
|
|
56
|
-
uniqueReference: userData.uniqueId,
|
|
57
|
-
dateOfBirth: userData.dob,
|
|
58
|
-
panNumber: userData.pan,
|
|
59
|
-
deliveryAddress: isDeliveryAddressEmpty(deliveryAddress) ? null : deliveryAddress
|
|
60
|
-
},
|
|
23
|
+
shopper: shopperData,
|
|
61
24
|
deviceDetails: deviceDetails
|
|
62
25
|
};
|
|
63
26
|
callUIAnalytics(AnalyticsEvents.PAYMENT_CATEGORY_SELECTED, `${paymentMethod} Post Request`, ``);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["checkoutDetailsHandler","api","getBrowserData","getDeviceDetails","getShopperDetails","AnalyticsEvents","APIStatus","callUIAnalytics","methodsPostRequest","instrumentDetails","paymentMethod","checkoutDetails","deviceDetails","browserData","shopperData","requestBody","type","token","shopper","PAYMENT_CATEGORY_SELECTED","PAYMENT_INITIATED","response","post","apiStatus","Success","data","error","Failed","status","reasonCode","reason"],"sourceRoot":"../../../src","sources":["postRequest/methodsPostRequest.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4CAAyC;AAChF,OAAOC,GAAG,MAAM,sBAAmB;AAEnC,SAASC,cAAc,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,gCAA6B;AACjG,SAASC,eAAe,EAAEC,SAAS,QAAQ,iBAAc;AACzD,OAAOC,eAAe,MAAM,sBAAmB;AAE/C,MAAMC,kBAAkB,GAAG,MAAAA,CACzBC,iBAAyB,EACzBC,aAAqB,KACqB;EAC1C,MAAM;IAAEC;EAAgB,CAAC,GAAGX,sBAAsB;EAClD,MAAMY,aAAa,GAAGT,gBAAgB,CAAC,CAAC;EACxC,MAAMU,WAAW,GAAGX,cAAc,CAAC,CAAC;EACpC,MAAMY,WAAW,GAAGV,iBAAiB,CAAC,CAAC;EAEvC,MAAMW,WAAW,GAAG;IAClBF,WAAW,EAAEA,WAAW;IACxBJ,iBAAiB,EAAE;MACjBO,IAAI,EAAEP,iBAAiB;MACvB,CAACC,aAAa,GAAG;QACfO,KAAK,EAAEN,eAAe,CAACM;MACzB;IACF,CAAC;IACDC,OAAO,EAAEJ,WAAW;IACpBF,aAAa,EAAEA;EACjB,CAAC;EAEDL,eAAe,CAACF,eAAe,CAACc,yBAAyB,EAAC,GAAGT,aAAa,eAAe,EAAC,EAAE,CAAC;EAC7FH,eAAe,CAACF,eAAe,CAACe,iBAAiB,EAAC,GAAGV,aAAa,eAAe,EAAC,EAAE,CAAC;EAErF,IAAI;IACF,MAAMW,QAAQ,GAAG,MAAMpB,GAAG,CAACqB,IAAI,CAAC,GAAG,EAAEP,WAAW,CAAC;IACjD,OAAO;MAACQ,SAAS,EAAGjB,SAAS,CAACkB,OAAO;MAAEC,IAAI,EAAGJ,QAAQ,CAACI;IAAI,CAAC;EAC9D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdnB,eAAe,CAACF,eAAe,CAACe,iBAAiB,EAAC,GAAGV,aAAa,eAAe,EAAC,GAAGgB,KAAK,EAAE,CAAC;IAC7F,OAAO;MAAEH,SAAS,EAAGjB,SAAS,CAACqB,MAAM;MAAEF,IAAI,EAAE;QAACG,MAAM,EAAE;UAAEC,UAAU,EAAE,YAAY;UAAEC,MAAM,EAAE,GAAGJ,KAAK;QAAG;MAAE;IAAC,CAAC;EAC3G;AACF,CAAC;AAED,eAAelB,kBAAkB","ignoreList":[]}
|
|
@@ -1,54 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import Constants from 'expo-constants';
|
|
4
3
|
import api from "../serviceRequest.js";
|
|
5
|
-
import {
|
|
6
|
-
import { getDeviceDetails } from "../utils/listAndObjectUtils.js";
|
|
4
|
+
import { getBrowserData, getDeviceDetails, getShopperDetails } from "../utils/listAndObjectUtils.js";
|
|
7
5
|
import { AnalyticsEvents, APIStatus } from "../interface.js";
|
|
8
6
|
import callUIAnalytics from "./callUIAnalytics.js";
|
|
9
7
|
const upiPostRequest = async instrumentDetails => {
|
|
10
|
-
const {
|
|
11
|
-
userData
|
|
12
|
-
} = userDataHandler;
|
|
13
8
|
const deviceDetails = getDeviceDetails();
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
};
|
|
17
|
-
const deliveryAddress = {
|
|
18
|
-
address1: userData.address1,
|
|
19
|
-
address2: userData.address2,
|
|
20
|
-
city: userData.city,
|
|
21
|
-
state: userData.state,
|
|
22
|
-
countryCode: userData.country,
|
|
23
|
-
postalCode: userData.pincode,
|
|
24
|
-
labelType: userData.labelType,
|
|
25
|
-
labelName: userData.labelName
|
|
26
|
-
};
|
|
9
|
+
const browserData = getBrowserData();
|
|
10
|
+
const shopperData = getShopperDetails();
|
|
27
11
|
const requestBody = {
|
|
28
|
-
browserData:
|
|
29
|
-
screenHeight: Constants.platform?.ios?.screenHeight || Constants.platform?.android?.screenHeight || 0,
|
|
30
|
-
screenWidth: Constants.platform?.ios?.screenWidth || Constants.platform?.android?.screenWidth || 0,
|
|
31
|
-
acceptHeader: 'application/json',
|
|
32
|
-
userAgentHeader: 'Expo App',
|
|
33
|
-
browserLanguage: 'en_US',
|
|
34
|
-
ipAddress: 'null',
|
|
35
|
-
colorDepth: 24,
|
|
36
|
-
javaEnabled: true,
|
|
37
|
-
timeZoneOffSet: new Date().getTimezoneOffset(),
|
|
38
|
-
packageId: Constants.manifest?.id || 'com.boxpay.checkout.sdk'
|
|
39
|
-
},
|
|
12
|
+
browserData: browserData,
|
|
40
13
|
instrumentDetails,
|
|
41
|
-
shopper:
|
|
42
|
-
email: userData.email,
|
|
43
|
-
firstName: userData.firstName,
|
|
44
|
-
gender: null,
|
|
45
|
-
lastName: userData.lastName,
|
|
46
|
-
phoneNumber: userData.phone,
|
|
47
|
-
uniqueReference: userData.uniqueId,
|
|
48
|
-
dateOfBirth: userData.dob,
|
|
49
|
-
panNumber: userData.pan,
|
|
50
|
-
deliveryAddress: isDeliveryAddressEmpty(deliveryAddress) ? null : deliveryAddress
|
|
51
|
-
},
|
|
14
|
+
shopper: shopperData,
|
|
52
15
|
deviceDetails: deviceDetails
|
|
53
16
|
};
|
|
54
17
|
callUIAnalytics(AnalyticsEvents.PAYMENT_CATEGORY_SELECTED, `UPI Post Request`, ``);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["api","getBrowserData","getDeviceDetails","getShopperDetails","AnalyticsEvents","APIStatus","callUIAnalytics","upiPostRequest","instrumentDetails","deviceDetails","browserData","shopperData","requestBody","shopper","PAYMENT_CATEGORY_SELECTED","PAYMENT_INITIATED","response","post","apiStatus","Success","data","error","Failed","status","reasonCode","reason"],"sourceRoot":"../../../src","sources":["postRequest/upiPostRequest.tsx"],"mappings":";;AAAA,OAAOA,GAAG,MAAM,sBAAmB;AAEnC,SAASC,cAAc,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,gCAA6B;AACjG,SAASC,eAAe,EAAEC,SAAS,QAAQ,iBAAc;AACzD,OAAOC,eAAe,MAAM,sBAAmB;AAE/C,MAAMC,cAAc,GAAG,MAAOC,iBAAoC,IAA4C;EAC5G,MAAMC,aAAa,GAAGP,gBAAgB,CAAC,CAAC;EACxC,MAAMQ,WAAW,GAAGT,cAAc,CAAC,CAAC;EACpC,MAAMU,WAAW,GAAGR,iBAAiB,CAAC,CAAC;EAEvC,MAAMS,WAAW,GAAG;IAClBF,WAAW,EAAEA,WAAW;IACxBF,iBAAiB;IACjBK,OAAO,EAAEF,WAAW;IACpBF,aAAa,EAAEA;EACjB,CAAC;EAEDH,eAAe,CAACF,eAAe,CAACU,yBAAyB,EAAC,kBAAkB,EAAC,EAAE,CAAC;EAChFR,eAAe,CAACF,eAAe,CAACW,iBAAiB,EAAC,kBAAkB,EAAC,EAAE,CAAC;EAGxE,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMhB,GAAG,CAACiB,IAAI,CAAC,GAAG,EAAEL,WAAW,CAAC;IACjD,OAAO;MAACM,SAAS,EAAGb,SAAS,CAACc,OAAO;MAAGC,IAAI,EAAGJ,QAAQ,CAACI;IAAI,CAAC;EAC/D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdf,eAAe,CAACF,eAAe,CAACW,iBAAiB,EAAC,kBAAkB,EAAC,GAAGM,KAAK,EAAE,CAAC;IAChF,OAAO;MAAEH,SAAS,EAAGb,SAAS,CAACiB,MAAM;MAAGF,IAAI,EAAG;QAAEG,MAAM,EAAE;UAAEC,UAAU,EAAE,YAAY;UAAEC,MAAM,EAAE,GAAGJ,KAAK;QAAG;MAAE;IAAC,CAAC;EAC9G;AACF,CAAC;AAED,eAAed,cAAc","ignoreList":[]}
|
|
@@ -72,7 +72,11 @@ const MainScreen = ({
|
|
|
72
72
|
const [recommendedInstrumentsArray, setRecommendedInstruments] = useState([]);
|
|
73
73
|
const [savedCardArray, setSavedCardArray] = useState([]);
|
|
74
74
|
const [savedUpiArray, setSavedUpiArray] = useState([]);
|
|
75
|
+
const [qrImageUrl, setQrImageUrl] = useState(null);
|
|
76
|
+
const qrTimerRef = useRef(null);
|
|
77
|
+
const [timerValue, setTimerValue] = useState(5 * 60);
|
|
75
78
|
let isFirstTimeLoadRef = useRef(true);
|
|
79
|
+
let qrIsExpired = useRef(false);
|
|
76
80
|
const handlePaymentIntent = async selectedIntent => {
|
|
77
81
|
setLoadingState(true);
|
|
78
82
|
const response = await upiPostRequest({
|
|
@@ -146,6 +150,37 @@ const MainScreen = ({
|
|
|
146
150
|
setLoading: setLoadingState
|
|
147
151
|
});
|
|
148
152
|
};
|
|
153
|
+
const handleUpiQRPayment = async () => {
|
|
154
|
+
const requestPayload = {
|
|
155
|
+
type: 'upi/qr'
|
|
156
|
+
};
|
|
157
|
+
setLoadingState(true);
|
|
158
|
+
const response = await upiPostRequest(requestPayload);
|
|
159
|
+
handlePaymentResponse({
|
|
160
|
+
response: response,
|
|
161
|
+
checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
|
|
162
|
+
onSetStatus: setStatus,
|
|
163
|
+
onSetTransactionId: setTransactionId,
|
|
164
|
+
onSetPaymentHtml: setPaymentHtml,
|
|
165
|
+
onSetPaymentUrl: setPaymentUrl,
|
|
166
|
+
onSetFailedMessage: msg => paymentFailedMessage.current = msg,
|
|
167
|
+
onShowFailedModal: () => setFailedModalState(true),
|
|
168
|
+
onShowSuccessModal: ts => {
|
|
169
|
+
setSuccessfulTimeStamp(ts);
|
|
170
|
+
setSuccessModalState(true);
|
|
171
|
+
},
|
|
172
|
+
onShowSessionExpiredModal: () => setSessionExppireModalState(true),
|
|
173
|
+
onOpenQr: id => {
|
|
174
|
+
setQrImageUrl(id);
|
|
175
|
+
startQRTimer();
|
|
176
|
+
qrIsExpired.current = false;
|
|
177
|
+
},
|
|
178
|
+
onOpenUpiIntent: url => {
|
|
179
|
+
urlToBase64(url);
|
|
180
|
+
},
|
|
181
|
+
setLoading: setLoadingState
|
|
182
|
+
});
|
|
183
|
+
};
|
|
149
184
|
useEffect(() => {
|
|
150
185
|
if (isFirstTimeLoadRef.current) {
|
|
151
186
|
isFirstTimeLoadRef.current = false;
|
|
@@ -190,6 +225,31 @@ const MainScreen = ({
|
|
|
190
225
|
setShowWebView(true);
|
|
191
226
|
}
|
|
192
227
|
}, [paymentUrl, paymentHtml]);
|
|
228
|
+
const startQRTimer = () => {
|
|
229
|
+
qrTimerRef.current = setInterval(() => {
|
|
230
|
+
setTimerValue(prevTime => {
|
|
231
|
+
if (prevTime <= 1) {
|
|
232
|
+
clearInterval(qrTimerRef.current);
|
|
233
|
+
qrIsExpired.current = true;
|
|
234
|
+
return 0;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// ⏱️ Decrement timer
|
|
238
|
+
const newTime = prevTime - 1;
|
|
239
|
+
|
|
240
|
+
// 🌐 Call API every 4 seconds (or any interval you want)
|
|
241
|
+
if (newTime % 4 === 0) {
|
|
242
|
+
callFetchStatusApi();
|
|
243
|
+
}
|
|
244
|
+
return newTime;
|
|
245
|
+
});
|
|
246
|
+
}, 1000);
|
|
247
|
+
};
|
|
248
|
+
const stopQRTimer = () => {
|
|
249
|
+
if (qrTimerRef.current) {
|
|
250
|
+
clearInterval(qrTimerRef.current);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
193
253
|
const openUPIIntent = async url => {
|
|
194
254
|
try {
|
|
195
255
|
await Linking.openURL(url); // Open the UPI app
|
|
@@ -279,6 +339,7 @@ const MainScreen = ({
|
|
|
279
339
|
const methodFlags = {
|
|
280
340
|
isUPIIntentVisible: false,
|
|
281
341
|
isUPICollectVisible: false,
|
|
342
|
+
isUPIQRVisible: false,
|
|
282
343
|
isCardsVisible: false,
|
|
283
344
|
isWalletVisible: false,
|
|
284
345
|
isNetbankingVisible: false,
|
|
@@ -291,6 +352,8 @@ const MainScreen = ({
|
|
|
291
352
|
methodFlags.isUPIIntentVisible = true;
|
|
292
353
|
} else if (method.brand === 'UpiCollect') {
|
|
293
354
|
methodFlags.isUPICollectVisible = true;
|
|
355
|
+
} else if (method.brand === 'UpiQr') {
|
|
356
|
+
methodFlags.isUPIQRVisible = true;
|
|
294
357
|
}
|
|
295
358
|
} else if (method.type === 'Card') {
|
|
296
359
|
methodFlags.isCardsVisible = true;
|
|
@@ -412,6 +475,7 @@ const MainScreen = ({
|
|
|
412
475
|
isDOBEditable: isFieldEditable('SHOPPER_DOB'),
|
|
413
476
|
isUpiIntentMethodEnabled: methodFlags.isUPIIntentVisible,
|
|
414
477
|
isUpiCollectMethodEnabled: methodFlags.isUPICollectVisible,
|
|
478
|
+
isUpiQRMethodEnabled: methodFlags.isUPIQRVisible,
|
|
415
479
|
isCardMethodEnabled: methodFlags.isCardsVisible,
|
|
416
480
|
isWalletMethodEnabled: methodFlags.isWalletVisible,
|
|
417
481
|
isNetBankingMethodEnabled: methodFlags.isNetbankingVisible,
|
|
@@ -580,7 +644,12 @@ const MainScreen = ({
|
|
|
580
644
|
handleUpiPayment: selectedIntent => handlePaymentIntent(selectedIntent),
|
|
581
645
|
handleCollectPayment: (displayValue, instrumentValue, type) => handleUpiCollectPayment(displayValue, instrumentValue, type),
|
|
582
646
|
savedUpiArray: savedUpiArray,
|
|
583
|
-
onClickRadio: handleSavedUpiSectionClick
|
|
647
|
+
onClickRadio: handleSavedUpiSectionClick,
|
|
648
|
+
qrImage: qrImageUrl,
|
|
649
|
+
handleQRPayment: handleUpiQRPayment,
|
|
650
|
+
qrIsExpired: qrIsExpired.current,
|
|
651
|
+
timeRemaining: timerValue,
|
|
652
|
+
stopTimer: stopQRTimer
|
|
584
653
|
}), savedCardArray.length != 0 && /*#__PURE__*/_jsxs(View, {
|
|
585
654
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
586
655
|
style: styles.headingText,
|