@deuna/react-native-sdk 1.0.2 → 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 +15 -2
- package/lib/module/DeunaSDK.js.map +1 -1
- package/lib/module/components/DeunaWidget.js +27 -1
- package/lib/module/components/DeunaWidget.js.map +1 -1
- package/lib/module/controllers/BaseWebViewController.js +7 -0
- package/lib/module/controllers/BaseWebViewController.js.map +1 -1
- package/lib/module/controllers/ElementsWidgetController.js +3 -2
- package/lib/module/controllers/ElementsWidgetController.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 +1 -0
- package/lib/module/interfaces/constants.js.map +1 -1
- package/lib/module/interfaces/types.js.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +6 -3
- 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/controllers/BaseWebViewController.d.ts +3 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
- 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/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 +1 -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/package.json +5 -5
- package/src/DeunaSDK.ts +23 -3
- package/src/components/DeunaWidget.tsx +37 -0
- package/src/controllers/BaseWebViewController.ts +8 -1
- package/src/controllers/ElementsWidgetController.ts +6 -3
- 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 +3 -1
- package/src/interfaces/types.ts +8 -0
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
|
@@ -10,16 +10,19 @@ import { DownloadType, Mode } from "./interfaces/types.js";
|
|
|
10
10
|
import { Platform } from 'react-native';
|
|
11
11
|
import { DeviceFingerprintController } from "./controllers/DeviceFingerprintController.js";
|
|
12
12
|
import { DEVICE_FINGERPRINT_URL } from "./interfaces/constants.js";
|
|
13
|
+
import { getSubmitStrategy } from "./helpers/getSubmitStrategy.js";
|
|
13
14
|
export class DeunaSDK extends BaseDeuna {
|
|
14
|
-
constructor(config) {
|
|
15
|
+
constructor(config, onDestroyed) {
|
|
15
16
|
super();
|
|
16
17
|
this.config = config;
|
|
18
|
+
this.onDestroyed = onDestroyed;
|
|
17
19
|
}
|
|
18
20
|
mode = null;
|
|
19
21
|
listeners = new Set();
|
|
20
22
|
webViewController = null;
|
|
21
23
|
newTabWebViewController = null;
|
|
22
24
|
deviceFingerprintController = null;
|
|
25
|
+
submitStrategy = null;
|
|
23
26
|
modalDismissPromise = null;
|
|
24
27
|
newTabModalDismissPromise = null;
|
|
25
28
|
get safeWebViewController() {
|
|
@@ -133,7 +136,14 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
133
136
|
return this.safeWebViewController.isValid();
|
|
134
137
|
};
|
|
135
138
|
submit = async () => {
|
|
136
|
-
|
|
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();
|
|
137
147
|
};
|
|
138
148
|
setCustomStyle = async style => {
|
|
139
149
|
return this.safeWebViewController.setCustomStyle(style);
|
|
@@ -162,11 +172,14 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
162
172
|
this.newTabWebViewController = null;
|
|
163
173
|
this.webViewController = null;
|
|
164
174
|
this.mode = null;
|
|
175
|
+
await this.submitStrategy?.deunaSDK.close();
|
|
176
|
+
this.submitStrategy = null;
|
|
165
177
|
this.notifyListeners();
|
|
166
178
|
|
|
167
179
|
// if the widget was shown in modal mode, wait for the modal to be dismissed
|
|
168
180
|
await this.modalDismissPromise?.wait;
|
|
169
181
|
this.modalDismissPromise = null;
|
|
182
|
+
this.onDestroyed?.();
|
|
170
183
|
};
|
|
171
184
|
onModalDismissed = () => {
|
|
172
185
|
this.modalDismissPromise?.complete();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","DownloadType","Mode","Platform","DeviceFingerprintController","DEVICE_FINGERPRINT_URL","DeunaSDK","constructor","config","mode","listeners","Set","webViewController","newTabWebViewController","deviceFingerprintController","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","setCustomStyle","style","refetchOrder","
|
|
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":[]}
|
|
@@ -6,8 +6,34 @@ import { DeunaWebView } from "./DeunaWebView.js";
|
|
|
6
6
|
import { NewTabWebView } from "./NewTabWebView.js";
|
|
7
7
|
import { Mode } from "../interfaces/types.js";
|
|
8
8
|
import { DeviceFingerprintWebView } from "./DeviceFingerprintWebView.js";
|
|
9
|
-
import { jsx as _jsx,
|
|
9
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
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 => {
|
|
11
37
|
const {
|
|
12
38
|
instance
|
|
13
39
|
} = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","DeviceFingerprintWebView","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":[]}
|
|
@@ -82,6 +82,10 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
82
82
|
hidePayButton = false;
|
|
83
83
|
redirectUrl = null;
|
|
84
84
|
closedAction = 'systemAction';
|
|
85
|
+
constructor(widgetConfig) {
|
|
86
|
+
super();
|
|
87
|
+
this.widgetConfig = widgetConfig;
|
|
88
|
+
}
|
|
85
89
|
onLoad = () => {
|
|
86
90
|
this.setXprops();
|
|
87
91
|
};
|
|
@@ -128,6 +132,9 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
128
132
|
};
|
|
129
133
|
setXprops = () => {
|
|
130
134
|
this.webView?.injectJavaScript(`
|
|
135
|
+
window.open = function(url, target, features) {
|
|
136
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openInNewTab}', url }));
|
|
137
|
+
};
|
|
131
138
|
console.log = function(message) {
|
|
132
139
|
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
|
|
133
140
|
};
|
|
@@ -1 +1 @@
|
|
|
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","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":";;AACA,SAASA,SAAS,QAAQ,iBAAc;AASxC,SAASC,WAAW,
|
|
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":[]}
|
|
@@ -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":[]}
|
|
@@ -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":[]}
|
|
@@ -19,7 +19,10 @@ export const getWidgetController = (config, props) => {
|
|
|
19
19
|
userToken: rest.userToken ?? '',
|
|
20
20
|
language: rest.language ?? 'es',
|
|
21
21
|
sessionId: rest.sessionId ?? '',
|
|
22
|
-
mode: mode
|
|
22
|
+
mode: mode === Mode.MODAL ? 'modal' : 'target',
|
|
23
|
+
...(rest.domain && {
|
|
24
|
+
domain: rest.domain
|
|
25
|
+
})
|
|
23
26
|
};
|
|
24
27
|
const widgetMappers = {
|
|
25
28
|
elements: () => ({
|
|
@@ -39,7 +42,12 @@ export const getWidgetController = (config, props) => {
|
|
|
39
42
|
nextAction: () => baseParams,
|
|
40
43
|
voucher: () => baseParams
|
|
41
44
|
};
|
|
42
|
-
const
|
|
45
|
+
const widgetConfig = {
|
|
46
|
+
orderToken: rest.orderToken,
|
|
47
|
+
behavior: rest.behavior,
|
|
48
|
+
userToken: rest.userToken
|
|
49
|
+
};
|
|
50
|
+
const controller = widget === 'elements' ? new ElementsWidgetController(callbacks, widgetConfig) : new PaymentWidgetController(callbacks, widgetConfig);
|
|
43
51
|
controller.url = linkBuilders[widget](widgetMappers[widget]());
|
|
44
52
|
controller.hidePayButton = rest.hidePayButton ?? false;
|
|
45
53
|
DeunaLogs.info('👀 loading link', controller.url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PaymentWidgetController","ElementsWidgetController","linkBuilders","Mode","DeunaLogs","getWidgetController","config","props","widget","mode","callbacks","rest","baseParams","env","environment","publicApiKey","orderToken","userToken","language","sessionId","MODAL","widgetMappers","elements","userInfo","styleFile","behavior","widgetExperience","types","payment","paymentMethods","nextAction","voucher","controller","url","hidePayButton","info"],"sourceRoot":"../../../src","sources":["helpers/getController.ts"],"mappings":";;AACA,SAASA,uBAAuB,QAAQ,2CAAwC;AAChF,SAASC,wBAAwB,QAAQ,4CAAyC;AAQlF,SAASC,YAAY,QAAQ,2BAAkB;AAC/C,SAASC,IAAI,QAAQ,wBAAqB;AAC1C,SAASC,SAAS,QAAQ,iBAAc;AAwBxC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,MAAwB,EACxBC,KAA4D,KACjC;EAC3B,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGJ,KAAK;EAElD,MAAMK,UAAU,GAAG;IACjBC,GAAG,EAAEP,MAAM,CAACQ,WAAY;IACxBC,YAAY,EAAET,MAAM,CAACS,YAAY;IACjCC,UAAU,EAAEL,IAAI,CAACK,UAAU,IAAI,EAAE;IACjCC,SAAS,EAAEN,IAAI,CAACM,SAAS,IAAI,EAAE;IAC/BC,QAAQ,EAAEP,IAAI,CAACO,QAAQ,IAAI,IAAI;IAC/BC,SAAS,EAAER,IAAI,CAACQ,SAAS,IAAI,EAAE;IAC/BV,IAAI,EAAEA,IAAI,
|
|
1
|
+
{"version":3,"names":["PaymentWidgetController","ElementsWidgetController","linkBuilders","Mode","DeunaLogs","getWidgetController","config","props","widget","mode","callbacks","rest","baseParams","env","environment","publicApiKey","orderToken","userToken","language","sessionId","MODAL","domain","widgetMappers","elements","userInfo","styleFile","behavior","widgetExperience","types","payment","paymentMethods","nextAction","voucher","widgetConfig","controller","url","hidePayButton","info"],"sourceRoot":"../../../src","sources":["helpers/getController.ts"],"mappings":";;AACA,SAASA,uBAAuB,QAAQ,2CAAwC;AAChF,SAASC,wBAAwB,QAAQ,4CAAyC;AAQlF,SAASC,YAAY,QAAQ,2BAAkB;AAC/C,SAASC,IAAI,QAAQ,wBAAqB;AAC1C,SAASC,SAAS,QAAQ,iBAAc;AAwBxC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,MAAwB,EACxBC,KAA4D,KACjC;EAC3B,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGJ,KAAK;EAElD,MAAMK,UAAU,GAAG;IACjBC,GAAG,EAAEP,MAAM,CAACQ,WAAY;IACxBC,YAAY,EAAET,MAAM,CAACS,YAAY;IACjCC,UAAU,EAAEL,IAAI,CAACK,UAAU,IAAI,EAAE;IACjCC,SAAS,EAAEN,IAAI,CAACM,SAAS,IAAI,EAAE;IAC/BC,QAAQ,EAAEP,IAAI,CAACO,QAAQ,IAAI,IAAI;IAC/BC,SAAS,EAAER,IAAI,CAACQ,SAAS,IAAI,EAAE;IAC/BV,IAAI,EAAEA,IAAI,KAAKN,IAAI,CAACiB,KAAK,GAAG,OAAO,GAAG,QAAQ;IAC9C,IAAIT,IAAI,CAACU,MAAM,IAAI;MAAEA,MAAM,EAAEV,IAAI,CAACU;IAAO,CAAC;EAC5C,CAAC;EAED,MAAMC,aAAa,GAAG;IACpBC,QAAQ,EAAEA,CAAA,MAAO;MACf,GAAGX,UAAU;MACbY,QAAQ,EAAEb,IAAI,CAACa,QAAQ;MACvBC,SAAS,EAAEd,IAAI,CAACc,SAAS;MACzBC,QAAQ,EAAEf,IAAI,CAACe,QAAQ;MACvBC,gBAAgB,EAAEhB,IAAI,CAACgB,gBAAgB;MACvCC,KAAK,EAAGrB,KAAK,CAAmCqB;IAClD,CAAC,CAAC;IACFC,OAAO,EAAEA,CAAA,MAAO;MACd,GAAGjB,UAAU;MACbc,QAAQ,EAAEf,IAAI,CAACe,QAAQ;MACvBI,cAAc,EAAGvB,KAAK,CAAkCuB,cAAc;MACtEL,SAAS,EAAEd,IAAI,CAACc;IAClB,CAAC,CAAC;IACFM,UAAU,EAAEA,CAAA,KAAMnB,UAAU;IAC5BoB,OAAO,EAAEA,CAAA,KAAMpB;EACjB,CAAC;EAED,MAAMqB,YAAY,GAAG;IACnBjB,UAAU,EAAEL,IAAI,CAACK,UAAU;IAC3BU,QAAQ,EAAEf,IAAI,CAACe,QAAQ;IACvBT,SAAS,EAAEN,IAAI,CAACM;EAClB,CAAC;EAED,MAAMiB,UAAU,GACd1B,MAAM,KAAK,UAAU,GACjB,IAAIP,wBAAwB,CAACS,SAAS,EAAEuB,YAAY,CAAC,GACrD,IAAIjC,uBAAuB,CAACU,SAAS,EAAEuB,YAAY,CAAC;EAE1DC,UAAU,CAACC,GAAG,GAAGjC,YAAY,CAACM,MAAM,CAAC,CAACc,aAAa,CAACd,MAAM,CAAC,CAAC,CAAC,CAAC;EAC9D0B,UAAU,CAACE,aAAa,GAAGzB,IAAI,CAACyB,aAAa,IAAI,KAAK;EAEtDhC,SAAS,CAACiC,IAAI,CAAC,iBAAiB,EAAEH,UAAU,CAACC,GAAG,CAAC;EAEjD,OAAOD,UAAU;AACnB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { TWO_STEP_FLOW } from "../interfaces/constants.js";
|
|
4
|
+
import { PayPalSubmitStrategy } from "./SubmitStrategy.js";
|
|
5
|
+
export const getSubmitStrategy = async deunaSDK => {
|
|
6
|
+
const selectedPaymentMethod = await deunaSDK.getSelectedPaymentMethod();
|
|
7
|
+
if (!selectedPaymentMethod) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const {
|
|
11
|
+
widgetConfig
|
|
12
|
+
} = deunaSDK.safeWebViewController;
|
|
13
|
+
const processorName = selectedPaymentMethod.processor_name;
|
|
14
|
+
const configFlowType = selectedPaymentMethod.configuration?.flowType?.type;
|
|
15
|
+
const behaviorFlowType = widgetConfig.behavior?.paymentMethods?.flowType?.type;
|
|
16
|
+
const isTwoStepFlow = configFlowType === TWO_STEP_FLOW || !configFlowType && behaviorFlowType === TWO_STEP_FLOW;
|
|
17
|
+
if (isTwoStepFlow && processorName === 'paypal_wallet') {
|
|
18
|
+
return new PayPalSubmitStrategy({
|
|
19
|
+
publicApiKey: deunaSDK.config.publicApiKey,
|
|
20
|
+
environment: deunaSDK.config.environment ?? 'production',
|
|
21
|
+
orderToken: widgetConfig.orderToken,
|
|
22
|
+
userToken: widgetConfig.userToken
|
|
23
|
+
}, () => {
|
|
24
|
+
if (deunaSDK.submitStrategy) {
|
|
25
|
+
deunaSDK.submitStrategy = null;
|
|
26
|
+
deunaSDK.notifyListeners();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=getSubmitStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TWO_STEP_FLOW","PayPalSubmitStrategy","getSubmitStrategy","deunaSDK","selectedPaymentMethod","getSelectedPaymentMethod","widgetConfig","safeWebViewController","processorName","processor_name","configFlowType","configuration","flowType","type","behaviorFlowType","behavior","paymentMethods","isTwoStepFlow","publicApiKey","config","environment","orderToken","userToken","submitStrategy","notifyListeners"],"sourceRoot":"../../../src","sources":["helpers/getSubmitStrategy.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,4BAAyB;AACvD,SAASC,oBAAoB,QAAwB,qBAAkB;AAEvE,OAAO,MAAMC,iBAAiB,GAAG,MAC/BC,QAAkB,IACiB;EACnC,MAAMC,qBAAqB,GAAG,MAAMD,QAAQ,CAACE,wBAAwB,CAAC,CAAC;EACvE,IAAI,CAACD,qBAAqB,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEE;EAAa,CAAC,GAAGH,QAAQ,CAACI,qBAAqB;EAEvD,MAAMC,aAAa,GAAGJ,qBAAqB,CAACK,cAAwB;EAEpE,MAAMC,cAAc,GAAGN,qBAAqB,CAACO,aAAa,EAAEC,QAAQ,EAAEC,IAAI;EAC1E,MAAMC,gBAAgB,GACpBR,YAAY,CAACS,QAAQ,EAAEC,cAAc,EAAEJ,QAAQ,EAAEC,IAAI;EAEvD,MAAMI,aAAa,GACjBP,cAAc,KAAKV,aAAa,IAC/B,CAACU,cAAc,IAAII,gBAAgB,KAAKd,aAAc;EAEzD,IAAIiB,aAAa,IAAIT,aAAa,KAAK,eAAe,EAAE;IACtD,OAAO,IAAIP,oBAAoB,CAC7B;MACEiB,YAAY,EAAEf,QAAQ,CAACgB,MAAM,CAACD,YAAY;MAC1CE,WAAW,EAAEjB,QAAQ,CAACgB,MAAM,CAACC,WAAW,IAAI,YAAY;MACxDC,UAAU,EAAEf,YAAY,CAACe,UAAU;MACnCC,SAAS,EAAEhB,YAAY,CAACgB;IAC1B,CAAC,EACD,MAAM;MACJ,IAAInB,QAAQ,CAACoB,cAAc,EAAE;QAC3BpB,QAAQ,CAACoB,cAAc,GAAG,IAAI;QAC9BpB,QAAQ,CAACqB,eAAe,CAAC,CAAC;MAC5B;IACF,CACF,CAAC;EACH;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["constants","apmSaveId","metadata","voucherPdfDownloadUrl","DEVICE_FINGERPRINT_URL"],"sourceRoot":"../../../src","sources":["interfaces/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE,UAAU;EACpBC,qBAAqB,EAAE;AACzB,CAAC;
|
|
1
|
+
{"version":3,"names":["constants","apmSaveId","metadata","voucherPdfDownloadUrl","DEVICE_FINGERPRINT_URL","TWO_STEP_FLOW"],"sourceRoot":"../../../src","sources":["interfaces/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE,UAAU;EACpBC,qBAAqB,EAAE;AACzB,CAAC;AAED,OAAO,MAAMC,sBAAsB,GACjC,wDAAwD;AAE1D,OAAO,MAAMC,aAAa,GAAG,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Mode","DownloadType"],"sourceRoot":"../../../src","sources":["interfaces/types.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["Mode","DownloadType"],"sourceRoot":"../../../src","sources":["interfaces/types.ts"],"mappings":";;AAQA,WAAYA,IAAI,0BAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAKhB,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -3,9 +3,11 @@ import { BaseWebViewController, DeunaWebViewController, WebViewDelegate } from '
|
|
|
3
3
|
import { Completer } from './helpers/Completer';
|
|
4
4
|
import { Mode, OnDownloadFile } from './interfaces/types';
|
|
5
5
|
import { DeviceFingerprintController } from './controllers/DeviceFingerprintController';
|
|
6
|
+
import { SubmitStrategy } from './helpers/SubmitStrategy';
|
|
6
7
|
export declare class DeunaSDK extends BaseDeuna {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
readonly config: InitializeParams;
|
|
9
|
+
readonly onDestroyed?: (() => void) | undefined;
|
|
10
|
+
constructor(config: InitializeParams, onDestroyed?: (() => void) | undefined);
|
|
9
11
|
mode: Mode | null;
|
|
10
12
|
setCustomStyleFn?: SetCustomStyle | undefined;
|
|
11
13
|
refetchOrderFn?: RefetchOrder | undefined;
|
|
@@ -17,9 +19,10 @@ export declare class DeunaSDK extends BaseDeuna {
|
|
|
17
19
|
webViewController: DeunaWebViewController | null;
|
|
18
20
|
newTabWebViewController: BaseWebViewController | null;
|
|
19
21
|
deviceFingerprintController: DeviceFingerprintController | null;
|
|
22
|
+
submitStrategy: SubmitStrategy | null;
|
|
20
23
|
modalDismissPromise: Completer<void> | null;
|
|
21
24
|
newTabModalDismissPromise: Completer<void> | null;
|
|
22
|
-
|
|
25
|
+
get safeWebViewController(): DeunaWebViewController;
|
|
23
26
|
/**
|
|
24
27
|
* Generates a device fingerprint, creates a invisible webview to get the device fingerprint
|
|
25
28
|
* and returns the device fingerprint
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeunaSDK.d.ts","sourceRoot":"","sources":["../../../../src/DeunaSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,OAAO,EACP,IAAI,EACJ,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,KAAK,EACL,MAAM,EACN,YAAY,EACZ,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAgB,IAAI,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"DeunaSDK.d.ts","sourceRoot":"","sources":["../../../../src/DeunaSDK.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeunaWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/DeunaWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,
|
|
1
|
+
{"version":3,"file":"DeunaWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/DeunaWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAmClD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type WebView from 'react-native-webview';
|
|
2
2
|
import { WebViewMessageEvent } from 'react-native-webview';
|
|
3
3
|
import { ClosedAction, CustomStyles, Json, State, SubmitResult } from '../types';
|
|
4
|
+
import { WidgetConfig } from '../interfaces';
|
|
4
5
|
import { ShouldStartLoadRequest } from 'react-native-webview/lib/WebViewTypes';
|
|
5
6
|
export interface WebViewDelegate {
|
|
6
7
|
onOpenInNewTab?: (url: string) => void;
|
|
@@ -56,9 +57,11 @@ export declare abstract class BaseWebViewController {
|
|
|
56
57
|
dispose(): void;
|
|
57
58
|
}
|
|
58
59
|
export declare abstract class DeunaWebViewController extends BaseWebViewController {
|
|
60
|
+
readonly widgetConfig: WidgetConfig;
|
|
59
61
|
hidePayButton: boolean;
|
|
60
62
|
redirectUrl: string | null;
|
|
61
63
|
closedAction: ClosedAction;
|
|
64
|
+
constructor(widgetConfig: WidgetConfig);
|
|
62
65
|
abstract onEventDispatch: (event: Record<string, any>) => void;
|
|
63
66
|
onLoad: () => void;
|
|
64
67
|
urlMustBeLoadedInTheSameWebView: (url: string) => boolean;
|
package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseWebViewController.d.ts","sourceRoot":"","sources":["../../../../../src/controllers/BaseWebViewController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,YAAY,EACb,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseWebViewController.d.ts","sourceRoot":"","sources":["../../../../../src/controllers/BaseWebViewController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { DeunaWebViewController } from './BaseWebViewController';
|
|
2
2
|
import { ElementsWidgetCallbacks } from '../types';
|
|
3
|
+
import { WidgetConfig } from '../interfaces';
|
|
3
4
|
export declare class ElementsWidgetController extends DeunaWebViewController {
|
|
4
5
|
readonly callbacks: ElementsWidgetCallbacks;
|
|
5
|
-
|
|
6
|
+
readonly widgetConfig: WidgetConfig;
|
|
7
|
+
constructor(callbacks: ElementsWidgetCallbacks, widgetConfig: WidgetConfig);
|
|
6
8
|
onError: (event: any) => void;
|
|
7
9
|
onEventDispatch: (event: Record<string, any>) => void;
|
|
8
10
|
}
|
package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementsWidgetController.d.ts","sourceRoot":"","sources":["../../../../../src/controllers/ElementsWidgetController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ElementsWidgetController.d.ts","sourceRoot":"","sources":["../../../../../src/controllers/ElementsWidgetController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAqB,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,wBAAyB,SAAQ,sBAAsB;IAEhE,QAAQ,CAAC,SAAS,EAAE,uBAAuB;IAC3C,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAD1B,SAAS,EAAE,uBAAuB,EAClC,YAAY,EAAE,YAAY;IAKrC,OAAO,GAAI,OAAO,GAAG,UAQnB;IAEF,eAAe,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAqD3C;CACH"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { OnDownloadFile } from '../interfaces/types';
|
|
1
|
+
import { OnDownloadFile, WidgetConfig } from '../interfaces/types';
|
|
2
2
|
import { PaymentWidgetCallbacks, NextActionWidgetCallbacks, VoucherWidgetCallbacks } from '../types';
|
|
3
3
|
import { DeunaWebViewController } from './BaseWebViewController';
|
|
4
4
|
type Callbacks = PaymentWidgetCallbacks & NextActionWidgetCallbacks & VoucherWidgetCallbacks & OnDownloadFile;
|
|
5
5
|
export declare class PaymentWidgetController extends DeunaWebViewController {
|
|
6
6
|
readonly callbacks: Callbacks;
|
|
7
|
-
|
|
7
|
+
readonly widgetConfig: WidgetConfig;
|
|
8
|
+
constructor(callbacks: Callbacks, widgetConfig: WidgetConfig);
|
|
8
9
|
onError: (event: any) => void;
|
|
9
10
|
onEventDispatch: (event: Record<string, any>) => Promise<void>;
|
|
10
11
|
}
|
package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentWidgetController.d.ts","sourceRoot":"","sources":["../../../../../src/controllers/PaymentWidgetController.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"PaymentWidgetController.d.ts","sourceRoot":"","sources":["../../../../../src/controllers/PaymentWidgetController.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,cAAc,EACd,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,KAAK,SAAS,GAAG,sBAAsB,GACrC,yBAAyB,GACzB,sBAAsB,GACtB,cAAc,CAAC;AAEjB,qBAAa,uBAAwB,SAAQ,sBAAsB;IAE/D,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAD1B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY;IAKrC,OAAO,GAAI,OAAO,GAAG,UAQnB;IAEF,eAAe,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,mBAkFjD;CACH"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DeunaSDK } from '../DeunaSDK';
|
|
2
|
+
import { Environment, SubmitResult } from '../types';
|
|
3
|
+
export type SubmitStrategyType = 'PayPal';
|
|
4
|
+
export type SubmitStrategyConfig = {
|
|
5
|
+
publicApiKey: string;
|
|
6
|
+
environment: Environment;
|
|
7
|
+
orderToken?: string;
|
|
8
|
+
userToken?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare abstract class SubmitStrategy {
|
|
11
|
+
readonly config: SubmitStrategyConfig;
|
|
12
|
+
readonly type: SubmitStrategyType;
|
|
13
|
+
abstract deunaSDK: DeunaSDK;
|
|
14
|
+
constructor(config: SubmitStrategyConfig, type: SubmitStrategyType);
|
|
15
|
+
abstract submit(): Promise<SubmitResult>;
|
|
16
|
+
}
|
|
17
|
+
export declare class PayPalSubmitStrategy extends SubmitStrategy {
|
|
18
|
+
readonly onDestroyed: () => void;
|
|
19
|
+
deunaSDK: DeunaSDK;
|
|
20
|
+
constructor(config: SubmitStrategyConfig, onDestroyed: () => void);
|
|
21
|
+
submit(): Promise<SubmitResult>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=SubmitStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubmitStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/SubmitStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,8BAAsB,cAAc;IAGhC,QAAQ,CAAC,MAAM,EAAE,oBAAoB;IACrC,QAAQ,CAAC,IAAI,EAAE,kBAAkB;IAHnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEjB,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB;IAGnC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CACzC;AAED,qBAAa,oBAAqB,SAAQ,cAAc;IAKpD,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI;IAJlC,QAAQ,EAAE,QAAQ,CAAC;gBAGjB,MAAM,EAAE,oBAAoB,EACnB,WAAW,EAAE,MAAM,IAAI;IAY5B,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CA0BtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getController.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/getController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,KAAK,4BAA4B,GAAG,uBAAuB,GAAG;IAC5D,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,+BAA+B,GAAG,0BAA0B,GAAG;IAClE,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,KAAK,4BAA4B,GAAG,uBAAuB,GAAG;IAC5D,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,6BAA6B,GAAG,wBAAwB,GAAG;IAC9D,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAChB,4BAA4B,GAC5B,+BAA+B,GAC/B,4BAA4B,GAC5B,6BAA6B,CAAC;AAElC,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,gBAAgB,EACxB,OAAO,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3D,
|
|
1
|
+
{"version":3,"file":"getController.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/getController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,KAAK,4BAA4B,GAAG,uBAAuB,GAAG;IAC5D,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,+BAA+B,GAAG,0BAA0B,GAAG;IAClE,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,KAAK,4BAA4B,GAAG,uBAAuB,GAAG;IAC5D,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,6BAA6B,GAAG,wBAAwB,GAAG;IAC9D,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAChB,4BAA4B,GAC5B,+BAA+B,GAC/B,4BAA4B,GAC5B,6BAA6B,CAAC;AAElC,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,gBAAgB,EACxB,OAAO,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3D,sBAkDF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSubmitStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/getSubmitStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAwB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAExE,eAAO,MAAM,iBAAiB,GAC5B,UAAU,QAAQ,KACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAmC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,2DACuB,CAAC;AAE3D,eAAO,MAAM,aAAa,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/types.ts"],"names":[],"mappings":"AAAA,oBAAY,IAAI;IACd,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/interfaces/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oBAAY,IAAI;IACd,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deuna/react-native-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "React Native SDK",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/module/index.js",
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
],
|
|
57
57
|
"repository": {
|
|
58
58
|
"type": "git",
|
|
59
|
-
"url": "git+https://github.com/
|
|
59
|
+
"url": "git+https://github.com/deuna-developers/deuna-sdk-react-native.git"
|
|
60
60
|
},
|
|
61
|
-
"author": "DEUNA
|
|
61
|
+
"author": "DEUNA (https://github.com/deuna-developers)",
|
|
62
62
|
"license": "MIT",
|
|
63
63
|
"bugs": {
|
|
64
|
-
"url": "https://github.com/
|
|
64
|
+
"url": "https://github.com/deuna-developers/deuna-sdk-react-native/issues"
|
|
65
65
|
},
|
|
66
|
-
"homepage": "https://github.com/
|
|
66
|
+
"homepage": "https://github.com/deuna-developers/deuna-sdk-react-native#readme",
|
|
67
67
|
"publishConfig": {
|
|
68
68
|
"registry": "https://registry.npmjs.org/"
|
|
69
69
|
},
|
package/src/DeunaSDK.ts
CHANGED
|
@@ -31,9 +31,14 @@ import { DownloadType, Mode, OnDownloadFile } from './interfaces/types';
|
|
|
31
31
|
import { Platform } from 'react-native';
|
|
32
32
|
import { DeviceFingerprintController } from './controllers/DeviceFingerprintController';
|
|
33
33
|
import { DEVICE_FINGERPRINT_URL } from './interfaces/constants';
|
|
34
|
+
import { SubmitStrategy } from './helpers/SubmitStrategy';
|
|
35
|
+
import { getSubmitStrategy } from './helpers/getSubmitStrategy';
|
|
34
36
|
|
|
35
37
|
export class DeunaSDK extends BaseDeuna {
|
|
36
|
-
constructor(
|
|
38
|
+
constructor(
|
|
39
|
+
readonly config: InitializeParams,
|
|
40
|
+
readonly onDestroyed?: () => void
|
|
41
|
+
) {
|
|
37
42
|
super();
|
|
38
43
|
}
|
|
39
44
|
|
|
@@ -50,11 +55,12 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
50
55
|
webViewController: DeunaWebViewController | null = null;
|
|
51
56
|
newTabWebViewController: BaseWebViewController | null = null;
|
|
52
57
|
deviceFingerprintController: DeviceFingerprintController | null = null;
|
|
58
|
+
submitStrategy: SubmitStrategy | null = null;
|
|
53
59
|
|
|
54
60
|
modalDismissPromise: Completer<void> | null = null;
|
|
55
61
|
newTabModalDismissPromise: Completer<void> | null = null;
|
|
56
62
|
|
|
57
|
-
|
|
63
|
+
get safeWebViewController(): DeunaWebViewController {
|
|
58
64
|
if (!this.webViewController) {
|
|
59
65
|
const errorMessage =
|
|
60
66
|
'A variant of the init method must be called first. Please call initPaymentWidget, initVoucherWidget, or another init method before using this functionality.';
|
|
@@ -188,7 +194,16 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
188
194
|
};
|
|
189
195
|
|
|
190
196
|
submit = async (): Promise<SubmitResult> => {
|
|
191
|
-
|
|
197
|
+
this.getStateFn = () => this.getWidgetState();
|
|
198
|
+
const submitStrategy = await getSubmitStrategy(this);
|
|
199
|
+
|
|
200
|
+
if (!submitStrategy) {
|
|
201
|
+
return this.safeWebViewController.submit();
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
this.submitStrategy = submitStrategy;
|
|
205
|
+
this.notifyListeners();
|
|
206
|
+
return this.submitStrategy.submit();
|
|
192
207
|
};
|
|
193
208
|
|
|
194
209
|
setCustomStyle = async (style: Partial<CustomStyles>): Promise<void> => {
|
|
@@ -225,11 +240,16 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
225
240
|
this.newTabWebViewController = null;
|
|
226
241
|
this.webViewController = null;
|
|
227
242
|
this.mode = null;
|
|
243
|
+
|
|
244
|
+
await this.submitStrategy?.deunaSDK.close();
|
|
245
|
+
this.submitStrategy = null;
|
|
246
|
+
|
|
228
247
|
this.notifyListeners();
|
|
229
248
|
|
|
230
249
|
// if the widget was shown in modal mode, wait for the modal to be dismissed
|
|
231
250
|
await this.modalDismissPromise?.wait;
|
|
232
251
|
this.modalDismissPromise = null;
|
|
252
|
+
this.onDestroyed?.();
|
|
233
253
|
};
|
|
234
254
|
|
|
235
255
|
onModalDismissed = () => {
|
|
@@ -13,6 +13,43 @@ interface DeunaWidgetProps {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export const DeunaWidget = (props: DeunaWidgetProps) => {
|
|
16
|
+
const { instance } = props;
|
|
17
|
+
const instanceRef = useRef(instance);
|
|
18
|
+
const [showPaymentStrategy, setShowPaymentStrategy] = useState(false);
|
|
19
|
+
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
instanceRef.current = instance;
|
|
22
|
+
}, [instance]);
|
|
23
|
+
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const listener = () => {
|
|
26
|
+
setShowPaymentStrategy(instanceRef.current.submitStrategy !== null);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
instanceRef.current.addListener(listener);
|
|
30
|
+
|
|
31
|
+
return () => {
|
|
32
|
+
instanceRef.current.removeListener(listener);
|
|
33
|
+
};
|
|
34
|
+
}, []);
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<>
|
|
38
|
+
<DeunaWidgetContainer
|
|
39
|
+
key="MainDeunaWidget"
|
|
40
|
+
instance={instanceRef.current}
|
|
41
|
+
/>
|
|
42
|
+
{showPaymentStrategy && (
|
|
43
|
+
<DeunaWidgetContainer
|
|
44
|
+
key="PaymentStrategy"
|
|
45
|
+
instance={instanceRef.current.submitStrategy!.deunaSDK}
|
|
46
|
+
/>
|
|
47
|
+
)}
|
|
48
|
+
</>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const DeunaWidgetContainer = (props: DeunaWidgetProps) => {
|
|
16
53
|
const { instance } = props;
|
|
17
54
|
const instanceRef = useRef(instance);
|
|
18
55
|
const [mode, setMode] = useState<Mode | null>(instance.mode);
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
State,
|
|
9
9
|
SubmitResult,
|
|
10
10
|
} from '../types';
|
|
11
|
-
import { submitError } from '../interfaces';
|
|
11
|
+
import { submitError, WidgetConfig } from '../interfaces';
|
|
12
12
|
import { Platform } from 'react-native';
|
|
13
13
|
import { ShouldStartLoadRequest } from 'react-native-webview/lib/WebViewTypes';
|
|
14
14
|
|
|
@@ -118,6 +118,10 @@ export abstract class DeunaWebViewController extends BaseWebViewController {
|
|
|
118
118
|
redirectUrl: string | null = null;
|
|
119
119
|
closedAction: ClosedAction = 'systemAction';
|
|
120
120
|
|
|
121
|
+
constructor(readonly widgetConfig: WidgetConfig) {
|
|
122
|
+
super();
|
|
123
|
+
}
|
|
124
|
+
|
|
121
125
|
abstract onEventDispatch: (event: Record<string, any>) => void;
|
|
122
126
|
|
|
123
127
|
onLoad = () => {
|
|
@@ -175,6 +179,9 @@ export abstract class DeunaWebViewController extends BaseWebViewController {
|
|
|
175
179
|
setXprops = () => {
|
|
176
180
|
this.webView?.injectJavaScript(
|
|
177
181
|
`
|
|
182
|
+
window.open = function(url, target, features) {
|
|
183
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openInNewTab}', url }));
|
|
184
|
+
};
|
|
178
185
|
console.log = function(message) {
|
|
179
186
|
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
|
|
180
187
|
};
|
|
@@ -4,11 +4,14 @@ import {
|
|
|
4
4
|
ElementsEventType,
|
|
5
5
|
} from '../interfaces/events/elements';
|
|
6
6
|
import { ElementsWidgetCallbacks } from '../types';
|
|
7
|
-
import { ElementsErrorType } from '../interfaces';
|
|
7
|
+
import { ElementsErrorType, WidgetConfig } from '../interfaces';
|
|
8
8
|
|
|
9
9
|
export class ElementsWidgetController extends DeunaWebViewController {
|
|
10
|
-
constructor(
|
|
11
|
-
|
|
10
|
+
constructor(
|
|
11
|
+
readonly callbacks: ElementsWidgetCallbacks,
|
|
12
|
+
readonly widgetConfig: WidgetConfig
|
|
13
|
+
) {
|
|
14
|
+
super(widgetConfig);
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
onError = (event: any) => {
|
|
@@ -4,7 +4,11 @@ import {
|
|
|
4
4
|
PaymentErrorType,
|
|
5
5
|
} from '../interfaces';
|
|
6
6
|
import { constants } from '../interfaces/constants';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
DownloadType,
|
|
9
|
+
OnDownloadFile,
|
|
10
|
+
WidgetConfig,
|
|
11
|
+
} from '../interfaces/types';
|
|
8
12
|
import {
|
|
9
13
|
PaymentWidgetCallbacks,
|
|
10
14
|
NextActionWidgetCallbacks,
|
|
@@ -18,8 +22,11 @@ type Callbacks = PaymentWidgetCallbacks &
|
|
|
18
22
|
OnDownloadFile;
|
|
19
23
|
|
|
20
24
|
export class PaymentWidgetController extends DeunaWebViewController {
|
|
21
|
-
constructor(
|
|
22
|
-
|
|
25
|
+
constructor(
|
|
26
|
+
readonly callbacks: Callbacks,
|
|
27
|
+
readonly widgetConfig: WidgetConfig
|
|
28
|
+
) {
|
|
29
|
+
super(widgetConfig);
|
|
23
30
|
}
|
|
24
31
|
|
|
25
32
|
onError = (event: any) => {
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DeunaSDK } from '../DeunaSDK';
|
|
2
|
+
import { Mode } from '../interfaces';
|
|
3
|
+
import { Environment, SubmitResult } from '../types';
|
|
4
|
+
|
|
5
|
+
export type SubmitStrategyType = 'PayPal';
|
|
6
|
+
|
|
7
|
+
export type SubmitStrategyConfig = {
|
|
8
|
+
publicApiKey: string;
|
|
9
|
+
environment: Environment;
|
|
10
|
+
orderToken?: string;
|
|
11
|
+
userToken?: string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export abstract class SubmitStrategy {
|
|
15
|
+
abstract deunaSDK: DeunaSDK;
|
|
16
|
+
constructor(
|
|
17
|
+
readonly config: SubmitStrategyConfig,
|
|
18
|
+
readonly type: SubmitStrategyType
|
|
19
|
+
) {}
|
|
20
|
+
|
|
21
|
+
abstract submit(): Promise<SubmitResult>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class PayPalSubmitStrategy extends SubmitStrategy {
|
|
25
|
+
deunaSDK: DeunaSDK;
|
|
26
|
+
|
|
27
|
+
constructor(
|
|
28
|
+
config: SubmitStrategyConfig,
|
|
29
|
+
readonly onDestroyed: () => void
|
|
30
|
+
) {
|
|
31
|
+
super(config, 'PayPal');
|
|
32
|
+
this.deunaSDK = new DeunaSDK(
|
|
33
|
+
{
|
|
34
|
+
publicApiKey: this.config.publicApiKey,
|
|
35
|
+
environment: this.config.environment,
|
|
36
|
+
},
|
|
37
|
+
this.onDestroyed
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async submit(): Promise<SubmitResult> {
|
|
42
|
+
await this.deunaSDK.initPaymentWidget({
|
|
43
|
+
mode: Mode.MODAL,
|
|
44
|
+
orderToken: this.config.orderToken ?? '',
|
|
45
|
+
userToken: this.config.userToken,
|
|
46
|
+
paymentMethods: [
|
|
47
|
+
{
|
|
48
|
+
paymentMethod: 'wallet',
|
|
49
|
+
processors: ['paypal_wallet'],
|
|
50
|
+
configuration: {
|
|
51
|
+
express: true,
|
|
52
|
+
flowType: {
|
|
53
|
+
type: 'twoStep',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
callbacks: {},
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
status: 'success',
|
|
63
|
+
code: 'success',
|
|
64
|
+
message: 'Payment submitted successfully',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -47,7 +47,8 @@ export const getWidgetController = (
|
|
|
47
47
|
userToken: rest.userToken ?? '',
|
|
48
48
|
language: rest.language ?? 'es',
|
|
49
49
|
sessionId: rest.sessionId ?? '',
|
|
50
|
-
mode: mode
|
|
50
|
+
mode: mode === Mode.MODAL ? 'modal' : 'target',
|
|
51
|
+
...(rest.domain && { domain: rest.domain }),
|
|
51
52
|
};
|
|
52
53
|
|
|
53
54
|
const widgetMappers = {
|
|
@@ -69,10 +70,16 @@ export const getWidgetController = (
|
|
|
69
70
|
voucher: () => baseParams,
|
|
70
71
|
};
|
|
71
72
|
|
|
73
|
+
const widgetConfig = {
|
|
74
|
+
orderToken: rest.orderToken,
|
|
75
|
+
behavior: rest.behavior,
|
|
76
|
+
userToken: rest.userToken,
|
|
77
|
+
};
|
|
78
|
+
|
|
72
79
|
const controller =
|
|
73
80
|
widget === 'elements'
|
|
74
|
-
? new ElementsWidgetController(callbacks)
|
|
75
|
-
: new PaymentWidgetController(callbacks);
|
|
81
|
+
? new ElementsWidgetController(callbacks, widgetConfig)
|
|
82
|
+
: new PaymentWidgetController(callbacks, widgetConfig);
|
|
76
83
|
|
|
77
84
|
controller.url = linkBuilders[widget](widgetMappers[widget]());
|
|
78
85
|
controller.hidePayButton = rest.hidePayButton ?? false;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DeunaSDK } from '../DeunaSDK';
|
|
2
|
+
import { TWO_STEP_FLOW } from '../interfaces/constants';
|
|
3
|
+
import { PayPalSubmitStrategy, SubmitStrategy } from './SubmitStrategy';
|
|
4
|
+
|
|
5
|
+
export const getSubmitStrategy = async (
|
|
6
|
+
deunaSDK: DeunaSDK
|
|
7
|
+
): Promise<SubmitStrategy | null> => {
|
|
8
|
+
const selectedPaymentMethod = await deunaSDK.getSelectedPaymentMethod();
|
|
9
|
+
if (!selectedPaymentMethod) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const { widgetConfig } = deunaSDK.safeWebViewController;
|
|
14
|
+
|
|
15
|
+
const processorName = selectedPaymentMethod.processor_name as string;
|
|
16
|
+
|
|
17
|
+
const configFlowType = selectedPaymentMethod.configuration?.flowType?.type;
|
|
18
|
+
const behaviorFlowType =
|
|
19
|
+
widgetConfig.behavior?.paymentMethods?.flowType?.type;
|
|
20
|
+
|
|
21
|
+
const isTwoStepFlow =
|
|
22
|
+
configFlowType === TWO_STEP_FLOW ||
|
|
23
|
+
(!configFlowType && behaviorFlowType === TWO_STEP_FLOW);
|
|
24
|
+
|
|
25
|
+
if (isTwoStepFlow && processorName === 'paypal_wallet') {
|
|
26
|
+
return new PayPalSubmitStrategy(
|
|
27
|
+
{
|
|
28
|
+
publicApiKey: deunaSDK.config.publicApiKey,
|
|
29
|
+
environment: deunaSDK.config.environment ?? 'production',
|
|
30
|
+
orderToken: widgetConfig.orderToken,
|
|
31
|
+
userToken: widgetConfig.userToken,
|
|
32
|
+
},
|
|
33
|
+
() => {
|
|
34
|
+
if (deunaSDK.submitStrategy) {
|
|
35
|
+
deunaSDK.submitStrategy = null;
|
|
36
|
+
deunaSDK.notifyListeners();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
};
|
|
@@ -4,5 +4,7 @@ export const constants = {
|
|
|
4
4
|
voucherPdfDownloadUrl: 'voucherPdfDownloadUrl',
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
+
export const DEVICE_FINGERPRINT_URL =
|
|
8
|
+
'https://cdn.stg.deuna.io/mobile-sdks/get_fraud_id.html';
|
|
7
9
|
|
|
8
|
-
export const
|
|
10
|
+
export const TWO_STEP_FLOW = 'twoStep';
|
package/src/interfaces/types.ts
CHANGED