@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
package/README.md
CHANGED
|
@@ -8,6 +8,27 @@ React Native SDK
|
|
|
8
8
|
For detailed installation and usage instructions, please refer to our official documentation at [DEUNA React Native SDK Documentation](https://docs.deuna.com/reference/react-native-sdk).
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
### Running the Example App
|
|
13
|
+
|
|
14
|
+
1. Install dependencies:
|
|
15
|
+
```bash
|
|
16
|
+
yarn install
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
2. Run the example app:
|
|
20
|
+
|
|
21
|
+
For iOS:
|
|
22
|
+
```bash
|
|
23
|
+
yarn example:ios
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
For Android:
|
|
27
|
+
```bash
|
|
28
|
+
yarn example:android
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
11
32
|
## License
|
|
12
33
|
|
|
13
34
|
MIT
|
package/lib/module/DeunaSDK.js
CHANGED
|
@@ -8,15 +8,21 @@ import { Completer } from "./helpers/Completer.js";
|
|
|
8
8
|
import { ElementsWidgetController } from "./controllers/ElementsWidgetController.js";
|
|
9
9
|
import { DownloadType, Mode } from "./interfaces/types.js";
|
|
10
10
|
import { Platform } from 'react-native';
|
|
11
|
+
import { DeviceFingerprintController } from "./controllers/DeviceFingerprintController.js";
|
|
12
|
+
import { DEVICE_FINGERPRINT_URL } from "./interfaces/constants.js";
|
|
13
|
+
import { getSubmitStrategy } from "./helpers/getSubmitStrategy.js";
|
|
11
14
|
export class DeunaSDK extends BaseDeuna {
|
|
12
|
-
constructor(config) {
|
|
15
|
+
constructor(config, onDestroyed) {
|
|
13
16
|
super();
|
|
14
17
|
this.config = config;
|
|
18
|
+
this.onDestroyed = onDestroyed;
|
|
15
19
|
}
|
|
16
20
|
mode = null;
|
|
17
21
|
listeners = new Set();
|
|
18
22
|
webViewController = null;
|
|
19
23
|
newTabWebViewController = null;
|
|
24
|
+
deviceFingerprintController = null;
|
|
25
|
+
submitStrategy = null;
|
|
20
26
|
modalDismissPromise = null;
|
|
21
27
|
newTabModalDismissPromise = null;
|
|
22
28
|
get safeWebViewController() {
|
|
@@ -27,9 +33,22 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
27
33
|
}
|
|
28
34
|
return this.webViewController;
|
|
29
35
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Generates a device fingerprint, creates a invisible webview to get the device fingerprint
|
|
39
|
+
* and returns the device fingerprint
|
|
40
|
+
* @returns The device fingerprint
|
|
41
|
+
*/
|
|
42
|
+
getSessionId = async params => {
|
|
43
|
+
this.deviceFingerprintController = new DeviceFingerprintController(this.config.publicApiKey, this.config.environment ?? 'production');
|
|
44
|
+
this.deviceFingerprintController.url = DEVICE_FINGERPRINT_URL;
|
|
45
|
+
this.notifyListeners();
|
|
46
|
+
const deviceFingerprint = await this.deviceFingerprintController.generateDeviceFingerprint(params ?? {});
|
|
47
|
+
this.deviceFingerprintController?.dispose();
|
|
48
|
+
this.deviceFingerprintController = null;
|
|
49
|
+
this.notifyListeners();
|
|
50
|
+
return deviceFingerprint ?? '';
|
|
51
|
+
};
|
|
33
52
|
static initialize(config) {
|
|
34
53
|
return new DeunaSDK(config);
|
|
35
54
|
}
|
|
@@ -117,7 +136,14 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
117
136
|
return this.safeWebViewController.isValid();
|
|
118
137
|
};
|
|
119
138
|
submit = async () => {
|
|
120
|
-
|
|
139
|
+
this.getStateFn = () => this.getWidgetState();
|
|
140
|
+
const submitStrategy = await getSubmitStrategy(this);
|
|
141
|
+
if (!submitStrategy) {
|
|
142
|
+
return this.safeWebViewController.submit();
|
|
143
|
+
}
|
|
144
|
+
this.submitStrategy = submitStrategy;
|
|
145
|
+
this.notifyListeners();
|
|
146
|
+
return this.submitStrategy.submit();
|
|
121
147
|
};
|
|
122
148
|
setCustomStyle = async style => {
|
|
123
149
|
return this.safeWebViewController.setCustomStyle(style);
|
|
@@ -146,11 +172,14 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
146
172
|
this.newTabWebViewController = null;
|
|
147
173
|
this.webViewController = null;
|
|
148
174
|
this.mode = null;
|
|
175
|
+
await this.submitStrategy?.deunaSDK.close();
|
|
176
|
+
this.submitStrategy = null;
|
|
149
177
|
this.notifyListeners();
|
|
150
178
|
|
|
151
179
|
// if the widget was shown in modal mode, wait for the modal to be dismissed
|
|
152
180
|
await this.modalDismissPromise?.wait;
|
|
153
181
|
this.modalDismissPromise = null;
|
|
182
|
+
this.onDestroyed?.();
|
|
154
183
|
};
|
|
155
184
|
onModalDismissed = () => {
|
|
156
185
|
this.modalDismissPromise?.complete();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","DownloadType","Mode","Platform","DeunaSDK","constructor","config","mode","listeners","Set","webViewController","newTabWebViewController","modalDismissPromise","newTabModalDismissPromise","safeWebViewController","errorMessage","console","error","Error","getSessionId","
|
|
1
|
+
{"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","DownloadType","Mode","Platform","DeviceFingerprintController","DEVICE_FINGERPRINT_URL","getSubmitStrategy","DeunaSDK","constructor","config","onDestroyed","mode","listeners","Set","webViewController","newTabWebViewController","deviceFingerprintController","submitStrategy","modalDismissPromise","newTabModalDismissPromise","safeWebViewController","errorMessage","console","error","Error","getSessionId","params","publicApiKey","environment","url","notifyListeners","deviceFingerprint","generateDeviceFingerprint","dispose","initialize","setWidgetController","controller","MODAL","OS","delegate","buildDelegate","initPaymentWidget","props","widget","initElements","initNextAction","initVoucherWidget","isValid","submit","getStateFn","getWidgetState","setCustomStyle","style","refetchOrder","close","callbacks","onClosed","closedAction","onCloseNewTab","wait","deunaSDK","onModalDismissed","complete","onNewTabDismissed","addListener","listener","add","removeListener","delete","forEach","notifyDownloadFile","onDownloadFile","type","URL","data","redirectUrl","onOpenInNewTab","onFileDownload","onNewTabWindowClose","onCloseButtonPressed","onCloseSubWebView"],"sourceRoot":"../../src","sources":["DeunaSDK.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,8 +5,35 @@ import { useEffect, useRef, useState } from 'react';
|
|
|
5
5
|
import { DeunaWebView } from "./DeunaWebView.js";
|
|
6
6
|
import { NewTabWebView } from "./NewTabWebView.js";
|
|
7
7
|
import { Mode } from "../interfaces/types.js";
|
|
8
|
-
import {
|
|
8
|
+
import { DeviceFingerprintWebView } from "./DeviceFingerprintWebView.js";
|
|
9
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
export const DeunaWidget = props => {
|
|
11
|
+
const {
|
|
12
|
+
instance
|
|
13
|
+
} = props;
|
|
14
|
+
const instanceRef = useRef(instance);
|
|
15
|
+
const [showPaymentStrategy, setShowPaymentStrategy] = useState(false);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
instanceRef.current = instance;
|
|
18
|
+
}, [instance]);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const listener = () => {
|
|
21
|
+
setShowPaymentStrategy(instanceRef.current.submitStrategy !== null);
|
|
22
|
+
};
|
|
23
|
+
instanceRef.current.addListener(listener);
|
|
24
|
+
return () => {
|
|
25
|
+
instanceRef.current.removeListener(listener);
|
|
26
|
+
};
|
|
27
|
+
}, []);
|
|
28
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
29
|
+
children: [/*#__PURE__*/_jsx(DeunaWidgetContainer, {
|
|
30
|
+
instance: instanceRef.current
|
|
31
|
+
}, "MainDeunaWidget"), showPaymentStrategy && /*#__PURE__*/_jsx(DeunaWidgetContainer, {
|
|
32
|
+
instance: instanceRef.current.submitStrategy.deunaSDK
|
|
33
|
+
}, "PaymentStrategy")]
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const DeunaWidgetContainer = props => {
|
|
10
37
|
const {
|
|
11
38
|
instance
|
|
12
39
|
} = props;
|
|
@@ -73,6 +100,8 @@ export const DeunaWidget = props => {
|
|
|
73
100
|
onLoad: instanceRef.current.webViewController?.onLoad,
|
|
74
101
|
onError: instanceRef.current.webViewController?.onError,
|
|
75
102
|
onShouldStartLoadWithRequest: instanceRef.current.webViewController?.onShouldStartLoadWithRequest
|
|
103
|
+
}), /*#__PURE__*/_jsx(DeviceFingerprintWebView, {
|
|
104
|
+
instance: instanceRef.current
|
|
76
105
|
})]
|
|
77
106
|
});
|
|
78
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","jsx","_jsx","
|
|
1
|
+
{"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","DeviceFingerprintWebView","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DeunaWidget","props","instance","instanceRef","showPaymentStrategy","setShowPaymentStrategy","current","listener","submitStrategy","addListener","removeListener","children","DeunaWidgetContainer","deunaSDK","mode","setMode","webViewController","dispose","isModal","MODAL","isEmbedded","EMBEDDED","onClose","controller","closedAction","close","presentationStyle","animationType","onRequestClose","onDismiss","onModalDismissed","visible","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWidget.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { DeunaWebView } from "./DeunaWebView.js";
|
|
5
|
+
import { View } from 'react-native';
|
|
6
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
export const DeviceFingerprintWebView = props => {
|
|
8
|
+
const {
|
|
9
|
+
instance
|
|
10
|
+
} = props;
|
|
11
|
+
const instanceRef = useRef(instance);
|
|
12
|
+
const [visible, setVisible] = useState(false);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
instanceRef.current = instance;
|
|
15
|
+
}, [instance]);
|
|
16
|
+
|
|
17
|
+
// Listen when the DeunaSDK instance configuration
|
|
18
|
+
// has changed
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const ref = instanceRef.current;
|
|
21
|
+
const listener = () => {
|
|
22
|
+
const isVisible = !!ref.deviceFingerprintController;
|
|
23
|
+
setVisible(isVisible);
|
|
24
|
+
};
|
|
25
|
+
instanceRef.current.addListener(listener);
|
|
26
|
+
return () => {
|
|
27
|
+
ref.removeListener(listener);
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
const deviceFingerprintController = instanceRef.current.deviceFingerprintController;
|
|
31
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
32
|
+
children: visible && /*#__PURE__*/_jsx(View, {
|
|
33
|
+
children: /*#__PURE__*/_jsx(DeunaWebView, {
|
|
34
|
+
url: deviceFingerprintController?.url ?? '',
|
|
35
|
+
onWebView: deviceFingerprintController?.setWebView,
|
|
36
|
+
onMessage: deviceFingerprintController?.onMessage,
|
|
37
|
+
onLoad: deviceFingerprintController?.onLoad,
|
|
38
|
+
onError: deviceFingerprintController?.onError,
|
|
39
|
+
onShouldStartLoadWithRequest: deviceFingerprintController?.onShouldStartLoadWithRequest
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=DeviceFingerprintWebView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","DeunaWebView","View","jsx","_jsx","Fragment","_Fragment","DeviceFingerprintWebView","props","instance","instanceRef","visible","setVisible","current","ref","listener","isVisible","deviceFingerprintController","addListener","removeListener","children","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest"],"sourceRoot":"../../../src","sources":["components/DeviceFingerprintWebView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAMpC,OAAO,MAAMC,wBAAwB,GACnCC,KAAoC,IACjC;EACH,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGX,MAAM,CAAWU,QAAQ,CAAC;EAC9C,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CF,SAAS,CAAC,MAAM;IACdY,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAX,SAAS,CAAC,MAAM;IACd,MAAMgB,GAAG,GAAGJ,WAAW,CAACG,OAAO;IAC/B,MAAME,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,SAAS,GAAG,CAAC,CAACF,GAAG,CAACG,2BAA2B;MACnDL,UAAU,CAACI,SAAS,CAAC;IACvB,CAAC;IAEDN,WAAW,CAACG,OAAO,CAACK,WAAW,CAACH,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXD,GAAG,CAACK,cAAc,CAACJ,QAAQ,CAAC;IAC9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,2BAA2B,GAC/BP,WAAW,CAACG,OAAO,CAACI,2BAA2B;EAEjD,oBACEb,IAAA,CAAAE,SAAA;IAAAc,QAAA,EACGT,OAAO,iBACNP,IAAA,CAACF,IAAI;MAAAkB,QAAA,eACHhB,IAAA,CAACH,YAAY;QACXoB,GAAG,EAAEJ,2BAA2B,EAAEI,GAAG,IAAI,EAAG;QAC5CC,SAAS,EAAEL,2BAA2B,EAAEM,UAAW;QACnDC,SAAS,EAAEP,2BAA2B,EAAEO,SAAU;QAClDC,MAAM,EAAER,2BAA2B,EAAEQ,MAAO;QAC5CC,OAAO,EAAET,2BAA2B,EAAES,OAAQ;QAC9CC,4BAA4B,EAC1BV,2BAA2B,EAAEU;MAC9B,CACF;IAAC,CACE;EACP,CACD,CAAC;AAEP,CAAC","ignoreList":[]}
|
|
@@ -19,6 +19,11 @@ export class BaseWebViewController {
|
|
|
19
19
|
webView = null;
|
|
20
20
|
url = null;
|
|
21
21
|
delegate = null;
|
|
22
|
+
jsExecutor = new JsExecutor();
|
|
23
|
+
setWebView = webView => {
|
|
24
|
+
this.webView = webView;
|
|
25
|
+
this.jsExecutor.webView = webView;
|
|
26
|
+
};
|
|
22
27
|
|
|
23
28
|
/**
|
|
24
29
|
* Called when the web view url is loaded successfully
|
|
@@ -77,11 +82,10 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
77
82
|
hidePayButton = false;
|
|
78
83
|
redirectUrl = null;
|
|
79
84
|
closedAction = 'systemAction';
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.
|
|
83
|
-
|
|
84
|
-
};
|
|
85
|
+
constructor(widgetConfig) {
|
|
86
|
+
super();
|
|
87
|
+
this.widgetConfig = widgetConfig;
|
|
88
|
+
}
|
|
85
89
|
onLoad = () => {
|
|
86
90
|
this.setXprops();
|
|
87
91
|
};
|
|
@@ -90,7 +94,6 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
90
94
|
this.delegate?.onFileDownload?.(url);
|
|
91
95
|
} else {
|
|
92
96
|
this.redirectUrl = url;
|
|
93
|
-
this.delegate?.onOpenInNewTab?.(url);
|
|
94
97
|
}
|
|
95
98
|
return false;
|
|
96
99
|
};
|
|
@@ -128,8 +131,13 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
128
131
|
mapper[eventData.type]?.();
|
|
129
132
|
};
|
|
130
133
|
setXprops = () => {
|
|
131
|
-
// this.detectDownloadsAndRedirects(true);
|
|
132
134
|
this.webView?.injectJavaScript(`
|
|
135
|
+
window.open = function(url, target, features) {
|
|
136
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openInNewTab}', url }));
|
|
137
|
+
};
|
|
138
|
+
console.log = function(message) {
|
|
139
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
|
|
140
|
+
};
|
|
133
141
|
window.xprops = {
|
|
134
142
|
hidePayButton: ${this.hidePayButton},
|
|
135
143
|
onEventDispatch: function (event) {
|
|
@@ -174,8 +182,7 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
174
182
|
* @returns The order data | returns null if the order is not found or an error occurs
|
|
175
183
|
*/
|
|
176
184
|
refetchOrder = async () => {
|
|
177
|
-
const result = await this.jsExecutor.execute(`
|
|
178
|
-
if(typeof window.deunaRefetchOrder !== 'function'){
|
|
185
|
+
const result = await this.jsExecutor.execute(` if(typeof window.deunaRefetchOrder !== 'function'){
|
|
179
186
|
sendResult({order: null});
|
|
180
187
|
return;
|
|
181
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeunaLogs","submitError","Platform","WebViewEventType","DOWNLOAD_FILE_REGEX","BaseWebViewController","initialized","redirectUrl","webView","url","delegate","isDownloadUrl","test","onShouldStartLoadWithRequest","request","isNewNavigation","isTopFrame","isClickNavigation","navigationType","shouldHandleInNewTab","urlMustBeLoadedInTheSameWebView","shouldOpenInNewTab","OS","onOpenInNewTab","dispose","stopLoading","DeunaWebViewController","hidePayButton","closedAction","
|
|
1
|
+
{"version":3,"names":["DeunaLogs","submitError","Platform","WebViewEventType","DOWNLOAD_FILE_REGEX","BaseWebViewController","initialized","redirectUrl","webView","url","delegate","jsExecutor","JsExecutor","setWebView","isDownloadUrl","test","onShouldStartLoadWithRequest","request","isNewNavigation","isTopFrame","isClickNavigation","navigationType","shouldHandleInNewTab","urlMustBeLoadedInTheSameWebView","shouldOpenInNewTab","OS","onOpenInNewTab","dispose","stopLoading","DeunaWebViewController","hidePayButton","closedAction","constructor","widgetConfig","onLoad","setXprops","onFileDownload","onMessage","event","eventData","JSON","parse","nativeEvent","data","mapper","consoleLog","info","stringify","message","eventDispatch","onEventDispatch","requestId","requests","get","delete","openInNewTab","redirect","newTabWindowClose","onNewTabWindowClose","type","injectJavaScript","getWidgetState","result","execute","deunaWidgetState","refetchOrder","order","setCustomStyle","style","isValid","submit","status","code","takeScreenshot","imgData","Map","jsCode","Promise","resolve","set"],"sourceRoot":"../../../src","sources":["controllers/BaseWebViewController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { BaseWebViewController, WebViewEventType } from "./BaseWebViewController.js";
|
|
4
|
+
import { Completer } from "../helpers/Completer.js";
|
|
5
|
+
import { DeunaLogs } from "../DeunaLogs.js";
|
|
6
|
+
export class DeviceFingerprintController extends BaseWebViewController {
|
|
7
|
+
constructor(publicApiKey, environment) {
|
|
8
|
+
super();
|
|
9
|
+
this.publicApiKey = publicApiKey;
|
|
10
|
+
this.environment = environment;
|
|
11
|
+
}
|
|
12
|
+
completer = new Completer();
|
|
13
|
+
onMessage = event => {
|
|
14
|
+
const eventData = JSON.parse(event.nativeEvent.data);
|
|
15
|
+
const mapper = {
|
|
16
|
+
[WebViewEventType.consoleLog]: () => {
|
|
17
|
+
DeunaLogs.info(`CONSOLE LOG`, JSON.stringify(eventData.message, null, 2));
|
|
18
|
+
},
|
|
19
|
+
[WebViewEventType.jsExecutor]: () => {
|
|
20
|
+
const {
|
|
21
|
+
data,
|
|
22
|
+
requestId
|
|
23
|
+
} = eventData;
|
|
24
|
+
this.jsExecutor.requests.get(requestId)?.(data);
|
|
25
|
+
this.jsExecutor.requests.delete(requestId);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
mapper[eventData.type]?.();
|
|
29
|
+
};
|
|
30
|
+
onLoad = () => {
|
|
31
|
+
this.webView?.injectJavaScript(`
|
|
32
|
+
console.log = function(message) {
|
|
33
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message:message }));
|
|
34
|
+
};
|
|
35
|
+
`);
|
|
36
|
+
this.completer.complete(true);
|
|
37
|
+
};
|
|
38
|
+
onError = _ => {
|
|
39
|
+
this.completer.complete(false);
|
|
40
|
+
};
|
|
41
|
+
urlMustBeLoadedInTheSameWebView = _ => true;
|
|
42
|
+
generateDeviceFingerprint = async params => {
|
|
43
|
+
const isLoaded = await this.completer.wait;
|
|
44
|
+
if (!isLoaded) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const data = await this.jsExecutor.execute(`
|
|
48
|
+
if (typeof window.generateFraudId !== 'function') {
|
|
49
|
+
console.log('❌ window.generateFraudId is not a function');
|
|
50
|
+
sendResult({fraudId: null});
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
window.generateFraudId({
|
|
55
|
+
publicApiKey: "${this.publicApiKey}",
|
|
56
|
+
env: "${this.environment}",
|
|
57
|
+
params: ${JSON.stringify(params)}
|
|
58
|
+
})
|
|
59
|
+
.then((fraudId) => {
|
|
60
|
+
sendResult({ fraudId: fraudId });
|
|
61
|
+
})
|
|
62
|
+
.catch((error) => {
|
|
63
|
+
sendResult({ fraudId: null });
|
|
64
|
+
});
|
|
65
|
+
`);
|
|
66
|
+
return data?.fraudId ?? null;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=DeviceFingerprintController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BaseWebViewController","WebViewEventType","Completer","DeunaLogs","DeviceFingerprintController","constructor","publicApiKey","environment","completer","onMessage","event","eventData","JSON","parse","nativeEvent","data","mapper","consoleLog","info","stringify","message","jsExecutor","requestId","requests","get","delete","type","onLoad","webView","injectJavaScript","complete","onError","_","urlMustBeLoadedInTheSameWebView","generateDeviceFingerprint","params","isLoaded","wait","execute","fraudId"],"sourceRoot":"../../../src","sources":["controllers/DeviceFingerprintController.ts"],"mappings":";;AACA,SACEA,qBAAqB,EACrBC,gBAAgB,QACX,4BAAyB;AAChC,SAASC,SAAS,QAAQ,yBAAsB;AAEhD,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,2BAA2B,SAASJ,qBAAqB,CAAC;EACrEK,WAAWA,CACQC,YAAoB,EACpBC,WAAwB,EACzC;IACA,KAAK,CAAC,CAAC;IAAC,KAHSD,YAAoB,GAApBA,YAAoB;IAAA,KACpBC,WAAwB,GAAxBA,WAAwB;EAG3C;EAEQC,SAAS,GAAG,IAAIN,SAAS,CAAU,CAAC;EAE5CO,SAAS,GAAIC,KAA0B,IAAK;IAC1C,MAAMC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACH,KAAK,CAACI,WAAW,CAACC,IAAI,CAAC;IAEpD,MAAMC,MAAM,GAAG;MACb,CAACf,gBAAgB,CAACgB,UAAU,GAAG,MAAM;QACnCd,SAAS,CAACe,IAAI,CACZ,aAAa,EACbN,IAAI,CAACO,SAAS,CAACR,SAAS,CAACS,OAAO,EAAE,IAAI,EAAE,CAAC,CAC3C,CAAC;MACH,CAAC;MACD,CAACnB,gBAAgB,CAACoB,UAAU,GAAG,MAAM;QACnC,MAAM;UAAEN,IAAI;UAAEO;QAAU,CAAC,GAAGX,SAG3B;QACD,IAAI,CAACU,UAAU,CAACE,QAAQ,CAACC,GAAG,CAACF,SAAS,CAAC,GAAGP,IAAI,CAAC;QAC/C,IAAI,CAACM,UAAU,CAACE,QAAQ,CAACE,MAAM,CAACH,SAAS,CAAC;MAC5C;IACF,CAAC;IACDN,MAAM,CAACL,SAAS,CAACe,IAAI,CAAwB,GAAG,CAAC;EACnD,CAAC;EAEDC,MAAM,GAAGA,CAAA,KAAM;IACb,IAAI,CAACC,OAAO,EAAEC,gBAAgB,CAAC;AACnC;AACA,0EAA0E5B,gBAAgB,CAACgB,UAAU;AACrG;AACA,KAAK,CAAC;IACF,IAAI,CAACT,SAAS,CAACsB,QAAQ,CAAC,IAAI,CAAC;EAC/B,CAAC;EAEDC,OAAO,GAAIC,CAAM,IAAK;IACpB,IAAI,CAACxB,SAAS,CAACsB,QAAQ,CAAC,KAAK,CAAC;EAChC,CAAC;EAEDG,+BAA+B,GAAID,CAAS,IAAK,IAAI;EAErDE,yBAAyB,GAAG,MAC1BC,MAA2B,IACA;IAC3B,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAAC5B,SAAS,CAAC6B,IAAI;IAC1C,IAAI,CAACD,QAAQ,EAAE;MACb,OAAO,IAAI;IACb;IAEA,MAAMrB,IAAI,GAAG,MAAM,IAAI,CAACM,UAAU,CAACiB,OAAO,CAAC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI,CAAChC,YAAY;AAC5C,kBAAkB,IAAI,CAACC,WAAW;AAClC,oBAAoBK,IAAI,CAACO,SAAS,CAACgB,MAAM,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,OAAOpB,IAAI,EAAEwB,OAAO,IAAI,IAAI;EAC9B,CAAC;AACH","ignoreList":[]}
|
|
@@ -4,9 +4,10 @@ import { DeunaWebViewController } from "./BaseWebViewController.js";
|
|
|
4
4
|
import { ElementsEventType } from "../interfaces/events/elements.js";
|
|
5
5
|
import { ElementsErrorType } from "../interfaces/index.js";
|
|
6
6
|
export class ElementsWidgetController extends DeunaWebViewController {
|
|
7
|
-
constructor(callbacks) {
|
|
8
|
-
super();
|
|
7
|
+
constructor(callbacks, widgetConfig) {
|
|
8
|
+
super(widgetConfig);
|
|
9
9
|
this.callbacks = callbacks;
|
|
10
|
+
this.widgetConfig = widgetConfig;
|
|
10
11
|
}
|
|
11
12
|
onError = event => {
|
|
12
13
|
this.callbacks.onError?.({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeunaWebViewController","ElementsEventType","ElementsErrorType","ElementsWidgetController","constructor","callbacks","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","elementsEvent","data","mapper","vaultClosed","closedAction","delegate","onCloseButtonPressed","vaultSaveSuccess","onCloseSubWebView","onSuccess","vaultSaveError","errorCode","unknownError","errorMessage","reason"],"sourceRoot":"../../../src","sources":["controllers/ElementsWidgetController.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAAyB;AAChE,SAEEC,iBAAiB,QACZ,kCAA+B;AAEtC,SAASC,iBAAiB,
|
|
1
|
+
{"version":3,"names":["DeunaWebViewController","ElementsEventType","ElementsErrorType","ElementsWidgetController","constructor","callbacks","widgetConfig","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","elementsEvent","data","mapper","vaultClosed","closedAction","delegate","onCloseButtonPressed","vaultSaveSuccess","onCloseSubWebView","onSuccess","vaultSaveError","errorCode","unknownError","errorMessage","reason"],"sourceRoot":"../../../src","sources":["controllers/ElementsWidgetController.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAAyB;AAChE,SAEEC,iBAAiB,QACZ,kCAA+B;AAEtC,SAASC,iBAAiB,QAAsB,wBAAe;AAE/D,OAAO,MAAMC,wBAAwB,SAASH,sBAAsB,CAAC;EACnEI,WAAWA,CACAC,SAAkC,EAClCC,YAA0B,EACnC;IACA,KAAK,CAACA,YAAY,CAAC;IAAC,KAHXD,SAAkC,GAAlCA,SAAkC;IAAA,KAClCC,YAA0B,GAA1BA,YAA0B;EAGrC;EAEAC,OAAO,GAAIC,KAAU,IAAK;IACxB,IAAI,CAACH,SAAS,CAACE,OAAO,GAAG;MACvBE,IAAI,EAAEP,iBAAiB,CAACQ,uBAAuB;MAC/CC,QAAQ,EAAE;QACRC,IAAI,EAAEV,iBAAiB,CAACQ,uBAAuB;QAC/CG,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAI;MAC5B;IACF,CAAC,CAAC;EACJ,CAAC;EAEDC,eAAe,GAAIN,KAA0B,IAAK;IAChD,MAAMO,aAAa,GAAGP,KAAsB;IAE5C,IAAI,IAAI,CAACH,SAAS,CAACS,eAAe,EAAE;MAClC,IAAI,CAACT,SAAS,CAACS,eAAe,CAACC,aAAa,CAACN,IAAI,EAAEM,aAAa,CAACC,IAAI,CAAC;IACxE;IAEA,MAAMC,MAAsD,GAAG;MAC7D,CAAChB,iBAAiB,CAACiB,WAAW,GAAG,MAAM;QACrC,IAAI,CAACC,YAAY,GAAG,YAAY;QAChC,IAAI,CAACC,QAAQ,EAAEC,oBAAoB,GAAG,CAAC;MACzC,CAAC;MACD,CAACpB,iBAAiB,CAACqB,gBAAgB,GAAG,MAAM;QAC1C,IAAI,CAACF,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,IAAI,CAAClB,SAAS,CAACmB,SAAS,GAAGhB,KAAK,CAACQ,IAAI,CAAC;MACxC,CAAC;MACD,CAACf,iBAAiB,CAACwB,cAAc,GAAG,MAAM;QACxC,IAAI,CAACL,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,IAAI,CAACH,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,MAAM;UAAEZ;QAAS,CAAC,GAAGI,aAAa,CAACC,IAAI;QAEvC,IAAIL,QAAQ,EAAE;UACZ,MAAMe,SAAS,GACbf,QAAQ,CAACC,IAAI,IACbD,QAAQ,CAACe,SAAS,IAClBxB,iBAAiB,CAACyB,YAAY;UAEhC,MAAMC,YAAY,GAChBjB,QAAQ,CAACE,OAAO,IAChBF,QAAQ,CAACiB,YAAY,IACrBjB,QAAQ,CAACkB,MAAM,IACf,eAAe;UAEjB,IAAI,CAACxB,SAAS,CAACE,OAAO,GAAG;YACvBE,IAAI,EAAEP,iBAAiB,CAACuB,cAAc;YACtCd,QAAQ,EAAE;cACRC,IAAI,EAAEc,SAAS;cACfb,OAAO,EAAEe;YACX;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACvB,SAAS,CAACE,OAAO,GAAG;YACvBE,IAAI,EAAEP,iBAAiB,CAACyB,YAAY;YACpChB,QAAQ,EAAE;cACRC,IAAI,EAAEV,iBAAiB,CAACyB,YAAY;cACpCd,OAAO,EAAE;YACX;UACF,CAAC,CAAC;QACJ;MACF;IACF,CAAC;IAEDI,MAAM,CAACF,aAAa,CAACN,IAAI,CAAC,GAAG,CAAC;EAChC,CAAC;AACH","ignoreList":[]}
|
|
@@ -8,9 +8,6 @@ export class OpenInNewTabController extends BaseWebViewController {
|
|
|
8
8
|
this.url = url;
|
|
9
9
|
this.url = url;
|
|
10
10
|
}
|
|
11
|
-
setWebView = webView => {
|
|
12
|
-
this.webView = webView;
|
|
13
|
-
};
|
|
14
11
|
onLoad = () => {
|
|
15
12
|
this.setXprops();
|
|
16
13
|
};
|
|
@@ -33,6 +30,9 @@ export class OpenInNewTabController extends BaseWebViewController {
|
|
|
33
30
|
setXprops = () => {
|
|
34
31
|
// Hide the print button on the Efecty page
|
|
35
32
|
this.webView?.injectJavaScript(`
|
|
33
|
+
console.log = function(message) {
|
|
34
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
|
|
35
|
+
};
|
|
36
36
|
window.close = function() {
|
|
37
37
|
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.newTabWindowClose}', data: '' }));
|
|
38
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseWebViewController","WebViewEventType","DeunaLogs","OpenInNewTabController","constructor","url","
|
|
1
|
+
{"version":3,"names":["BaseWebViewController","WebViewEventType","DeunaLogs","OpenInNewTabController","constructor","url","onLoad","setXprops","onError","event","console","warn","urlMustBeLoadedInTheSameWebView","isDownloadUrl","delegate","onFileDownload","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","webView","injectJavaScript","consoleLog","newTabWindowClose"],"sourceRoot":"../../../src","sources":["controllers/OpenInNewTabController.ts"],"mappings":";;AACA,SACEA,qBAAqB,EACrBC,gBAAgB,QACX,4BAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,sBAAsB,SAASH,qBAAqB,CAAC;EAChEI,WAAWA,CAAUC,GAAW,EAAE;IAChC,KAAK,CAAC,CAAC;IAAC,KADWA,GAAW,GAAXA,GAAW;IAE9B,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEAC,MAAM,GAAGA,CAAA,KAAM;IACb,IAAI,CAACC,SAAS,CAAC,CAAC;EAClB,CAAC;EAEDC,OAAO,GAAIC,KAAU,IAAK;IACxBC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC;EACrB,CAAC;EAEDG,+BAA+B,GAAIP,GAAW,IAAK;IACjD,IAAI,IAAI,CAACQ,aAAa,CAACR,GAAG,CAAC,EAAE;MAC3B,IAAI,CAACS,QAAQ,EAAEC,cAAc,GAAGV,GAAG,CAAC;MACpC,OAAO,KAAK;IACd;IACA,OAAO,IAAI;EACb,CAAC;EAEDW,SAAS,GAAIP,KAA0B,IAAK;IAC1C,MAAMQ,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACV,KAAK,CAACW,WAAW,CAACC,IAAI,CAAC;IACpD,IAAIJ,SAAS,CAACK,IAAI,KAAK,aAAa,EAAE;MACpCpB,SAAS,CAACqB,IAAI,CAAC,aAAa,EAAEN,SAAS,CAACO,OAAO,CAAC;IAClD;EACF,CAAC;EAEDjB,SAAS,GAAGA,CAAA,KAAM;IAChB;IACA,IAAI,CAACkB,OAAO,EAAEC,gBAAgB,CAAC;AACnC;AACA,wEAAwEzB,gBAAgB,CAAC0B,UAAU;AACnG;AACA;AACA,wEAAwE1B,gBAAgB,CAAC2B,iBAAiB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
|
|
@@ -5,9 +5,10 @@ import { constants } from "../interfaces/constants.js";
|
|
|
5
5
|
import { DownloadType } from "../interfaces/types.js";
|
|
6
6
|
import { DeunaWebViewController } from "./BaseWebViewController.js";
|
|
7
7
|
export class PaymentWidgetController extends DeunaWebViewController {
|
|
8
|
-
constructor(callbacks) {
|
|
9
|
-
super();
|
|
8
|
+
constructor(callbacks, widgetConfig) {
|
|
9
|
+
super(widgetConfig);
|
|
10
10
|
this.callbacks = callbacks;
|
|
11
|
+
this.widgetConfig = widgetConfig;
|
|
11
12
|
}
|
|
12
13
|
onError = event => {
|
|
13
14
|
this.callbacks.onError?.({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CheckoutEventType","PaymentErrorType","constants","DownloadType","DeunaWebViewController","PaymentWidgetController","constructor","callbacks","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","checkoutEvent","apmSaveId","voucherPdfDownloadUrl","data","onDownloadFile","URL","base64Image","takeScreenshot","BASE64","mapper","linkClose","closedAction","delegate","onCloseButtonPressed","onBinDetected","onCardBinDetected","onInstallmentSelected","paymentProcessing","onPaymentProcessing","purchase","onCloseSubWebView","onSuccess","order","purchaseError","errorCode","unknownError","errorMessage","reason","paymentError"],"sourceRoot":"../../../src","sources":["controllers/PaymentWidgetController.ts"],"mappings":";;AAAA,SAEEA,iBAAiB,EACjBC,gBAAgB,QACX,wBAAe;AACtB,SAASC,SAAS,QAAQ,4BAAyB;AACnD,
|
|
1
|
+
{"version":3,"names":["CheckoutEventType","PaymentErrorType","constants","DownloadType","DeunaWebViewController","PaymentWidgetController","constructor","callbacks","widgetConfig","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","checkoutEvent","apmSaveId","voucherPdfDownloadUrl","data","onDownloadFile","URL","base64Image","takeScreenshot","BASE64","mapper","linkClose","closedAction","delegate","onCloseButtonPressed","onBinDetected","onCardBinDetected","onInstallmentSelected","paymentProcessing","onPaymentProcessing","purchase","onCloseSubWebView","onSuccess","order","purchaseError","errorCode","unknownError","errorMessage","reason","paymentError"],"sourceRoot":"../../../src","sources":["controllers/PaymentWidgetController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { DeunaSDK } from "../DeunaSDK.js";
|
|
4
|
+
import { Mode } from "../interfaces/index.js";
|
|
5
|
+
export class SubmitStrategy {
|
|
6
|
+
constructor(config, type) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
this.type = type;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class PayPalSubmitStrategy extends SubmitStrategy {
|
|
12
|
+
constructor(config, onDestroyed) {
|
|
13
|
+
super(config, 'PayPal');
|
|
14
|
+
this.onDestroyed = onDestroyed;
|
|
15
|
+
this.deunaSDK = new DeunaSDK({
|
|
16
|
+
publicApiKey: this.config.publicApiKey,
|
|
17
|
+
environment: this.config.environment
|
|
18
|
+
}, this.onDestroyed);
|
|
19
|
+
}
|
|
20
|
+
async submit() {
|
|
21
|
+
await this.deunaSDK.initPaymentWidget({
|
|
22
|
+
mode: Mode.MODAL,
|
|
23
|
+
orderToken: this.config.orderToken ?? '',
|
|
24
|
+
userToken: this.config.userToken,
|
|
25
|
+
paymentMethods: [{
|
|
26
|
+
paymentMethod: 'wallet',
|
|
27
|
+
processors: ['paypal_wallet'],
|
|
28
|
+
configuration: {
|
|
29
|
+
express: true,
|
|
30
|
+
flowType: {
|
|
31
|
+
type: 'twoStep'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}],
|
|
35
|
+
callbacks: {}
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
status: 'success',
|
|
39
|
+
code: 'success',
|
|
40
|
+
message: 'Payment submitted successfully'
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=SubmitStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeunaSDK","Mode","SubmitStrategy","constructor","config","type","PayPalSubmitStrategy","onDestroyed","deunaSDK","publicApiKey","environment","submit","initPaymentWidget","mode","MODAL","orderToken","userToken","paymentMethods","paymentMethod","processors","configuration","express","flowType","callbacks","status","code","message"],"sourceRoot":"../../../src","sources":["helpers/SubmitStrategy.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,gBAAa;AACtC,SAASC,IAAI,QAAQ,wBAAe;AAYpC,OAAO,MAAeC,cAAc,CAAC;EAEnCC,WAAWA,CACAC,MAA4B,EAC5BC,IAAwB,EACjC;IAAA,KAFSD,MAA4B,GAA5BA,MAA4B;IAAA,KAC5BC,IAAwB,GAAxBA,IAAwB;EAChC;AAGL;AAEA,OAAO,MAAMC,oBAAoB,SAASJ,cAAc,CAAC;EAGvDC,WAAWA,CACTC,MAA4B,EACnBG,WAAuB,EAChC;IACA,KAAK,CAACH,MAAM,EAAE,QAAQ,CAAC;IAAC,KAFfG,WAAuB,GAAvBA,WAAuB;IAGhC,IAAI,CAACC,QAAQ,GAAG,IAAIR,QAAQ,CAC1B;MACES,YAAY,EAAE,IAAI,CAACL,MAAM,CAACK,YAAY;MACtCC,WAAW,EAAE,IAAI,CAACN,MAAM,CAACM;IAC3B,CAAC,EACD,IAAI,CAACH,WACP,CAAC;EACH;EAEA,MAAMI,MAAMA,CAAA,EAA0B;IACpC,MAAM,IAAI,CAACH,QAAQ,CAACI,iBAAiB,CAAC;MACpCC,IAAI,EAAEZ,IAAI,CAACa,KAAK;MAChBC,UAAU,EAAE,IAAI,CAACX,MAAM,CAACW,UAAU,IAAI,EAAE;MACxCC,SAAS,EAAE,IAAI,CAACZ,MAAM,CAACY,SAAS;MAChCC,cAAc,EAAE,CACd;QACEC,aAAa,EAAE,QAAQ;QACvBC,UAAU,EAAE,CAAC,eAAe,CAAC;QAC7BC,aAAa,EAAE;UACbC,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE;YACRjB,IAAI,EAAE;UACR;QACF;MACF,CAAC,CACF;MACDkB,SAAS,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,OAAO;MACLC,MAAM,EAAE,SAAS;MACjBC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;IACX,CAAC;EACH;AACF","ignoreList":[]}
|