@coinflowlabs/react 5.10.0 → 5.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/build/cjs/CoinflowIFrame.js +4 -2
- package/build/cjs/CoinflowIFrame.js.map +1 -1
- package/build/cjs/CoinflowPurchaseProtection.js +2 -17
- package/build/cjs/CoinflowPurchaseProtection.js.map +1 -1
- package/build/cjs/card-form/CoinflowCardForm.d.ts +8 -0
- package/build/cjs/card-form/CoinflowCardForm.js +9 -1
- package/build/cjs/card-form/CoinflowCardForm.js.map +1 -1
- package/build/cjs/card-form/CoinflowCardFormHeader.d.ts +2 -0
- package/build/cjs/card-form/CoinflowCardFormHeader.js +3 -0
- package/build/cjs/card-form/CoinflowCardFormHeader.js.map +1 -1
- package/build/cjs/card-form/CoinflowCardFormV2.d.ts +43 -0
- package/build/cjs/card-form/CoinflowCardFormV2.js +127 -0
- package/build/cjs/card-form/CoinflowCardFormV2.js.map +1 -0
- package/build/cjs/common/CoinflowProtectionInit.d.ts +5 -0
- package/build/cjs/common/CoinflowProtectionInit.js +68 -0
- package/build/cjs/common/CoinflowProtectionInit.js.map +1 -0
- package/build/cjs/common/CoinflowProtectionSession.d.ts +16 -0
- package/build/cjs/common/CoinflowProtectionSession.js +26 -0
- package/build/cjs/common/CoinflowProtectionSession.js.map +1 -0
- package/build/cjs/common/CoinflowProtectionSession.native.d.ts +3 -0
- package/build/cjs/common/CoinflowProtectionSession.native.js +12 -0
- package/build/cjs/common/CoinflowProtectionSession.native.js.map +1 -0
- package/build/cjs/common/CoinflowPurchaseProtectionHeaders.d.ts +7 -0
- package/build/cjs/common/CoinflowPurchaseProtectionHeaders.js +16 -0
- package/build/cjs/common/CoinflowPurchaseProtectionHeaders.js.map +1 -0
- package/build/cjs/common/CoinflowTypes.d.ts +6 -0
- package/build/cjs/common/CoinflowTypes.js.map +1 -1
- package/build/cjs/common/CoinflowUtils.d.ts +6 -0
- package/build/cjs/common/CoinflowUtils.js +13 -0
- package/build/cjs/common/CoinflowUtils.js.map +1 -1
- package/build/cjs/common/NSure.d.ts +2 -2
- package/build/cjs/common/NSure.js +7 -2
- package/build/cjs/common/NSure.js.map +1 -1
- package/build/cjs/common/NSure.native.d.ts +2 -2
- package/build/cjs/common/NSure.native.js +2 -2
- package/build/cjs/common/NSure.native.js.map +1 -1
- package/build/cjs/common/index.d.ts +2 -0
- package/build/cjs/common/index.js +2 -0
- package/build/cjs/common/index.js.map +1 -1
- package/build/cjs/common/types/Subtotal.d.ts +10 -0
- package/build/cjs/common/types/Subtotal.js +8 -0
- package/build/cjs/common/types/Subtotal.js.map +1 -1
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +2 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/useCoinflowProtectionHeaders.d.ts +2 -0
- package/build/cjs/useCoinflowProtectionHeaders.js +9 -0
- package/build/cjs/useCoinflowProtectionHeaders.js.map +1 -0
- package/build/esm/CoinflowIFrame.js +4 -2
- package/build/esm/CoinflowIFrame.js.map +1 -1
- package/build/esm/CoinflowPurchaseProtection.js +4 -18
- package/build/esm/CoinflowPurchaseProtection.js.map +1 -1
- package/build/esm/card-form/CoinflowCardForm.d.ts +8 -0
- package/build/esm/card-form/CoinflowCardForm.js +8 -0
- package/build/esm/card-form/CoinflowCardForm.js.map +1 -1
- package/build/esm/card-form/CoinflowCardFormHeader.d.ts +2 -0
- package/build/esm/card-form/CoinflowCardFormHeader.js +2 -0
- package/build/esm/card-form/CoinflowCardFormHeader.js.map +1 -1
- package/build/esm/card-form/CoinflowCardFormV2.d.ts +43 -0
- package/build/esm/card-form/CoinflowCardFormV2.js +123 -0
- package/build/esm/card-form/CoinflowCardFormV2.js.map +1 -0
- package/build/esm/common/CoinflowProtectionInit.d.ts +5 -0
- package/build/esm/common/CoinflowProtectionInit.js +64 -0
- package/build/esm/common/CoinflowProtectionInit.js.map +1 -0
- package/build/esm/common/CoinflowProtectionSession.d.ts +16 -0
- package/build/esm/common/CoinflowProtectionSession.js +22 -0
- package/build/esm/common/CoinflowProtectionSession.js.map +1 -0
- package/build/esm/common/CoinflowProtectionSession.native.d.ts +3 -0
- package/build/esm/common/CoinflowProtectionSession.native.js +8 -0
- package/build/esm/common/CoinflowProtectionSession.native.js.map +1 -0
- package/build/esm/common/CoinflowPurchaseProtectionHeaders.d.ts +7 -0
- package/build/esm/common/CoinflowPurchaseProtectionHeaders.js +11 -0
- package/build/esm/common/CoinflowPurchaseProtectionHeaders.js.map +1 -0
- package/build/esm/common/CoinflowTypes.d.ts +6 -0
- package/build/esm/common/CoinflowTypes.js.map +1 -1
- package/build/esm/common/CoinflowUtils.d.ts +6 -0
- package/build/esm/common/CoinflowUtils.js +12 -0
- package/build/esm/common/CoinflowUtils.js.map +1 -1
- package/build/esm/common/NSure.d.ts +2 -2
- package/build/esm/common/NSure.js +7 -2
- package/build/esm/common/NSure.js.map +1 -1
- package/build/esm/common/NSure.native.d.ts +2 -2
- package/build/esm/common/NSure.native.js +2 -2
- package/build/esm/common/NSure.native.js.map +1 -1
- package/build/esm/common/index.d.ts +2 -0
- package/build/esm/common/index.js +2 -0
- package/build/esm/common/index.js.map +1 -1
- package/build/esm/common/types/Subtotal.d.ts +10 -0
- package/build/esm/common/types/Subtotal.js +7 -0
- package/build/esm/common/types/Subtotal.js.map +1 -1
- package/build/esm/index.d.ts +2 -0
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/useCoinflowProtectionHeaders.d.ts +2 -0
- package/build/esm/useCoinflowProtectionHeaders.js +6 -0
- package/build/esm/useCoinflowProtectionHeaders.js.map +1 -0
- package/build/tsconfig.cjs.tsbuildinfo +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Coinflow React
|
|
2
2
|
|
|
3
|
+
## Changelog
|
|
4
|
+
|
|
5
|
+
### 5.12.0
|
|
6
|
+
|
|
7
|
+
- New `CoinflowCardForm`, `CoinflowCardNumberForm`, and `CoinflowCvvForm` components — simple card inputs with a single `tokenize()` call and full theme support
|
|
8
|
+
- Added theme options for `fontSize` and placeholder text
|
|
9
|
+
- Improved security for iframe communication
|
|
10
|
+
|
|
3
11
|
## Withdraw Usage
|
|
4
12
|
|
|
5
13
|
```
|
|
@@ -70,6 +78,11 @@ Props:
|
|
|
70
78
|
|
|
71
79
|
# Changelog
|
|
72
80
|
|
|
81
|
+
## 5.11.0
|
|
82
|
+
|
|
83
|
+
- Added unified protection initialization helper and headers helper
|
|
84
|
+
- Test zipcode `00001` triggers fraud protection rejection
|
|
85
|
+
|
|
73
86
|
## 5.10.0
|
|
74
87
|
|
|
75
88
|
- Added support for CashApp redirection
|
|
@@ -23,7 +23,8 @@ exports.CoinflowIFrame = (0, react_1.forwardRef)((props, ref) => {
|
|
|
23
23
|
let handler;
|
|
24
24
|
return new Promise((resolve, reject) => {
|
|
25
25
|
handler = ({ data, origin }) => {
|
|
26
|
-
|
|
26
|
+
const expectedOrigin = new URL(common_1.CoinflowUtils.getCoinflowBaseUrl(props.env)).origin;
|
|
27
|
+
if (origin !== expectedOrigin)
|
|
27
28
|
return;
|
|
28
29
|
if (data.startsWith('ERROR')) {
|
|
29
30
|
reject(new Error(data.replace('ERROR', '')));
|
|
@@ -46,7 +47,8 @@ exports.CoinflowIFrame = (0, react_1.forwardRef)((props, ref) => {
|
|
|
46
47
|
},
|
|
47
48
|
}));
|
|
48
49
|
const handleIframeMessages = (0, react_1.useCallback)(({ data, origin }) => {
|
|
49
|
-
|
|
50
|
+
const expectedOrigin = new URL(common_1.CoinflowUtils.getCoinflowBaseUrl(props.env)).origin;
|
|
51
|
+
if (origin !== expectedOrigin)
|
|
50
52
|
return;
|
|
51
53
|
const promise = (0, common_1.handleIFrameMessage)(data, props, props.handleHeightChangeId);
|
|
52
54
|
if (!promise)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowIFrame.js","sourceRoot":"","sources":["../../src/CoinflowIFrame.tsx"],"names":[],"mappings":";;;;;AAAA,uDAQe;AACf,qCAKkB;AAalB;IACE,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAEY,QAAA,cAAc,GAAG,IAAA,kBAAU,EACtC,CAAC,KAAkD,EAAE,GAAG,EAAE,EAAE;IAC1D,MAAM,SAAS,GAAG,IAAA,cAAM,EAA2B,IAAI,CAAC,CAAC;IAEzD,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,OAAO,sBAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,CAAC,OAAe,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,2BAAmB,EAA0C,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,gBAAgB,CACpB,eAA8C;YAE9C,IAAI,OAAiE,CAAC;YACtE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,OAAO,GAAG,CAAC,EAAC,IAAI,EAAE,MAAM,EAAiC,EAAE,EAAE;oBAC3D,
|
|
1
|
+
{"version":3,"file":"CoinflowIFrame.js","sourceRoot":"","sources":["../../src/CoinflowIFrame.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
3
|
exports.CoinflowPurchaseProtection = CoinflowPurchaseProtection;
|
|
5
4
|
const react_1 = require("react");
|
|
6
5
|
const common_1 = require("./common");
|
|
7
|
-
const web_client_sdk_1 = tslib_1.__importDefault(require("@nsure-ai/web-client-sdk"));
|
|
8
6
|
function CoinflowPurchaseProtection({ coinflowEnv, merchantId, }) {
|
|
9
|
-
const appId = (0, react_1.useMemo)(() => {
|
|
10
|
-
return coinflowEnv === 'prod'
|
|
11
|
-
? '9JBW2RHC7JNJN8ZQ'
|
|
12
|
-
: 'SANDBOX_CTCE4XK53ZW0R7V1';
|
|
13
|
-
}, [coinflowEnv]);
|
|
14
|
-
const [partnerId, setPartnerId] = (0, react_1.useState)(undefined);
|
|
15
7
|
(0, react_1.useEffect)(() => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
.then(partnerId => setPartnerId(partnerId));
|
|
19
|
-
}, [merchantId, coinflowEnv]);
|
|
20
|
-
(0, react_1.useEffect)(() => {
|
|
21
|
-
if (partnerId) {
|
|
22
|
-
web_client_sdk_1.default.init(appId, partnerId);
|
|
23
|
-
}
|
|
24
|
-
}, [partnerId, appId]);
|
|
8
|
+
(0, common_1.initCoinflowProtection)({ coinflowEnv, merchantId });
|
|
9
|
+
}, [coinflowEnv, merchantId]);
|
|
25
10
|
return null;
|
|
26
11
|
}
|
|
27
12
|
//# sourceMappingURL=CoinflowPurchaseProtection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowPurchaseProtection.js","sourceRoot":"","sources":["../../src/CoinflowPurchaseProtection.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoinflowPurchaseProtection.js","sourceRoot":"","sources":["../../src/CoinflowPurchaseProtection.tsx"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,qCAA8D;AAE9D,oCAA2C,EACzC,WAAW,EACX,UAAU,GAIX;IACC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAA,+BAAsB,EAAC,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -116,3 +116,11 @@ export declare const CoinflowCvvOnlyInput: React.MemoExoticComponent<React.Forwa
|
|
|
116
116
|
* ```
|
|
117
117
|
*/
|
|
118
118
|
export declare const CoinflowCardOnlyInput: React.MemoExoticComponent<React.ForwardRefExoticComponent<(CoinflowCvvOnlyInputProps & MerchantIdOrCheckoutJwt) & React.RefAttributes<unknown>>>;
|
|
119
|
+
/** @deprecated Use CoinflowCardForm instead */
|
|
120
|
+
export declare const CoinflowLegacyCardNumberInput: React.MemoExoticComponent<React.ForwardRefExoticComponent<(CoinflowCardNumberInputProps & MerchantIdOrCheckoutJwt) & React.RefAttributes<unknown>>>;
|
|
121
|
+
/** @deprecated Use CoinflowCvvForm instead */
|
|
122
|
+
export declare const CoinflowLegacyCvvInput: React.MemoExoticComponent<() => React.JSX.Element>;
|
|
123
|
+
/** @deprecated Use CoinflowCvvForm instead */
|
|
124
|
+
export declare const CoinflowLegacyCvvOnlyInput: React.MemoExoticComponent<React.ForwardRefExoticComponent<(CoinflowCvvOnlyInputProps & MerchantIdOrCheckoutJwt) & React.RefAttributes<unknown>>>;
|
|
125
|
+
/** @deprecated Use CoinflowCardNumberForm instead */
|
|
126
|
+
export declare const CoinflowLegacyCardOnlyInput: React.MemoExoticComponent<React.ForwardRefExoticComponent<(CoinflowCvvOnlyInputProps & MerchantIdOrCheckoutJwt) & React.RefAttributes<unknown>>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoinflowCardOnlyInput = exports.CoinflowCvvOnlyInput = exports.CoinflowCvvInput = exports.CoinflowCardNumberInput = void 0;
|
|
3
|
+
exports.CoinflowLegacyCardOnlyInput = exports.CoinflowLegacyCvvOnlyInput = exports.CoinflowLegacyCvvInput = exports.CoinflowLegacyCardNumberInput = exports.CoinflowCardOnlyInput = exports.CoinflowCvvOnlyInput = exports.CoinflowCvvInput = exports.CoinflowCardNumberInput = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const useCardFormIframe_1 = require("./useCardFormIframe");
|
|
@@ -206,4 +206,12 @@ const CoinflowCardOnlyInputComponent = (0, react_1.forwardRef)((props, ref) => {
|
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
208
208
|
exports.CoinflowCardOnlyInput = (0, react_1.memo)(CoinflowCardOnlyInputComponent);
|
|
209
|
+
/** @deprecated Use CoinflowCardForm instead */
|
|
210
|
+
exports.CoinflowLegacyCardNumberInput = exports.CoinflowCardNumberInput;
|
|
211
|
+
/** @deprecated Use CoinflowCvvForm instead */
|
|
212
|
+
exports.CoinflowLegacyCvvInput = exports.CoinflowCvvInput;
|
|
213
|
+
/** @deprecated Use CoinflowCvvForm instead */
|
|
214
|
+
exports.CoinflowLegacyCvvOnlyInput = exports.CoinflowCvvOnlyInput;
|
|
215
|
+
/** @deprecated Use CoinflowCardNumberForm instead */
|
|
216
|
+
exports.CoinflowLegacyCardOnlyInput = exports.CoinflowCardOnlyInput;
|
|
209
217
|
//# sourceMappingURL=CoinflowCardForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowCardForm.js","sourceRoot":"","sources":["../../../src/card-form/CoinflowCardForm.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CoinflowCardForm.js","sourceRoot":"","sources":["../../../src/card-form/CoinflowCardForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,3 +2,5 @@ import { CoinflowEnvs, MerchantIdOrCheckoutJwt } from '../common';
|
|
|
2
2
|
export declare function CoinflowCardFormHeader(props: {
|
|
3
3
|
env: CoinflowEnvs;
|
|
4
4
|
} & MerchantIdOrCheckoutJwt): null;
|
|
5
|
+
/** @deprecated Use CoinflowCardForm instead — header is no longer needed */
|
|
6
|
+
export declare const CoinflowLegacyCardFormHeader: typeof CoinflowCardFormHeader;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoinflowLegacyCardFormHeader = void 0;
|
|
3
4
|
exports.CoinflowCardFormHeader = CoinflowCardFormHeader;
|
|
4
5
|
const react_1 = require("react");
|
|
5
6
|
const useCardFormIframe_1 = require("./useCardFormIframe");
|
|
@@ -10,4 +11,6 @@ function CoinflowCardFormHeader(props) {
|
|
|
10
11
|
}, [props.env, setTokenExScriptTag]);
|
|
11
12
|
return null;
|
|
12
13
|
}
|
|
14
|
+
/** @deprecated Use CoinflowCardForm instead — header is no longer needed */
|
|
15
|
+
exports.CoinflowLegacyCardFormHeader = CoinflowCardFormHeader;
|
|
13
16
|
//# sourceMappingURL=CoinflowCardFormHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowCardFormHeader.js","sourceRoot":"","sources":["../../../src/card-form/CoinflowCardFormHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoinflowCardFormHeader.js","sourceRoot":"","sources":["../../../src/card-form/CoinflowCardFormHeader.tsx"],"names":[],"mappings":";;;;AAAA,iCAAgC;AAChC,2DAAsD;AAGtD,gCACE,KAAoD;IAEpD,MAAM,EAAC,mBAAmB,EAAC,GAAG,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAC;IAEvD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,EAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC,EAAC,CAAC,CAAC;IAC1E,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC/D,QAAA,4BAA4B,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CoinflowEnvs, MerchantTheme } from '../common';
|
|
3
|
+
interface CardFormBaseProps {
|
|
4
|
+
merchantId: string;
|
|
5
|
+
env?: CoinflowEnvs;
|
|
6
|
+
theme?: MerchantTheme;
|
|
7
|
+
onLoad?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface CoinflowCardFormProps extends CardFormBaseProps {
|
|
10
|
+
}
|
|
11
|
+
export interface CoinflowCardNumberFormProps extends CardFormBaseProps {
|
|
12
|
+
}
|
|
13
|
+
export interface CoinflowCvvFormProps extends CardFormBaseProps {
|
|
14
|
+
token: string;
|
|
15
|
+
}
|
|
16
|
+
export interface CardFormTokenResponse {
|
|
17
|
+
token: string;
|
|
18
|
+
expMonth?: string;
|
|
19
|
+
expYear?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CardFormRef {
|
|
22
|
+
tokenize(): Promise<CardFormTokenResponse>;
|
|
23
|
+
}
|
|
24
|
+
export declare const CoinflowCardForm: React.MemoExoticComponent<React.ForwardRefExoticComponent<CoinflowCardFormProps & React.RefAttributes<CardFormRef>>>;
|
|
25
|
+
export declare const CoinflowCardNumberForm: React.MemoExoticComponent<React.ForwardRefExoticComponent<CoinflowCardNumberFormProps & React.RefAttributes<CardFormRef>>>;
|
|
26
|
+
export declare const CoinflowCvvForm: React.MemoExoticComponent<React.ForwardRefExoticComponent<CoinflowCvvFormProps & React.RefAttributes<CardFormRef>>>;
|
|
27
|
+
/** @deprecated Use CoinflowCardForm instead */
|
|
28
|
+
export declare const CoinflowCardFormV2: React.MemoExoticComponent<React.ForwardRefExoticComponent<CoinflowCardFormProps & React.RefAttributes<CardFormRef>>>;
|
|
29
|
+
/** @deprecated Use CoinflowCardNumberForm instead */
|
|
30
|
+
export declare const CoinflowCardNumberFormV2: React.MemoExoticComponent<React.ForwardRefExoticComponent<CoinflowCardNumberFormProps & React.RefAttributes<CardFormRef>>>;
|
|
31
|
+
/** @deprecated Use CoinflowCvvForm instead */
|
|
32
|
+
export declare const CoinflowCvvFormV2: React.MemoExoticComponent<React.ForwardRefExoticComponent<CoinflowCvvFormProps & React.RefAttributes<CardFormRef>>>;
|
|
33
|
+
/** @deprecated Use CardFormRef instead */
|
|
34
|
+
export type CardFormV2Ref = CardFormRef;
|
|
35
|
+
/** @deprecated Use CardFormTokenResponse instead */
|
|
36
|
+
export type CardFormV2TokenResponse = CardFormTokenResponse;
|
|
37
|
+
/** @deprecated Use CoinflowCardFormProps instead */
|
|
38
|
+
export type CoinflowCardFormV2Props = CoinflowCardFormProps;
|
|
39
|
+
/** @deprecated Use CoinflowCardNumberFormProps instead */
|
|
40
|
+
export type CoinflowCardNumberFormV2Props = CoinflowCardNumberFormProps;
|
|
41
|
+
/** @deprecated Use CoinflowCvvFormProps instead */
|
|
42
|
+
export type CoinflowCvvFormV2Props = CoinflowCvvFormProps;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoinflowCvvFormV2 = exports.CoinflowCardNumberFormV2 = exports.CoinflowCardFormV2 = exports.CoinflowCvvForm = exports.CoinflowCardNumberForm = exports.CoinflowCardForm = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const lz_string_1 = tslib_1.__importDefault(require("lz-string"));
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
function useCardFormIframe({ variant, merchantId, env, theme, token, onLoad, }) {
|
|
9
|
+
const iframeRef = (0, react_1.useRef)(null);
|
|
10
|
+
const [loaded, setLoaded] = (0, react_1.useState)(false);
|
|
11
|
+
const url = (0, react_1.useMemo)(() => {
|
|
12
|
+
const baseUrl = common_1.CoinflowUtils.getCoinflowBaseUrl(env);
|
|
13
|
+
const url = new URL(`/form/v2/${variant}`, baseUrl);
|
|
14
|
+
url.searchParams.append('merchantId', merchantId);
|
|
15
|
+
if (theme) {
|
|
16
|
+
url.searchParams.append('theme', lz_string_1.default.compressToEncodedURIComponent(JSON.stringify(theme)));
|
|
17
|
+
}
|
|
18
|
+
if (token) {
|
|
19
|
+
url.searchParams.append('token', token);
|
|
20
|
+
}
|
|
21
|
+
return url.toString();
|
|
22
|
+
}, [variant, merchantId, env, theme, token]);
|
|
23
|
+
const handleMessage = (0, react_1.useCallback)(({ data, origin }) => {
|
|
24
|
+
const expectedOrigin = new URL(common_1.CoinflowUtils.getCoinflowBaseUrl(env))
|
|
25
|
+
.origin;
|
|
26
|
+
if (origin !== expectedOrigin)
|
|
27
|
+
return;
|
|
28
|
+
try {
|
|
29
|
+
const parsed = JSON.parse(data);
|
|
30
|
+
if (parsed.method === common_1.IFrameMessageMethods.Loaded) {
|
|
31
|
+
setLoaded(true);
|
|
32
|
+
onLoad?.();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// not JSON, ignore
|
|
37
|
+
}
|
|
38
|
+
}, [env, onLoad]);
|
|
39
|
+
(0, react_1.useEffect)(() => {
|
|
40
|
+
window.addEventListener('message', handleMessage);
|
|
41
|
+
return () => window.removeEventListener('message', handleMessage);
|
|
42
|
+
}, [handleMessage]);
|
|
43
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
44
|
+
if (!iframeRef.current)
|
|
45
|
+
return;
|
|
46
|
+
// @ts-expect-error TypeScript doesn't recognize credentialless as a valid attribute
|
|
47
|
+
iframeRef.current.credentialless = true;
|
|
48
|
+
}, []);
|
|
49
|
+
const tokenize = (0, react_1.useCallback)(() => {
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
if (!iframeRef.current?.contentWindow) {
|
|
52
|
+
reject(new Error('Card form iframe not loaded'));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const handler = ({ data, origin }) => {
|
|
56
|
+
const expectedOrigin = new URL(common_1.CoinflowUtils.getCoinflowBaseUrl(env))
|
|
57
|
+
.origin;
|
|
58
|
+
if (origin !== expectedOrigin)
|
|
59
|
+
return;
|
|
60
|
+
try {
|
|
61
|
+
const parsed = JSON.parse(data);
|
|
62
|
+
if (parsed.method !== 'tokenize')
|
|
63
|
+
return;
|
|
64
|
+
window.removeEventListener('message', handler);
|
|
65
|
+
if (typeof parsed.data === 'string' &&
|
|
66
|
+
parsed.data.startsWith('ERROR')) {
|
|
67
|
+
reject(new Error(parsed.data.replace('ERROR ', '')));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const responseData = typeof parsed.data === 'string'
|
|
71
|
+
? JSON.parse(parsed.data)
|
|
72
|
+
: parsed.data;
|
|
73
|
+
resolve(responseData);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// not relevant message
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
window.addEventListener('message', handler);
|
|
80
|
+
iframeRef.current.contentWindow.postMessage('tokenize', '*');
|
|
81
|
+
});
|
|
82
|
+
}, [env]);
|
|
83
|
+
return { iframeRef, url, loaded, tokenize };
|
|
84
|
+
}
|
|
85
|
+
const CoinflowCardFormComponent = (0, react_1.forwardRef)((props, ref) => {
|
|
86
|
+
const { iframeRef, url, loaded, tokenize } = useCardFormIframe({
|
|
87
|
+
...props,
|
|
88
|
+
variant: 'card-form',
|
|
89
|
+
});
|
|
90
|
+
(0, react_1.useImperativeHandle)(ref, () => ({ tokenize }), [tokenize]);
|
|
91
|
+
return (react_1.default.createElement(CardFormIFrame, { iframeRef: iframeRef, url: url, loaded: loaded, title: "Card Form" }));
|
|
92
|
+
});
|
|
93
|
+
const CoinflowCardNumberFormComponent = (0, react_1.forwardRef)((props, ref) => {
|
|
94
|
+
const { iframeRef, url, loaded, tokenize } = useCardFormIframe({
|
|
95
|
+
...props,
|
|
96
|
+
variant: 'card-number-form',
|
|
97
|
+
});
|
|
98
|
+
(0, react_1.useImperativeHandle)(ref, () => ({ tokenize }), [tokenize]);
|
|
99
|
+
return (react_1.default.createElement(CardFormIFrame, { iframeRef: iframeRef, url: url, loaded: loaded, title: "Card Number Form" }));
|
|
100
|
+
});
|
|
101
|
+
const CoinflowCvvFormComponent = (0, react_1.forwardRef)((props, ref) => {
|
|
102
|
+
const { iframeRef, url, loaded, tokenize } = useCardFormIframe({
|
|
103
|
+
...props,
|
|
104
|
+
variant: 'cvv-form',
|
|
105
|
+
});
|
|
106
|
+
(0, react_1.useImperativeHandle)(ref, () => ({ tokenize }), [tokenize]);
|
|
107
|
+
return (react_1.default.createElement(CardFormIFrame, { iframeRef: iframeRef, url: url, loaded: loaded, title: "CVV Form" }));
|
|
108
|
+
});
|
|
109
|
+
function CardFormIFrame({ iframeRef, url, loaded, title, }) {
|
|
110
|
+
return (react_1.default.createElement("iframe", { ref: iframeRef, src: url, title: title, frameBorder: "0", allow: "payment", style: {
|
|
111
|
+
width: '100%',
|
|
112
|
+
height: '52px',
|
|
113
|
+
border: 'none',
|
|
114
|
+
opacity: loaded ? 1 : 0,
|
|
115
|
+
transition: 'opacity 300ms linear',
|
|
116
|
+
} }));
|
|
117
|
+
}
|
|
118
|
+
exports.CoinflowCardForm = (0, react_1.memo)(CoinflowCardFormComponent);
|
|
119
|
+
exports.CoinflowCardNumberForm = (0, react_1.memo)(CoinflowCardNumberFormComponent);
|
|
120
|
+
exports.CoinflowCvvForm = (0, react_1.memo)(CoinflowCvvFormComponent);
|
|
121
|
+
/** @deprecated Use CoinflowCardForm instead */
|
|
122
|
+
exports.CoinflowCardFormV2 = exports.CoinflowCardForm;
|
|
123
|
+
/** @deprecated Use CoinflowCardNumberForm instead */
|
|
124
|
+
exports.CoinflowCardNumberFormV2 = exports.CoinflowCardNumberForm;
|
|
125
|
+
/** @deprecated Use CoinflowCvvForm instead */
|
|
126
|
+
exports.CoinflowCvvFormV2 = exports.CoinflowCvvForm;
|
|
127
|
+
//# sourceMappingURL=CoinflowCardFormV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoinflowCardFormV2.js","sourceRoot":"","sources":["../../../src/card-form/CoinflowCardFormV2.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
exports.initCoinflowProtection = initCoinflowProtection;
|
|
5
|
+
const web_client_sdk_1 = tslib_1.__importDefault(require("@nsure-ai/web-client-sdk"));
|
|
6
|
+
const CoinflowUtils_1 = require("./CoinflowUtils");
|
|
7
|
+
const CoinflowProtectionSession_1 = require("./CoinflowProtectionSession");
|
|
8
|
+
const NSURE_APP_IDS = {
|
|
9
|
+
prod: '9JBW2RHC7JNJN8ZQ',
|
|
10
|
+
sandbox: 'SANDBOX_CTCE4XK53ZW0R7V1',
|
|
11
|
+
};
|
|
12
|
+
const PROTECTION_SESSION_PROJECT_IDS = {
|
|
13
|
+
prod: '315da543-c486-435a-aa21-53844c469822',
|
|
14
|
+
sandbox: 'e9f629c4-80ee-4c6d-967e-62af47d8679e',
|
|
15
|
+
};
|
|
16
|
+
async function initCoinflowProtection({ coinflowEnv, merchantId, }) {
|
|
17
|
+
const env = coinflowEnv === 'prod' ? 'prod' : 'sandbox';
|
|
18
|
+
const hasUrlDeviceId = typeof window !== 'undefined' &&
|
|
19
|
+
new URLSearchParams(window.location.search).has('deviceId');
|
|
20
|
+
if (!hasUrlDeviceId) {
|
|
21
|
+
const partnerId = await new CoinflowUtils_1.CoinflowUtils(coinflowEnv).getNSurePartnerId(merchantId);
|
|
22
|
+
if (partnerId) {
|
|
23
|
+
const appId = NSURE_APP_IDS[env] ?? NSURE_APP_IDS['sandbox'];
|
|
24
|
+
try {
|
|
25
|
+
web_client_sdk_1.default.init(appId, partnerId);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
console.error('Failed to initialize nSure SDK:', e);
|
|
29
|
+
(0, CoinflowUtils_1.recordFrontendError)({
|
|
30
|
+
event: 'NSureInit',
|
|
31
|
+
error: e,
|
|
32
|
+
env: coinflowEnv,
|
|
33
|
+
merchantId,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Initialize protection session (Verisoul)
|
|
39
|
+
if (typeof document !== 'undefined') {
|
|
40
|
+
const existing = document.querySelector('script[verisoul-project-id]');
|
|
41
|
+
if (!existing) {
|
|
42
|
+
const projectId = PROTECTION_SESSION_PROJECT_IDS[env] ??
|
|
43
|
+
PROTECTION_SESSION_PROJECT_IDS['sandbox'];
|
|
44
|
+
if (projectId) {
|
|
45
|
+
await new Promise(resolve => {
|
|
46
|
+
const script = document.createElement('script');
|
|
47
|
+
script.src = `https://js.v.coinflow.sh/${env}/bundle.js`;
|
|
48
|
+
script.async = true;
|
|
49
|
+
script.setAttribute('verisoul-project-id', projectId);
|
|
50
|
+
script.onload = () => {
|
|
51
|
+
(0, CoinflowProtectionSession_1.initProtectionSession)({ merchantId, env: coinflowEnv }).then(resolve);
|
|
52
|
+
};
|
|
53
|
+
script.onerror = e => {
|
|
54
|
+
(0, CoinflowUtils_1.recordFrontendError)({
|
|
55
|
+
event: 'ProtectionError',
|
|
56
|
+
error: e,
|
|
57
|
+
env: coinflowEnv,
|
|
58
|
+
merchantId,
|
|
59
|
+
});
|
|
60
|
+
resolve();
|
|
61
|
+
};
|
|
62
|
+
document.head.appendChild(script);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=CoinflowProtectionInit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoinflowProtectionInit.js","sourceRoot":"","sources":["../../../src/common/CoinflowProtectionInit.ts"],"names":[],"mappings":";;;;AAAA,sFAAgD;AAChD,mDAAmE;AACnE,2EAAkE;AAGlE,MAAM,aAAa,GAA2B;IAC5C,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,0BAA0B;CACpC,CAAC;AAEF,MAAM,8BAA8B,GAA2B;IAC7D,IAAI,EAAE,sCAAsC;IAC5C,OAAO,EAAE,sCAAsC;CAChD,CAAC;AAEK,KAAK,iCAAiC,EAC3C,WAAW,EACX,UAAU,GAIX;IACC,MAAM,GAAG,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAExD,MAAM,cAAc,GAClB,OAAO,MAAM,KAAK,WAAW;QAC7B,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE9D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,6BAAa,CAAC,WAAW,CAAC,CAAC,iBAAiB,CACtE,UAAU,CACX,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,wBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;gBACpD,IAAA,mCAAmB,EAAC;oBAClB,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,CAAC;oBACR,GAAG,EAAE,WAAW;oBAChB,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,SAAS,GACb,8BAA8B,CAAC,GAAG,CAAC;gBACnC,8BAA8B,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAChD,MAAM,CAAC,GAAG,GAAG,4BAA4B,GAAG,YAAY,CAAC;oBACzD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;oBACpB,MAAM,CAAC,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;oBACtD,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;wBACnB,IAAA,iDAAqB,EAAC,EAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtE,CAAC,CAAC;oBACF,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;wBACnB,IAAA,mCAAmB,EAAC;4BAClB,KAAK,EAAE,iBAAiB;4BACxB,KAAK,EAAE,CAAC;4BACR,GAAG,EAAE,WAAW;4BAChB,UAAU;yBACX,CAAC,CAAC;wBACH,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CoinflowEnvs } from './CoinflowTypes';
|
|
2
|
+
declare global {
|
|
3
|
+
interface Window {
|
|
4
|
+
Verisoul?: {
|
|
5
|
+
session: () => Promise<{
|
|
6
|
+
session_id: string;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare function initProtectionSession({ merchantId, env }: {
|
|
12
|
+
merchantId: string;
|
|
13
|
+
env: CoinflowEnvs;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
export declare function getProtectionSessionId(): string | null;
|
|
16
|
+
export default getProtectionSessionId;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initProtectionSession = initProtectionSession;
|
|
4
|
+
exports.getProtectionSessionId = getProtectionSessionId;
|
|
5
|
+
const CoinflowUtils_1 = require("./CoinflowUtils");
|
|
6
|
+
let cachedSessionId = null;
|
|
7
|
+
async function initProtectionSession({ merchantId, env, }) {
|
|
8
|
+
if (cachedSessionId)
|
|
9
|
+
return;
|
|
10
|
+
if (typeof window !== 'undefined') {
|
|
11
|
+
try {
|
|
12
|
+
const result = await window.Verisoul?.session();
|
|
13
|
+
if (result?.session_id)
|
|
14
|
+
cachedSessionId = result.session_id;
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
console.error(e);
|
|
18
|
+
(0, CoinflowUtils_1.recordFrontendError)({ event: 'ProtectionInit', env, merchantId, error: e });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function getProtectionSessionId() {
|
|
23
|
+
return cachedSessionId;
|
|
24
|
+
}
|
|
25
|
+
exports.default = getProtectionSessionId;
|
|
26
|
+
//# sourceMappingURL=CoinflowProtectionSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoinflowProtectionSession.js","sourceRoot":"","sources":["../../../src/common/CoinflowProtectionSession.ts"],"names":[],"mappings":";;;;AACA,mDAAoD;AAUpD,IAAI,eAAe,GAAkB,IAAI,CAAC;AAEnC,KAAK,gCAAgC,EAC1C,UAAU,EACV,GAAG,GAIJ;IACC,IAAI,eAAe;QAAE,OAAO;IAE5B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChD,IAAI,MAAM,EAAE,UAAU;gBAAE,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,IAAA,mCAAmB,EAAC,EAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED;IACE,OAAO,eAAe,CAAC;AACzB,CAAC;kBAEc,sBAAsB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initProtectionSession = initProtectionSession;
|
|
4
|
+
exports.getProtectionSessionId = getProtectionSessionId;
|
|
5
|
+
async function initProtectionSession() {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
function getProtectionSessionId() {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
exports.default = getProtectionSessionId;
|
|
12
|
+
//# sourceMappingURL=CoinflowProtectionSession.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoinflowProtectionSession.native.js","sourceRoot":"","sources":["../../../src/common/CoinflowProtectionSession.native.ts"],"names":[],"mappings":";;;;AAAO,KAAK;IACV,OAAO;AACT,CAAC;AAED;IACE,OAAO,IAAI,CAAC;AACd,CAAC;kBAEc,sBAAsB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const DEVICE_ID_HEADER = "x-device-id";
|
|
2
|
+
export declare const SESSION_ID_HEADER = "x-session-id";
|
|
3
|
+
export type CoinflowProtectionHeadersType = {
|
|
4
|
+
[DEVICE_ID_HEADER]: string | null;
|
|
5
|
+
[SESSION_ID_HEADER]: string | null;
|
|
6
|
+
};
|
|
7
|
+
export declare function getCoinflowProtectionHeaders(): CoinflowProtectionHeadersType;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SESSION_ID_HEADER = exports.DEVICE_ID_HEADER = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
exports.getCoinflowProtectionHeaders = getCoinflowProtectionHeaders;
|
|
6
|
+
const NSure_1 = tslib_1.__importDefault(require("./NSure"));
|
|
7
|
+
const CoinflowProtectionSession_1 = require("./CoinflowProtectionSession");
|
|
8
|
+
exports.DEVICE_ID_HEADER = 'x-device-id';
|
|
9
|
+
exports.SESSION_ID_HEADER = 'x-session-id';
|
|
10
|
+
function getCoinflowProtectionHeaders() {
|
|
11
|
+
return {
|
|
12
|
+
[exports.DEVICE_ID_HEADER]: (0, NSure_1.default)(),
|
|
13
|
+
[exports.SESSION_ID_HEADER]: (0, CoinflowProtectionSession_1.getProtectionSessionId)(),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=CoinflowPurchaseProtectionHeaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoinflowPurchaseProtectionHeaders.js","sourceRoot":"","sources":["../../../src/common/CoinflowPurchaseProtectionHeaders.ts"],"names":[],"mappings":";;;;;AAAA,4DAAuC;AACvC,2EAAmE;AAEtD,QAAA,gBAAgB,GAAG,aAAa,CAAC;AACjC,QAAA,iBAAiB,GAAG,cAAc,CAAC;AAOhD;IACE,OAAO;QACL,CAAC,QAAA,gBAAgB,CAAC,EAAE,IAAA,eAAgB,GAAE;QACtC,CAAC,QAAA,iBAAiB,CAAC,EAAE,IAAA,kDAAsB,GAAE;KAC9C,CAAC;AACJ,CAAC"}
|
|
@@ -86,6 +86,12 @@ export type MerchantTheme = {
|
|
|
86
86
|
ctaColor?: string;
|
|
87
87
|
font?: string;
|
|
88
88
|
style?: MerchantStyle;
|
|
89
|
+
fontSize?: string;
|
|
90
|
+
fontWeight?: string;
|
|
91
|
+
cardNumberPlaceholder?: string;
|
|
92
|
+
cvvPlaceholder?: string;
|
|
93
|
+
expirationPlaceholder?: string;
|
|
94
|
+
showCardIcon?: boolean;
|
|
89
95
|
};
|
|
90
96
|
interface BaseCustomerInfo {
|
|
91
97
|
verificationId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowTypes.js","sourceRoot":"","sources":["../../../src/common/CoinflowTypes.ts"],"names":[],"mappings":";;;;;AAaA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,yCAAqB,CAAA;AACvB,CAAC,EAHW,gBAAgB,aAAhB,gBAAgB,GAAhB,gBAAgB,QAG3B;AAED,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,oCAAmB,CAAA;AACrB,CAAC,EAZW,aAAa,aAAb,aAAa,GAAb,aAAa,QAYxB;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,aAAd,cAAc,GAAd,cAAc,QAIzB;AAoDD,8BACE,MAA+B;IAE/B,OAAO,WAAW,IAAI,MAAM,CAAC;AAC/B,CAAC;AAED,uCACE,MAA+B;IAE/B,OAAO,4BAA4B,IAAI,MAAM,CAAC;AAChD,CAAC;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,aAAb,aAAa,GAAb,aAAa,QAIxB;
|
|
1
|
+
{"version":3,"file":"CoinflowTypes.js","sourceRoot":"","sources":["../../../src/common/CoinflowTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,3 +28,9 @@ export interface FullName {
|
|
|
28
28
|
lastName: string;
|
|
29
29
|
}
|
|
30
30
|
export declare function getCustomerName(info: CustomerInfo | undefined): FullName | undefined;
|
|
31
|
+
export declare function recordFrontendError({ event, error, env, merchantId }: {
|
|
32
|
+
event: string;
|
|
33
|
+
error: any;
|
|
34
|
+
env: CoinflowEnvs;
|
|
35
|
+
merchantId?: string;
|
|
36
|
+
}): void;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CoinflowUtils = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
exports.getCustomerName = getCustomerName;
|
|
6
|
+
exports.recordFrontendError = recordFrontendError;
|
|
6
7
|
const SolanaPeerDeps_1 = require("./SolanaPeerDeps");
|
|
7
8
|
const lz_string_1 = tslib_1.__importDefault(require("lz-string"));
|
|
8
9
|
const Subtotal_1 = require("./types/Subtotal");
|
|
@@ -294,4 +295,16 @@ function getCustomerName(info) {
|
|
|
294
295
|
};
|
|
295
296
|
return undefined;
|
|
296
297
|
}
|
|
298
|
+
function recordFrontendError({ event, error, env, merchantId, }) {
|
|
299
|
+
const isError = error instanceof Error;
|
|
300
|
+
const message = isError ? error.message : error;
|
|
301
|
+
const stackTrace = isError ? error.stack : '';
|
|
302
|
+
fetch(`${CoinflowUtils.getCoinflowApiUrl(env)}/api/telemetry/frontend-error`, {
|
|
303
|
+
method: 'POST',
|
|
304
|
+
body: JSON.stringify({ message, stackTrace, merchantId, event }),
|
|
305
|
+
headers: {
|
|
306
|
+
'Content-Type': 'application/json',
|
|
307
|
+
},
|
|
308
|
+
}).catch(() => { });
|
|
309
|
+
}
|
|
297
310
|
//# sourceMappingURL=CoinflowUtils.js.map
|