@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.
Files changed (100) hide show
  1. package/README.md +13 -0
  2. package/build/cjs/CoinflowIFrame.js +4 -2
  3. package/build/cjs/CoinflowIFrame.js.map +1 -1
  4. package/build/cjs/CoinflowPurchaseProtection.js +2 -17
  5. package/build/cjs/CoinflowPurchaseProtection.js.map +1 -1
  6. package/build/cjs/card-form/CoinflowCardForm.d.ts +8 -0
  7. package/build/cjs/card-form/CoinflowCardForm.js +9 -1
  8. package/build/cjs/card-form/CoinflowCardForm.js.map +1 -1
  9. package/build/cjs/card-form/CoinflowCardFormHeader.d.ts +2 -0
  10. package/build/cjs/card-form/CoinflowCardFormHeader.js +3 -0
  11. package/build/cjs/card-form/CoinflowCardFormHeader.js.map +1 -1
  12. package/build/cjs/card-form/CoinflowCardFormV2.d.ts +43 -0
  13. package/build/cjs/card-form/CoinflowCardFormV2.js +127 -0
  14. package/build/cjs/card-form/CoinflowCardFormV2.js.map +1 -0
  15. package/build/cjs/common/CoinflowProtectionInit.d.ts +5 -0
  16. package/build/cjs/common/CoinflowProtectionInit.js +68 -0
  17. package/build/cjs/common/CoinflowProtectionInit.js.map +1 -0
  18. package/build/cjs/common/CoinflowProtectionSession.d.ts +16 -0
  19. package/build/cjs/common/CoinflowProtectionSession.js +26 -0
  20. package/build/cjs/common/CoinflowProtectionSession.js.map +1 -0
  21. package/build/cjs/common/CoinflowProtectionSession.native.d.ts +3 -0
  22. package/build/cjs/common/CoinflowProtectionSession.native.js +12 -0
  23. package/build/cjs/common/CoinflowProtectionSession.native.js.map +1 -0
  24. package/build/cjs/common/CoinflowPurchaseProtectionHeaders.d.ts +7 -0
  25. package/build/cjs/common/CoinflowPurchaseProtectionHeaders.js +16 -0
  26. package/build/cjs/common/CoinflowPurchaseProtectionHeaders.js.map +1 -0
  27. package/build/cjs/common/CoinflowTypes.d.ts +6 -0
  28. package/build/cjs/common/CoinflowTypes.js.map +1 -1
  29. package/build/cjs/common/CoinflowUtils.d.ts +6 -0
  30. package/build/cjs/common/CoinflowUtils.js +13 -0
  31. package/build/cjs/common/CoinflowUtils.js.map +1 -1
  32. package/build/cjs/common/NSure.d.ts +2 -2
  33. package/build/cjs/common/NSure.js +7 -2
  34. package/build/cjs/common/NSure.js.map +1 -1
  35. package/build/cjs/common/NSure.native.d.ts +2 -2
  36. package/build/cjs/common/NSure.native.js +2 -2
  37. package/build/cjs/common/NSure.native.js.map +1 -1
  38. package/build/cjs/common/index.d.ts +2 -0
  39. package/build/cjs/common/index.js +2 -0
  40. package/build/cjs/common/index.js.map +1 -1
  41. package/build/cjs/common/types/Subtotal.d.ts +10 -0
  42. package/build/cjs/common/types/Subtotal.js +8 -0
  43. package/build/cjs/common/types/Subtotal.js.map +1 -1
  44. package/build/cjs/index.d.ts +2 -0
  45. package/build/cjs/index.js +2 -0
  46. package/build/cjs/index.js.map +1 -1
  47. package/build/cjs/useCoinflowProtectionHeaders.d.ts +2 -0
  48. package/build/cjs/useCoinflowProtectionHeaders.js +9 -0
  49. package/build/cjs/useCoinflowProtectionHeaders.js.map +1 -0
  50. package/build/esm/CoinflowIFrame.js +4 -2
  51. package/build/esm/CoinflowIFrame.js.map +1 -1
  52. package/build/esm/CoinflowPurchaseProtection.js +4 -18
  53. package/build/esm/CoinflowPurchaseProtection.js.map +1 -1
  54. package/build/esm/card-form/CoinflowCardForm.d.ts +8 -0
  55. package/build/esm/card-form/CoinflowCardForm.js +8 -0
  56. package/build/esm/card-form/CoinflowCardForm.js.map +1 -1
  57. package/build/esm/card-form/CoinflowCardFormHeader.d.ts +2 -0
  58. package/build/esm/card-form/CoinflowCardFormHeader.js +2 -0
  59. package/build/esm/card-form/CoinflowCardFormHeader.js.map +1 -1
  60. package/build/esm/card-form/CoinflowCardFormV2.d.ts +43 -0
  61. package/build/esm/card-form/CoinflowCardFormV2.js +123 -0
  62. package/build/esm/card-form/CoinflowCardFormV2.js.map +1 -0
  63. package/build/esm/common/CoinflowProtectionInit.d.ts +5 -0
  64. package/build/esm/common/CoinflowProtectionInit.js +64 -0
  65. package/build/esm/common/CoinflowProtectionInit.js.map +1 -0
  66. package/build/esm/common/CoinflowProtectionSession.d.ts +16 -0
  67. package/build/esm/common/CoinflowProtectionSession.js +22 -0
  68. package/build/esm/common/CoinflowProtectionSession.js.map +1 -0
  69. package/build/esm/common/CoinflowProtectionSession.native.d.ts +3 -0
  70. package/build/esm/common/CoinflowProtectionSession.native.js +8 -0
  71. package/build/esm/common/CoinflowProtectionSession.native.js.map +1 -0
  72. package/build/esm/common/CoinflowPurchaseProtectionHeaders.d.ts +7 -0
  73. package/build/esm/common/CoinflowPurchaseProtectionHeaders.js +11 -0
  74. package/build/esm/common/CoinflowPurchaseProtectionHeaders.js.map +1 -0
  75. package/build/esm/common/CoinflowTypes.d.ts +6 -0
  76. package/build/esm/common/CoinflowTypes.js.map +1 -1
  77. package/build/esm/common/CoinflowUtils.d.ts +6 -0
  78. package/build/esm/common/CoinflowUtils.js +12 -0
  79. package/build/esm/common/CoinflowUtils.js.map +1 -1
  80. package/build/esm/common/NSure.d.ts +2 -2
  81. package/build/esm/common/NSure.js +7 -2
  82. package/build/esm/common/NSure.js.map +1 -1
  83. package/build/esm/common/NSure.native.d.ts +2 -2
  84. package/build/esm/common/NSure.native.js +2 -2
  85. package/build/esm/common/NSure.native.js.map +1 -1
  86. package/build/esm/common/index.d.ts +2 -0
  87. package/build/esm/common/index.js +2 -0
  88. package/build/esm/common/index.js.map +1 -1
  89. package/build/esm/common/types/Subtotal.d.ts +10 -0
  90. package/build/esm/common/types/Subtotal.js +7 -0
  91. package/build/esm/common/types/Subtotal.js.map +1 -1
  92. package/build/esm/index.d.ts +2 -0
  93. package/build/esm/index.js +2 -0
  94. package/build/esm/index.js.map +1 -1
  95. package/build/esm/useCoinflowProtectionHeaders.d.ts +2 -0
  96. package/build/esm/useCoinflowProtectionHeaders.js +6 -0
  97. package/build/esm/useCoinflowProtectionHeaders.js.map +1 -0
  98. package/build/tsconfig.cjs.tsbuildinfo +1 -1
  99. package/build/tsconfig.tsbuildinfo +1 -1
  100. 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
