@coinflowlabs/react 4.2.7 → 4.2.9

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.
Files changed (43) hide show
  1. package/README.md +8 -0
  2. package/build/cjs/card-form/CoinflowCardForm.d.ts +1 -23
  3. package/build/cjs/card-form/CoinflowCardForm.js +17 -6
  4. package/build/cjs/card-form/CoinflowCardForm.js.map +1 -1
  5. package/build/cjs/card-form/CoinflowCardFormHeader.js +2 -2
  6. package/build/cjs/card-form/CoinflowCardFormHeader.js.map +1 -1
  7. package/build/cjs/card-form/useCardFormIframe.d.ts +5 -94
  8. package/build/cjs/card-form/useCardFormIframe.js +50 -164
  9. package/build/cjs/card-form/useCardFormIframe.js.map +1 -1
  10. package/build/cjs/common/card-form/TokenEx.d.ts +106 -0
  11. package/build/cjs/common/card-form/TokenEx.js +4 -0
  12. package/build/cjs/common/card-form/TokenEx.js.map +1 -0
  13. package/build/cjs/common/card-form/cardFormTypes.d.ts +47 -0
  14. package/build/cjs/common/card-form/cardFormTypes.js +14 -0
  15. package/build/cjs/common/card-form/cardFormTypes.js.map +1 -0
  16. package/build/cjs/common/card-form/tokenexHelpers.d.ts +43 -0
  17. package/build/cjs/common/card-form/tokenexHelpers.js +206 -0
  18. package/build/cjs/common/card-form/tokenexHelpers.js.map +1 -0
  19. package/build/cjs/common/index.d.ts +3 -0
  20. package/build/cjs/common/index.js +3 -0
  21. package/build/cjs/common/index.js.map +1 -1
  22. package/build/esm/card-form/CoinflowCardForm.d.ts +1 -23
  23. package/build/esm/card-form/CoinflowCardForm.js +14 -3
  24. package/build/esm/card-form/CoinflowCardForm.js.map +1 -1
  25. package/build/esm/card-form/CoinflowCardFormHeader.js +2 -2
  26. package/build/esm/card-form/CoinflowCardFormHeader.js.map +1 -1
  27. package/build/esm/card-form/useCardFormIframe.d.ts +5 -94
  28. package/build/esm/card-form/useCardFormIframe.js +51 -164
  29. package/build/esm/card-form/useCardFormIframe.js.map +1 -1
  30. package/build/esm/common/card-form/TokenEx.d.ts +106 -0
  31. package/build/esm/common/card-form/TokenEx.js +3 -0
  32. package/build/esm/common/card-form/TokenEx.js.map +1 -0
  33. package/build/esm/common/card-form/cardFormTypes.d.ts +47 -0
  34. package/build/esm/common/card-form/cardFormTypes.js +11 -0
  35. package/build/esm/common/card-form/cardFormTypes.js.map +1 -0
  36. package/build/esm/common/card-form/tokenexHelpers.d.ts +43 -0
  37. package/build/esm/common/card-form/tokenexHelpers.js +199 -0
  38. package/build/esm/common/card-form/tokenexHelpers.js.map +1 -0
  39. package/build/esm/common/index.d.ts +3 -0
  40. package/build/esm/common/index.js +3 -0
  41. package/build/esm/common/index.js.map +1 -1
  42. package/build/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +2 -2
@@ -1,172 +1,83 @@
1
- var _a;
2
- import { __assign, __awaiter, __generator, __spreadArray } from "tslib";
1
+ import { __awaiter, __generator } from "tslib";
3
2
  import { useCallback, useEffect, useState } from 'react';
4
- import { CardType, CoinflowUtils } from '../common';
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
- }, [setTokenExScriptTag]);
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 type, iframeConfig, styles, config, iframe;
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
- if (!tokenExScriptLoaded && typeof TokenEx === 'undefined') {
118
- console.warn("Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#".concat('tokenex-script'));
119
- return [2 /*return*/];
120
- }
121
- type = CARD_TYPE_MAPPING[cardType];
122
- return [4 /*yield*/, getIframeConfig({ token: token, origins: origins })];
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
- iframeConfig = _c.sent();
125
- styles = getStylesAndFont(css).styles;
126
- config = __assign(__assign({}, iframeConfig), { placeholder: 'CVV', enablePrettyFormat: true, styles: styles, token: token, cvvOnly: true, cvv: true, cvvContainerID: TokenExCvvContainerID, cardType: type, debug: debug !== null && debug !== void 0 ? debug : false, font: fontFamily });
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
- }); }, [getIframeConfig, getStylesAndFont, loadIframe, tokenExScriptLoaded]);
36
+ }); }, [env, tokenExScriptLoaded]);
132
37
  var initializeTokenExIframe = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
