@coinflowlabs/react 4.1.3 → 4.2.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.
Files changed (38) hide show
  1. package/build/cjs/card-form/CoinflowCardForm.d.ts +101 -0
  2. package/build/cjs/card-form/CoinflowCardForm.js +129 -0
  3. package/build/cjs/card-form/CoinflowCardForm.js.map +1 -0
  4. package/build/cjs/card-form/TokenEx.d.ts +106 -0
  5. package/build/cjs/card-form/TokenEx.js +4 -0
  6. package/build/cjs/card-form/TokenEx.js.map +1 -0
  7. package/build/cjs/card-form/useCardFormIframe.d.ts +77 -0
  8. package/build/cjs/card-form/useCardFormIframe.js +160 -0
  9. package/build/cjs/card-form/useCardFormIframe.js.map +1 -0
  10. package/build/cjs/common/CoinflowTypes.d.ts +6 -0
  11. package/build/cjs/common/CoinflowTypes.js +8 -1
  12. package/build/cjs/common/CoinflowTypes.js.map +1 -1
  13. package/build/cjs/index.d.ts +1 -1
  14. package/build/cjs/index.js +1 -1
  15. package/build/cjs/index.js.map +1 -1
  16. package/build/esm/card-form/CoinflowCardForm.d.ts +101 -0
  17. package/build/esm/card-form/CoinflowCardForm.js +125 -0
  18. package/build/esm/card-form/CoinflowCardForm.js.map +1 -0
  19. package/build/esm/card-form/TokenEx.d.ts +106 -0
  20. package/build/esm/card-form/TokenEx.js +3 -0
  21. package/build/esm/card-form/TokenEx.js.map +1 -0
  22. package/build/esm/card-form/useCardFormIframe.d.ts +77 -0
  23. package/build/esm/card-form/useCardFormIframe.js +156 -0
  24. package/build/esm/card-form/useCardFormIframe.js.map +1 -0
  25. package/build/esm/common/CoinflowTypes.d.ts +6 -0
  26. package/build/esm/common/CoinflowTypes.js +7 -0
  27. package/build/esm/common/CoinflowTypes.js.map +1 -1
  28. package/build/esm/index.d.ts +1 -1
  29. package/build/esm/index.js +1 -1
  30. package/build/esm/index.js.map +1 -1
  31. package/build/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +1 -1
  33. package/build/cjs/CoinflowCardForm.d.ts +0 -39
  34. package/build/cjs/CoinflowCardForm.js +0 -100
  35. package/build/cjs/CoinflowCardForm.js.map +0 -1
  36. package/build/esm/CoinflowCardForm.d.ts +0 -39
  37. package/build/esm/CoinflowCardForm.js +0 -97
  38. package/build/esm/CoinflowCardForm.js.map +0 -1
