@coinflowlabs/react 4.2.7 → 4.2.8
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 +4 -0
- package/build/cjs/card-form/CoinflowCardForm.d.ts +1 -23
- package/build/cjs/card-form/CoinflowCardForm.js +11 -14
- package/build/cjs/card-form/CoinflowCardForm.js.map +1 -1
- package/build/cjs/card-form/CoinflowCardFormHeader.js +2 -2
- package/build/cjs/card-form/CoinflowCardFormHeader.js.map +1 -1
- package/build/cjs/card-form/useCardFormIframe.d.ts +5 -94
- package/build/cjs/card-form/useCardFormIframe.js +50 -164
- package/build/cjs/card-form/useCardFormIframe.js.map +1 -1
- package/build/cjs/common/card-form/TokenEx.d.ts +106 -0
- package/build/cjs/common/card-form/TokenEx.js +4 -0
- package/build/cjs/common/card-form/TokenEx.js.map +1 -0
- package/build/cjs/common/card-form/cardFormTypes.d.ts +46 -0
- package/build/cjs/common/card-form/cardFormTypes.js +14 -0
- package/build/cjs/common/card-form/cardFormTypes.js.map +1 -0
- package/build/cjs/common/card-form/tokenexHelpers.d.ts +43 -0
- package/build/cjs/common/card-form/tokenexHelpers.js +204 -0
- package/build/cjs/common/card-form/tokenexHelpers.js.map +1 -0
- package/build/cjs/common/index.d.ts +3 -0
- package/build/cjs/common/index.js +3 -0
- package/build/cjs/common/index.js.map +1 -1
- package/build/esm/card-form/CoinflowCardForm.d.ts +1 -23
- package/build/esm/card-form/CoinflowCardForm.js +8 -11
- package/build/esm/card-form/CoinflowCardForm.js.map +1 -1
- package/build/esm/card-form/CoinflowCardFormHeader.js +2 -2
- package/build/esm/card-form/CoinflowCardFormHeader.js.map +1 -1
- package/build/esm/card-form/useCardFormIframe.d.ts +5 -94
- package/build/esm/card-form/useCardFormIframe.js +51 -164
- package/build/esm/card-form/useCardFormIframe.js.map +1 -1
- package/build/esm/common/card-form/TokenEx.d.ts +106 -0
- package/build/esm/common/card-form/TokenEx.js +3 -0
- package/build/esm/common/card-form/TokenEx.js.map +1 -0
- package/build/esm/common/card-form/cardFormTypes.d.ts +46 -0
- package/build/esm/common/card-form/cardFormTypes.js +11 -0
- package/build/esm/common/card-form/cardFormTypes.js.map +1 -0
- package/build/esm/common/card-form/tokenexHelpers.d.ts +43 -0
- package/build/esm/common/card-form/tokenexHelpers.js +197 -0
- package/build/esm/common/card-form/tokenexHelpers.js.map +1 -0
- package/build/esm/common/index.d.ts +3 -0
- package/build/esm/common/index.js +3 -0
- package/build/esm/common/index.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,172 +1,83 @@
|
|
|
1
|
-
|
|
2
|
-
import { __assign, __awaiter, __generator, __spreadArray } from "tslib";
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
3
2
|
import { useCallback, useEffect, useState } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
export var TokenExCardNumberIframeId = 'tokenExCardNumber';
|
|
6
|
-
export var TokenExCvvContainerID = 'tokenExCardCvv';
|
|
7
|
-
var CARD_TYPE_MAPPING = (_a = {},
|
|
8
|
-
_a[CardType.VISA] = 'visa',
|
|
9
|
-
_a[CardType.MASTERCARD] = 'masterCard',
|
|
10
|
-
_a[CardType.AMEX] = 'americanExpress',
|
|
11
|
-
_a[CardType.DISCOVER] = 'discover',
|
|
12
|
-
_a);
|
|
3
|
+
import { doInitializeCvvOnlyTokenExIframe, doInitializeTokenExCardOnlyIframe, doInitializeTokenExIframe, setTokenExScriptTag } from '../common';
|
|
13
4
|
export function useCardFormIframe(env) {
|
|
14
5
|
var _this = this;
|
|
15
6
|
var _a = useState(false), loaded = _a[0], setLoaded = _a[1];
|
|
16
7
|
var _b = useState(false), tokenExScriptLoaded = _b[0], setTokenExScriptLoaded = _b[1];
|
|
17
8
|
var _c = useState(undefined), tokenExIframe = _c[0], setTokenExIframe = _c[1];
|
|
18
9
|
var _d = useState(undefined), cachedToken = _d[0], setCachedToken = _d[1];
|
|
19
|
-
var getIframeConfig = useCallback(function (_a) {
|
|
20
|
-
var token = _a.token, origins = _a.origins;
|
|
21
|
-
return fetch(new CoinflowUtils(env).url + '/api/checkout/authentication-key', {
|
|
22
|
-
method: 'POST',
|
|
23
|
-
headers: {
|
|
24
|
-
'Content-Type': 'application/json',
|
|
25
|
-
},
|
|
26
|
-
body: JSON.stringify({
|
|
27
|
-
origins: __spreadArray(__spreadArray([], (origins !== null && origins !== void 0 ? origins : []), true), [window.location.origin], false),
|
|
28
|
-
token: token,
|
|
29
|
-
}),
|
|
30
|
-
}).then(function (res) { return __awaiter(_this, void 0, void 0, function () {
|
|
31
|
-
return __generator(this, function (_a) {
|
|
32
|
-
switch (_a.label) {
|
|
33
|
-
case 0: return [4 /*yield*/, res.json()];
|
|
34
|
-
case 1: return [2 /*return*/, (_a.sent())];
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}); });
|
|
38
|
-
}, [env]);
|
|
39
|
-
var getStylesAndFont = useCallback(function (s) {
|
|
40
|
-
var _a, _b, _c;
|
|
41
|
-
var css = JSON.parse(s);
|
|
42
|
-
var styles = {
|
|
43
|
-
base: CSSPropertiesToComponent(css.base),
|
|
44
|
-
focus: CSSPropertiesToComponent(css.focus),
|
|
45
|
-
error: CSSPropertiesToComponent(css.error),
|
|
46
|
-
cvv: {
|
|
47
|
-
base: CSSPropertiesToComponent((_a = css.cvv) === null || _a === void 0 ? void 0 : _a.base),
|
|
48
|
-
focus: CSSPropertiesToComponent((_b = css.cvv) === null || _b === void 0 ? void 0 : _b.focus),
|
|
49
|
-
error: CSSPropertiesToComponent((_c = css.cvv) === null || _c === void 0 ? void 0 : _c.error),
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
return { styles: styles };
|
|
53
|
-
}, []);
|
|
54
|
-
var setTokenExScriptTag = useCallback(function () {
|
|
55
|
-
var scriptTagId = 'tokenex-script';
|
|
56
|
-
if (document.head.querySelector("#".concat(scriptTagId)))
|
|
57
|
-
return;
|
|
58
|
-
var sdkScriptTag = document.createElement('script');
|
|
59
|
-
sdkScriptTag.src =
|
|
60
|
-
env === 'prod'
|
|
61
|
-
? 'https://htp.tokenex.com/iframe/iframe-v3.min.js'
|
|
62
|
-
: 'https://test-htp.tokenex.com/iframe/iframe-v3.min.js';
|
|
63
|
-
sdkScriptTag.id = scriptTagId;
|
|
64
|
-
document.head.appendChild(sdkScriptTag);
|
|
65
|
-
document.getElementById(scriptTagId).addEventListener('load', function () {
|
|
66
|
-
console.log('Setting tokenExScriptLoaded to true!');
|
|
67
|
-
setTokenExScriptLoaded(true);
|
|
68
|
-
});
|
|
69
|
-
}, [env]);
|
|
70
10
|
useEffect(function () {
|
|
71
|
-
setTokenExScriptTag();
|
|
72
|
-
}, [
|
|
73
|
-
var loadIframe = useCallback(function (iframe) {
|
|
74
|
-
var tokenize = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
75
|
-
return __generator(this, function (_a) {
|
|
76
|
-
switch (_a.label) {
|
|
77
|
-
case 0:
|
|
78
|
-
iframe.tokenize();
|
|
79
|
-
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
80
|
-
iframe.on('tokenize', function (data) {
|
|
81
|
-
setCachedToken(data.token);
|
|
82
|
-
resolve(data);
|
|
83
|
-
});
|
|
84
|
-
iframe.on('validate', function (data) {
|
|
85
|
-
// noinspection PointlessBooleanExpressionJS
|
|
86
|
-
var isInvalid = !data.isValid || data.isCvvValid === false;
|
|
87
|
-
if (isInvalid)
|
|
88
|
-
reject(data);
|
|
89
|
-
});
|
|
90
|
-
})];
|
|
91
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}); };
|
|
95
|
-
iframe.on('change', function () { return setCachedToken(undefined); });
|
|
96
|
-
iframe.on('cvvChange', function () { return setCachedToken(undefined); });
|
|
97
|
-
iframe.on('load', function () {
|
|
98
|
-
setTimeout(function () { return setLoaded(true); }, 350);
|
|
99
|
-
var el = document.querySelector('#tx_iframe_tokenExCardNumber');
|
|
100
|
-
if (el) {
|
|
101
|
-
// noinspection JSDeprecatedSymbols
|
|
102
|
-
el.scrolling = 'no';
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
setLoaded(false);
|
|
106
|
-
iframe.load();
|
|
107
|
-
var overriden = __assign(__assign({}, iframe), { tokenize: tokenize });
|
|
108
|
-
setTokenExIframe(overriden);
|
|
109
|
-
return overriden;
|
|
110
|
-
}, []);
|
|
11
|
+
setTokenExScriptTag({ env: env, setTokenExScriptLoaded: setTokenExScriptLoaded });
|
|
12
|
+
}, [env, setTokenExScriptLoaded]);
|
|
111
13
|
var initializeCvvOnlyTokenExIframe = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
112
|
-
var
|
|
14
|
+
var iframe;
|
|
113
15
|
var token = _b.token, cardType = _b.cardType, css = _b.css, debug = _b.debug, fontFamily = _b.fontFamily, origins = _b.origins;
|
|
114
16
|
return __generator(this, function (_c) {
|
|
115
17
|
switch (_c.label) {
|
|
116
|
-
case 0:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
18
|
+
case 0: return [4 /*yield*/, doInitializeCvvOnlyTokenExIframe({
|
|
19
|
+
token: token,
|
|
20
|
+
cardType: cardType,
|
|
21
|
+
css: css,
|
|
22
|
+
debug: debug,
|
|
23
|
+
fontFamily: fontFamily,
|
|
24
|
+
origins: origins,
|
|
25
|
+
tokenExScriptLoaded: tokenExScriptLoaded,
|
|
26
|
+
env: env,
|
|
27
|
+
setCachedToken: setCachedToken,
|
|
28
|
+
setLoaded: setLoaded,
|
|
29
|
+
})];
|
|
123
30
|
case 1:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
iframe = TokenEx.Iframe(TokenExCvvContainerID, config);
|
|
128
|
-
return [2 /*return*/, loadIframe(iframe)];
|
|
31
|
+
iframe = _c.sent();
|
|
32
|
+
setTokenExIframe(iframe);
|
|
33
|
+
return [2 /*return*/, iframe];
|
|
129
34
|
}
|
|
130
35
|
});
|
|
131
|
-
}); }, [
|
|
36
|
+
}); }, [env, tokenExScriptLoaded]);
|
|
132
37
|
var initializeTokenExIframe = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
133
|
-
var
|
|
38
|
+
var iframe;
|
|
134
39
|
var css = _b.css, fontFamily = _b.fontFamily, debug = _b.debug, origins = _b.origins;
|
|
135
40
|
return __generator(this, function (_c) {
|
|
136
41
|
switch (_c.label) {
|
|
137
|
-
case 0:
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
42
|
+
case 0: return [4 /*yield*/, doInitializeTokenExIframe({
|
|
43
|
+
css: css,
|
|
44
|
+
debug: debug,
|
|
45
|
+
fontFamily: fontFamily,
|
|
46
|
+
origins: origins,
|
|
47
|
+
tokenExScriptLoaded: tokenExScriptLoaded,
|
|
48
|
+
env: env,
|
|
49
|
+
setCachedToken: setCachedToken,
|
|
50
|
+
setLoaded: setLoaded,
|
|
51
|
+
})];
|
|
143
52
|
case 1:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return [2 /*return*/, loadIframe(iframe)];
|
|
53
|
+
iframe = _c.sent();
|
|
54
|
+
setTokenExIframe(iframe);
|
|
55
|
+
return [2 /*return*/, iframe];
|
|
148
56
|
}
|
|
149
57
|
});
|
|
150
|
-
}); }, [
|
|
58
|
+
}); }, [env, tokenExScriptLoaded]);
|
|
151
59
|
var initializeTokenExCardOnlyIframe = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
152
|
-
var
|
|
60
|
+
var iframe;
|
|
153
61
|
var css = _b.css, fontFamily = _b.fontFamily, debug = _b.debug, origins = _b.origins;
|
|
154
62
|
return __generator(this, function (_c) {
|
|
155
63
|
switch (_c.label) {
|
|
156
|
-
case 0:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
64
|
+
case 0: return [4 /*yield*/, doInitializeTokenExCardOnlyIframe({
|
|
65
|
+
css: css,
|
|
66
|
+
debug: debug,
|
|
67
|
+
fontFamily: fontFamily,
|
|
68
|
+
origins: origins,
|
|
69
|
+
tokenExScriptLoaded: tokenExScriptLoaded,
|
|
70
|
+
env: env,
|
|
71
|
+
setCachedToken: setCachedToken,
|
|
72
|
+
setLoaded: setLoaded,
|
|
73
|
+
})];
|
|
162
74
|
case 1:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
return [2 /*return*/, loadIframe(iframe)];
|
|
75
|
+
iframe = _c.sent();
|
|
76
|
+
setTokenExIframe(iframe);
|
|
77
|
+
return [2 /*return*/, iframe];
|
|
167
78
|
}
|
|
168
79
|
});
|
|
169
|
-
}); }, [
|
|
80
|
+
}); }, [env, tokenExScriptLoaded]);
|
|
170
81
|
useEffect(function () {
|
|
171
82
|
if (!tokenExIframe)
|
|
172
83
|
return;
|
|
@@ -183,28 +94,4 @@ export function useCardFormIframe(env) {
|
|
|
183
94
|
setTokenExScriptTag: setTokenExScriptTag,
|
|
184
95
|
};
|
|
185
96
|
}
|
|
186
|
-
function CSSPropertiesToComponent(dict) {
|
|
187
|
-
if (!dict)
|
|
188
|
-
return '';
|
|
189
|
-
if (typeof dict === 'string')
|
|
190
|
-
return dict;
|
|
191
|
-
var str = '';
|
|
192
|
-
var _loop_1 = function (key, value) {
|
|
193
|
-
var clo = '';
|
|
194
|
-
key.split('').forEach(function (lt) {
|
|
195
|
-
if (lt.toUpperCase() === lt) {
|
|
196
|
-
clo += '-' + lt.toLowerCase();
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
clo += lt;
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
str += clo + ':' + value + ';';
|
|
203
|
-
};
|
|
204
|
-
for (var _i = 0, _a = Object.entries(dict); _i < _a.length; _i++) {
|
|
205
|
-
var _b = _a[_i], key = _b[0], value = _b[1];
|
|
206
|
-
_loop_1(key, value);
|
|
207
|
-
}
|
|
208
|
-
return str;
|
|
209
|
-
}
|
|
210
97
|
//# sourceMappingURL=useCardFormIframe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCardFormIframe.js","sourceRoot":"","sources":["../../../src/card-form/useCardFormIframe.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCardFormIframe.js","sourceRoot":"","sources":["../../../src/card-form/useCardFormIframe.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAEL,gCAAgC,EAChC,iCAAiC,EACjC,yBAAyB,EACzB,mBAAmB,EAEpB,MAAM,WAAW,CAAC;AAEnB,MAAM,UAAU,iBAAiB,CAAC,GAAiB;IAAnD,iBAuGC;IAtGO,IAAA,KAAsB,QAAQ,CAAU,KAAK,CAAC,EAA7C,MAAM,QAAA,EAAE,SAAS,QAA4B,CAAC;IAC/C,IAAA,KACJ,QAAQ,CAAU,KAAK,CAAC,EADnB,mBAAmB,QAAA,EAAE,sBAAsB,QACxB,CAAC;IAErB,IAAA,KAAoC,QAAQ,CAChD,SAAS,CACV,EAFM,aAAa,QAAA,EAAE,gBAAgB,QAErC,CAAC;IAEI,IAAA,KAAgC,QAAQ,CAAqB,SAAS,CAAC,EAAtE,WAAW,QAAA,EAAE,cAAc,QAA2C,CAAC;IAE9E,SAAS,CAAC;QACR,mBAAmB,CAAC,EAAC,GAAG,KAAA,EAAE,sBAAsB,wBAAA,EAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAElC,IAAM,8BAA8B,GAAG,WAAW,CAChD,gEAAO,EAOwH;;YAN7H,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,GAAG,SAAA,EACH,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,OAAO,aAAA;;;wBAEQ,qBAAM,gCAAgC,CAAC;wBACpD,KAAK,OAAA;wBACL,QAAQ,UAAA;wBACR,GAAG,KAAA;wBACH,KAAK,OAAA;wBACL,UAAU,YAAA;wBACV,OAAO,SAAA;wBACP,mBAAmB,qBAAA;wBACnB,GAAG,KAAA;wBACH,cAAc,gBAAA;wBACd,SAAS,WAAA;qBACV,CAAC,EAAA;;oBAXI,MAAM,GAAG,SAWb;oBACF,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACzB,sBAAO,MAAM,EAAC;;;SACf,EACD,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAC3B,CAAC;IAEF,IAAM,uBAAuB,GAAG,WAAW,CACzC,gEAAO,EAKiH;;YAJtH,GAAG,SAAA,EACH,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,OAAO,aAAA;;;wBAEQ,qBAAM,yBAAyB,CAAC;wBAC7C,GAAG,KAAA;wBACH,KAAK,OAAA;wBACL,UAAU,YAAA;wBACV,OAAO,SAAA;wBACP,mBAAmB,qBAAA;wBACnB,GAAG,KAAA;wBACH,cAAc,gBAAA;wBACd,SAAS,WAAA;qBACV,CAAC,EAAA;;oBATI,MAAM,GAAG,SASb;oBACF,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACzB,sBAAO,MAAM,EAAC;;;SACf,EACD,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAC3B,CAAC;IAEF,IAAM,+BAA+B,GAAG,WAAW,CACjD,gEAAO,EAKyH;;YAJ9H,GAAG,SAAA,EACH,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,OAAO,aAAA;;;wBAEQ,qBAAM,iCAAiC,CAAC;wBACrD,GAAG,KAAA;wBACH,KAAK,OAAA;wBACL,UAAU,YAAA;wBACV,OAAO,SAAA;wBACP,mBAAmB,qBAAA;wBACnB,GAAG,KAAA;wBACH,cAAc,gBAAA;wBACd,SAAS,WAAA;qBACV,CAAC,EAAA;;oBATI,MAAM,GAAG,SASb;oBACF,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACzB,sBAAO,MAAM,EAAC;;;SACf,EACD,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAC3B,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,aAAa,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,cAAM,OAAA,aAAa,CAAC,MAAM,EAAE,EAAtB,CAAsB,CAAC;IACtC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO;QACL,aAAa,eAAA;QACb,uBAAuB,yBAAA;QACvB,8BAA8B,gCAAA;QAC9B,+BAA+B,iCAAA;QAC/B,MAAM,QAAA;QACN,WAAW,aAAA;QACX,mBAAmB,qBAAA;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export interface TokenizationResponse {
|
|
2
|
+
cardType: string;
|
|
3
|
+
cvvIncluded: true;
|
|
4
|
+
firstSix: string;
|
|
5
|
+
lastFour: string;
|
|
6
|
+
referenceNumber: string;
|
|
7
|
+
token: string;
|
|
8
|
+
tokenHMAC: string;
|
|
9
|
+
}
|
|
10
|
+
declare global {
|
|
11
|
+
namespace TokenEx {
|
|
12
|
+
interface FraudServicesConfig {
|
|
13
|
+
useKount?: boolean;
|
|
14
|
+
kount?: {
|
|
15
|
+
merchantId?: string;
|
|
16
|
+
mode?: string;
|
|
17
|
+
anId?: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
interface Config {
|
|
21
|
+
debug?: boolean;
|
|
22
|
+
enablePrettyFormat?: boolean;
|
|
23
|
+
maskInput?: boolean;
|
|
24
|
+
enableValidateOnBlur?: boolean;
|
|
25
|
+
enableAriaRequired?: boolean;
|
|
26
|
+
pci?: boolean;
|
|
27
|
+
cvvOnly?: boolean;
|
|
28
|
+
allowUnknownCardTypes?: boolean;
|
|
29
|
+
enableAutoComplete?: boolean;
|
|
30
|
+
returnAutoCompleteValues?: boolean;
|
|
31
|
+
returnKhash?: boolean;
|
|
32
|
+
returnWhash?: boolean;
|
|
33
|
+
enforceLuhnCompliance?: boolean;
|
|
34
|
+
use3DS?: boolean;
|
|
35
|
+
validateOnKeyUp?: boolean;
|
|
36
|
+
validateOnCvvKeyUp?: boolean;
|
|
37
|
+
expiresInSeconds?: number;
|
|
38
|
+
useExtendedBIN?: boolean;
|
|
39
|
+
inlineIframeJavaScript?: boolean;
|
|
40
|
+
iframeVersion?: number;
|
|
41
|
+
authenticationKey?: string;
|
|
42
|
+
origin?: string;
|
|
43
|
+
tokenExID?: string;
|
|
44
|
+
timestamp?: string;
|
|
45
|
+
tokenScheme?: string;
|
|
46
|
+
token?: string;
|
|
47
|
+
customDataLabel?: string;
|
|
48
|
+
customCvvDataLabel?: string;
|
|
49
|
+
title?: string;
|
|
50
|
+
cvvTitle?: string;
|
|
51
|
+
inputTitle?: string;
|
|
52
|
+
cvvInputTitle?: string;
|
|
53
|
+
cardMaxLengths?: {
|
|
54
|
+
visa?: number;
|
|
55
|
+
mastercard?: number;
|
|
56
|
+
americanExpress?: number;
|
|
57
|
+
discover?: number;
|
|
58
|
+
jcb?: number;
|
|
59
|
+
diners?: number;
|
|
60
|
+
};
|
|
61
|
+
fraudServices?: FraudServicesConfig;
|
|
62
|
+
threeDSMethodNotificationUrl?: string;
|
|
63
|
+
customDataTypes?: string | object;
|
|
64
|
+
cvvContainerID?: string;
|
|
65
|
+
cvvPlaceholder?: string;
|
|
66
|
+
cardType?: string;
|
|
67
|
+
forterSiteId?: string;
|
|
68
|
+
forterUsername?: string;
|
|
69
|
+
customRegEx?: string;
|
|
70
|
+
placeholder?: string;
|
|
71
|
+
inputType?: string;
|
|
72
|
+
inputMode?: string;
|
|
73
|
+
font?: string;
|
|
74
|
+
cvv?: boolean;
|
|
75
|
+
styles: {
|
|
76
|
+
base: string;
|
|
77
|
+
focus: string;
|
|
78
|
+
error: string;
|
|
79
|
+
cvv: {
|
|
80
|
+
base: string;
|
|
81
|
+
focus: string;
|
|
82
|
+
error: string;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
interface IframeAPI {
|
|
87
|
+
load(): void;
|
|
88
|
+
on: (event: string, callback: (data?: any) => void) => void;
|
|
89
|
+
tokenize(): void;
|
|
90
|
+
validate(): void;
|
|
91
|
+
reset(): void;
|
|
92
|
+
blur(): void;
|
|
93
|
+
cvvBlur(): void;
|
|
94
|
+
focus(): void;
|
|
95
|
+
cvvFocus(): void;
|
|
96
|
+
remove(): void;
|
|
97
|
+
toggleMask(): void;
|
|
98
|
+
toggleCvvMask(): void;
|
|
99
|
+
setPAN(pan: string): void;
|
|
100
|
+
binLookup(): void;
|
|
101
|
+
validateConfig(): void;
|
|
102
|
+
setFraudServicesRequestDetails(data: string): void;
|
|
103
|
+
}
|
|
104
|
+
function Iframe(containerID: string, configuration: Config): IframeAPI;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenEx.js","sourceRoot":"","sources":["../../../../src/common/card-form/TokenEx.ts"],"names":[],"mappings":"AAAA,kDAAkD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { TokenizationResponse } from './TokenEx';
|
|
3
|
+
import { CardType, CoinflowEnvs } from '../CoinflowTypes';
|
|
4
|
+
export declare const TokenExCardNumberIframeId = "tokenExCardNumber";
|
|
5
|
+
export declare const TokenExCvvContainerID = "tokenExCardCvv";
|
|
6
|
+
export interface TokenExIframe extends ReturnType<typeof TokenEx.Iframe> {
|
|
7
|
+
tokenize: () => Promise<TokenizationResponse>;
|
|
8
|
+
}
|
|
9
|
+
export declare const CARD_TYPE_MAPPING: Record<CardType, string>;
|
|
10
|
+
export interface TokenExIFrameConfiguration {
|
|
11
|
+
origin: string;
|
|
12
|
+
timestamp: string;
|
|
13
|
+
tokenExID: string;
|
|
14
|
+
tokenScheme: string;
|
|
15
|
+
authenticationKey: string;
|
|
16
|
+
pci: true;
|
|
17
|
+
token?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface CardFormInputStyles {
|
|
20
|
+
base: CSSProperties | string;
|
|
21
|
+
focus?: CSSProperties | string;
|
|
22
|
+
error?: CSSProperties | string;
|
|
23
|
+
}
|
|
24
|
+
export type CoinflowCardTokenResponse = {
|
|
25
|
+
token: string;
|
|
26
|
+
};
|
|
27
|
+
export interface CoinflowCardNumberInputProps {
|
|
28
|
+
env: CoinflowEnvs;
|
|
29
|
+
css: CardFormInputStyles & {
|
|
30
|
+
cvv: CardFormInputStyles;
|
|
31
|
+
};
|
|
32
|
+
debug?: boolean;
|
|
33
|
+
origins?: string[];
|
|
34
|
+
font?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface CoinflowCvvOnlyInputProps {
|
|
37
|
+
token: string;
|
|
38
|
+
cardType: CardType;
|
|
39
|
+
env: CoinflowEnvs;
|
|
40
|
+
css: CardFormInputStyles & {
|
|
41
|
+
cvv: CardFormInputStyles;
|
|
42
|
+
};
|
|
43
|
+
debug?: boolean;
|
|
44
|
+
origins?: string[];
|
|
45
|
+
font?: string;
|
|
46
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import { CardType } from '../CoinflowTypes';
|
|
3
|
+
export var TokenExCardNumberIframeId = 'tokenExCardNumber';
|
|
4
|
+
export var TokenExCvvContainerID = 'tokenExCardCvv';
|
|
5
|
+
export var CARD_TYPE_MAPPING = (_a = {},
|
|
6
|
+
_a[CardType.VISA] = 'visa',
|
|
7
|
+
_a[CardType.MASTERCARD] = 'masterCard',
|
|
8
|
+
_a[CardType.AMEX] = 'americanExpress',
|
|
9
|
+
_a[CardType.DISCOVER] = 'discover',
|
|
10
|
+
_a);
|
|
11
|
+
//# sourceMappingURL=cardFormTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardFormTypes.js","sourceRoot":"","sources":["../../../../src/common/card-form/cardFormTypes.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,QAAQ,EAAe,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,IAAM,yBAAyB,GAAG,mBAAmB,CAAC;AAC7D,MAAM,CAAC,IAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAKtD,MAAM,CAAC,IAAM,iBAAiB;IAC5B,GAAC,QAAQ,CAAC,IAAI,IAAG,MAAM;IACvB,GAAC,QAAQ,CAAC,UAAU,IAAG,YAAY;IACnC,GAAC,QAAQ,CAAC,IAAI,IAAG,iBAAiB;IAClC,GAAC,QAAQ,CAAC,QAAQ,IAAG,UAAU;OAChC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CardType, CoinflowEnvs } from '../CoinflowTypes';
|
|
2
|
+
import { TokenExIframe, TokenExIFrameConfiguration } from './cardFormTypes';
|
|
3
|
+
export declare function getIframeConfig({ token, origins, env, }: {
|
|
4
|
+
token?: string;
|
|
5
|
+
origins: string[] | undefined;
|
|
6
|
+
env: CoinflowEnvs;
|
|
7
|
+
}): Promise<TokenExIFrameConfiguration>;
|
|
8
|
+
export declare function setTokenExScriptTag({ env, setTokenExScriptLoaded, }: {
|
|
9
|
+
env: CoinflowEnvs;
|
|
10
|
+
setTokenExScriptLoaded: (b: boolean) => void;
|
|
11
|
+
}): void;
|
|
12
|
+
export declare function doInitializeCvvOnlyTokenExIframe({ token, cardType, css, debug, fontFamily, origins, tokenExScriptLoaded, env, setCachedToken, setLoaded, }: {
|
|
13
|
+
token: string;
|
|
14
|
+
cardType: CardType;
|
|
15
|
+
css: string;
|
|
16
|
+
debug?: boolean;
|
|
17
|
+
fontFamily?: string;
|
|
18
|
+
origins: string[] | undefined;
|
|
19
|
+
tokenExScriptLoaded: boolean;
|
|
20
|
+
env: CoinflowEnvs;
|
|
21
|
+
setCachedToken: (s: string | undefined) => void;
|
|
22
|
+
setLoaded: (b: boolean) => void;
|
|
23
|
+
}): Promise<TokenExIframe | undefined>;
|
|
24
|
+
export declare function doInitializeTokenExIframe({ css, debug, fontFamily, origins, tokenExScriptLoaded, env, setCachedToken, setLoaded, }: {
|
|
25
|
+
css: string;
|
|
26
|
+
debug?: boolean;
|
|
27
|
+
fontFamily?: string;
|
|
28
|
+
origins: string[] | undefined;
|
|
29
|
+
tokenExScriptLoaded: boolean;
|
|
30
|
+
env: CoinflowEnvs;
|
|
31
|
+
setCachedToken: (s: string | undefined) => void;
|
|
32
|
+
setLoaded: (b: boolean) => void;
|
|
33
|
+
}): Promise<TokenExIframe | undefined>;
|
|
34
|
+
export declare function doInitializeTokenExCardOnlyIframe({ css, debug, fontFamily, origins, tokenExScriptLoaded, env, setCachedToken, setLoaded, }: {
|
|
35
|
+
css: string;
|
|
36
|
+
debug?: boolean;
|
|
37
|
+
fontFamily?: string;
|
|
38
|
+
origins: string[] | undefined;
|
|
39
|
+
tokenExScriptLoaded: boolean;
|
|
40
|
+
env: CoinflowEnvs;
|
|
41
|
+
setCachedToken: (s: string | undefined) => void;
|
|
42
|
+
setLoaded: (b: boolean) => void;
|
|
43
|
+
}): Promise<TokenExIframe | undefined>;
|