boxpay-checkout-reactnative-sdk 1.0.11-beta3 → 1.0.11-beta4
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/lib/module/components/checkboxContainer.js +2 -1
- package/lib/module/components/checkboxContainer.js.map +1 -1
- package/lib/module/interface.js +1 -0
- package/lib/module/interface.js.map +1 -1
- package/lib/module/screens/bnplScreen.js +3 -2
- package/lib/module/screens/bnplScreen.js.map +1 -1
- package/lib/module/screens/cardScreen.js +3 -3
- package/lib/module/screens/cardScreen.js.map +1 -1
- package/lib/module/screens/emiScreen.js +3 -3
- package/lib/module/screens/emiScreen.js.map +1 -1
- package/lib/module/screens/mainScreen.js +5 -5
- package/lib/module/screens/mainScreen.js.map +1 -1
- package/lib/module/screens/netBankingScreen.js +3 -2
- package/lib/module/screens/netBankingScreen.js.map +1 -1
- package/lib/module/screens/walletScreen.js +3 -2
- package/lib/module/screens/walletScreen.js.map +1 -1
- package/lib/module/sdk-version.json +1 -1
- package/lib/module/sharedContext/handleAutoNavigation.js +3 -2
- package/lib/module/sharedContext/handleAutoNavigation.js.map +1 -1
- package/lib/typescript/src/components/checkboxContainer.d.ts.map +1 -1
- package/lib/typescript/src/interface.d.ts +1 -0
- package/lib/typescript/src/interface.d.ts.map +1 -1
- package/lib/typescript/src/screens/emiScreen.d.ts.map +1 -1
- package/lib/typescript/src/screens/mainScreen.d.ts.map +1 -1
- package/lib/typescript/src/sharedContext/handleAutoNavigation.d.ts +1 -1
- package/lib/typescript/src/sharedContext/handleAutoNavigation.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/checkboxContainer.tsx +1 -0
- package/src/interface.ts +1 -0
- package/src/screens/bnplScreen.tsx +3 -3
- package/src/screens/cardScreen.tsx +3 -3
- package/src/screens/emiScreen.tsx +4 -3
- package/src/screens/mainScreen.tsx +5 -4
- package/src/screens/netBankingScreen.tsx +3 -3
- package/src/screens/walletScreen.tsx +3 -3
- package/src/sdk-version.json +1 -1
- package/src/sharedContext/handleAutoNavigation.ts +4 -1
package/src/interface.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { useEffect, useRef, useState } from 'react';
|
|
|
9
9
|
import { checkoutDetailsHandler, setCheckOutDetailsHandlerToDefault } from '../sharedContext/checkoutDetailsHandler';
|
|
10
10
|
import LottieView from 'lottie-react-native';
|
|
11
11
|
import Header from '../components/header';
|
|
12
|
-
import type
|
|
12
|
+
import { type PaymentClass, type PaymentResultObject, type BNPLScreenParams, TransactionStatus } from '../interface';
|
|
13
13
|
import ShimmerView from '../components/shimmerView';
|
|
14
14
|
import PaymentSuccess from '../components/paymentSuccess';
|
|
15
15
|
import SessionExpire from '../components/sessionExpire';
|
|
@@ -54,7 +54,7 @@ const BNPLScreen = ({ navigation, route }: Props) => {
|
|
|
54
54
|
const [sessionExpireModalOpen, setSessionExppireModalState] = useState(false);
|
|
55
55
|
const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
|
|
56
56
|
|
|
57
|
-
const [status, setStatus] = useState<string>(
|
|
57
|
+
const [status, setStatus] = useState<string>(TransactionStatus.NoAction);
|
|
58
58
|
const [transactionId, setTransactionId] = useState<string | null>(null);
|
|
59
59
|
|
|
60
60
|
const backgroundApiInterval = useRef<NodeJS.Timeout | null>(null);
|
|
@@ -76,7 +76,7 @@ const BNPLScreen = ({ navigation, route }: Props) => {
|
|
|
76
76
|
if (showWebView) {
|
|
77
77
|
setShowWebView(false);
|
|
78
78
|
paymentFailedMessage.current = checkoutDetails.errorMessage;
|
|
79
|
-
setStatus(
|
|
79
|
+
setStatus(TransactionStatus.Failed);
|
|
80
80
|
setFailedModalState(true);
|
|
81
81
|
setLoading(false);
|
|
82
82
|
return true;
|
|
@@ -24,7 +24,7 @@ import KnowMoreBottomSheet from '../components/knowMoreBottomSheet';
|
|
|
24
24
|
import PaymentFailed from '../components/paymentFailed';
|
|
25
25
|
import PaymentSuccess from '../components/paymentSuccess';
|
|
26
26
|
import SessionExpire from '../components/sessionExpire';
|
|
27
|
-
import { APIStatus, type CardScreenParams, type PaymentResultObject } from '../interface';
|
|
27
|
+
import { APIStatus, TransactionStatus, type CardScreenParams, type PaymentResultObject } from '../interface';
|
|
28
28
|
import type { CheckoutStackParamList } from '../navigation';
|
|
29
29
|
import cardPostRequest from '../postRequest/cardPostRequest';
|
|
30
30
|
import emiPostRequest from '../postRequest/emiPostRequest';
|
|
@@ -130,7 +130,7 @@ const CardScreen = ({ route, navigation }: Props) => {
|
|
|
130
130
|
const [sessionExpireModalOpen, setSessionExppireModalState] = useState(false);
|
|
131
131
|
const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
|
|
132
132
|
|
|
133
|
-
const [status, setStatus] = useState<string>(
|
|
133
|
+
const [status, setStatus] = useState<string>(TransactionStatus.NoAction);
|
|
134
134
|
const [transactionId, setTransactionId] = useState<string | null>(null);
|
|
135
135
|
|
|
136
136
|
const backgroundApiInterval = useRef<NodeJS.Timeout | null>(null);
|
|
@@ -557,7 +557,7 @@ const CardScreen = ({ route, navigation }: Props) => {
|
|
|
557
557
|
if (showWebView) {
|
|
558
558
|
setShowWebView(false);
|
|
559
559
|
paymentFailedMessage.current = checkoutDetails.errorMessage;
|
|
560
|
-
setStatus(
|
|
560
|
+
setStatus(TransactionStatus.Failed);
|
|
561
561
|
setFailedModalState(true);
|
|
562
562
|
setLoading(false);
|
|
563
563
|
return true;
|
|
@@ -14,7 +14,8 @@ import {
|
|
|
14
14
|
type PaymentResultObject,
|
|
15
15
|
type PaymentMethod,
|
|
16
16
|
APIStatus,
|
|
17
|
-
type EmiScreenParams
|
|
17
|
+
type EmiScreenParams,
|
|
18
|
+
TransactionStatus
|
|
18
19
|
} from '../interface';
|
|
19
20
|
import { checkoutDetailsHandler, setCheckOutDetailsHandlerToDefault } from '../sharedContext/checkoutDetailsHandler';
|
|
20
21
|
import fetchPaymentMethods from '../postRequest/fetchPaymentMethods';
|
|
@@ -83,7 +84,7 @@ const EmiScreen = ({ navigation, route }: Props) => {
|
|
|
83
84
|
const [sessionExpireModalOpen, setSessionExppireModalOpen] = useState(false);
|
|
84
85
|
const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
|
|
85
86
|
|
|
86
|
-
const [status, setStatus] = useState<string>(
|
|
87
|
+
const [status, setStatus] = useState<string>(TransactionStatus.NoAction);
|
|
87
88
|
const [transactionId, setTransactionId] = useState<string | null>(null);
|
|
88
89
|
|
|
89
90
|
const [paymentHtml, setPaymentHtml] = useState('');
|
|
@@ -392,7 +393,7 @@ const EmiScreen = ({ navigation, route }: Props) => {
|
|
|
392
393
|
if (showWebView) {
|
|
393
394
|
setShowWebView(false);
|
|
394
395
|
paymentFailedMessage.current = checkoutDetails.errorMessage;
|
|
395
|
-
setStatus(
|
|
396
|
+
setStatus(TransactionStatus.Failed);
|
|
396
397
|
setFailedModalOpen(true);
|
|
397
398
|
setLoading(false);
|
|
398
399
|
return true;
|
|
@@ -55,7 +55,7 @@ const MainScreen = ({route, navigation} : MainScreenProps) => {
|
|
|
55
55
|
shopperToken = null,
|
|
56
56
|
uiConfiguration = null
|
|
57
57
|
} = route.params as BoxpayCheckoutProps || {};
|
|
58
|
-
const [status, setStatus] = useState(
|
|
58
|
+
const [status, setStatus] = useState<string>(TransactionStatus.NoAction);
|
|
59
59
|
const [transactionId, setTransactionId] = useState('');
|
|
60
60
|
const isScreenFocused = useIsFocused()
|
|
61
61
|
const appStateListenerRef = useRef<any>(null);
|
|
@@ -309,7 +309,7 @@ const MainScreen = ({route, navigation} : MainScreenProps) => {
|
|
|
309
309
|
setShowWebView(false);
|
|
310
310
|
paymentFailedMessage.current =
|
|
311
311
|
checkoutDetailsHandler.checkoutDetails.errorMessage;
|
|
312
|
-
setStatus(
|
|
312
|
+
setStatus(TransactionStatus.Failed);
|
|
313
313
|
setFailedModalState(true);
|
|
314
314
|
setLoadingState(false);
|
|
315
315
|
return true;
|
|
@@ -638,7 +638,7 @@ const MainScreen = ({route, navigation} : MainScreenProps) => {
|
|
|
638
638
|
let validity: string | null = null;
|
|
639
639
|
if (!isEmpty(data!.expiryDateLocale)) {
|
|
640
640
|
const date = formatDate(data!.expiryDateLocale!.split(' ')[0] ?? "");
|
|
641
|
-
validity =
|
|
641
|
+
validity = `${date}`;
|
|
642
642
|
} else if (!isEmpty(data!.recurringExpiryDateLocale)) {
|
|
643
643
|
const date = formatDate(data!.recurringExpiryDateLocale!.split(' ')[0] ?? "");
|
|
644
644
|
validity = `${date}`;
|
|
@@ -749,6 +749,7 @@ const MainScreen = ({route, navigation} : MainScreenProps) => {
|
|
|
749
749
|
|
|
750
750
|
const checkAutoNavigation = () => {
|
|
751
751
|
const targetScreen = handleAutoNavigation(
|
|
752
|
+
status,
|
|
752
753
|
savedCardArray
|
|
753
754
|
)
|
|
754
755
|
if (!targetScreen) {
|
|
@@ -836,7 +837,7 @@ const MainScreen = ({route, navigation} : MainScreenProps) => {
|
|
|
836
837
|
if (timerRef.current) {
|
|
837
838
|
clearInterval(timerRef.current);
|
|
838
839
|
}
|
|
839
|
-
setStatus(
|
|
840
|
+
setStatus(TransactionStatus.Expired);
|
|
840
841
|
setSessionExppireModalState(true);
|
|
841
842
|
}
|
|
842
843
|
// const hours = Math.floor((timeDiff / (1000 * 60 * 60)) % 24);
|
|
@@ -11,7 +11,7 @@ import { checkoutDetailsHandler, setCheckOutDetailsHandlerToDefault } from '../s
|
|
|
11
11
|
import LottieView from 'lottie-react-native';
|
|
12
12
|
import Header from '../components/header';
|
|
13
13
|
import { TextInput } from 'react-native-paper';
|
|
14
|
-
import type
|
|
14
|
+
import { TransactionStatus, type NetBankingScreenParams, type PaymentClass, type PaymentResultObject } from '../interface';
|
|
15
15
|
import ShimmerView from '../components/shimmerView';
|
|
16
16
|
import PaymentSuccess from '../components/paymentSuccess';
|
|
17
17
|
import SessionExpire from '../components/sessionExpire';
|
|
@@ -77,7 +77,7 @@ const NetBankingScreen = ({ navigation, route }: Props) => {
|
|
|
77
77
|
const [sessionExpireModalOpen, setSessionExppireModalState] = useState(false);
|
|
78
78
|
const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
|
|
79
79
|
|
|
80
|
-
const [status, setStatus] = useState<string>(
|
|
80
|
+
const [status, setStatus] = useState<string>(TransactionStatus.NoAction);
|
|
81
81
|
const [transactionId, setTransactionId] = useState<string | null>(null);
|
|
82
82
|
|
|
83
83
|
const backgroundApiInterval = useRef<NodeJS.Timeout | null>(null);
|
|
@@ -105,7 +105,7 @@ const NetBankingScreen = ({ navigation, route }: Props) => {
|
|
|
105
105
|
if (showWebView) {
|
|
106
106
|
setShowWebView(false);
|
|
107
107
|
paymentFailedMessage.current = checkoutDetails.errorMessage;
|
|
108
|
-
setStatus(
|
|
108
|
+
setStatus(TransactionStatus.Failed);
|
|
109
109
|
setFailedModalState(true);
|
|
110
110
|
setLoading(false);
|
|
111
111
|
return true;
|
|
@@ -11,7 +11,7 @@ import { checkoutDetailsHandler, setCheckOutDetailsHandlerToDefault } from '../s
|
|
|
11
11
|
import LottieView from 'lottie-react-native';
|
|
12
12
|
import Header from '../components/header';
|
|
13
13
|
import { TextInput } from 'react-native-paper';
|
|
14
|
-
import type
|
|
14
|
+
import { TransactionStatus, type PaymentClass, type PaymentResultObject, type WalletScreenParams } from '../interface';
|
|
15
15
|
import PaymentSelectorView from '../components/paymentSelector';
|
|
16
16
|
import PaymentSuccess from '../components/paymentSuccess';
|
|
17
17
|
import SessionExpire from '../components/sessionExpire';
|
|
@@ -61,7 +61,7 @@ const WalletScreen = ({ navigation, route }: Props) => {
|
|
|
61
61
|
const [sessionExpireModalOpen, setSessionExppireModalState] = useState(false);
|
|
62
62
|
const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
|
|
63
63
|
|
|
64
|
-
const [status, setStatus] = useState<string>(
|
|
64
|
+
const [status, setStatus] = useState<string>(TransactionStatus.NoAction);
|
|
65
65
|
const [transactionId, setTransactionId] = useState<string | null>(null);
|
|
66
66
|
|
|
67
67
|
const backgroundApiInterval = useRef<NodeJS.Timeout | null>(null);
|
|
@@ -92,7 +92,7 @@ const WalletScreen = ({ navigation, route }: Props) => {
|
|
|
92
92
|
if (showWebView) {
|
|
93
93
|
setShowWebView(false);
|
|
94
94
|
paymentFailedMessage.current = checkoutDetails.errorMessage;
|
|
95
|
-
setStatus(
|
|
95
|
+
setStatus(TransactionStatus.Failed);
|
|
96
96
|
setFailedModalState(true);
|
|
97
97
|
setLoading(false);
|
|
98
98
|
return true;
|
package/src/sdk-version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "version": "1.0.11-
|
|
1
|
+
{ "version": "1.0.11-beta4" }
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { ScreenRouteMap, type AutoNavigationScreen, type PaymentClass } from '../interface';
|
|
1
|
+
import { ScreenRouteMap, TransactionStatus, type AutoNavigationScreen, type PaymentClass } from '../interface';
|
|
2
2
|
import { checkoutDetailsHandler } from './checkoutDetailsHandler';
|
|
3
3
|
import { userDataHandler } from './userdataHandler';
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
export const handleAutoNavigation = (
|
|
7
|
+
status : String,
|
|
7
8
|
savedCardArray : PaymentClass[]
|
|
8
9
|
) : AutoNavigationScreen | null => {
|
|
9
10
|
const {checkoutDetails} = checkoutDetailsHandler
|
|
@@ -13,6 +14,8 @@ export const handleAutoNavigation = (
|
|
|
13
14
|
|
|
14
15
|
if (savedCardArray.length > 0) return null;
|
|
15
16
|
|
|
17
|
+
if(status !== TransactionStatus.NoAction) return null
|
|
18
|
+
|
|
16
19
|
const isPersonalDataMissing =
|
|
17
20
|
(checkoutDetails.isFullNameEnabled && (!userData.firstName || userData.firstName.trim() === "")) ||
|
|
18
21
|
(checkoutDetails.isEmailEnabled && (!userData.email || userData.email.trim() === "")) ||
|