@@ -0,0 +1,101 @@
1
+ import React from 'react';
2
+ import { CardType, CoinflowEnvs } from '../common';
3
+ import { CardFormInputStyles } from './useCardFormIframe';
4
+ export type CoinflowCardTokenResponse = {
5
+ token: string;
6
+ };
7
+ export interface CoinflowCardNumberInputProps {
8
+ env: CoinflowEnvs;
9
+ css: CardFormInputStyles & {
10
+ cvv: CardFormInputStyles;
11
+ };
12
+ debug?: boolean;
13
+ }
14
+ export interface CoinflowCvvOnlyInputProps {
15
+ token: string;
16
+ cardType: CardType;
17
+ env: CoinflowEnvs;
18
+ css: CardFormInputStyles & {
19
+ cvv: CardFormInputStyles;
20
+ };
21
+ debug?: boolean;
22
+ }
23
+ /**
24
+ * Allows merchants to collect card information from their customers in a PCI-compliant way and receive the tokenized card number.
25
+ *
26
+ * Usage:
27
+ * ```tsx
28
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
29
+ *
30
+ * <CoinflowCardNumberInput
31
+ * ref={coinflowCardFormRef}
32
+ * env={'ref'}
33
+ * debug={true}
34
+ * css={{
35
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
36
+ * focus:
37
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
38
+ * error:
39
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
40
+ * cvv: {
41
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
42
+ * focus:
43
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
44
+ * error:
45
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
46
+ * },
47
+ * }}
48
+ * />
49
+ * <CoinflowCvvInput />
50
+ *
51
+ * <button onClick={() => {
52
+ * ref.current?.getToken()
53
+ * .then(({token}) => console.log(token))
54
+ * .catch(e => console.error('GET TOKEN ERROR', e))
55
+ * }}>Get Token</button>
56
+ *
57
+ * ```
58
+ */
59
+ export declare const CoinflowCardNumberInput: React.ForwardRefExoticComponent<CoinflowCardNumberInputProps & React.RefAttributes<unknown>>;
60
+ /**
61
+ * The CVV number input for creating a new tokenized card
62
+ */
63
+ export declare function CoinflowCvvInput(): React.JSX.Element;
64
+ /**
65
+ * Allows merchants to collect the CVV for an already tokenized card in a PCI-compliant way and receive the token with the CVV linked.
66
+ *
67
+ * Usage:
68
+ * ```tsx
69
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
70
+ *
71
+ * <CoinflowCvvOnlyInput
72
+ * ref={ref}
73
+ * cardType={'visa'}
74
+ * token={'411111YJM5TX1111'}
75
+ * env={import.meta.env.VITE_ENV as CoinflowEnvs}
76
+ * debug={true}
77
+ * css={{
78
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
79
+ * focus:
80
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
81
+ * error:
82
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
83
+ * cvv: {
84
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
85
+ * focus:
86
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
87
+ * error:
88
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
89
+ * },
90
+ * }}
91
+ * />
92
+ *
93
+ * <button onClick={() => {
94
+ * ref.current?.getToken()
95
+ * .then(({token}) => console.log(token))
96
+ * .catch(e => console.error('GET TOKEN ERROR', e))
97
+ * }}>Get Token</button>
98
+ *
99
+ * ```
100
+ */
101
+ export declare const CoinflowCvvOnlyInput: React.ForwardRefExoticComponent<CoinflowCvvOnlyInputProps & React.RefAttributes<unknown>>;
@@ -0,0 +1,125 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import React, { forwardRef, useEffect, useImperativeHandle } from 'react';
3
+ import { TokenExCardNumberIframeId, TokenExCvvContainerID, useCardFormIframe, } from './useCardFormIframe';
4
+ /**
5
+ * Allows merchants to collect card information from their customers in a PCI-compliant way and receive the tokenized card number.
6
+ *
7
+ * Usage:
8
+ * ```tsx
9
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
10
+ *
11
+ * <CoinflowCardNumberInput
12
+ * ref={coinflowCardFormRef}
13
+ * env={'ref'}
14
+ * debug={true}
15
+ * css={{
16
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
17
+ * focus:
18
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
19
+ * error:
20
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
21
+ * cvv: {
22
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
23
+ * focus:
24
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
25
+ * error:
26
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
27
+ * },
28
+ * }}
29
+ * />
30
+ * <CoinflowCvvInput />
31
+ *
32
+ * <button onClick={() => {
33
+ * ref.current?.getToken()
34
+ * .then(({token}) => console.log(token))
35
+ * .catch(e => console.error('GET TOKEN ERROR', e))
36
+ * }}>Get Token</button>
37
+ *
38
+ * ```
39
+ */
40
+ export var CoinflowCardNumberInput = forwardRef(function (props, ref) {
41
+ var _a = useCardFormIframe(props.env), tokenExIframe = _a.tokenExIframe, initializeTokenExIframe = _a.initializeTokenExIframe;
42
+ useImperativeHandle(ref, function () { return ({
43
+ getToken: function () {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ return __generator(this, function (_a) {
46
+ if (!tokenExIframe)
47
+ throw new Error('Unable to get token');
48
+ return [2 /*return*/, tokenExIframe.tokenize()];
49
+ });
50
+ });
51
+ },
52
+ }); });
53
+ useEffect(function () {
54
+ var sdkScriptTag = document.createElement('script');
55
+ sdkScriptTag.src =
56
+ props.env === 'prod'
57
+ ? 'https://htp.tokenex.com/iframe/iframe-v3.min.js'
58
+ : 'https://test-htp.tokenex.com/iframe/iframe-v3.min.js';
59
+ document.head.appendChild(sdkScriptTag);
60
+ initializeTokenExIframe(props);
61
+ }, [initializeTokenExIframe, props]);
62
+ return React.createElement("div", { id: TokenExCardNumberIframeId });
63
+ });
64
+ /**
65
+ * The CVV number input for creating a new tokenized card
66
+ */
67
+ export function CoinflowCvvInput() {
68
+ return React.createElement("div", { id: TokenExCvvContainerID });
69
+ }
70
+ /**
71
+ * Allows merchants to collect the CVV for an already tokenized card in a PCI-compliant way and receive the token with the CVV linked.
72
+ *
73
+ * Usage:
74
+ * ```tsx
75
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
76
+ *
77
+ * <CoinflowCvvOnlyInput
78
+ * ref={ref}
79
+ * cardType={'visa'}
80
+ * token={'411111YJM5TX1111'}
81
+ * env={import.meta.env.VITE_ENV as CoinflowEnvs}
82
+ * debug={true}
83
+ * css={{
84
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
85
+ * focus:
86
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
87
+ * error:
88
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
89
+ * cvv: {
90
+ * base: 'font-family: Arial, sans-serif;padding: 0 8px;border: 1px solid rgba(0, 0, 0, 0.2);margin: 0;width: 100%;font-size: 13px;line-height: 30px;height: 32px;box-sizing: border-box;-moz-box-sizing: border-box;',
91
+ * focus:
92
+ * 'box-shadow: 0 0 6px 0 rgba(0, 132, 255, 0.5);border: 1px solid rgba(0, 132, 255, 0.5);outline: 0;',
93
+ * error:
94
+ * 'box-shadow: 0 0 6px 0 rgba(224, 57, 57, 0.5);border: 1px solid rgba(224, 57, 57, 0.5);',
95
+ * },
96
+ * }}
97
+ * />
98
+ *
99
+ * <button onClick={() => {
100
+ * ref.current?.getToken()
101
+ * .then(({token}) => console.log(token))
102
+ * .catch(e => console.error('GET TOKEN ERROR', e))
103
+ * }}>Get Token</button>
104
+ *
105
+ * ```
106
+ */
107
+ export var CoinflowCvvOnlyInput = forwardRef(function (props, ref) {
108
+ var _a = useCardFormIframe(props.env), tokenExIframe = _a.tokenExIframe, initializeCvvOnlyTokenExIframe = _a.initializeCvvOnlyTokenExIframe;
109
+ useImperativeHandle(ref, function () { return ({
110
+ getToken: function () {
111
+ return __awaiter(this, void 0, void 0, function () {
112
+ return __generator(this, function (_a) {
113
+ if (!tokenExIframe)
114
+ throw new Error('Unable to get token');
115
+ return [2 /*return*/, tokenExIframe.tokenize()];
116
+ });
117
+ });
118
+ },
119
+ }); });
120
+ useEffect(function () {
121
+ initializeCvvOnlyTokenExIframe(props);
122
+ }, [initializeCvvOnlyTokenExIframe, props]);
123
+ return React.createElement("div", { id: TokenExCvvContainerID });
124
+ });
125
+ //# sourceMappingURL=CoinflowCardForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoinflowCardForm.js","sourceRoot":"","sources":["../../../src/card-form/CoinflowCardForm.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAC,MAAM,OAAO,CAAC;AAExE,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAoB7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAU,CAC/C,UAAC,KAAmC,EAAE,GAAG;IACjC,IAAA,KAA2C,iBAAiB,CAChE,KAAK,CAAC,GAAG,CACV,EAFM,aAAa,mBAAA,EAAE,uBAAuB,6BAE5C,CAAC;IAEF,mBAAmB,CAAC,GAAG,EAAE,cAAM,OAAA,CAAC;QACxB,QAAQ;;;oBACZ,IAAI,CAAC,aAAa;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBAC3D,sBAAO,aAAa,CAAC,QAAQ,EAAE,EAAC;;;SACjC;KACF,CAAC,EAL6B,CAK7B,CAAC,CAAC;IAEJ,SAAS,CAAC;QACR,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtD,YAAY,CAAC,GAAG;YACd,KAAK,CAAC,GAAG,KAAK,MAAM;gBAClB,CAAC,CAAC,iDAAiD;gBACnD,CAAC,CAAC,sDAAsD,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAExC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAC;IAErC,OAAO,6BAAK,EAAE,EAAE,yBAAyB,GAAQ,CAAC;AACpD,CAAC,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,6BAAK,EAAE,EAAE,qBAAqB,GAAQ,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAU,CAC5C,UAAC,KAAgC,EAAE,GAAG;IAC9B,IAAA,KAAkD,iBAAiB,CACvE,KAAK,CAAC,GAAG,CACV,EAFM,aAAa,mBAAA,EAAE,8BAA8B,oCAEnD,CAAC;IAEF,mBAAmB,CAAC,GAAG,EAAE,cAAM,OAAA,CAAC;QACxB,QAAQ;;;oBACZ,IAAI,CAAC,aAAa;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBAC3D,sBAAO,aAAa,CAAC,QAAQ,EAAE,EAAC;;;SACjC;KACF,CAAC,EAL6B,CAK7B,CAAC,CAAC;IAEJ,SAAS,CAAC;QACR,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5C,OAAO,6BAAK,EAAE,EAAE,qBAAqB,GAAQ,CAAC;AAChD,CAAC,CACF,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,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/card-form/TokenEx.ts"],"names":[],"mappings":"AAAA,kDAAkD"}
@@ -0,0 +1,77 @@
1
+ import { CSSProperties } from 'react';
2
+ import { CardType, CoinflowEnvs } from '../common';
3
+ import { TokenizationResponse } from './TokenEx';
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 interface TokenExIFrameConfiguration {
10
+ origin: string;
11
+ timestamp: string;
12
+ tokenExID: string;
13
+ tokenScheme: string;
14
+ authenticationKey: string;
15
+ pci: true;
16
+ token?: string;
17
+ }
18
+ export interface CardFormInputStyles {
19
+ base: CSSProperties | string;
20
+ focus?: CSSProperties | string;
21
+ error?: CSSProperties | string;
22
+ }
23
+ export declare function useCardFormIframe(env: CoinflowEnvs): {
24
+ tokenExIframe: TokenExIframe | undefined;
25
+ initializeTokenExIframe: ({ css, fontFamily, debug, }: {
26
+ css: CardFormInputStyles & {
27
+ cvv: CardFormInputStyles;
28
+ };
29
+ fontFamily?: string;
30
+ debug?: boolean;
31
+ }) => Promise<{
32
+ tokenize: () => Promise<TokenizationResponse>;
33
+ load(): void;
34
+ on: (event: string, callback: (data?: any) => void) => void;
35
+ validate(): void;
36
+ reset(): void;
37
+ blur(): void;
38
+ cvvBlur(): void;
39
+ focus(): void;
40
+ cvvFocus(): void;
41
+ remove(): void;
42
+ toggleMask(): void;
43
+ toggleCvvMask(): void;
44
+ setPAN(pan: string): void;
45
+ binLookup(): void;
46
+ validateConfig(): void;
47
+ setFraudServicesRequestDetails(data: string): void;
48
+ }>;
49
+ initializeCvvOnlyTokenExIframe: ({ token, cardType, css, debug, fontFamily, }: {
50
+ token: string;
51
+ cardType: CardType;
52
+ css: CardFormInputStyles & {
53
+ cvv: CardFormInputStyles;
54
+ };
55
+ debug?: boolean;
56
+ fontFamily?: string;
57
+ }) => Promise<{
58
+ tokenize: () => Promise<TokenizationResponse>;
59
+ load(): void;
60
+ on: (event: string, callback: (data?: any) => void) => void;
61
+ validate(): void;
62
+ reset(): void;
63
+ blur(): void;
64
+ cvvBlur(): void;
65
+ focus(): void;
66
+ cvvFocus(): void;
67
+ remove(): void;
68
+ toggleMask(): void;
69
+ toggleCvvMask(): void;
70
+ setPAN(pan: string): void;
71
+ binLookup(): void;
72
+ validateConfig(): void;
73
+ setFraudServicesRequestDetails(data: string): void;
74
+ }>;
75
+ loaded: boolean;
76
+ cachedToken: string | undefined;
77
+ };
@@ -0,0 +1,156 @@
1
+ var _a;
2
+ import { __assign, __awaiter, __generator } from "tslib";
3
+ 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);
13
+ export function useCardFormIframe(env) {
14
+ var _this = this;
15
+ var _a = useState(false), loaded = _a[0], setLoaded = _a[1];
16
+ var _b = useState(undefined), tokenExIframe = _b[0], setTokenExIframe = _b[1];
17
+ var _c = useState(undefined), cachedToken = _c[0], setCachedToken = _c[1];
18
+ var getIframeConfig = useCallback(function (_a) {
19
+ var token = _a.token;
20
+ return fetch(new CoinflowUtils(env).url + '/api/checkout/authentication-key', {
21
+ method: 'POST',
22
+ headers: {
23
+ 'Content-Type': 'application/json',
24
+ },
25
+ body: JSON.stringify({
26
+ origins: [window.location.origin],
27
+ token: token,
28
+ }),
29
+ }).then(function (res) { return __awaiter(_this, void 0, void 0, function () {
30
+ return __generator(this, function (_a) {
31
+ switch (_a.label) {
32
+ case 0: return [4 /*yield*/, res.json()];
33
+ case 1: return [2 /*return*/, (_a.sent())];
34
+ }
35
+ });
36
+ }); });
37
+ }, [env]);
38
+ var getStylesAndFont = useCallback(function (css) {
39
+ var styles = {
40
+ base: CSSPropertiesToComponent(css.base),
41
+ focus: CSSPropertiesToComponent(css.focus),
42
+ error: CSSPropertiesToComponent(css.error),
43
+ cvv: {
44
+ base: CSSPropertiesToComponent(css.cvv.base),
45
+ focus: CSSPropertiesToComponent(css.cvv.focus),
46
+ error: CSSPropertiesToComponent(css.cvv.error),
47
+ },
48
+ };
49
+ return { styles: styles };
50
+ }, []);
51
+ var loadIframe = useCallback(function (iframe) {
52
+ var tokenize = function () { return __awaiter(_this, void 0, void 0, function () {
53
+ return __generator(this, function (_a) {
54
+ switch (_a.label) {
55
+ case 0:
56
+ iframe.tokenize();
57
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
58
+ iframe.on('tokenize', function (data) {
59
+ setCachedToken(data.token);
60
+ resolve(data);
61
+ });
62
+ iframe.on('validate', function (data) {
63
+ // noinspection PointlessBooleanExpressionJS
64
+ var isInvalid = !data.isValid || data.isCvvValid === false;
65
+ if (isInvalid)
66
+ reject(data);
67
+ });
68
+ })];
69
+ case 1: return [2 /*return*/, _a.sent()];
70
+ }
71
+ });
72
+ }); };
73
+ iframe.on('change', function () { return setCachedToken(undefined); });
74
+ iframe.on('cvvChange', function () { return setCachedToken(undefined); });
75
+ iframe.on('load', function () {
76
+ setTimeout(function () { return setLoaded(true); }, 350);
77
+ var el = document.querySelector('#tx_iframe_tokenExCardNumber');
78
+ if (el)
79
+ el.scrolling = 'no';
80
+ });
81
+ setLoaded(false);
82
+ iframe.load();
83
+ var overriden = __assign(__assign({}, iframe), { tokenize: tokenize });
84
+ setTokenExIframe(overriden);
85
+ return overriden;
86
+ }, []);
87
+ var initializeCvvOnlyTokenExIframe = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
88
+ var type, iframeConfig, styles, config, iframe;
89
+ var token = _b.token, cardType = _b.cardType, css = _b.css, debug = _b.debug, fontFamily = _b.fontFamily;
90
+ return __generator(this, function (_c) {
91
+ switch (_c.label) {
92
+ case 0:
93
+ type = CARD_TYPE_MAPPING[cardType];
94
+ return [4 /*yield*/, getIframeConfig({ token: token })];
95
+ case 1:
96
+ iframeConfig = _c.sent();
97
+ styles = getStylesAndFont(css).styles;
98
+ 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 });
99
+ iframe = TokenEx.Iframe(TokenExCvvContainerID, config);
100
+ return [2 /*return*/, loadIframe(iframe)];
101
+ }
102
+ });
103
+ }); }, [getIframeConfig, getStylesAndFont, loadIframe]);
104
+ var initializeTokenExIframe = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
105
+ var iframeConfig, styles, iframe;
106
+ var css = _b.css, fontFamily = _b.fontFamily, debug = _b.debug;
107
+ return __generator(this, function (_c) {
108
+ switch (_c.label) {
109
+ case 0: return [4 /*yield*/, getIframeConfig({})];
110
+ case 1:
111
+ iframeConfig = _c.sent();
112
+ styles = getStylesAndFont(css).styles;
113
+ 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 }));
114
+ return [2 /*return*/, loadIframe(iframe)];
115
+ }
116
+ });
117
+ }); }, [getIframeConfig, getStylesAndFont, loadIframe]);
118
+ useEffect(function () {
119
+ if (!tokenExIframe)
120
+ return;
121
+ tokenExIframe.load();
122
+ return function () { return tokenExIframe.remove(); };
123
+ }, [tokenExIframe]);
124
+ return {
125
+ tokenExIframe: tokenExIframe,
126
+ initializeTokenExIframe: initializeTokenExIframe,
127
+ initializeCvvOnlyTokenExIframe: initializeCvvOnlyTokenExIframe,
128
+ loaded: loaded,
129
+ cachedToken: cachedToken,
130
+ };
131
+ }
132
+ function CSSPropertiesToComponent(dict) {
133
+ if (!dict)
134
+ return '';
135
+ if (typeof dict === 'string')
136
+ return dict;
137
+ var str = '';
138
+ var _loop_1 = function (key, value) {
139
+ var clo = '';
140
+ key.split('').forEach(function (lt) {
141
+ if (lt.toUpperCase() === lt) {
142
+ clo += '-' + lt.toLowerCase();
143
+ }
144
+ else {
145
+ clo += lt;
146
+ }
147
+ });
148
+ str += clo + ':' + value + ';';
149
+ };
150
+ for (var _i = 0, _a = Object.entries(dict); _i < _a.length; _i++) {
151
+ var _b = _a[_i], key = _b[0], value = _b[1];
152
+ _loop_1(key, value);
153
+ }
154
+ return str;
155
+ }
156
+ //# sourceMappingURL=useCardFormIframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCardFormIframe.js","sourceRoot":"","sources":["../../../src/card-form/useCardFormIframe.tsx"],"names":[],"mappings":"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"}
@@ -287,4 +287,10 @@ export interface CoinflowIFrameProps extends Omit<CoinflowTypes, 'merchantId'>,
287
287
  theme?: MerchantTheme;
