@tap-payments/connect 2.6.80-test → 2.7.0
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 +34 -33
- package/build/@types/config.d.ts +63 -0
- package/build/@types/config.js +1 -0
- package/build/@types/index.d.ts +8 -25
- package/build/api/index.js +14 -26
- package/build/constants/index.d.ts +5 -2
- package/build/constants/index.js +5 -2
- package/build/features/Connect/Connect.js +24 -14
- package/build/features/Connect/ConnectAuth.d.ts +1 -1
- package/build/features/Connect/ConnectAuth.js +1 -5
- package/build/features/Connect/ConnectBank.d.ts +12 -0
- package/build/features/Connect/ConnectBank.js +118 -0
- package/build/features/Connect/ConnectBoard.d.ts +1 -1
- package/build/features/Connect/ConnectBoard.js +4 -1
- package/build/features/Connect/ConnectBrand.d.ts +1 -1
- package/build/features/Connect/ConnectBrand.js +5 -1
- package/build/features/Connect/ConnectEntity.d.ts +12 -0
- package/build/features/Connect/ConnectEntity.js +118 -0
- package/build/features/Connect/ConnectIndividual.d.ts +12 -0
- package/build/features/Connect/ConnectIndividual.js +118 -0
- package/build/features/Connect/ConnectPassword.d.ts +12 -0
- package/build/features/Connect/ConnectPassword.js +118 -0
- package/build/features/Connect/ConnectTax.d.ts +12 -0
- package/build/features/Connect/ConnectTax.js +118 -0
- package/build/features/Connect/index.d.ts +7 -2
- package/build/features/Connect/index.js +6 -1
- package/build/index.d.ts +3 -3
- package/build/index.js +7 -3
- package/build/utils/common.d.ts +2 -2
- package/build/utils/common.js +3 -3
- package/build/utils/config.d.ts +1 -1
- package/build/utils/config.js +3 -1
- package/build/utils/validation.js +1 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -85,7 +85,7 @@ const ConnectComponent = () => {
|
|
|
85
85
|
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,shrink-to-fit=no"
|
|
86
86
|
/>
|
|
87
87
|
<title>Auth-JsConnect</title>
|
|
88
|
-
<script src="https://tap-sdks.b-cdn.net/connect/build-2.
|
|
88
|
+
<script src="https://tap-sdks.b-cdn.net/connect/build-2.7.0/main.js"></script>
|
|
89
89
|
</head>
|
|
90
90
|
<body>
|
|
91
91
|
<div id="root"></div>
|
|
@@ -106,7 +106,7 @@ const ConnectComponent = () => {
|
|
|
106
106
|
mature: false,
|
|
107
107
|
board: true,
|
|
108
108
|
boardMaturity: false,
|
|
109
|
-
|
|
109
|
+
mode: "popup",
|
|
110
110
|
open: true,
|
|
111
111
|
postURL: 'https://api.example.com/post',
|
|
112
112
|
redirectUrl: '',
|
|
@@ -137,34 +137,35 @@ const ConnectComponent = () => {
|
|
|
137
137
|
|
|
138
138
|
## Properties
|
|
139
139
|
|
|
140
|
-
| name
|
|
141
|
-
|
|
|
142
|
-
| publicKey `required`
|
|
143
|
-
| domain `required`
|
|
144
|
-
| language `required`
|
|
145
|
-
| country `required`
|
|
146
|
-
| scope `required`
|
|
147
|
-
| data `optional`
|
|
148
|
-
| lead `optional`
|
|
149
|
-
| mode `required`
|
|
150
|
-
| mature `required`
|
|
151
|
-
| board `optional`
|
|
152
|
-
| open `required`
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
|
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
| postURL `optional`
|
|
161
|
-
|
|
|
162
|
-
| redirectUrl `optional`
|
|
163
|
-
|
|
|
164
|
-
| onReady `optional`
|
|
165
|
-
| onCreated `optional`
|
|
166
|
-
|
|
|
167
|
-
| onSuccess `optional`
|
|
168
|
-
| onError `optional`
|
|
169
|
-
| onClose `optional`
|
|
170
|
-
| onBoardCompleted `optional`
|
|
140
|
+
| name | type | description |
|
|
141
|
+
| ----------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
142
|
+
| publicKey `required` | `string` | Public key of the merchant account provided by Tap Payments |
|
|
143
|
+
| domain `required` | `string` | Domain of the merchant |
|
|
144
|
+
| language `required` | `Languages` | language flag to control the language of the connect element and only accept [ar,en] |
|
|
145
|
+
| country `required` | `string` | Country ISO2 of the merchant |
|
|
146
|
+
| scope `required` | `string` | the scope of the merchant available values [merchant, auth] |
|
|
147
|
+
| data `optional` | `Array<string>` | Merchant data array `ex: [operator]` |
|
|
148
|
+
| lead `optional` | `string` | Lead Id can be passed in case of you already created a lead using our API |
|
|
149
|
+
| mode `required` | `string` | Decide to show connect as a `popup` or `page` or `content` to our connect domain. Default value is `popup`. `content` mode only used for board kit |
|
|
150
|
+
| mature `required` | `boolean` | Decide the mode of connect `normal` or `express` |
|
|
151
|
+
| board `optional` | `string` | Show/Hide board screens |
|
|
152
|
+
| open `required` | `boolean` | Open/Close the connect library |
|
|
153
|
+
| features.dialogStartTransition `optional` | `left or right or up or down` | Used to handle **auth** slide animation direction when open popup for auth kit |
|
|
154
|
+
| features.dialogEndTransition `optional` | `left or right or up or down` | Used to handle **auth** slide animation direction when close popup for auth kit |
|
|
155
|
+
| features `object` | `all values true` | Used to show or hide some fields (poweredBy, merchantLogo - Used to hide the merchant logo and it can be used only for auth kit, switchLanguage, overlay - Used to disable the background color and it can be used only for auth kit, loaderOverlay - Used to disable the loader background color and it can be used only for auth kit, tapTextLogo, closeButton - Used enable to close dialog, disableNafath - Used to hide nafath login button in **auth** kit, disablePaci - Used to hide paci login button in **auth** kit) |
|
|
156
|
+
| loaderColor `optional` | `string` | Used to change loader color and it can be used only for board kit |
|
|
157
|
+
| notification `optional` | `object: {email: boolean, mobile?: boolean}` | Express flow decide to send notification to email or mobile after finish create account |
|
|
158
|
+
| boardMaturity `optional` | `boolean` | Decide the board maturity |
|
|
159
|
+
| settingData `optional` | `boolean` | This is to get settings information. It is used board kit and other kits open from board |
|
|
160
|
+
| postURL `optional` | `string` | The POST Method URL used to push te data from our server to the merchant server and |
|
|
161
|
+
| | | it's required only if `mature` is `false` |
|
|
162
|
+
| redirectUrl `optional` | `string` | This redirect url after verify authentication go to merchant website |
|
|
163
|
+
| | | It is `required` if scope is `auth` and mode is `page` |
|
|
164
|
+
| onReady `optional` | `function` | Callback function to handle the ready state of the `TapConnect` |
|
|
165
|
+
| onCreated `optional` | `function` | Callback function to called the the account created successfully |
|
|
166
|
+
| | | it calls only if `mature` is `false` |
|
|
167
|
+
| onSuccess `optional` | `function` | Callback function to handle the success response, it will run after the user finish the flow |
|
|
168
|
+
| onError `optional` | `function` | Callback function to handle the error response, it will run if the user face any error |
|
|
169
|
+
| onClose `optional` | `function` | Callback function to called when `TapConnect` get close |
|
|
170
|
+
| onBoardCompleted `optional` | `function` | Callback function to called when you complete all flows |
|
|
171
|
+
| onSettingFetched `optional` | `function` | Callback function to called after fetch settings information. It is used board kit and other kits open from board |
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface ConfigInfo {
|
|
2
|
+
operator: Operator;
|
|
3
|
+
scope: string;
|
|
4
|
+
data?: string[];
|
|
5
|
+
lead?: Lead;
|
|
6
|
+
board?: Board;
|
|
7
|
+
interface?: Interface;
|
|
8
|
+
redirect?: Redirect;
|
|
9
|
+
post?: Redirect;
|
|
10
|
+
connect?: Redirect;
|
|
11
|
+
platforms?: string[];
|
|
12
|
+
payment_provider?: PaymentProvider;
|
|
13
|
+
notification?: Notification;
|
|
14
|
+
}
|
|
15
|
+
export interface ConnectFeatures {
|
|
16
|
+
poweredBy?: boolean;
|
|
17
|
+
merchantLogo?: boolean;
|
|
18
|
+
switchLanguage?: boolean;
|
|
19
|
+
overlay?: boolean;
|
|
20
|
+
loaderOverlay?: boolean;
|
|
21
|
+
tapTextLogo?: boolean;
|
|
22
|
+
closeButton?: boolean;
|
|
23
|
+
dialogStartTransition?: 'left' | 'right' | 'up' | 'down';
|
|
24
|
+
dialogEndTransition?: 'left' | 'right' | 'up' | 'down';
|
|
25
|
+
disableNafath?: boolean;
|
|
26
|
+
disablePaci?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface Notification {
|
|
29
|
+
email: boolean;
|
|
30
|
+
mobile?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface PaymentProvider {
|
|
33
|
+
technology_id: string;
|
|
34
|
+
settlement_by: string;
|
|
35
|
+
}
|
|
36
|
+
interface Redirect {
|
|
37
|
+
url: string;
|
|
38
|
+
}
|
|
39
|
+
interface Interface {
|
|
40
|
+
locale?: 'dynamic' | 'ar' | 'en';
|
|
41
|
+
edges?: 'straight' | 'curved';
|
|
42
|
+
}
|
|
43
|
+
interface Board {
|
|
44
|
+
display?: boolean;
|
|
45
|
+
editable?: boolean;
|
|
46
|
+
}
|
|
47
|
+
interface Lead {
|
|
48
|
+
id: string;
|
|
49
|
+
}
|
|
50
|
+
interface Operator {
|
|
51
|
+
public_key: string;
|
|
52
|
+
}
|
|
53
|
+
type RecordType = Record<string, any>;
|
|
54
|
+
export interface SettingAsyncData {
|
|
55
|
+
fingerPrint: RecordType;
|
|
56
|
+
locale: RecordType;
|
|
57
|
+
country_list: RecordType;
|
|
58
|
+
ip_info: RecordType;
|
|
59
|
+
merchant: RecordType;
|
|
60
|
+
operator: RecordType;
|
|
61
|
+
config: RecordType;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/build/@types/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Language } from '../constants';
|
|
2
|
+
import { ConfigInfo, ConnectFeatures, Notification, SettingAsyncData } from './config';
|
|
2
3
|
export interface ConnectProps {
|
|
3
4
|
elementId: string;
|
|
4
5
|
publicKey: string;
|
|
@@ -11,23 +12,22 @@ export interface ConnectProps {
|
|
|
11
12
|
mode?: 'popup' | 'page' | 'content';
|
|
12
13
|
board?: boolean;
|
|
13
14
|
boardMaturity?: boolean;
|
|
14
|
-
hideOverlay?: boolean;
|
|
15
|
-
hideLoaderOverlay?: boolean;
|
|
16
|
-
hideMerchantLogo?: boolean;
|
|
17
|
-
openAnimationDirection?: 'left' | 'right' | 'up' | 'down';
|
|
18
|
-
closeAnimationDirection?: 'left' | 'right' | 'up' | 'down';
|
|
19
15
|
loaderColor?: string;
|
|
20
16
|
boardId?: string;
|
|
21
17
|
open: boolean;
|
|
22
18
|
postURL?: string;
|
|
23
19
|
redirectUrl?: string;
|
|
24
20
|
data?: Array<string>;
|
|
21
|
+
settingData?: SettingAsyncData;
|
|
22
|
+
features?: ConnectFeatures;
|
|
23
|
+
notification?: Notification;
|
|
25
24
|
onError?: (err: Error) => void;
|
|
26
25
|
onReady?: () => void;
|
|
27
26
|
onClose?: () => void;
|
|
28
27
|
onCreated?: (res: object) => void;
|
|
29
28
|
onSuccess?: (res: object) => void;
|
|
30
29
|
onBoardCompleted?: () => void;
|
|
30
|
+
onSettingFetched?: (data: SettingAsyncData) => void;
|
|
31
31
|
}
|
|
32
32
|
export interface OriginalConnectProps {
|
|
33
33
|
publicKey: string;
|
|
@@ -44,6 +44,8 @@ export interface OriginalConnectProps {
|
|
|
44
44
|
data?: Array<string>;
|
|
45
45
|
showBoard?: boolean;
|
|
46
46
|
boardMaturity?: boolean;
|
|
47
|
+
features?: ConnectFeatures;
|
|
48
|
+
notification?: Notification;
|
|
47
49
|
verifyToken?: string;
|
|
48
50
|
onFlowCompleted: (res: object, headers?: Record<string, string>) => void;
|
|
49
51
|
onError: (err: any) => void;
|
|
@@ -55,26 +57,7 @@ export interface OriginalConnectProps {
|
|
|
55
57
|
onClose?: () => void;
|
|
56
58
|
onBoardCompleted?: () => void;
|
|
57
59
|
}
|
|
58
|
-
export type TokenParams =
|
|
59
|
-
board?: boolean;
|
|
60
|
-
public_key: string;
|
|
61
|
-
board_maturity?: boolean;
|
|
62
|
-
domain: string;
|
|
63
|
-
language: string;
|
|
64
|
-
country: string;
|
|
65
|
-
scope: string;
|
|
66
|
-
lead_id?: string;
|
|
67
|
-
maturity: boolean;
|
|
68
|
-
notification: {
|
|
69
|
-
email: boolean;
|
|
70
|
-
sms: boolean;
|
|
71
|
-
};
|
|
72
|
-
post?: {
|
|
73
|
-
url: string;
|
|
74
|
-
};
|
|
75
|
-
redirect_url?: string;
|
|
76
|
-
data?: Array<string>;
|
|
77
|
-
};
|
|
60
|
+
export type TokenParams = ConfigInfo;
|
|
78
61
|
export interface TokenResponseParams extends TokenParams {
|
|
79
62
|
id: string;
|
|
80
63
|
contact: {
|
package/build/api/index.js
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -56,36 +45,35 @@ export var getFingerPrint = function () {
|
|
|
56
45
|
});
|
|
57
46
|
};
|
|
58
47
|
export var generateConfigToken = function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
59
|
-
var visitorId,
|
|
60
|
-
var _a
|
|
61
|
-
return __generator(this, function (
|
|
62
|
-
switch (
|
|
48
|
+
var visitorId, publicKey, baseUrl, res, public_key, response, error_1;
|
|
49
|
+
var _a;
|
|
50
|
+
return __generator(this, function (_b) {
|
|
51
|
+
switch (_b.label) {
|
|
63
52
|
case 0:
|
|
64
|
-
|
|
53
|
+
_b.trys.push([0, 4, , 5]);
|
|
65
54
|
return [4, getFingerPrint()];
|
|
66
55
|
case 1:
|
|
67
|
-
visitorId = (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return [4, axios.post("".concat(baseUrl, "init"),
|
|
56
|
+
visitorId = (_b.sent()).visitorId;
|
|
57
|
+
publicKey = data.operator.public_key;
|
|
58
|
+
baseUrl = getBaseUrl(publicKey);
|
|
59
|
+
return [4, axios.post("".concat(baseUrl, "init"), {}, {
|
|
71
60
|
headers: {
|
|
72
61
|
'Content-Type': 'application/json',
|
|
73
62
|
'Access-Control-Allow-Headers': true,
|
|
74
|
-
authorization:
|
|
63
|
+
authorization: publicKey,
|
|
75
64
|
bi: visitorId || '',
|
|
76
65
|
cu: window.location.href,
|
|
77
66
|
mdn: window.location.origin
|
|
78
67
|
}
|
|
79
68
|
})];
|
|
80
69
|
case 2:
|
|
81
|
-
res =
|
|
70
|
+
res = _b.sent();
|
|
82
71
|
public_key = (((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.config) || {}).public_key;
|
|
83
72
|
if (public_key) {
|
|
84
73
|
publicKey = public_key;
|
|
85
74
|
baseUrl = getBaseUrl(public_key);
|
|
86
75
|
}
|
|
87
|
-
|
|
88
|
-
return [4, axios.post("".concat(baseUrl, "connect"), payload, {
|
|
76
|
+
return [4, axios.post("".concat(baseUrl, "v3/connect"), data, {
|
|
89
77
|
headers: {
|
|
90
78
|
'Content-Type': 'application/json',
|
|
91
79
|
'Access-Control-Allow-Headers': true,
|
|
@@ -96,10 +84,10 @@ export var generateConfigToken = function (data) { return __awaiter(void 0, void
|
|
|
96
84
|
}
|
|
97
85
|
})];
|
|
98
86
|
case 3:
|
|
99
|
-
response =
|
|
87
|
+
response = _b.sent();
|
|
100
88
|
return [2, { data: response.data, publicKey: publicKey }];
|
|
101
89
|
case 4:
|
|
102
|
-
error_1 =
|
|
90
|
+
error_1 = _b.sent();
|
|
103
91
|
return [2, { error: error_1 }];
|
|
104
92
|
case 5: return [2];
|
|
105
93
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const CDN_LIBRARY_BASE_URL = "https://auth-jsconnect.b-cdn.net/build-2.
|
|
1
|
+
export declare const CDN_LIBRARY_BASE_URL = "https://auth-jsconnect.b-cdn.net/build-2.7.0";
|
|
2
2
|
export declare const Maturity: {
|
|
3
3
|
readonly FULL: "full";
|
|
4
4
|
readonly EXPRESS: "express";
|
|
@@ -8,7 +8,10 @@ export declare const Language: {
|
|
|
8
8
|
readonly AR: "ar";
|
|
9
9
|
};
|
|
10
10
|
export declare const CONNECT_URL = "https://connect.tap.company/";
|
|
11
|
+
export declare const CONNECT_BETA_URL = "https://connect.beta.tap.company/";
|
|
12
|
+
export declare const CONNECT_SANDBOX_URL = "https://connect.sandbox.tap.company/";
|
|
11
13
|
export declare const CONNECT_DEV_URL = "https://connect.dev.tap.company/";
|
|
12
14
|
export declare const CONNECT_MW_URL = "https://connect-mw.tap.company/middleware/";
|
|
13
|
-
export declare const
|
|
15
|
+
export declare const CONNECT_MW_BETA_URL = "https://connect-mw.beta.tap.company/middleware/";
|
|
14
16
|
export declare const CONNECT_SANDBOX_MW_URL = "https://connect-mw.sandbox.tap.company/middleware/";
|
|
17
|
+
export declare const CONNECT_DEV_MW_URL = "https://connect-mw.dev.tap.company/middleware/";
|
package/build/constants/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export var CDN_LIBRARY_BASE_URL = 'https://auth-jsconnect.b-cdn.net/build-2.
|
|
1
|
+
export var CDN_LIBRARY_BASE_URL = 'https://auth-jsconnect.b-cdn.net/build-2.7.0';
|
|
2
2
|
export var Maturity = {
|
|
3
3
|
FULL: 'full',
|
|
4
4
|
EXPRESS: 'express'
|
|
@@ -8,7 +8,10 @@ export var Language = {
|
|
|
8
8
|
AR: 'ar'
|
|
9
9
|
};
|
|
10
10
|
export var CONNECT_URL = 'https://connect.tap.company/';
|
|
11
|
+
export var CONNECT_BETA_URL = 'https://connect.beta.tap.company/';
|
|
12
|
+
export var CONNECT_SANDBOX_URL = 'https://connect.sandbox.tap.company/';
|
|
11
13
|
export var CONNECT_DEV_URL = 'https://connect.dev.tap.company/';
|
|
12
14
|
export var CONNECT_MW_URL = 'https://connect-mw.tap.company/middleware/';
|
|
13
|
-
export var
|
|
15
|
+
export var CONNECT_MW_BETA_URL = 'https://connect-mw.beta.tap.company/middleware/';
|
|
14
16
|
export var CONNECT_SANDBOX_MW_URL = 'https://connect-mw.sandbox.tap.company/middleware/';
|
|
17
|
+
export var CONNECT_DEV_MW_URL = 'https://connect-mw.dev.tap.company/middleware/';
|
|
@@ -87,23 +87,33 @@ export var TapConnect = React.memo(function (props) {
|
|
|
87
87
|
});
|
|
88
88
|
var tapConnectInstance = null;
|
|
89
89
|
export var renderTapConnect = function (props, elementId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
90
|
-
var mode, board, publicKey, boardMaturity,
|
|
90
|
+
var mode, board, publicKey, boardMaturity, language, country, scope, lead, postURL, mature, onError, redirectUrl, AuthData, payload, _a, data, publicKeyValue, _b, token, connect, baseUrl, url_1, countryCode, url, el, root, unmount;
|
|
91
91
|
return __generator(this, function (_c) {
|
|
92
92
|
switch (_c.label) {
|
|
93
93
|
case 0:
|
|
94
94
|
props.mode = props.mode || 'popup';
|
|
95
|
-
mode = props.mode, board = props.board, publicKey = props.publicKey, boardMaturity = props.boardMaturity,
|
|
95
|
+
mode = props.mode, board = props.board, publicKey = props.publicKey, boardMaturity = props.boardMaturity, language = props.language, country = props.country, scope = props.scope, lead = props.lead, postURL = props.postURL, mature = props.mature, onError = props.onError, redirectUrl = props.redirectUrl, AuthData = props.data;
|
|
96
96
|
if (!(mode === 'page')) return [3, 2];
|
|
97
|
-
payload = __assign({
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
} }, (postURL && __assign(__assign({ post: {
|
|
101
|
-
url: postURL
|
|
102
|
-
} }, (redirectUrl && {
|
|
103
|
-
platform_redirect_url: redirectUrl
|
|
104
|
-
})), (AuthData && {
|
|
97
|
+
payload = __assign(__assign(__assign(__assign({ operator: {
|
|
98
|
+
public_key: publicKey
|
|
99
|
+
}, scope: scope }, (AuthData && {
|
|
105
100
|
data: AuthData
|
|
106
|
-
}))
|
|
101
|
+
})), { lead: {
|
|
102
|
+
id: lead || ''
|
|
103
|
+
}, board: {
|
|
104
|
+
display: board,
|
|
105
|
+
editable: boardMaturity
|
|
106
|
+
}, interface: {
|
|
107
|
+
locale: language
|
|
108
|
+
} }), (redirectUrl && {
|
|
109
|
+
redirect: {
|
|
110
|
+
url: redirectUrl
|
|
111
|
+
}
|
|
112
|
+
})), (postURL && {
|
|
113
|
+
post: {
|
|
114
|
+
url: postURL
|
|
115
|
+
}
|
|
116
|
+
}));
|
|
107
117
|
return [4, generateConfigToken(payload)];
|
|
108
118
|
case 1:
|
|
109
119
|
_a = _c.sent(), data = _a.data, publicKeyValue = _a.publicKey;
|
|
@@ -111,15 +121,15 @@ export var renderTapConnect = function (props, elementId) { return __awaiter(voi
|
|
|
111
121
|
onError === null || onError === void 0 ? void 0 : onError(data.error);
|
|
112
122
|
return [2];
|
|
113
123
|
}
|
|
114
|
-
_b = data || {}, token = _b.token,
|
|
124
|
+
_b = data || {}, token = _b.token, connect = _b.connect;
|
|
115
125
|
baseUrl = getRedirectBaseUrl(publicKeyValue || '');
|
|
116
126
|
if (!mature || scope === 'auth') {
|
|
117
|
-
url_1 = (
|
|
127
|
+
url_1 = (connect === null || connect === void 0 ? void 0 : connect.url) || "".concat(baseUrl, "?config_token=").concat(token);
|
|
118
128
|
window.location.href = url_1;
|
|
119
129
|
return [2];
|
|
120
130
|
}
|
|
121
131
|
countryCode = country.toLowerCase();
|
|
122
|
-
url = (
|
|
132
|
+
url = (connect === null || connect === void 0 ? void 0 : connect.url) || "".concat(baseUrl).concat(countryCode, "?config_token=").concat(token);
|
|
123
133
|
window.location.href = url;
|
|
124
134
|
return [2];
|
|
125
135
|
case 2:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ConnectProps as ConnectAttrs } from '../../@types';
|
|
3
|
-
export type ConnectAuthProps = Pick<ConnectAttrs, 'open' | 'domain' | 'publicKey' | 'redirectUrl' | 'data' | 'postURL' | 'lead' | 'country' | 'language' | 'onSuccess' | 'onError' | 'onReady' | 'onClose' | '
|
|
3
|
+
export type ConnectAuthProps = Pick<ConnectAttrs, 'open' | 'domain' | 'publicKey' | 'redirectUrl' | 'data' | 'postURL' | 'lead' | 'country' | 'language' | 'onSuccess' | 'onError' | 'onReady' | 'onClose' | 'features'>;
|
|
4
4
|
export declare const TapConnectAuth: React.MemoExoticComponent<(props: ConnectAuthProps & {
|
|
5
5
|
id?: string;
|
|
6
6
|
}) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -84,11 +84,7 @@ var ConnectAuth = function (props) {
|
|
|
84
84
|
onError: props.onError,
|
|
85
85
|
onReady: props.onReady,
|
|
86
86
|
onClose: props.onClose,
|
|
87
|
-
|
|
88
|
-
hideLoaderOverlay: props.hideLoaderOverlay,
|
|
89
|
-
hideMerchantLogo: props.hideMerchantLogo,
|
|
90
|
-
openAnimationDirection: props.openAnimationDirection,
|
|
91
|
-
closeAnimationDirection: props.closeAnimationDirection
|
|
87
|
+
features: props.features
|
|
92
88
|
}, (_a = props.id) !== null && _a !== void 0 ? _a : 'tap-connect-auth-lib-id').unmount;
|
|
93
89
|
return function () {
|
|
94
90
|
unmount();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ConnectProps as ConnectAttrs } from '../../@types';
|
|
3
|
+
type BankProps = Pick<ConnectAttrs, 'open' | 'mode' | 'scope' | 'domain' | 'board' | 'publicKey' | 'postURL' | 'country' | 'language' | 'onSuccess' | 'onError' | 'onReady' | 'onClose' | 'loaderColor' | 'settingData' | 'onSettingFetched' | 'features'>;
|
|
4
|
+
export type TapBankProps = BankProps & {
|
|
5
|
+
verifyToken: string;
|
|
6
|
+
onBoardButtonClick: (data: Record<string, string>) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const TapBank: React.MemoExoticComponent<(props: TapBankProps & {
|
|
9
|
+
id?: string;
|
|
10
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
11
|
+
export declare const renderTapBank: (props: TapBankProps, elementId: string) => Promise<any>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
49
|
+
import * as React from 'react';
|
|
50
|
+
import { createRoot } from 'react-dom/client';
|
|
51
|
+
import { findOrCreateElementAndInject, validateBoardOtherKitsProps } from '../../utils';
|
|
52
|
+
import { useScript, useStyle } from '../../hooks';
|
|
53
|
+
import { CDN_LIBRARY_BASE_URL } from '../../constants';
|
|
54
|
+
var Bank = function (props) {
|
|
55
|
+
useStyle("".concat(CDN_LIBRARY_BASE_URL, "/main.css"));
|
|
56
|
+
var status = useScript("".concat(CDN_LIBRARY_BASE_URL, "/main.js"));
|
|
57
|
+
React.useEffect(function () {
|
|
58
|
+
if (status === 'ready')
|
|
59
|
+
console.info('connect-bank-js is ready!');
|
|
60
|
+
if (status === 'error')
|
|
61
|
+
console.error('connect-bank-js failed to load!');
|
|
62
|
+
}, [status]);
|
|
63
|
+
React.useEffect(function () {
|
|
64
|
+
var _a;
|
|
65
|
+
if (status !== 'ready')
|
|
66
|
+
return;
|
|
67
|
+
var renderBankLib = window['TapAuth'].renderBankLib;
|
|
68
|
+
var unmount = renderBankLib({
|
|
69
|
+
open: props.open,
|
|
70
|
+
mode: props.mode,
|
|
71
|
+
scope: props.scope,
|
|
72
|
+
merchantDomain: props.domain,
|
|
73
|
+
showBoard: props.board,
|
|
74
|
+
publicKey: props.publicKey,
|
|
75
|
+
postURL: props.postURL,
|
|
76
|
+
appInfo: {
|
|
77
|
+
name: window.location.hostname || window.location.origin
|
|
78
|
+
},
|
|
79
|
+
businessCountryCode: props.country,
|
|
80
|
+
language: props.language,
|
|
81
|
+
onFlowCompleted: props.onSuccess,
|
|
82
|
+
onError: props.onError,
|
|
83
|
+
onReady: props.onReady,
|
|
84
|
+
onClose: props.onClose,
|
|
85
|
+
loaderColor: props.loaderColor,
|
|
86
|
+
verifyToken: props.verifyToken,
|
|
87
|
+
onBoardButtonClick: props.onBoardButtonClick,
|
|
88
|
+
settingData: props.settingData,
|
|
89
|
+
onSettingFetched: props.onSettingFetched,
|
|
90
|
+
features: props.features
|
|
91
|
+
}, (_a = props.id) !== null && _a !== void 0 ? _a : 'tap-connect-bank-lib-id').unmount;
|
|
92
|
+
return function () {
|
|
93
|
+
unmount();
|
|
94
|
+
};
|
|
95
|
+
}, [status]);
|
|
96
|
+
if (status !== 'ready')
|
|
97
|
+
return null;
|
|
98
|
+
return _jsx("div", { id: 'tap-connect-bank-lib-id' });
|
|
99
|
+
};
|
|
100
|
+
export var TapBank = React.memo(function (props) {
|
|
101
|
+
validateBoardOtherKitsProps(props);
|
|
102
|
+
return _jsx(Bank, __assign({}, props));
|
|
103
|
+
});
|
|
104
|
+
var tapConnectInstance = null;
|
|
105
|
+
export var renderTapBank = function (props, elementId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
106
|
+
var el, root, unmount;
|
|
107
|
+
return __generator(this, function (_a) {
|
|
108
|
+
el = findOrCreateElementAndInject(elementId);
|
|
109
|
+
root = createRoot(el);
|
|
110
|
+
root.render(_jsx(TapBank, __assign({}, props)));
|
|
111
|
+
unmount = function () {
|
|
112
|
+
root.unmount();
|
|
113
|
+
tapConnectInstance = null;
|
|
114
|
+
};
|
|
115
|
+
tapConnectInstance = { unmount: unmount };
|
|
116
|
+
return [2, tapConnectInstance];
|
|
117
|
+
});
|
|
118
|
+
}); };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ConnectProps as ConnectAttrs } from '../../@types';
|
|
3
|
-
export type BoardProps = Pick<ConnectAttrs, 'open' | 'mode' | 'scope' | 'domain' | 'publicKey' | 'postURL' | 'country' | 'language' | 'onSuccess' | 'onError' | 'onReady' | 'onClose' | 'loaderColor' | 'boardId'>;
|
|
3
|
+
export type BoardProps = Pick<ConnectAttrs, 'open' | 'mode' | 'scope' | 'domain' | 'publicKey' | 'postURL' | 'country' | 'language' | 'onSuccess' | 'onError' | 'onReady' | 'onClose' | 'loaderColor' | 'boardId' | 'settingData' | 'onSettingFetched' | 'features'>;
|
|
4
4
|
export type TapBoardProps = BoardProps & {
|
|
5
5
|
onBoardButtonClick: (data: Record<string, string>) => void;
|
|
6
6
|
};
|
|
@@ -83,7 +83,10 @@ var Board = function (props) {
|
|
|
83
83
|
onClose: props.onClose,
|
|
84
84
|
loaderColor: props.loaderColor,
|
|
85
85
|
boardId: props.boardId,
|
|
86
|
-
onBoardButtonClick: props.onBoardButtonClick
|
|
86
|
+
onBoardButtonClick: props.onBoardButtonClick,
|
|
87
|
+
settingData: props.settingData,
|
|
88
|
+
onSettingFetched: props.onSettingFetched,
|
|
89
|
+
features: props.features
|
|
87
90
|
}, (_a = props.id) !== null && _a !== void 0 ? _a : 'tap-connect-board-lib-id').unmount;
|
|
88
91
|
return function () {
|
|
89
92
|
unmount();
|