- if (!origin.includes(common_1.CoinflowUtils.getCoinflowBaseUrl(props.env)))
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
- if (!origin.includes(common_1.CoinflowUtils.getCoinflowBaseUrl(props.env)))
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":"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"}
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
- new common_1.CoinflowUtils(coinflowEnv)
17
- .getNSurePartnerId(merchantId)
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":";;;;AAAA,iCAAmD;AACnD,qCAAqD;AACrD,sFAAgD;AAEhD,oCAA2C,EACzC,WAAW,EACX,UAAU,GAIX;IACC,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzB,OAAO,WAAW,KAAK,MAAM;YAC3B,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,0BAA0B,CAAC;IACjC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAClB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAqB,SAAS,CAAC,CAAC;IAC1E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,sBAAa,CAAC,WAAW,CAAC;aAC3B,iBAAiB,CAAC,UAAU,CAAC;aAC7B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,CAAC;YACd,wBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC"}
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":";;;;AAAA,uDAMe;AACf,2DAAsD;AACtD,sCAOmB;AAEnB,MAAM,gCAAgC,GAAG,IAAA,kBAAU,EACjD,CAAC,KAA6D,EAAE,GAAG,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,EAAC,aAAa,EAAE,uBAAuB,EAAC,GAAG,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAC;IAE1E,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ;YACZ,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3D,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,uBAAuB,CAAC;YACtB,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAErE,OAAO,uCAAK,EAAE,EAAE,kCAAyB,GAAI,CAAC;AAChD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACU,QAAA,uBAAuB,GAAG,IAAA,YAAI,EAAC,gCAAgC,CAAC,CAAC;AAE9E;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAA,YAAI,EAAC,GAAG,EAAE,CAAC,uCAAK,EAAE,EAAE,8BAAqB,GAAI,CAAC,CAAC;AAE/E,MAAM,6BAA6B,GAAG,IAAA,kBAAU,EAC9C,CAAC,KAA0D,EAAE,GAAG,EAAE,EAAE;IAClE,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,EAAC,aAAa,EAAE,8BAA8B,EAAC,GACnD,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAC;IAE3B,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ;YACZ,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3D,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,8BAA8B,CAAC;YAC7B,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;IACL,CAAC,EAAE;QACD,GAAG;QACH,8BAA8B;QAC9B,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,QAAQ;QACd,OAAO;QACP,KAAK,CAAC,IAAI;KACX,CAAC,CAAC;IAEH,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,uCAAK,EAAE,EAAE,8BAAqB,GAAQ,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACU,QAAA,oBAAoB,GAAG,IAAA,YAAI,EAAC,6BAA6B,CAAC,CAAC;AAExE,MAAM,8BAA8B,GAAG,IAAA,kBAAU,EAC/C,CAAC,KAA0D,EAAE,GAAG,EAAE,EAAE;IAClE,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,EAAC,aAAa,EAAE,+BAA+B,EAAC,GACpD,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAC;IAE3B,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ;YACZ,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3D,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,+BAA+B,CAAC;YAC9B,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;IACL,CAAC,EAAE;QACD,+BAA+B;QAC/B,KAAK,CAAC,KAAK;QACX,GAAG;QACH,OAAO;QACP,KAAK,CAAC,IAAI;KACX,CAAC,CAAC;IAEH,OAAO,uCAAK,EAAE,EAAE,kCAAyB,GAAI,CAAC;AAChD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACU,QAAA,qBAAqB,GAAG,IAAA,YAAI,EAAC,8BAA8B,CAAC,CAAC"}
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":";;;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"}
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,5 @@
1
+ import { CoinflowEnvs } from './CoinflowTypes';
2
+ export declare function initCoinflowProtection({ coinflowEnv, merchantId }: {
3
+ coinflowEnv: CoinflowEnvs;
4
+ merchantId: string;
5
+ }): Promise<void>;
@@ -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,3 @@
1
+ export declare function initProtectionSession(): Promise<void>;
2
+ export declare function getProtectionSessionId(): string | null;
3
+ export default getProtectionSessionId;
@@ -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":"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"}
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