288
288
  usePermit?: boolean;
289
289
  }
290
+ export declare enum CardType {
291
+ VISA = "VISA",
292
+ MASTERCARD = "MSTR",
293
+ AMEX = "AMEX",
294
+ DISCOVER = "DISC"
295
+ }
290
296
  export {};
@@ -10,4 +10,11 @@ export var MerchantStyle;
10
10
  MerchantStyle["Sharp"] = "sharp";
11
11
  MerchantStyle["Pill"] = "pill";
12
12
  })(MerchantStyle || (MerchantStyle = {}));
13
+ export var CardType;
14
+ (function (CardType) {
15
+ CardType["VISA"] = "VISA";
16
+ CardType["MASTERCARD"] = "MSTR";
17
+ CardType["AMEX"] = "AMEX";
18
+ CardType["DISCOVER"] = "DISC";
19
+ })(CardType || (CardType = {}));
13
20
  //# sourceMappingURL=CoinflowTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowTypes.js","sourceRoot":"","sources":["../../../src/common/CoinflowTypes.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
1
+ {"version":3,"file":"CoinflowTypes.js","sourceRoot":"","sources":["../../../src/common/CoinflowTypes.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AA2YD,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IACb,6BAAiB,CAAA;AACnB,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB"}
@@ -5,6 +5,6 @@ export * from './CoinflowIFrame';
5
5
  export * from './CoinflowPurchaseHistory';
6
6
  export * from './CoinflowWithdrawHistory';
7
7
  export * from './CoinflowPurchaseProtection';
8
- export * from './CoinflowCardForm';
8
+ export * from './card-form/CoinflowCardForm';
9
9
  export * from './CoinflowApplePayButton';
10
10
  export * from './CoinflowGooglePayButton';
@@ -5,7 +5,7 @@ export * from './CoinflowIFrame';
5
5
  export * from './CoinflowPurchaseHistory';
6
6
  export * from './CoinflowWithdrawHistory';
7
7
  export * from './CoinflowPurchaseProtection';
8
- export * from './CoinflowCardForm';
8
+ export * from './card-form/CoinflowCardForm';
9
9
  export * from './CoinflowApplePayButton';
10
10
  export * from './CoinflowGooglePayButton';
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}