@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.
Files changed (43) hide show
  1. package/README.md +4 -0
  2. package/build/cjs/card-form/CoinflowCardForm.d.ts +1 -23
  3. package/build/cjs/card-form/CoinflowCardForm.js +11 -14
  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 +46 -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 +204 -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 +8 -11
  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 +46 -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 +197 -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,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>;