@deuna/react-native-sdk 1.0.1 → 1.0.3
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/README.md +21 -0
- package/lib/module/DeunaSDK.js +34 -5
- package/lib/module/DeunaSDK.js.map +1 -1
- package/lib/module/components/DeunaWidget.js +30 -1
- package/lib/module/components/DeunaWidget.js.map +1 -1
- package/lib/module/components/DeviceFingerprintWebView.js +44 -0
- package/lib/module/components/DeviceFingerprintWebView.js.map +1 -0
- package/lib/module/controllers/BaseWebViewController.js +16 -9
- package/lib/module/controllers/BaseWebViewController.js.map +1 -1
- package/lib/module/controllers/DeviceFingerprintController.js +69 -0
- package/lib/module/controllers/DeviceFingerprintController.js.map +1 -0
- package/lib/module/controllers/ElementsWidgetController.js +3 -2
- package/lib/module/controllers/ElementsWidgetController.js.map +1 -1
- package/lib/module/controllers/OpenInNewTabController.js +3 -3
- package/lib/module/controllers/OpenInNewTabController.js.map +1 -1
- package/lib/module/controllers/PaymentWidgetController.js +3 -2
- package/lib/module/controllers/PaymentWidgetController.js.map +1 -1
- package/lib/module/helpers/SubmitStrategy.js +44 -0
- package/lib/module/helpers/SubmitStrategy.js.map +1 -0
- package/lib/module/helpers/getController.js +10 -2
- package/lib/module/helpers/getController.js.map +1 -1
- package/lib/module/helpers/getSubmitStrategy.js +32 -0
- package/lib/module/helpers/getSubmitStrategy.js.map +1 -0
- package/lib/module/interfaces/constants.js +2 -0
- package/lib/module/interfaces/constants.js.map +1 -1
- package/lib/module/interfaces/types.js.map +1 -1
- package/lib/module/types/helpers/buildElementsLink.js +13 -15
- package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
- package/lib/module/types/helpers/buildNextActionLink.js +1 -2
- package/lib/module/types/helpers/buildNextActionLink.js.map +1 -1
- package/lib/module/types/helpers/buildPaymentLink.js +1 -2
- package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
- package/lib/module/types/helpers/buildVoucherLink.js +1 -2
- package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +14 -4
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/components/DeviceFingerprintWebView.d.ts +7 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/DeviceFingerprintWebView.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +5 -3
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/DeviceFingerprintController.d.ts +15 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/DeviceFingerprintController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts +3 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts +1 -2
- package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts +3 -2
- package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts +23 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts +4 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +2 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts +6 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts +2 -2
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildNextActionLink.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/DeunaSDK.ts +48 -6
- package/src/components/DeunaWidget.tsx +39 -0
- package/src/components/DeviceFingerprintWebView.tsx +58 -0
- package/src/controllers/BaseWebViewController.ts +19 -12
- package/src/controllers/DeviceFingerprintController.ts +86 -0
- package/src/controllers/ElementsWidgetController.ts +6 -3
- package/src/controllers/OpenInNewTabController.ts +4 -5
- package/src/controllers/PaymentWidgetController.ts +10 -3
- package/src/helpers/SubmitStrategy.ts +67 -0
- package/src/helpers/getController.ts +10 -3
- package/src/helpers/getSubmitStrategy.ts +42 -0
- package/src/interfaces/constants.ts +5 -0
- package/src/interfaces/types.ts +8 -0
- package/src/types/helpers/buildElementsLink.ts +16 -19
- package/src/types/helpers/buildNextActionLink.ts +1 -2
- package/src/types/helpers/buildPaymentLink.ts +1 -2
- package/src/types/helpers/buildVoucherLink.ts +1 -2
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Environment } from
|
|
2
|
-
import { hasKey } from
|
|
3
|
-
import { getIntegrationType, UrlConfig } from
|
|
1
|
+
import { Environment } from "../base";
|
|
2
|
+
import { hasKey } from "../utils/hasKey";
|
|
3
|
+
import { getIntegrationType, UrlConfig } from "./urlConfig";
|
|
4
4
|
|
|
5
5
|
const ELEMENTS_URLS: Record<Environment, string> = {
|
|
6
|
-
production:
|
|
7
|
-
sandbox:
|
|
8
|
-
staging:
|
|
9
|
-
develop:
|
|
6
|
+
production: "https://elements.deuna.io",
|
|
7
|
+
sandbox: "https://elements.sandbox.deuna.io",
|
|
8
|
+
staging: "https://elements.stg.deuna.io",
|
|
9
|
+
develop: "https://elements.dev.deuna.io",
|
|
10
10
|
} as const;
|
|
11
11
|
|
|
12
12
|
const WIDGET_PATHS = {
|
|
13
|
-
click_to_pay:
|
|
14
|
-
vault:
|
|
13
|
+
click_to_pay: "/click_to_pay",
|
|
14
|
+
vault: "/vault",
|
|
15
15
|
} as const;
|
|
16
16
|
|
|
17
17
|
type WidgetPath = keyof typeof WIDGET_PATHS;
|
|
@@ -50,9 +50,9 @@ const buildSearchParams = (config: UrlConfig): URLSearchParams => {
|
|
|
50
50
|
const searchParams: SearchParams = {
|
|
51
51
|
publicApiKey: config.publicApiKey,
|
|
52
52
|
orderToken: config.orderToken,
|
|
53
|
-
email: userInfo?.email ||
|
|
54
|
-
firstName: userInfo?.firstName ||
|
|
55
|
-
lastName: userInfo?.lastName ||
|
|
53
|
+
email: userInfo?.email || "",
|
|
54
|
+
firstName: userInfo?.firstName || "",
|
|
55
|
+
lastName: userInfo?.lastName || "",
|
|
56
56
|
int: getIntegrationType(mode),
|
|
57
57
|
language,
|
|
58
58
|
};
|
|
@@ -85,7 +85,7 @@ const buildSearchParams = (config: UrlConfig): URLSearchParams => {
|
|
|
85
85
|
*/
|
|
86
86
|
const getWidgetPath = (types?: Array<{ name: string }>): string => {
|
|
87
87
|
if (types && types.length > 0) {
|
|
88
|
-
const firstPath = types[0]
|
|
88
|
+
const firstPath = types[0]?.name as WidgetPath;
|
|
89
89
|
return hasKey(WIDGET_PATHS, firstPath)
|
|
90
90
|
? WIDGET_PATHS[firstPath]
|
|
91
91
|
: WIDGET_PATHS.vault;
|
|
@@ -107,17 +107,14 @@ export const buildElementsLink = (config: UrlConfig): string => {
|
|
|
107
107
|
behavior: config.behavior || {},
|
|
108
108
|
};
|
|
109
109
|
|
|
110
|
-
searchParams.append(
|
|
110
|
+
searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
|
|
111
111
|
|
|
112
112
|
const widgetPath = getWidgetPath(config.types);
|
|
113
|
-
const normalizedPath = widgetPath.startsWith(
|
|
113
|
+
const normalizedPath = widgetPath.startsWith("/")
|
|
114
114
|
? widgetPath
|
|
115
115
|
: `/${widgetPath}`;
|
|
116
116
|
|
|
117
|
-
const url = new URL(normalizedPath
|
|
118
|
-
url.search = searchParams.toString();
|
|
119
|
-
|
|
120
|
-
console.log('url', url.toString());
|
|
117
|
+
const url = new URL(`${baseUrl}${normalizedPath}?${searchParams.toString()}`);
|
|
121
118
|
|
|
122
119
|
return url.toString();
|
|
123
120
|
};
|
|
@@ -40,8 +40,7 @@ export const buildNextActionLink = (config: UrlConfig): string => {
|
|
|
40
40
|
baseUrl = config.domain;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
const url = new URL(
|
|
44
|
-
url.search = searchParams.toString();
|
|
43
|
+
const url = new URL(`${baseUrl}/next-action-purchase/${orderToken}?${searchParams.toString()}`);
|
|
45
44
|
|
|
46
45
|
return url.toString();
|
|
47
46
|
};
|
|
@@ -54,8 +54,7 @@ export const buildPaymentLink = (config: UrlConfig): string => {
|
|
|
54
54
|
//encode to base64
|
|
55
55
|
searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
|
|
56
56
|
|
|
57
|
-
const url = new URL(
|
|
58
|
-
url.search = searchParams.toString();
|
|
57
|
+
const url = new URL(`${baseUrl}/now/${orderToken}?${searchParams.toString()}`);
|
|
59
58
|
|
|
60
59
|
return url.toString();
|
|
61
60
|
};
|
|
@@ -44,8 +44,7 @@ export const buildVoucherLink = (config: UrlConfig): string => {
|
|
|
44
44
|
//encode to base64
|
|
45
45
|
searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
|
|
46
46
|
|
|
47
|
-
const url = new URL(
|
|
48
|
-
url.search = searchParams.toString();
|
|
47
|
+
const url = new URL(`${baseUrl}/voucher?${searchParams.toString()}`);
|
|
49
48
|
|
|
50
49
|
return url.toString();
|
|
51
50
|
};
|