133
- var iframeConfig, styles, iframe;
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
- if (!tokenExScriptLoaded && typeof TokenEx === 'undefined') {
139
- console.warn("Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#".concat('tokenex-script'));
140
- return [2 /*return*/];
141
- }
142
- return [4 /*yield*/, getIframeConfig({ origins: origins })];
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
- iframeConfig = _c.sent();
145
- styles = getStylesAndFont(css).styles;
146
- iframe = TokenEx.Iframe(TokenExCardNumberIframeId, __assign(__assign({}, iframeConfig), { placeholder: '0000 0000 0000 0000', cvvPlaceholder: 'CVV', enablePrettyFormat: true, cvv: true, cvvContainerID: TokenExCvvContainerID, styles: styles, font: fontFamily, debug: debug !== null && debug !== void 0 ? debug : false }));
147
- return [2 /*return*/, loadIframe(iframe)];
53
+ iframe = _c.sent();
54
+ setTokenExIframe(iframe);
55
+ return [2 /*return*/, iframe];
148
56
  }
149
57
  });
150
- }); }, [getIframeConfig, getStylesAndFont, loadIframe, tokenExScriptLoaded]);
58
+ }); }, [env, tokenExScriptLoaded]);
151
59
  var initializeTokenExCardOnlyIframe = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
152
- var iframeConfig, styles, iframe;
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
- if (!tokenExScriptLoaded && typeof TokenEx === 'undefined') {
158
- console.warn('Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#tokenex-script');
159
- return [2 /*return*/];
160
- }
161
- return [4 /*yield*/, getIframeConfig({ origins: origins })];
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
- iframeConfig = _c.sent();
164
- styles = getStylesAndFont(css).styles;
165
- iframe = TokenEx.Iframe(TokenExCardNumberIframeId, __assign(__assign({}, iframeConfig), { placeholder: '0000 0000 0000 0000', enablePrettyFormat: true, cvv: false, styles: styles, font: fontFamily, debug: debug !== null && debug !== void 0 ? debug : false }));
166
- return [2 /*return*/, loadIframe(iframe)];
75
+ iframe = _c.sent();
76
+ setTokenExIframe(iframe);
77
+ return [2 /*return*/, iframe];
167
78
  }
168
79
  });
169
- }); }, [getIframeConfig, getStylesAndFont, loadIframe, tokenExScriptLoaded]);
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":"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"}
1
+ {"version":3,"file":"useCardFormIframe.js","sourceRoot":"","sources":["../../../src/card-form/useCardFormIframe.tsx"],"names":[],"mappings":"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"}
@@ -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,3 @@
1
+ // Type definitions for TokenEx iframe integration
2
+ export {};
3
+ //# sourceMappingURL=TokenEx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenEx.js","sourceRoot":"","sources":["../../../../src/common/card-form/TokenEx.ts"],"names":[],"mappings":"AAAA,kDAAkD"}
@@ -0,0 +1,47 @@
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
+ placeholder?: CSSProperties | string;
22
+ focus?: CSSProperties | string;
23
+ error?: CSSProperties | string;
24
+ }
25
+ export type CoinflowCardTokenResponse = {
26
+ token: string;
27
+ };
28
+ export interface CoinflowCardNumberInputProps {
29
+ env: CoinflowEnvs;
30
+ css: CardFormInputStyles & {
31
+ cvv: CardFormInputStyles;
32
+ };
33
+ debug?: boolean;
34
+ origins?: string[];
35
+ font?: string;
36
+ }
37
+ export interface CoinflowCvvOnlyInputProps {
38
+ token: string;
39
+ cardType: CardType;
40
+ env: CoinflowEnvs;
41
+ css: CardFormInputStyles & {
42
+ cvv: CardFormInputStyles;
43
+ };
44
+ debug?: boolean;
45
+ origins?: string[];
46
+ font?: string;
47
+ }
@@ -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>;