@finspringinnovations/fixeddepositsdk 1.0.2 → 1.0.4
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/api/customerApi.js +1 -0
- package/lib/api/fdApi.d.ts +401 -1
- package/lib/api/fdApi.js +24 -2
- package/lib/components/PendingFDBottomSheet.js +27 -18
- package/lib/config/appDataConfig.js +3 -2
- package/lib/config/workflowConstants.d.ts +40 -30
- package/lib/config/workflowConstants.js +35 -24
- package/lib/constants/strings/fd.d.ts +2 -2
- package/lib/constants/strings/fd.js +2 -2
- package/lib/navigation/RootNavigator.js +167 -196
- package/lib/navigation/types.d.ts +4 -1
- package/lib/navigation/workflowNavigator.d.ts +1 -1
- package/lib/navigation/workflowNavigator.js +107 -26
- package/lib/screens/AadhaarVerification.js +1 -11
- package/lib/screens/AddBankAccount.js +1 -11
- package/lib/screens/BankDetail.js +1 -11
- package/lib/screens/Employee.js +1 -11
- package/lib/screens/FDCalculator.js +2 -12
- package/lib/screens/FDList.js +531 -417
- package/lib/screens/FindIFSC.js +1 -11
- package/lib/screens/NomineeDetail.js +12 -22
- package/lib/screens/PayNow.js +1 -11
- package/lib/screens/Payment.js +2 -11
- package/lib/screens/PaymentStatus.js +24 -21
- package/lib/screens/ReviewKYC.js +3 -12
- package/lib/types/workflowTypes.d.ts +1 -1
- package/package.json +50 -50
- package/src/api/customerApi.ts +1 -0
- package/src/api/fdApi.ts +28 -1
- package/src/components/PendingFDBottomSheet.tsx +151 -123
- package/src/config/appDataConfig.ts +245 -242
- package/src/config/workflowConstants.ts +51 -39
- package/src/constants/strings/bank.ts +80 -80
- package/src/constants/strings/fd.ts +2 -2
- package/src/navigation/RootNavigator.tsx +667 -651
- package/src/navigation/types.ts +4 -1
- package/src/navigation/workflowNavigator.ts +170 -107
- package/src/screens/AadhaarVerification.tsx +1 -15
- package/src/screens/AddBankAccount.tsx +2 -16
- package/src/screens/BankDetail.tsx +1 -15
- package/src/screens/Employee.tsx +1 -15
- package/src/screens/FDCalculator.tsx +4 -18
- package/src/screens/FDList.tsx +2311 -2170
- package/src/screens/FindIFSC.tsx +2 -16
- package/src/screens/NomineeDetail.tsx +762 -775
- package/src/screens/PayNow.tsx +2 -16
- package/src/screens/Payment.tsx +190 -203
- package/src/screens/PaymentStatus.tsx +574 -576
- package/src/screens/ReviewKYC.tsx +2 -15
- package/src/types/workflowTypes.ts +1 -10
package/lib/screens/FindIFSC.js
CHANGED
|
@@ -137,17 +137,7 @@ const FindIFSC = ({ onGoBack, onSelect, initialSearchTerm }) => {
|
|
|
137
137
|
const handleBackPress = () => {
|
|
138
138
|
(0, helpers_1.navigate)('AddBankAccount');
|
|
139
139
|
};
|
|
140
|
-
//
|
|
141
|
-
(0, react_1.useEffect)(() => {
|
|
142
|
-
if (react_native_1.Platform.OS !== 'android')
|
|
143
|
-
return;
|
|
144
|
-
const onHardwareBackPress = () => {
|
|
145
|
-
handleBackPress();
|
|
146
|
-
return true; // Prevent default behavior
|
|
147
|
-
};
|
|
148
|
-
const backHandler = react_native_1.BackHandler.addEventListener('hardwareBackPress', onHardwareBackPress);
|
|
149
|
-
return () => backHandler.remove();
|
|
150
|
-
}, []);
|
|
140
|
+
// Removed screen-level hardware back handler to allow only header back button navigation
|
|
151
141
|
return (react_1.default.createElement(SafeAreaWrapper_1.default, { includeTop: false, bottomPadding: 25, statusBarColor: "#000000", statusBarStyle: "light-content" },
|
|
152
142
|
react_1.default.createElement(components_1.Header, { title: bank_1.BANK_STRINGS.FIND_IFSC_TITLE, onBackPress: handleBackPress, backgroundColor: colors.primary }),
|
|
153
143
|
react_1.default.createElement(react_native_1.ScrollView, { style: styles.container, showsVerticalScrollIndicator: false },
|
|
@@ -36,26 +36,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const datetimepicker_1 = __importDefault(require("@react-native-community/datetimepicker"));
|
|
39
40
|
const react_1 = __importStar(require("react"));
|
|
40
41
|
const react_native_1 = require("react-native");
|
|
41
42
|
const Ionicons_1 = __importDefault(require("react-native-vector-icons/Ionicons"));
|
|
42
|
-
const datetimepicker_1 = __importDefault(require("@react-native-community/datetimepicker"));
|
|
43
43
|
// import DatePicker from 'react-native-date-picker'; // Commented out old date picker
|
|
44
|
-
const
|
|
44
|
+
const native_1 = require("@react-navigation/native");
|
|
45
|
+
const customerApi_1 = require("../api/customerApi");
|
|
46
|
+
const workflowApi_1 = require("../api/workflowApi");
|
|
45
47
|
const components_1 = require("../components");
|
|
46
48
|
const ActionButton_1 = __importDefault(require("../components/ActionButton"));
|
|
49
|
+
const SafeAreaWrapper_1 = __importDefault(require("../components/SafeAreaWrapper"));
|
|
47
50
|
const TextFieldWithLabel_1 = __importDefault(require("../components/TextFieldWithLabel"));
|
|
48
|
-
const ThemeContext_1 = require("../theme/ThemeContext");
|
|
49
|
-
const customerApi_1 = require("../api/customerApi");
|
|
50
|
-
const MasterDataProvider_1 = require("../providers/MasterDataProvider");
|
|
51
|
-
const store_1 = require("../store");
|
|
52
51
|
const appDataConfig_1 = require("../config/appDataConfig");
|
|
53
|
-
const workflowApi_1 = require("../api/workflowApi");
|
|
54
|
-
const native_1 = require("@react-navigation/native");
|
|
55
|
-
const helpers_1 = require("../navigation/helpers");
|
|
56
52
|
const base64Images_1 = require("../constants/strings/base64Images");
|
|
57
|
-
const nominee_1 = require("../constants/strings/nominee");
|
|
58
53
|
const common_1 = require("../constants/strings/common");
|
|
54
|
+
const nominee_1 = require("../constants/strings/nominee");
|
|
55
|
+
const helpers_1 = require("../navigation/helpers");
|
|
56
|
+
const MasterDataProvider_1 = require("../providers/MasterDataProvider");
|
|
57
|
+
const store_1 = require("../store");
|
|
58
|
+
const ThemeContext_1 = require("../theme/ThemeContext");
|
|
59
59
|
const makeNominationOptions = ['Yes', 'No'];
|
|
60
60
|
const NomineeDetail = ({ onGoBack, onSave, initialData }) => {
|
|
61
61
|
var _a;
|
|
@@ -500,17 +500,7 @@ const NomineeDetail = ({ onGoBack, onSave, initialData }) => {
|
|
|
500
500
|
(0, helpers_1.navigate)('Employee');
|
|
501
501
|
}
|
|
502
502
|
};
|
|
503
|
-
//
|
|
504
|
-
(0, react_1.useEffect)(() => {
|
|
505
|
-
if (react_native_1.Platform.OS !== 'android')
|
|
506
|
-
return;
|
|
507
|
-
const onHardwareBackPress = () => {
|
|
508
|
-
handleBackPress();
|
|
509
|
-
return true; // Prevent default behavior
|
|
510
|
-
};
|
|
511
|
-
const backHandler = react_native_1.BackHandler.addEventListener('hardwareBackPress', onHardwareBackPress);
|
|
512
|
-
return () => backHandler.remove();
|
|
513
|
-
}, [defaultProviderId, workflowInstanceId, applicationId]);
|
|
503
|
+
// Removed screen-level hardware back handler to allow only header back button navigation
|
|
514
504
|
return (react_1.default.createElement(SafeAreaWrapper_1.default, { includeTop: false, bottomPadding: 25, statusBarColor: "#000000", statusBarStyle: "light-content" },
|
|
515
505
|
react_1.default.createElement(components_1.Header, { title: nominee_1.NOMINEE_STRINGS.NOMINEE_DETAILS_TITLE, onBackPress: handleBackPress, backgroundColor: colors.primary }),
|
|
516
506
|
react_1.default.createElement(react_native_1.KeyboardAvoidingView, { behavior: react_native_1.Platform.OS === 'ios' ? 'padding' : undefined, style: styles.keyboardAvoidingView, keyboardVerticalOffset: react_native_1.Platform.OS === 'ios' ? 0 : 0 },
|
|
@@ -523,7 +513,7 @@ const NomineeDetail = ({ onGoBack, onSave, initialData }) => {
|
|
|
523
513
|
renderDropdown(nominee_1.NOMINEE_STRINGS.RELATIONSHIP_LABEL, form.relationship, 'relationship', nomineeRelationOptions, 'relationship'),
|
|
524
514
|
renderDateField(nominee_1.NOMINEE_STRINGS.DATE_OF_BIRTH_LABEL, form.dateOfBirth, 'dateOfBirth'),
|
|
525
515
|
showDatePicker && (react_1.default.createElement(react_native_1.View, { style: styles.datePickerContainer },
|
|
526
|
-
react_1.default.createElement(datetimepicker_1.default, { value: selectedDate, mode: "date", display: react_native_1.Platform.OS === 'ios' ? 'spinner' : 'default', onChange: onDateChange, maximumDate: new Date(new Date().getFullYear() - 18, new Date().getMonth(), new Date().getDate()), themeVariant: "light" }))),
|
|
516
|
+
react_1.default.createElement(datetimepicker_1.default, { value: selectedDate, mode: "date", display: react_native_1.Platform.OS === 'ios' ? 'spinner' : 'default', onChange: onDateChange, maximumDate: new Date(new Date().getFullYear() - 18, new Date().getMonth(), new Date().getDate()), minimumDate: new Date(new Date().getFullYear() - 100, 0, 1), themeVariant: "light" }))),
|
|
527
517
|
react_1.default.createElement(react_native_1.View, { style: styles.checkboxContainer },
|
|
528
518
|
react_1.default.createElement(react_native_1.TouchableOpacity, { style: styles.checkbox, onPress: () => updateField('printNameOnCertificate', !form.printNameOnCertificate) },
|
|
529
519
|
react_1.default.createElement(react_native_1.View, { style: [styles.checkboxBox, form.printNameOnCertificate && styles.checkboxChecked] }, form.printNameOnCertificate ? (react_1.default.createElement(react_native_1.Image, { source: { uri: ((0, ThemeContext_1.useTheme)().themeName === 'dark') ? base64Images_1.base64Images.checkBoxDark : base64Images_1.base64Images.filledCheckBox }, style: { width: 22, height: 22 }, resizeMode: "contain" })) : (((0, ThemeContext_1.useTheme)().themeName === 'dark') ? (react_1.default.createElement(react_native_1.Image, { source: { uri: base64Images_1.base64Images.unCheckBoxDark }, style: { width: 22, height: 22 }, resizeMode: "contain" })) : null))),
|
package/lib/screens/PayNow.js
CHANGED
|
@@ -148,17 +148,7 @@ const PayNow = ({ onGoBack, onConfirm, fdData }) => {
|
|
|
148
148
|
(0, helpers_1.navigate)('BankDetail');
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
|
-
//
|
|
152
|
-
(0, react_1.useEffect)(() => {
|
|
153
|
-
if (react_native_1.Platform.OS !== 'android')
|
|
154
|
-
return;
|
|
155
|
-
const onHardwareBackPress = () => {
|
|
156
|
-
handleBackPress();
|
|
157
|
-
return true; // Prevent default behavior
|
|
158
|
-
};
|
|
159
|
-
const backHandler = react_native_1.BackHandler.addEventListener('hardwareBackPress', onHardwareBackPress);
|
|
160
|
-
return () => backHandler.remove();
|
|
161
|
-
}, [defaultProviderId, workflowInstanceId, applicationId, entityId]);
|
|
151
|
+
// Removed screen-level hardware back handler to allow only header back button navigation
|
|
162
152
|
return (react_1.default.createElement(SafeAreaWrapper_1.default, { includeTop: false, bottomPadding: 25, statusBarColor: "#000000", statusBarStyle: "light-content" },
|
|
163
153
|
react_1.default.createElement(react_native_1.View, { style: styles.container },
|
|
164
154
|
react_1.default.createElement(react_native_1.ScrollView, { showsVerticalScrollIndicator: false, contentContainerStyle: styles.scrollContent },
|
package/lib/screens/Payment.js
CHANGED
|
@@ -40,9 +40,9 @@ const react_1 = __importStar(require("react"));
|
|
|
40
40
|
const react_native_1 = require("react-native");
|
|
41
41
|
const react_native_webview_1 = require("react-native-webview");
|
|
42
42
|
const SafeAreaWrapper_1 = __importDefault(require("../components/SafeAreaWrapper"));
|
|
43
|
+
const encryptionConfig_1 = require("../config/encryptionConfig");
|
|
43
44
|
const ThemeContext_1 = require("../theme/ThemeContext");
|
|
44
45
|
const encryption_1 = require("../utils/encryption");
|
|
45
|
-
const encryptionConfig_1 = require("../config/encryptionConfig");
|
|
46
46
|
const Payment = ({ onGoBack, onPaymentSuccess, onPaymentFailure, paymentUrl, successUrl = 'payment/success', failureUrl = 'payment/failure', }) => {
|
|
47
47
|
const colors = (0, ThemeContext_1.useColors)();
|
|
48
48
|
const styles = createStyles(colors);
|
|
@@ -149,16 +149,7 @@ const Payment = ({ onGoBack, onPaymentSuccess, onPaymentFailure, paymentUrl, suc
|
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
151
|
// Disable hardware back button on Payment screen
|
|
152
|
-
|
|
153
|
-
if (react_native_1.Platform.OS !== 'android')
|
|
154
|
-
return;
|
|
155
|
-
const onBackPress = () => {
|
|
156
|
-
// Return true to prevent default behavior (block back button)
|
|
157
|
-
return true;
|
|
158
|
-
};
|
|
159
|
-
const backHandler = react_native_1.BackHandler.addEventListener('hardwareBackPress', onBackPress);
|
|
160
|
-
return () => backHandler.remove();
|
|
161
|
-
}, []);
|
|
152
|
+
// Removed screen-level hardware back handler to allow only header back button navigation
|
|
162
153
|
return (react_1.default.createElement(SafeAreaWrapper_1.default, { includeTop: false, bottomPadding: 0, statusBarColor: "#000000", statusBarStyle: "light-content" },
|
|
163
154
|
react_native_1.Platform.OS === 'ios' && react_1.default.createElement(react_native_1.StatusBar, { barStyle: "light-content" }),
|
|
164
155
|
react_1.default.createElement(react_native_1.View, { style: styles.container },
|
|
@@ -36,24 +36,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const native_1 = require("@react-navigation/native");
|
|
39
40
|
const react_1 = __importStar(require("react"));
|
|
40
41
|
const react_native_1 = require("react-native");
|
|
41
42
|
const Ionicons_1 = __importDefault(require("react-native-vector-icons/Ionicons"));
|
|
42
|
-
const
|
|
43
|
-
const
|
|
43
|
+
const customerApi_1 = require("../api/customerApi");
|
|
44
|
+
const fdApi_1 = require("../api/fdApi");
|
|
44
45
|
const components_1 = require("../components");
|
|
45
46
|
const ActionButton_1 = __importDefault(require("../components/ActionButton"));
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const customerApi_1 = require("../api/customerApi");
|
|
49
|
-
const store_1 = require("../store");
|
|
47
|
+
const SafeAreaWrapper_1 = __importDefault(require("../components/SafeAreaWrapper"));
|
|
48
|
+
const apiConfig_1 = require("../config/apiConfig");
|
|
50
49
|
const appDataConfig_1 = require("../config/appDataConfig");
|
|
51
|
-
const helpers_1 = require("../navigation/helpers");
|
|
52
|
-
const paymentSession_1 = require("../state/paymentSession");
|
|
53
|
-
const native_1 = require("@react-navigation/native");
|
|
54
50
|
const bank_1 = require("../constants/strings/bank");
|
|
51
|
+
const base64Images_1 = require("../constants/strings/base64Images");
|
|
55
52
|
const common_1 = require("../constants/strings/common");
|
|
56
|
-
const
|
|
53
|
+
const helpers_1 = require("../navigation/helpers");
|
|
54
|
+
const paymentSession_1 = require("../state/paymentSession");
|
|
55
|
+
const store_1 = require("../store");
|
|
56
|
+
const ThemeContext_1 = require("../theme/ThemeContext");
|
|
57
57
|
const PaymentStatus = ({ onRetry, onContinue, status, transactionId, fdData }) => {
|
|
58
58
|
var _a;
|
|
59
59
|
const colors = (0, ThemeContext_1.useColors)();
|
|
@@ -301,20 +301,16 @@ const PaymentStatus = ({ onRetry, onContinue, status, transactionId, fdData }) =
|
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
};
|
|
304
|
-
//
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
// Return true to prevent default behavior (block back button)
|
|
310
|
-
return true;
|
|
311
|
-
};
|
|
312
|
-
const backHandler = react_native_1.BackHandler.addEventListener('hardwareBackPress', onBackPress);
|
|
313
|
-
return () => backHandler.remove();
|
|
314
|
-
}, []);
|
|
304
|
+
// Back button: navigate to FDList for all statuses
|
|
305
|
+
const handleNavigateToFDList = () => {
|
|
306
|
+
(0, helpers_1.navigate)('FDList');
|
|
307
|
+
};
|
|
308
|
+
// Removed screen-level hardware back handler to allow only header back button navigation
|
|
315
309
|
return (react_1.default.createElement(SafeAreaWrapper_1.default, { includeTop: true, bottomPadding: 0, statusBarColor: "#000000", statusBarStyle: "light-content" },
|
|
316
310
|
react_native_1.Platform.OS === 'ios' && react_1.default.createElement(react_native_1.StatusBar, { barStyle: "light-content" }),
|
|
317
311
|
react_1.default.createElement(react_native_1.View, { style: styles.container },
|
|
312
|
+
react_1.default.createElement(react_native_1.TouchableOpacity, { onPress: handleNavigateToFDList, style: styles.backIconBtn },
|
|
313
|
+
react_1.default.createElement(Ionicons_1.default, { name: "arrow-back", size: 24, color: colors.text })),
|
|
318
314
|
react_1.default.createElement(react_native_1.ScrollView, { showsVerticalScrollIndicator: false, contentContainerStyle: styles.scrollContent },
|
|
319
315
|
react_1.default.createElement(react_native_1.View, { style: styles.iconContainer },
|
|
320
316
|
react_1.default.createElement(react_native_1.View, { style: styles.iconCircleOuter },
|
|
@@ -346,6 +342,13 @@ const createStyles = (colors, typography, status) => {
|
|
|
346
342
|
flex: 1,
|
|
347
343
|
backgroundColor: colors.background,
|
|
348
344
|
},
|
|
345
|
+
backIconBtn: {
|
|
346
|
+
position: 'absolute',
|
|
347
|
+
top: 16,
|
|
348
|
+
left: 16,
|
|
349
|
+
zIndex: 10,
|
|
350
|
+
padding: 8,
|
|
351
|
+
},
|
|
349
352
|
headerTitle: {
|
|
350
353
|
fontSize: 14,
|
|
351
354
|
fontWeight: '600',
|
package/lib/screens/ReviewKYC.js
CHANGED
|
@@ -587,17 +587,7 @@ const ReviewKYC = ({ onGoBack, onContinue, initialData, }) => {
|
|
|
587
587
|
(0, helpers_1.navigate)('FDCalculator');
|
|
588
588
|
}
|
|
589
589
|
};
|
|
590
|
-
//
|
|
591
|
-
(0, react_1.useEffect)(() => {
|
|
592
|
-
if (react_native_1.Platform.OS !== 'android')
|
|
593
|
-
return;
|
|
594
|
-
const onHardwareBackPress = () => {
|
|
595
|
-
handleBackPress();
|
|
596
|
-
return true; // Prevent default behavior
|
|
597
|
-
};
|
|
598
|
-
const backHandler = react_native_1.BackHandler.addEventListener('hardwareBackPress', onHardwareBackPress);
|
|
599
|
-
return () => backHandler.remove();
|
|
600
|
-
}, [defaultProviderId, workflowInstanceId, applicationId, entityId]);
|
|
590
|
+
// Removed screen-level hardware back handler to allow only header back button navigation
|
|
601
591
|
return (react_1.default.createElement(SafeAreaWrapper_1.default, { includeTop: false, bottomPadding: 25, statusBarColor: "#000000", statusBarStyle: "light-content" },
|
|
602
592
|
react_1.default.createElement(components_1.Header, { title: "Review KYC", onBackPress: handleBackPress, backgroundColor: colors.primary }),
|
|
603
593
|
react_1.default.createElement(react_native_1.KeyboardAvoidingView, { behavior: react_native_1.Platform.OS === 'ios' ? 'padding' : undefined, style: styles.keyboardAvoidingView, keyboardVerticalOffset: react_native_1.Platform.OS === 'ios' ? 0 : 0 },
|
|
@@ -631,7 +621,8 @@ const ReviewKYC = ({ onGoBack, onContinue, initialData, }) => {
|
|
|
631
621
|
] }, kycData.useExistingAddress ? (react_1.default.createElement(react_native_1.Image, { source: { uri: (themeName === 'dark') ? base64Images_1.base64Images.checkBoxDark : base64Images_1.base64Images.filledCheckBox }, resizeMode: "cover", width: 20, height: 20 })) : ((themeName === 'dark') ? (react_1.default.createElement(react_native_1.Image, { source: { uri: base64Images_1.base64Images.unCheckBoxDark }, resizeMode: "cover", width: 20, height: 20 })) : null))),
|
|
632
622
|
react_1.default.createElement(react_native_1.Text, { style: styles.checkboxText }, "For existing customers, we'll use the address from our records. For new customers, the address from your Aadhar card will be used. To update, please raise a service request with valid address proof.")))))),
|
|
633
623
|
react_1.default.createElement(ActionButton_1.default, { title: "Continue", onPress: handleContinue, disabled: !kycData.useExistingAddress || isLoadingPanRapid || !validateForm(), loading: isLoadingPanRapid }),
|
|
634
|
-
isLoadingPanRapid && (react_1.default.createElement(react_native_1.View, { style: styles.loadingOverlay, pointerEvents: "auto" }
|
|
624
|
+
isLoadingPanRapid && (react_1.default.createElement(react_native_1.View, { style: styles.loadingOverlay, pointerEvents: "auto" },
|
|
625
|
+
react_1.default.createElement(react_native_1.ActivityIndicator, { size: "large", color: colors.primary }))),
|
|
635
626
|
isGoingBack && (react_1.default.createElement(react_native_1.View, { style: styles.loadingOverlay, pointerEvents: "auto" },
|
|
636
627
|
react_1.default.createElement(react_native_1.ActivityIndicator, { size: "large", color: colors.primary })))));
|
|
637
628
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { WORKFLOW_STATES } from '../config/workflowConstants';
|
|
2
|
-
export type WorkflowStateSriram = typeof WORKFLOW_STATES
|
|
2
|
+
export type WorkflowStateSriram = typeof WORKFLOW_STATES[keyof typeof WORKFLOW_STATES] | string;
|
package/package.json
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
2
|
+
"name": "@finspringinnovations/fixeddepositsdk",
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "FD SDK for React Native applications",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"lib",
|
|
9
|
+
"src",
|
|
10
|
+
"README.md"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"clean": "rm -rf lib",
|
|
15
|
+
"prepublishOnly": "yarn clean && yarn build",
|
|
16
|
+
"lint": "eslint src --ext .ts,.tsx"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"react-native",
|
|
20
|
+
"sdk",
|
|
21
|
+
"typescript",
|
|
22
|
+
"android",
|
|
23
|
+
"ios",
|
|
24
|
+
"fd"
|
|
25
|
+
],
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"@finspringinnovations/mahindrafdsdk": ">=1.0.0",
|
|
28
|
+
"@finspringinnovations/shriramfdsdk": ">=1.0.0",
|
|
29
|
+
"react": ">=16.8.0",
|
|
30
|
+
"react-native": ">=0.60.0"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@types/react": "^18.2.0",
|
|
34
|
+
"@types/react-native": "^0.72.0",
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
36
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
37
|
+
"eslint": "^8.0.0",
|
|
38
|
+
"typescript": "^5.0.0"
|
|
39
|
+
},
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/your-org/my-sdks.git",
|
|
43
|
+
"directory": "packages/fdsdk"
|
|
44
|
+
},
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"react-native": "src/index.tsx",
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@finspringinnovations/mahindrafdsdk": "^1.0.1",
|
|
49
|
+
"@finspringinnovations/shriramfdsdk": "^1.0.1"
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/api/customerApi.ts
CHANGED
package/src/api/fdApi.ts
CHANGED
|
@@ -142,9 +142,36 @@ export const fdApi = baseApi.injectEndpoints({
|
|
|
142
142
|
};
|
|
143
143
|
},
|
|
144
144
|
}),
|
|
145
|
+
|
|
146
|
+
getPaymentUrl: builder.query<
|
|
147
|
+
{ status?: string; statusCode?: number; message?: string; data?: Array<{ paymentUrl?: string; transactionId?: string }> },
|
|
148
|
+
{ providerId?: string; workflowInstanceId?: string; userreferenceid?: string; applicationid?: string; entityid?: string; applicationId: string; panNo: string; isRetry?: boolean }
|
|
149
|
+
>({
|
|
150
|
+
query: (params) => {
|
|
151
|
+
const { providerId, workflowInstanceId, userreferenceid, applicationid, entityid, applicationId, panNo, isRetry = false } = params;
|
|
152
|
+
const qs = new URLSearchParams({
|
|
153
|
+
applicationId,
|
|
154
|
+
panNo,
|
|
155
|
+
isRetry: String(isRetry),
|
|
156
|
+
}).toString();
|
|
157
|
+
return {
|
|
158
|
+
url: `fd/payment/url?${qs}`,
|
|
159
|
+
method: 'GET',
|
|
160
|
+
headers: {
|
|
161
|
+
provider: providerId || '{{shriramprovider}}',
|
|
162
|
+
workflowInstanceId: workflowInstanceId || '{{workflowInstanceId}}',
|
|
163
|
+
userreferenceid: userreferenceid || '{{userreferenceid}}',
|
|
164
|
+
applicationid: applicationid || applicationId || '{{applicationid}}',
|
|
165
|
+
entityid: entityid || '{{entityid}}',
|
|
166
|
+
encryptdecrypt: 'true',
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
},
|
|
170
|
+
}),
|
|
145
171
|
}),
|
|
146
172
|
});
|
|
147
173
|
|
|
148
174
|
export const { useCreateFDMutation, useFdBankAccountMutation,
|
|
149
175
|
useFdBankDetailsQuery, useFdBankDetailsSearchMutation,
|
|
150
|
-
usePaymentReverseFeedMutation, usePaymentRetryMutation
|
|
176
|
+
usePaymentReverseFeedMutation, usePaymentRetryMutation,
|
|
177
|
+
useLazyGetPaymentUrlQuery } = fdApi;
|