hosted-fields-sdk 1.2.7 → 1.3.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/CHANGES.md CHANGED
@@ -1,3 +1,11 @@
1
+ #### 1.3.0
2
+ - Add ClickToPay integration support
3
+ - Provide high-level types with index.d.ts ([Issue 21](https://github.com/devcode-git/hosted-fields-sdk/issues/21))
4
+ - Make onLoadCallback optional ([Issue 22](https://github.com/devcode-git/hosted-fields-sdk/issues/21))
5
+
6
+ #### 1.2.8
7
+ - Add onCardBrandChangeCallback
8
+
1
9
  #### 1.2.7
2
10
  - Add full ESM support under /esm
3
11
 
package/README.md CHANGED
@@ -3,9 +3,9 @@
3
3
  Hosted fields SDK is a toolkit that allows you generate a form/set of fields. It is published as a node-module to the public [npm registry](https://www.npmjs.com/package/hosted-fields-sdk).
4
4
 
5
5
  > [!CAUTION]
6
- > **Migration and Deprecation Notice:** Starting from version 1.0.50, it is mandatory to use the `'https://card-fields.paymentiq.io/1.0.51/index.html'` as `hostedfieldsurl` value for **production** environments. Please update your configurations accordingly to avoid potential disruptions.
6
+ > **Migration and Deprecation Notice:** Starting from version 1.0.50, it is mandatory to use the `'https://card-fields.paymentiq.io/1.1.1/index.html'` as `hostedfieldsurl` value for **production** environments. Please update your configurations accordingly to avoid potential disruptions.
7
7
  >
8
- > The old hostedfieldsurl: `'https://hostedpages.paymentiq.io/1.0.51/index.html'` and well as *all versions previous to 1.0.50* **will be deprecated starting 15 March 2025**. Please note that using older versions and the old domain may expose your system to potential risks.
8
+ > The old hostedfieldsurl: `'https://hostedpages.paymentiq.io/1.0.51/index.html'` and well as *all versions previous to 1.0.50* **will be deprecated starting 15 March 2025**. Please note that using older versions and the old domain may expose your system to potential risks. Starting with version 1.1.1, **hostedpages** domain will not be used anymore.
9
9
  >
10
10
  > This change is meant to enhance security and future compliance with the new requirements in the Payment Card Industry Data Security Standards. The old domain is scheduled for deprecation. We advise all users to transition to the new domain as soon as possible to maintain compliance and benefit from improved security measures.
11
11
  >
@@ -75,27 +75,44 @@ Expiry: `cc-exp`
75
75
 
76
76
 
77
77
  #### HostedFields
78
- HostedFields in turn will expose three functions
78
+ HostedFields in turn will expose these functions
79
79
  * setup
80
80
  * get
81
81
  * reset
82
+ * setClickToPayTransactionAmount
83
+ * clickToPayCheckout
82
84
 
83
85
  **setup**
84
86
 
85
87
  Setup is the first function you will call. It takes a config-object as its only parameter:
86
88
 
87
- ````
89
+ ````js
88
90
  {
89
91
  merchantId: 123456789,
90
- hostedfieldsurl: 'https://card-fields.paymentiq.io/1.0.51/index.html',
92
+ hostedfieldsurl: 'https://card-fields.paymentiq.io/1.1.1/index.html',
91
93
  fields: my_fields, //fields you've generated using the Field-constructor
92
94
  renderMode: 'single', // defaults to 'multiple', separate iframes per field
93
95
  service: 'payment_method_service', // service of the payment method. Not mandatory (AstropayCard requires this)
94
96
  styles: 'any custom styles you wish to include',
95
97
  callback: () => someFunction,
96
98
  autoFocusNext: true,
97
- onLoadCallback: () => someFunction
98
- el = A domElement to render the hosted fields in
99
+ onLoadCallback: () => someFunction,
100
+ onCardBrandChangeCallback: ({ cardBrand: string }) => unknown,
101
+ el: A domElement to render the hosted fields in,
102
+ // Set the config from below if need to integrate ClickToPay
103
+ // The full list of attributes can be seen here: https://srci-docs.prod.srci.cloud.netcetera.com/sdk-config-properties
104
+ // You can override only these attributes in Hosted Fields. These are the default values:
105
+ clickToPayAttributes: {
106
+ locale: "en_US",
107
+ sandbox: "true", // Make sure to set it "false" in production
108
+ },
109
+ // See the full config here: https://srci-docs.prod.srci.cloud.netcetera.com/sdk-config-guide#scheme-specific-configuration
110
+ clickToPayConfig: "<ClickToPayConfig>",
111
+ onRequestIframeExpandCallback: (recommendedHeight: number) => unknown,
112
+ onCancelIframeExpandCallback: () => unkown,
113
+ // Response type here: https://srci-docs.prod.srci.cloud.netcetera.com/sdk-checkout-respons
114
+ onClickToPayCheckoutSuccessCallback: (response) => uknown,
115
+ onClickToPayCheckoutErrorCallback: (error) => unkown,
99
116
  }
100
117
  ````
101
118
 
@@ -121,13 +138,50 @@ This allows you to run for example your own validation on the values before you
121
138
  Optionally, you can pass in a function that will be called when all the fields you have passed in have
122
139
  loaded, allowing you to display some kind of loader until this callback has been triggered.
123
140
 
124
- **Possible values for hostedfieldsurl:**
141
+ **onCardBrandChangeCallback**
142
+ Optionally, you can pass in a function that will be called when credit card number input has changed,
143
+ and will return the detected **cardBrand**(e.g. visa, mastercard, etc.).
144
+
145
+ This is usually used for dynamic credit card flow handling based on the card brand(e.g. for ClickToPay).
146
+
147
+ **clickToPayAattributes**
148
+ The attributes passed to the ClickToPay instance.
149
+
150
+ **clickToPayConfig**
151
+ The config passed to the ClickToPay instance.
152
+
153
+ **onRequestIframeExpandCallback**
154
+ This callback is triggered when the clickToPayCheckout call is performed to inform the integrator that
155
+ the iframe height should be changed to the **recommendedHeight** and hide all the other visible UI elements
156
+ to make room for the ClickToPay iframe to expand.
157
+
158
+ **onCancelIframeExpandCallback**
159
+ This callback is triggered when the ClickToPay checkout has finised to inform the integrator that
160
+ the iframe height should be restored and show all the other previously hidden UI elements.
125
161
 
126
- For test environments use: `'https://test-hostedpages.paymentiq.io/1.0.51/index.html'`.
162
+ **onClickToPayCheckoutSuccessCallback**
163
+ The callback triggered when receive a success response after a ClickToPay checkout.
127
164
 
128
- For production environments use `'https://card-fields.paymentiq.io/1.0.51/index.html'`.
165
+ **onClickToPayCheckoutErrorCallback**
166
+ The callback triggered when receive an error after a ClickToPay cehckout.
129
167
 
130
- **Available versions for `'https://card-fields.paymentiq.io/1.0.51/index.html'`(where the part 1.0.51 represents the version number):**
168
+ **Possible values for hostedfieldsurl:**
169
+
170
+ For test environments use: `'https://test-hostedpages.paymentiq.io/1.1.1/index.html'`.
171
+
172
+ For production environments use `'https://card-fields.paymentiq.io/1.1.1/index.html'`.
173
+
174
+ **Available versions for `'https://card-fields.paymentiq.io/1.1.1/index.html'`(where the part 1.1.1 represents the version number):**
175
+ - 1.1.1
176
+ - 1.0.61
177
+ - 1.0.60
178
+ - 1.0.58
179
+ - 1.0.57
180
+ - 1.0.56
181
+ - 1.0.55
182
+ - 1.0.54
183
+ - 1.0.53
184
+ - 1.0.52
131
185
  - 1.0.51
132
186
  - 1.0.50
133
187
 
@@ -138,13 +192,13 @@ For production environments use `'https://card-fields.paymentiq.io/1.0.51/index.
138
192
  **get**
139
193
 
140
194
  If you want to get the encrypted values from the fields you can call
141
- ```
195
+ ```js
142
196
  HostedFields.get()
143
197
  ```
144
198
  This will trigger the supplied callback-function registered in HostedFields.setup() to be called with the values for each field.
145
199
  Note that the callback function will also be called if the user presses enter in any of the fields.
146
200
 
147
- ```
201
+ ```js
148
202
  {
149
203
  cardHolder: 'Admiral Ackbar',
150
204
  encCreditcardNumber: 'ENCRYPTED_STRING',
@@ -159,7 +213,7 @@ Note that the callback function will also be called if the user presses enter in
159
213
  If you wish to reset the currently rendered iframes (fields) you can call HostedFields.reset() before running a new setup().
160
214
  This can be required if your page that contains the fields gets re-rendered. In that case you will have registered duplicates of the fields. So it's a good idea to call HostedFields.reset() on a beforeDestroy-hook if you are using Vue or React.
161
215
 
162
- ````
216
+ ````js
163
217
  //Each iframe will get an id 'hosted-field-' + the id of the field
164
218
  iframe.id = 'hosted-field-' + field.id;
165
219
 
@@ -171,6 +225,22 @@ var container = document.querySelector(el);
171
225
  ````
172
226
  Lastly eventListener are registered to the iframe so that it picks up postMessage events.
173
227
 
228
+
229
+ **setClickToPayTransactionAmount** *(used for ClickToPay integration)*
230
+
231
+ It's used when the transaction amount should be dynamically changed.
232
+
233
+ Set ClickToPay transaction amount according to:
234
+ https://srci-docs.prod.srci.cloud.netcetera.com/sdk-config-guide
235
+
236
+
237
+ **clickToPayCheckout** *(used for ClickToPay integration)*
238
+
239
+ Perform ClickToPay checkout according to:
240
+ https://srci-docs.prod.srci.cloud.netcetera.com/sdk-checkout-api
241
+
242
+
243
+
174
244
  ## Styling
175
245
  Styling will mainly be handled buy the application using the hosted-fields. Each field will have some basic styling but the layout will have to be supplied.
176
246
 
@@ -178,7 +248,7 @@ Each field can have an appended string of css. This will be added to each field'
178
248
 
179
249
  ## Basic Example
180
250
  Two simple text fields for first & last name
181
- ````
251
+ ````js
182
252
  import { FieldTypes } from 'hosted-fields-sdk'
183
253
 
184
254
  let fieldConfig = [
@@ -210,7 +280,7 @@ let fieldConfig = [
210
280
  ````
211
281
 
212
282
  **Generate Field-objects using the Field-constructor for each one**
213
- ````
283
+ ````js
214
284
  import { Field } from 'hosted-fields-sdk'
215
285
 
216
286
  let fields = fieldConfig.map(conf => {
@@ -230,10 +300,10 @@ let fields = fieldConfig.map(conf => {
230
300
  ````
231
301
 
232
302
  **Call the setup function**
233
- ````
303
+ ````js
234
304
  HostedFields.setup({
235
305
  merchantId: 123456789,
236
- hostedfieldsurl: 'https://card-fields.paymentiq.io/1.0.51/index.html',
306
+ hostedfieldsurl: 'https://card-fields.paymentiq.io/1.1.1/index.html',
237
307
  fields: fields,
238
308
  service: 'some service',
239
309
  styles: '* .hosted-input-container .input-container input { color: green; }',
@@ -244,7 +314,7 @@ HostedFields.setup({
244
314
  ````
245
315
 
246
316
  **Adding the callback handler and including the domElement stated as 'el'**
247
- ````
317
+ ````html
248
318
  <!--index.html--->
249
319
  <html>
250
320
  <head></head>
@@ -255,7 +325,7 @@ HostedFields.setup({
255
325
  </html>
256
326
  ````
257
327
 
258
- ````
328
+ ````js
259
329
  // scripts.js
260
330
  import { HostedFields, Field, FieldTypes } from 'hosted-fields-sdk'
261
331
 
@@ -289,7 +359,7 @@ The RenderAsFloatingLabel rule will render the input placeholder as a floating l
289
359
  Each field will get wrapped by a div with the class *.hosted-field-container* and an id suffixed with the stated id for that field.
290
360
 
291
361
  By adding the following styles a basic layout will be created:
292
- ````
362
+ ````css
293
363
  //style.css
294
364
 
295
365
  #hosted-fields-wrapper {
@@ -307,7 +377,7 @@ By adding the following styles a basic layout will be created:
307
377
  ````
308
378
 
309
379
  ## Full checkout form
310
- ````
380
+ ````js
311
381
  import { HostedFields, Field, FieldTypes } from 'hosted-fields-sdk'
312
382
 
313
383
  // Configure your fields
@@ -380,7 +450,7 @@ let fields = fieldConfig.map(conf => {
380
450
 
381
451
  HostedFields.setup({
382
452
  merchantId: 123456789,
383
- hostedfieldsurl: 'https://card-fields.paymentiq.io/1.0.51/index.html',
453
+ hostedfieldsurl: 'https://card-fields.paymentiq.io/1.1.1/index.html',
384
454
  fields: fields,
385
455
  service: 'some service',
386
456
  styles: '.hosted-input-container .input-container input { color: red; }',
@@ -406,7 +476,7 @@ Overview of Change:
406
476
  We have recently updated the domain used for our card fields to enhance security and compliance with current standards. The old domain, while PCI DSS compliant, is scheduled for deprecation. We advise all users to transition to the new domain as soon as possible to maintain compliance and benefit from improved security measures.
407
477
 
408
478
  #### New Domain:
409
- Domain: `card-fields.paymentiq.io/1.0.51/`
479
+ Domain: `card-fields.paymentiq.io/1.1.1/`
410
480
 
411
481
  #### Compatibility Note:
412
482
  Supported Versions: This domain supports versions starting with 1.0.50 and above. Make sure your implementation is updated to at least this version to ensure compatibility.
@@ -423,4 +493,4 @@ Migrate to the New Domain: Begin using the new domain by updating your configura
423
493
  Old Domain: The old domain will be deprecated on 15 March, after which it will no longer be supported.
424
494
 
425
495
  #### Additional Notes:
426
- Reach out to our support team if you encounter any issues during the transition or require further assistance.
496
+ Reach out to our support team if you encounter any issues during the transition or require further assistance.
@@ -1 +1 @@
1
- import _typeof from"@babel/runtime/helpers/typeof";var actions={get:"get",setupContent:"setupContent",setupSingleIframeContent:"setupSingleIframeContent",formData:"formData",formSubmit:"formSubmit"};function _getGlobalObject(){try{if(global)return global}catch(_){try{if(window)return window}catch(_){return this}}}Object.freeze(_get__("actions"));var _RewireModuleId__=null;function _getRewireModuleId__(){var _;return null===_RewireModuleId__&&((_=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(_.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var _=_getGlobalObject();return _.__$$GLOBAL_REWIRE_REGISTRY__||(_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),_.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var _=_getRewireModuleId__(),e=_getRewireRegistry__(),t=e[_];return t||(e[_]=Object.create(null),t=e[_]),t}(()=>{var _=_getGlobalObject();_.__rewire_reset_all__||(_.__rewire_reset_all__=function(){_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__={};function _get__(_){var e=_getRewiredData__();return void 0===e[_]?_get_original__(_):(e=e[_])!==INTENTIONAL_UNDEFINED?e:void 0}function _get_original__(_){if("actions"===_)return actions}function _assign__(_,e){var t=_getRewiredData__();return void 0===t[_]?_set_original__(_,e):t[_]=e}function _set_original__(_,e){_}function _update_operation__(_,e,t){var r=_get__(e),_="++"===_?r+1:r-1;return _assign__(e,_),t?_:r}function _set__(e,_){var t=_getRewiredData__();return"object"===_typeof(e)?(Object.keys(e).forEach(function(_){t[_]=e[_]}),function(){Object.keys(e).forEach(function(_){_reset__(e)})}):(t[e]=void 0===_?INTENTIONAL_UNDEFINED:_,function(){_reset__(e)})}function _reset__(_){var e=_getRewiredData__();delete e[_],0==Object.keys(e).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(e){var t=_getRewiredData__(),r=Object.keys(e),n={};function i(){r.forEach(function(_){t[_]=n[_]})}return function(_){r.forEach(function(_){n[_]=t[_],t[_]=e[_]});_=_();return _&&"function"==typeof _.then?_.then(i).catch(i):i(),_}}(()=>{function _(_,e){Object.defineProperty(_RewireAPI__,_,{value:e,enumerable:!1,configurable:!0})}_("__get__",_get__),_("__GetDependency__",_get__),_("__Rewire__",_set__),_("__set__",_set__),_("__reset__",_reset__),_("__ResetDependency__",_reset__),_("__with__",_with__)})();export default _RewireAPI__;export{actions,_get__ as __get__,_get__ as __GetDependency__,_set__ as __Rewire__,_set__ as __set__,_reset__ as __ResetDependency__,_RewireAPI__ as __RewireAPI__};
1
+ import _typeof from"@babel/runtime/helpers/typeof";var actions={get:"get",setupContent:"setupContent",setupSingleIframeContent:"setupSingleIframeContent",setupClickToPay:"setupClickToPay",formData:"formData",formSubmit:"formSubmit",cardBrandChange:"cardBrandChange",setClickToPayTransactionAmount:"setClickToPayTransactionAmount",clickToPayCheckout:"clickToPayCheckout",clickToPayCheckoutSuccess:"clickToPayCheckoutSuccess",clickToPayCheckoutError:"clickToPayCheckoutError",requestIframeExpand:"requestIframeExpand",cancelIframeExpand:"cancelIframeExpand"};function _getGlobalObject(){try{if(global)return global}catch(_){try{if(window)return window}catch(_){return this}}}Object.freeze(_get__("actions"));var _RewireModuleId__=null;function _getRewireModuleId__(){var _;return null===_RewireModuleId__&&((_=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(_.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var _=_getGlobalObject();return _.__$$GLOBAL_REWIRE_REGISTRY__||(_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),_.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var _=_getRewireModuleId__(),e=_getRewireRegistry__(),t=e[_];return t||(e[_]=Object.create(null),t=e[_]),t}(()=>{var _=_getGlobalObject();_.__rewire_reset_all__||(_.__rewire_reset_all__=function(){_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__={};function _get__(_){var e=_getRewiredData__();return void 0===e[_]?_get_original__(_):(e=e[_])!==INTENTIONAL_UNDEFINED?e:void 0}function _get_original__(_){if("actions"===_)return actions}function _assign__(_,e){var t=_getRewiredData__();return void 0===t[_]?_set_original__(_,e):t[_]=e}function _set_original__(_,e){_}function _update_operation__(_,e,t){var r=_get__(e),_="++"===_?r+1:r-1;return _assign__(e,_),t?_:r}function _set__(e,_){var t=_getRewiredData__();return"object"===_typeof(e)?(Object.keys(e).forEach(function(_){t[_]=e[_]}),function(){Object.keys(e).forEach(function(_){_reset__(e)})}):(t[e]=void 0===_?INTENTIONAL_UNDEFINED:_,function(){_reset__(e)})}function _reset__(_){var e=_getRewiredData__();delete e[_],0==Object.keys(e).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(e){var t=_getRewiredData__(),r=Object.keys(e),n={};function a(){r.forEach(function(_){t[_]=n[_]})}return function(_){r.forEach(function(_){n[_]=t[_],t[_]=e[_]});_=_();return _&&"function"==typeof _.then?_.then(a).catch(a):a(),_}}(()=>{function _(_,e){Object.defineProperty(_RewireAPI__,_,{value:e,enumerable:!1,configurable:!0})}_("__get__",_get__),_("__GetDependency__",_get__),_("__Rewire__",_set__),_("__set__",_set__),_("__reset__",_reset__),_("__ResetDependency__",_reset__),_("__with__",_with__)})();export default _RewireAPI__;export{actions,_get__ as __get__,_get__ as __GetDependency__,_set__ as __Rewire__,_set__ as __set__,_reset__ as __ResetDependency__,_RewireAPI__ as __RewireAPI__};
@@ -1 +1 @@
1
- import _typeof from"@babel/runtime/helpers/typeof";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var merchantId,renderMode,fields,hostedfieldsurl,service,styles,_excluded=["errors"],_excluded2=["errors"];function ownKeys(t,e){var _,r=Object.keys(t);return Object.getOwnPropertySymbols&&(_=Object.getOwnPropertySymbols(t),e&&(_=_.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,_)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var _=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(_),!0).forEach(function(e){_defineProperty(t,e,_[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(_)):ownKeys(Object(_)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(_,e))})}return t}import{actions}from"./actions";var el,callback,onLoadCallback,autoFocusNext,targets=[],responses=[],onLoadCounter=0,window=document.parentWindow||document.defaultView;function setup(e){_assign__("merchantId",e.merchantId),_assign__("renderMode",e.renderMode),_assign__("hostedfieldsurl",e.hostedfieldsurl),_assign__("fields",e.fields),_assign__("service",e.service),_assign__("styles",e.styles),_assign__("callback",e.callback),_assign__("onLoadCallback",e.onLoadCallback),_assign__("autoFocusNext",e.autoFocusNext||!1),_assign__("el",e.el),(_get__("renderMode")&&"single"===_get__("renderMode")?_get__("registerSingleIframe"):_get__("registerIframes"))()}function validateOrigin(e){return-1<[e,"https://test-hostedpages.paymentiq.io","https://hostedpages.paymentiq.io","https://card-fields.paymentiq.io"].indexOf(e)}function get(){_get__("targets").forEach(function(e){e.target.postMessage({action:_get__("actions").get,merchantId:_get__("merchantId"),id:e.id},_get__("hostedfieldsurl"))})}function reset(){_assign__("targets",[])}function destroyContent(){_assign__("merchantId",null),_assign__("fields",null),_assign__("hostedfieldsurl",null),_assign__("service",null),_assign__("styles",null),_assign__("targets",[]),_assign__("responses",[]),_assign__("el",null),_assign__("callback",null),_assign__("onLoadCallback",null),_assign__("onLoadCounter",0)}function registerIframes(){_assign__("targets",_get__("targets").concat(_get__("fields").map(function(e){return _get__("initIframe")(e)})))}function registerSingleIframe(){_assign__("targets",_get__("initSingleIframe")())}function eventHandler(e){if(_get__("validateOrigin")(e.origin))switch(e.data.action){case _get__("actions").formData:_get__("responses").push({id:e.data.id,data:e.data.formData}),_get__("sendCallback")();break;case _get__("actions").formSubmit:_get__("get")()}else console.error("Received message from invalid origin",e.origin)}function sendCallback(){var t,_=_get__("responses").map(function(e){return e.id}),e=_get__("targets").map(function(e){return e.id});_.length===e.length&&(t=!0,e.forEach(function(e){t=_.includes(e)}),t)&&(e=_get__("responses").reduce(function(e,t){var _=e.errors,e=_objectWithoutProperties(e,_excluded),t=t.data,r=t.errors,t=_objectWithoutProperties(t,_excluded2),e=_objectSpread(_objectSpread({},e),t),t=_objectSpread(_objectSpread({},_),r);return 0<Object.keys(t).length&&(e.errors=t),e},{}),_assign__("responses",[]),_get__("callback")()(e))}function initIframe(e){var t=document.createElement("iframe"),_=(t.id="hosted-field-"+e.id,t.name="hosted-field-"+e.id,t.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),r=document.createElement("div");r.id="hosted-field-container-"+e.id,r.className="hosted-field-container";try{r.appendChild(t),_.appendChild(r);var n=document.querySelector("#"+t.id).contentWindow;return t.onload=_get__("createIframeProxy").bind(this,e,n),{id:t.id,target:n}}catch(e){console.log(e),_get__("onLoadCallback")()()}}function createIframeProxy(e,t){var _={};_[e.name]=e,_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.postMessage({action:_get__("actions").setupContent,styles:_get__("styles"),fields:_,service:_get__("service")},_get__("hostedfieldsurl")),_update_operation__("++","onLoadCounter",!1),_get__("onLoadCounter")===_get__("fields").length&&_get__("onLoadCallback")&&(_get__("onLoadCallback")()(),_assign__("onLoadCounter",0))}function initSingleIframe(){var e=document.createElement("iframe"),t=(e.id="hosted-field-single-iframe",e.name="hosted-field-single-iframe",e.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),_=document.createElement("div");_.id="hosted-field-container-single-iframe",_.className="hosted-field-container";try{_.appendChild(e),t.appendChild(_);var r=document.querySelector("#hosted-field-single-iframe").contentWindow;return e.onload=_get__("createSingleIframeProxy").bind(this,_get__("fields"),r),[{id:e.id,target:r}]}catch(e){console.log(e),_get__("onLoadCallback")()()}}function createSingleIframeProxy(e,t){var _={};e.forEach(function(e){_[e.name]=e}),_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.postMessage({action:_get__("actions").setupSingleIframeContent,styles:_get__("styles"),fields:_,service:_get__("service"),settings:{autoFocusNext:_get__("autoFocusNext")}},_get__("hostedfieldsurl")),_get__("onLoadCallback")()()}var HostedFields={setup:_get__("setup"),get:_get__("get"),reset:_get__("reset")};function _getGlobalObject(){try{if(global)return global}catch(e){try{if(window)return window}catch(e){return this}}}var _RewireModuleId__=null;function _getRewireModuleId__(){var e;return null===_RewireModuleId__&&((e=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(e.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var e=_getGlobalObject();return e.__$$GLOBAL_REWIRE_REGISTRY__||(e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),e.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var e=_getRewireModuleId__(),t=_getRewireRegistry__(),_=t[e];return _||(t[e]=Object.create(null),_=t[e]),_}(()=>{var e=_getGlobalObject();e.__rewire_reset_all__||(e.__rewire_reset_all__=function(){e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__={};function _get__(e){var t=_getRewiredData__();return void 0===t[e]?_get_original__(e):(t=t[e])!==INTENTIONAL_UNDEFINED?t:void 0}function _get_original__(e){switch(e){case"merchantId":return merchantId;case"renderMode":return renderMode;case"hostedfieldsurl":return hostedfieldsurl;case"fields":return fields;case"service":return service;case"styles":return styles;case"callback":return callback;case"onLoadCallback":return onLoadCallback;case"autoFocusNext":return autoFocusNext;case"el":return el;case"registerSingleIframe":return registerSingleIframe;case"registerIframes":return registerIframes;case"targets":return targets;case"actions":return actions;case"responses":return responses;case"onLoadCounter":return onLoadCounter;case"initIframe":return initIframe;case"initSingleIframe":return initSingleIframe;case"validateOrigin":return validateOrigin;case"sendCallback":return sendCallback;case"get":return get;case"createIframeProxy":return createIframeProxy;case"window":return window;case"eventHandler":return eventHandler;case"createSingleIframeProxy":return createSingleIframeProxy;case"setup":return setup;case"reset":return reset}}function _assign__(e,t){var _=_getRewiredData__();return void 0===_[e]?_set_original__(e,t):_[e]=t}function _set_original__(e,t){switch(e){case"merchantId":return merchantId=t;case"renderMode":return renderMode=t;case"hostedfieldsurl":return hostedfieldsurl=t;case"fields":return fields=t;case"service":return service=t;case"styles":return styles=t;case"callback":return callback=t;case"onLoadCallback":return onLoadCallback=t;case"autoFocusNext":return autoFocusNext=t;case"el":return el=t;case"targets":return targets=t;case"responses":return responses=t;case"onLoadCounter":return onLoadCounter=t}}function _update_operation__(e,t,_){var r=_get__(t),e="++"===e?r+1:r-1;return _assign__(t,e),_?e:r}function _set__(t,e){var _=_getRewiredData__();return"object"===_typeof(t)?(Object.keys(t).forEach(function(e){_[e]=t[e]}),function(){Object.keys(t).forEach(function(e){_reset__(t)})}):(_[t]=void 0===e?INTENTIONAL_UNDEFINED:e,function(){_reset__(t)})}function _reset__(e){var t=_getRewiredData__();delete t[e],0==Object.keys(t).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(t){var _=_getRewiredData__(),r=Object.keys(t),n={};function a(){r.forEach(function(e){_[e]=n[e]})}return function(e){r.forEach(function(e){n[e]=_[e],_[e]=t[e]});e=e();return e&&"function"==typeof e.then?e.then(a).catch(a):a(),e}}(()=>{function e(e,t){Object.defineProperty(_RewireAPI__,e,{value:t,enumerable:!1,configurable:!0})}e("__get__",_get__),e("__GetDependency__",_get__),e("__Rewire__",_set__),e("__set__",_set__),e("__reset__",_reset__),e("__ResetDependency__",_reset__),e("__with__",_with__)})();export default _RewireAPI__;export{HostedFields,_get__ as __get__,_get__ as __GetDependency__,_set__ as __Rewire__,_set__ as __set__,_reset__ as __ResetDependency__,_RewireAPI__ as __RewireAPI__};
1
+ import _typeof from"@babel/runtime/helpers/typeof";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var merchantId,renderMode,fields,hostedfieldsurl,service,styles,_excluded=["errors"],_excluded2=["errors"];function ownKeys(t,e){var a,r=Object.keys(t);return Object.getOwnPropertySymbols&&(a=Object.getOwnPropertySymbols(t),e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,a)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(a),!0).forEach(function(e){_defineProperty(t,e,a[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))})}return t}import{actions}from"./actions";var clickToPayIframe,el,callback,onLoadCallback,onCardBrandChangeCallback,onRequestIframeExpandCallback,onCancelIframeExpandCallback,onClickToPayCheckoutSuccessCallback,onClickToPayCheckoutErrorCallback,autoFocusNext,clickToPayAttributes,clickToPayConfig,targets=[],responses=[],onLoadCounter=0,window=document.parentWindow||document.defaultView,recommendedExpandedHeight=850,iframeAllowPermissions="payment";function setup(e){_assign__("merchantId",e.merchantId),_assign__("renderMode",e.renderMode),_assign__("hostedfieldsurl",e.hostedfieldsurl),_assign__("fields",e.fields),_assign__("service",e.service),_assign__("styles",e.styles),_assign__("callback",e.callback),_assign__("onLoadCallback",e.onLoadCallback),_assign__("onCardBrandChangeCallback",e.onCardBrandChangeCallback),_assign__("onRequestIframeExpandCallback",e.onRequestIframeExpandCallback),_assign__("onCancelIframeExpandCallback",e.onCancelIframeExpandCallback),_assign__("onClickToPayCheckoutSuccessCallback",e.onClickToPayCheckoutSuccessCallback),_assign__("onClickToPayCheckoutErrorCallback",e.onClickToPayCheckoutErrorCallback),_assign__("autoFocusNext",e.autoFocusNext||!1),_assign__("el",e.el),_assign__("clickToPayConfig",e.clickToPayConfig),_assign__("clickToPayAttributes",e.clickToPayAttributes),(_get__("renderMode")&&"single"===_get__("renderMode")?_get__("registerSingleIframe"):_get__("registerIframes"))()}function validateOrigin(e){return-1<[e,"https://test-hostedpages.paymentiq.io","https://hostedpages.paymentiq.io","https://card-fields.paymentiq.io"].indexOf(e)}function get(){_get__("targets").forEach(function(e){e.target.postMessage({action:_get__("actions").get,merchantId:_get__("merchantId"),id:e.id},_get__("hostedfieldsurl"))})}function reset(){_assign__("targets",[]),_assign__("clickToPayIframe",void 0)}function assertClickToPayIsSet(){return _get__("clickToPayConfig")?!!_get__("clickToPayIframe")||(console.error("ClickToPay target not set internally"),!1):(console.error("ClickToPay config not set"),!1)}function setClickToPayTransactionAmount(e){_get__("assertClickToPayIsSet")()&&_get__("clickToPayIframe").contentWindow.postMessage({action:_get__("actions").setClickToPayTransactionAmount,transactionAmount:e},_get__("hostedfieldsurl"))}function clickToPayCheckout(e){_get__("assertClickToPayIsSet")()&&_get__("clickToPayIframe").contentWindow.postMessage({action:_get__("actions").clickToPayCheckout,payload:e},_get__("hostedfieldsurl"))}function registerIframes(){_assign__("targets",_get__("targets").concat(_get__("fields").map(function(e){return _get__("initIframe")(e)})))}function registerSingleIframe(){_assign__("targets",_get__("initSingleIframe")())}function eventHandler(e){var t;if(_get__("validateOrigin")(e.origin))switch(e.data.action){case _get__("actions").formData:_get__("responses").push({id:e.data.id,data:e.data.formData}),_get__("sendCallback")();break;case _get__("actions").cardBrandChange:null!=(t=_get__("onCardBrandChangeCallback"))&&t({cardBrand:e.data.cardBrand});break;case _get__("actions").requestIframeExpand:null!=(t=_get__("onRequestIframeExpandCallback"))&&t(_get__("recommendedExpandedHeight")),_get__("clickToPayIframe").classList.add("expanded");break;case _get__("actions").clickToPayCheckoutSuccess:null!=(t=_get__("onClickToPayCheckoutSuccessCallback"))&&t(e.data.response);break;case _get__("actions").clickToPayCheckoutError:null!=(t=_get__("onClickToPayCheckoutErrorCallback"))&&t(e.data.error);break;case _get__("actions").cancelIframeExpand:null!=(t=_get__("onCancelIframeExpandCallback"))&&t(),_get__("clickToPayIframe").classList.remove("expanded");break;case _get__("actions").formSubmit:_get__("get")()}else console.error("Received message from invalid origin",e.origin)}function sendCallback(){var t,a=_get__("responses").map(function(e){return e.id}),e=_get__("targets").map(function(e){return e.id});a.length===e.length&&(t=!0,e.forEach(function(e){t=a.includes(e)}),t)&&(e=_get__("responses").reduce(function(e,t){var a=e.errors,e=_objectWithoutProperties(e,_excluded),t=t.data,r=t.errors,t=_objectWithoutProperties(t,_excluded2),e=_objectSpread(_objectSpread({},e),t),t=_objectSpread(_objectSpread({},a),r);return 0<Object.keys(t).length&&(e.errors=t),e},{}),_assign__("responses",[]),_get__("callback")()(e))}function handleOnLoad(e){var t;null!=(t=_get__("onLoadCallback"))&&t()(),e&&(_assign__("clickToPayIframe",e),_get__("clickToPayConfig"))&&_get__("clickToPayIframe").contentWindow.postMessage({action:_get__("actions").setupClickToPay,attributes:_get__("clickToPayAttributes"),config:_get__("clickToPayConfig")},_get__("hostedfieldsurl"))}function initIframe(e){var t=document.createElement("iframe"),a=(t.id="hosted-field-"+e.id,t.name="hosted-field-"+e.id,t.allow=_get__("iframeAllowPermissions"),t.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),r=document.createElement("div");r.id="hosted-field-container-"+e.id,r.className="hosted-field-container";try{r.appendChild(t),a.appendChild(r);var n=document.querySelector("#"+t.id);return t.onload=_get__("createIframeProxy").bind(this,e,n),{id:t.id,target:n.contentWindow}}catch(e){console.log(e),_get__("handleOnLoad")(null)}}function createIframeProxy(e,t){var a={};a[e.name]=e,_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.contentWindow.postMessage({action:_get__("actions").setupContent,styles:_get__("styles"),fields:a,service:_get__("service")},_get__("hostedfieldsurl")),_update_operation__("++","onLoadCounter",!1),_get__("onLoadCounter")===_get__("fields").length&&_get__("onLoadCallback")&&(_get__("handleOnLoad")(t),_assign__("onLoadCounter",0))}function initSingleIframe(){var e=document.createElement("iframe"),t=(e.id="hosted-field-single-iframe",e.name="hosted-field-single-iframe",e.allow=_get__("iframeAllowPermissions"),e.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),a=document.createElement("div");a.id="hosted-field-container-single-iframe",a.className="hosted-field-container";try{a.appendChild(e),t.appendChild(a);var r=document.querySelector("#hosted-field-single-iframe");return e.onload=_get__("createSingleIframeProxy").bind(this,_get__("fields"),r),[{id:e.id,target:r.contentWindow}]}catch(e){console.log(e),_get__("handleOnLoad")(null)}}function createSingleIframeProxy(e,t){var a={};e.forEach(function(e){a[e.name]=e}),_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.contentWindow.postMessage({action:_get__("actions").setupSingleIframeContent,styles:_get__("styles"),fields:a,service:_get__("service"),settings:{autoFocusNext:_get__("autoFocusNext")}},_get__("hostedfieldsurl")),_get__("handleOnLoad")(t)}var HostedFields={setup:_get__("setup"),get:_get__("get"),reset:_get__("reset"),setClickToPayTransactionAmount:_get__("setClickToPayTransactionAmount"),clickToPayCheckout:_get__("clickToPayCheckout")};function _getGlobalObject(){try{if(global)return global}catch(e){try{if(window)return window}catch(e){return this}}}var _RewireModuleId__=null;function _getRewireModuleId__(){var e;return null===_RewireModuleId__&&((e=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(e.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var e=_getGlobalObject();return e.__$$GLOBAL_REWIRE_REGISTRY__||(e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),e.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var e=_getRewireModuleId__(),t=_getRewireRegistry__(),a=t[e];return a||(t[e]=Object.create(null),a=t[e]),a}(()=>{var e=_getGlobalObject();e.__rewire_reset_all__||(e.__rewire_reset_all__=function(){e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__={};function _get__(e){var t=_getRewiredData__();return void 0===t[e]?_get_original__(e):(t=t[e])!==INTENTIONAL_UNDEFINED?t:void 0}function _get_original__(e){switch(e){case"merchantId":return merchantId;case"renderMode":return renderMode;case"hostedfieldsurl":return hostedfieldsurl;case"fields":return fields;case"service":return service;case"styles":return styles;case"callback":return callback;case"onLoadCallback":return onLoadCallback;case"onCardBrandChangeCallback":return onCardBrandChangeCallback;case"onRequestIframeExpandCallback":return onRequestIframeExpandCallback;case"onCancelIframeExpandCallback":return onCancelIframeExpandCallback;case"onClickToPayCheckoutSuccessCallback":return onClickToPayCheckoutSuccessCallback;case"onClickToPayCheckoutErrorCallback":return onClickToPayCheckoutErrorCallback;case"autoFocusNext":return autoFocusNext;case"el":return el;case"clickToPayConfig":return clickToPayConfig;case"clickToPayAttributes":return clickToPayAttributes;case"registerSingleIframe":return registerSingleIframe;case"registerIframes":return registerIframes;case"targets":return targets;case"actions":return actions;case"clickToPayIframe":return clickToPayIframe;case"assertClickToPayIsSet":return assertClickToPayIsSet;case"initIframe":return initIframe;case"initSingleIframe":return initSingleIframe;case"validateOrigin":return validateOrigin;case"responses":return responses;case"sendCallback":return sendCallback;case"recommendedExpandedHeight":return recommendedExpandedHeight;case"get":return get;case"iframeAllowPermissions":return iframeAllowPermissions;case"createIframeProxy":return createIframeProxy;case"handleOnLoad":return handleOnLoad;case"window":return window;case"eventHandler":return eventHandler;case"onLoadCounter":return onLoadCounter;case"createSingleIframeProxy":return createSingleIframeProxy;case"setup":return setup;case"reset":return reset;case"setClickToPayTransactionAmount":return setClickToPayTransactionAmount;case"clickToPayCheckout":return clickToPayCheckout}}function _assign__(e,t){var a=_getRewiredData__();return void 0===a[e]?_set_original__(e,t):a[e]=t}function _set_original__(e,t){switch(e){case"merchantId":return merchantId=t;case"renderMode":return renderMode=t;case"hostedfieldsurl":return hostedfieldsurl=t;case"fields":return fields=t;case"service":return service=t;case"styles":return styles=t;case"callback":return callback=t;case"onLoadCallback":return onLoadCallback=t;case"onCardBrandChangeCallback":return onCardBrandChangeCallback=t;case"onRequestIframeExpandCallback":return onRequestIframeExpandCallback=t;case"onCancelIframeExpandCallback":return onCancelIframeExpandCallback=t;case"onClickToPayCheckoutSuccessCallback":return onClickToPayCheckoutSuccessCallback=t;case"onClickToPayCheckoutErrorCallback":return onClickToPayCheckoutErrorCallback=t;case"autoFocusNext":return autoFocusNext=t;case"el":return el=t;case"clickToPayConfig":return clickToPayConfig=t;case"clickToPayAttributes":return clickToPayAttributes=t;case"targets":return targets=t;case"clickToPayIframe":return clickToPayIframe=t;case"responses":return responses=t;case"onLoadCounter":return onLoadCounter=t}}function _update_operation__(e,t,a){var r=_get__(t),e="++"===e?r+1:r-1;return _assign__(t,e),a?e:r}function _set__(t,e){var a=_getRewiredData__();return"object"===_typeof(t)?(Object.keys(t).forEach(function(e){a[e]=t[e]}),function(){Object.keys(t).forEach(function(e){_reset__(t)})}):(a[t]=void 0===e?INTENTIONAL_UNDEFINED:e,function(){_reset__(t)})}function _reset__(e){var t=_getRewiredData__();delete t[e],0==Object.keys(t).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(t){var a=_getRewiredData__(),r=Object.keys(t),n={};function _(){r.forEach(function(e){a[e]=n[e]})}return function(e){r.forEach(function(e){n[e]=a[e],a[e]=t[e]});e=e();return e&&"function"==typeof e.then?e.then(_).catch(_):_(),e}}(()=>{function e(e,t){Object.defineProperty(_RewireAPI__,e,{value:t,enumerable:!1,configurable:!0})}e("__get__",_get__),e("__GetDependency__",_get__),e("__Rewire__",_set__),e("__set__",_set__),e("__reset__",_reset__),e("__ResetDependency__",_reset__),e("__with__",_with__)})();export default _RewireAPI__;export{HostedFields,_get__ as __get__,_get__ as __GetDependency__,_set__ as __Rewire__,_set__ as __set__,_reset__ as __ResetDependency__,_RewireAPI__ as __RewireAPI__};
@@ -1 +1 @@
1
- var _typeof=require("@babel/runtime/helpers/typeof"),actions=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.__ResetDependency__=_reset__,exports.__RewireAPI__=void 0,exports.__set__=exports.__Rewire__=_set__,exports.__GetDependency__=exports.__get__=_get__,exports.default=exports.actions=void 0,exports.actions={get:"get",setupContent:"setupContent",setupSingleIframeContent:"setupSingleIframeContent",formData:"formData",formSubmit:"formSubmit"});function _getGlobalObject(){try{if(global)return global}catch(_){try{if(window)return window}catch(_){return this}}}Object.freeze(_get__("actions"));var _RewireModuleId__=null;function _getRewireModuleId__(){var _;return null===_RewireModuleId__&&((_=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(_.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var _=_getGlobalObject();return _.__$$GLOBAL_REWIRE_REGISTRY__||(_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),_.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var _=_getRewireModuleId__(),e=_getRewireRegistry__(),t=e[_];return t||(e[_]=Object.create(null),t=e[_]),t}(()=>{var _=_getGlobalObject();_.__rewire_reset_all__||(_.__rewire_reset_all__=function(){_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__=exports.__RewireAPI__={};function _get__(_){var e=_getRewiredData__();return void 0===e[_]?_get_original__(_):(e=e[_])!==INTENTIONAL_UNDEFINED?e:void 0}function _get_original__(_){if("actions"===_)return actions}function _assign__(_,e){var t=_getRewiredData__();return void 0===t[_]?_set_original__(_,e):t[_]=e}function _set_original__(_,e){_}function _update_operation__(_,e,t){var r=_get__(e),_="++"===_?r+1:r-1;return _assign__(e,_),t?_:r}function _set__(e,_){var t=_getRewiredData__();return"object"===_typeof(e)?(Object.keys(e).forEach(function(_){t[_]=e[_]}),function(){Object.keys(e).forEach(function(_){_reset__(e)})}):(t[e]=void 0===_?INTENTIONAL_UNDEFINED:_,function(){_reset__(e)})}function _reset__(_){var e=_getRewiredData__();delete e[_],0==Object.keys(e).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(e){var t=_getRewiredData__(),r=Object.keys(e),n={};function i(){r.forEach(function(_){t[_]=n[_]})}return function(_){r.forEach(function(_){n[_]=t[_],t[_]=e[_]});_=_();return _&&"function"==typeof _.then?_.then(i).catch(i):i(),_}}(()=>{function _(_,e){Object.defineProperty(_RewireAPI__,_,{value:e,enumerable:!1,configurable:!0})}_("__get__",_get__),_("__GetDependency__",_get__),_("__Rewire__",_set__),_("__set__",_set__),_("__reset__",_reset__),_("__ResetDependency__",_reset__),_("__with__",_with__)})();var _default=exports.default=_RewireAPI__;
1
+ var _typeof=require("@babel/runtime/helpers/typeof"),actions=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.__ResetDependency__=_reset__,exports.__RewireAPI__=void 0,exports.__set__=exports.__Rewire__=_set__,exports.__GetDependency__=exports.__get__=_get__,exports.default=exports.actions=void 0,exports.actions={get:"get",setupContent:"setupContent",setupSingleIframeContent:"setupSingleIframeContent",setupClickToPay:"setupClickToPay",formData:"formData",formSubmit:"formSubmit",cardBrandChange:"cardBrandChange",setClickToPayTransactionAmount:"setClickToPayTransactionAmount",clickToPayCheckout:"clickToPayCheckout",clickToPayCheckoutSuccess:"clickToPayCheckoutSuccess",clickToPayCheckoutError:"clickToPayCheckoutError",requestIframeExpand:"requestIframeExpand",cancelIframeExpand:"cancelIframeExpand"});function _getGlobalObject(){try{if(global)return global}catch(_){try{if(window)return window}catch(_){return this}}}Object.freeze(_get__("actions"));var _RewireModuleId__=null;function _getRewireModuleId__(){var _;return null===_RewireModuleId__&&((_=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(_.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var _=_getGlobalObject();return _.__$$GLOBAL_REWIRE_REGISTRY__||(_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),_.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var _=_getRewireModuleId__(),e=_getRewireRegistry__(),t=e[_];return t||(e[_]=Object.create(null),t=e[_]),t}(()=>{var _=_getGlobalObject();_.__rewire_reset_all__||(_.__rewire_reset_all__=function(){_.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__=exports.__RewireAPI__={};function _get__(_){var e=_getRewiredData__();return void 0===e[_]?_get_original__(_):(e=e[_])!==INTENTIONAL_UNDEFINED?e:void 0}function _get_original__(_){if("actions"===_)return actions}function _assign__(_,e){var t=_getRewiredData__();return void 0===t[_]?_set_original__(_,e):t[_]=e}function _set_original__(_,e){_}function _update_operation__(_,e,t){var r=_get__(e),_="++"===_?r+1:r-1;return _assign__(e,_),t?_:r}function _set__(e,_){var t=_getRewiredData__();return"object"===_typeof(e)?(Object.keys(e).forEach(function(_){t[_]=e[_]}),function(){Object.keys(e).forEach(function(_){_reset__(e)})}):(t[e]=void 0===_?INTENTIONAL_UNDEFINED:_,function(){_reset__(e)})}function _reset__(_){var e=_getRewiredData__();delete e[_],0==Object.keys(e).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(e){var t=_getRewiredData__(),r=Object.keys(e),n={};function o(){r.forEach(function(_){t[_]=n[_]})}return function(_){r.forEach(function(_){n[_]=t[_],t[_]=e[_]});_=_();return _&&"function"==typeof _.then?_.then(o).catch(o):o(),_}}(()=>{function _(_,e){Object.defineProperty(_RewireAPI__,_,{value:e,enumerable:!1,configurable:!0})}_("__get__",_get__),_("__GetDependency__",_get__),_("__Rewire__",_set__),_("__set__",_set__),_("__reset__",_reset__),_("__ResetDependency__",_reset__),_("__with__",_with__)})();var _default=exports.default=_RewireAPI__;
@@ -1 +1 @@
1
- var merchantId,renderMode,fields,hostedfieldsurl,service,styles,_interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof=require("@babel/runtime/helpers/typeof"),_defineProperty2=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.HostedFields=void 0,exports.__ResetDependency__=_reset__,exports.__RewireAPI__=void 0,exports.__set__=exports.__Rewire__=_set__,exports.__GetDependency__=exports.__get__=_get__,exports.default=void 0,_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"))),_objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")),_actions=require("./actions"),_excluded=["errors"],_excluded2=["errors"];function ownKeys(t,e){var _,r=Object.keys(t);return Object.getOwnPropertySymbols&&(_=Object.getOwnPropertySymbols(t),e&&(_=_.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,_)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var _=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(_),!0).forEach(function(e){(0,_defineProperty2.default)(t,e,_[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(_)):ownKeys(Object(_)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(_,e))})}return t}var el,callback,onLoadCallback,autoFocusNext,targets=[],responses=[],onLoadCounter=0,window=document.parentWindow||document.defaultView;function setup(e){_assign__("merchantId",e.merchantId),_assign__("renderMode",e.renderMode),_assign__("hostedfieldsurl",e.hostedfieldsurl),_assign__("fields",e.fields),_assign__("service",e.service),_assign__("styles",e.styles),_assign__("callback",e.callback),_assign__("onLoadCallback",e.onLoadCallback),_assign__("autoFocusNext",e.autoFocusNext||!1),_assign__("el",e.el),(_get__("renderMode")&&"single"===_get__("renderMode")?_get__("registerSingleIframe"):_get__("registerIframes"))()}function validateOrigin(e){return-1<[e,"https://test-hostedpages.paymentiq.io","https://hostedpages.paymentiq.io","https://card-fields.paymentiq.io"].indexOf(e)}function get(){_get__("targets").forEach(function(e){e.target.postMessage({action:_get__("actions").get,merchantId:_get__("merchantId"),id:e.id},_get__("hostedfieldsurl"))})}function reset(){_assign__("targets",[])}function destroyContent(){_assign__("merchantId",null),_assign__("fields",null),_assign__("hostedfieldsurl",null),_assign__("service",null),_assign__("styles",null),_assign__("targets",[]),_assign__("responses",[]),_assign__("el",null),_assign__("callback",null),_assign__("onLoadCallback",null),_assign__("onLoadCounter",0)}function registerIframes(){_assign__("targets",_get__("targets").concat(_get__("fields").map(function(e){return _get__("initIframe")(e)})))}function registerSingleIframe(){_assign__("targets",_get__("initSingleIframe")())}function eventHandler(e){if(_get__("validateOrigin")(e.origin))switch(e.data.action){case _get__("actions").formData:_get__("responses").push({id:e.data.id,data:e.data.formData}),_get__("sendCallback")();break;case _get__("actions").formSubmit:_get__("get")()}else console.error("Received message from invalid origin",e.origin)}function sendCallback(){var t,_=_get__("responses").map(function(e){return e.id}),e=_get__("targets").map(function(e){return e.id});_.length===e.length&&(t=!0,e.forEach(function(e){t=_.includes(e)}),t)&&(e=_get__("responses").reduce(function(e,t){var _=e.errors,e=(0,_objectWithoutProperties2.default)(e,_excluded),t=t.data,r=t.errors,t=(0,_objectWithoutProperties2.default)(t,_excluded2),e=_objectSpread(_objectSpread({},e),t),t=_objectSpread(_objectSpread({},_),r);return 0<Object.keys(t).length&&(e.errors=t),e},{}),_assign__("responses",[]),_get__("callback")()(e))}function initIframe(e){var t=document.createElement("iframe"),_=(t.id="hosted-field-"+e.id,t.name="hosted-field-"+e.id,t.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),r=document.createElement("div");r.id="hosted-field-container-"+e.id,r.className="hosted-field-container";try{r.appendChild(t),_.appendChild(r);var n=document.querySelector("#"+t.id).contentWindow;return t.onload=_get__("createIframeProxy").bind(this,e,n),{id:t.id,target:n}}catch(e){console.log(e),_get__("onLoadCallback")()()}}function createIframeProxy(e,t){var _={};_[e.name]=e,_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.postMessage({action:_get__("actions").setupContent,styles:_get__("styles"),fields:_,service:_get__("service")},_get__("hostedfieldsurl")),_update_operation__("++","onLoadCounter",!1),_get__("onLoadCounter")===_get__("fields").length&&_get__("onLoadCallback")&&(_get__("onLoadCallback")()(),_assign__("onLoadCounter",0))}function initSingleIframe(){var e=document.createElement("iframe"),t=(e.id="hosted-field-single-iframe",e.name="hosted-field-single-iframe",e.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),_=document.createElement("div");_.id="hosted-field-container-single-iframe",_.className="hosted-field-container";try{_.appendChild(e),t.appendChild(_);var r=document.querySelector("#hosted-field-single-iframe").contentWindow;return e.onload=_get__("createSingleIframeProxy").bind(this,_get__("fields"),r),[{id:e.id,target:r}]}catch(e){console.log(e),_get__("onLoadCallback")()()}}function createSingleIframeProxy(e,t){var _={};e.forEach(function(e){_[e.name]=e}),_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.postMessage({action:_get__("actions").setupSingleIframeContent,styles:_get__("styles"),fields:_,service:_get__("service"),settings:{autoFocusNext:_get__("autoFocusNext")}},_get__("hostedfieldsurl")),_get__("onLoadCallback")()()}var HostedFields=exports.HostedFields={setup:_get__("setup"),get:_get__("get"),reset:_get__("reset")};function _getGlobalObject(){try{if(global)return global}catch(e){try{if(window)return window}catch(e){return this}}}var _RewireModuleId__=null;function _getRewireModuleId__(){var e;return null===_RewireModuleId__&&((e=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(e.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var e=_getGlobalObject();return e.__$$GLOBAL_REWIRE_REGISTRY__||(e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),e.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var e=_getRewireModuleId__(),t=_getRewireRegistry__(),_=t[e];return _||(t[e]=Object.create(null),_=t[e]),_}(()=>{var e=_getGlobalObject();e.__rewire_reset_all__||(e.__rewire_reset_all__=function(){e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__=exports.__RewireAPI__={};function _get__(e){var t=_getRewiredData__();return void 0===t[e]?_get_original__(e):(t=t[e])!==INTENTIONAL_UNDEFINED?t:void 0}function _get_original__(e){switch(e){case"merchantId":return merchantId;case"renderMode":return renderMode;case"hostedfieldsurl":return hostedfieldsurl;case"fields":return fields;case"service":return service;case"styles":return styles;case"callback":return callback;case"onLoadCallback":return onLoadCallback;case"autoFocusNext":return autoFocusNext;case"el":return el;case"registerSingleIframe":return registerSingleIframe;case"registerIframes":return registerIframes;case"targets":return targets;case"actions":return _actions.actions;case"responses":return responses;case"onLoadCounter":return onLoadCounter;case"initIframe":return initIframe;case"initSingleIframe":return initSingleIframe;case"validateOrigin":return validateOrigin;case"sendCallback":return sendCallback;case"get":return get;case"createIframeProxy":return createIframeProxy;case"window":return window;case"eventHandler":return eventHandler;case"createSingleIframeProxy":return createSingleIframeProxy;case"setup":return setup;case"reset":return reset}}function _assign__(e,t){var _=_getRewiredData__();return void 0===_[e]?_set_original__(e,t):_[e]=t}function _set_original__(e,t){switch(e){case"merchantId":return merchantId=t;case"renderMode":return renderMode=t;case"hostedfieldsurl":return hostedfieldsurl=t;case"fields":return fields=t;case"service":return service=t;case"styles":return styles=t;case"callback":return callback=t;case"onLoadCallback":return onLoadCallback=t;case"autoFocusNext":return autoFocusNext=t;case"el":return el=t;case"targets":return targets=t;case"responses":return responses=t;case"onLoadCounter":return onLoadCounter=t}}function _update_operation__(e,t,_){var r=_get__(t),e="++"===e?r+1:r-1;return _assign__(t,e),_?e:r}function _set__(t,e){var _=_getRewiredData__();return"object"===_typeof(t)?(Object.keys(t).forEach(function(e){_[e]=t[e]}),function(){Object.keys(t).forEach(function(e){_reset__(t)})}):(_[t]=void 0===e?INTENTIONAL_UNDEFINED:e,function(){_reset__(t)})}function _reset__(e){var t=_getRewiredData__();delete t[e],0==Object.keys(t).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(t){var _=_getRewiredData__(),r=Object.keys(t),n={};function a(){r.forEach(function(e){_[e]=n[e]})}return function(e){r.forEach(function(e){n[e]=_[e],_[e]=t[e]});e=e();return e&&"function"==typeof e.then?e.then(a).catch(a):a(),e}}(()=>{function e(e,t){Object.defineProperty(_RewireAPI__,e,{value:t,enumerable:!1,configurable:!0})}e("__get__",_get__),e("__GetDependency__",_get__),e("__Rewire__",_set__),e("__set__",_set__),e("__reset__",_reset__),e("__ResetDependency__",_reset__),e("__with__",_with__)})();var _default=exports.default=_RewireAPI__;
1
+ var merchantId,renderMode,fields,hostedfieldsurl,service,styles,_interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof=require("@babel/runtime/helpers/typeof"),_defineProperty2=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.HostedFields=void 0,exports.__ResetDependency__=_reset__,exports.__RewireAPI__=void 0,exports.__set__=exports.__Rewire__=_set__,exports.__GetDependency__=exports.__get__=_get__,exports.default=void 0,_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"))),_objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")),_actions=require("./actions"),_excluded=["errors"],_excluded2=["errors"];function ownKeys(t,e){var a,r=Object.keys(t);return Object.getOwnPropertySymbols&&(a=Object.getOwnPropertySymbols(t),e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,a)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(a),!0).forEach(function(e){(0,_defineProperty2.default)(t,e,a[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))})}return t}var clickToPayIframe,el,callback,onLoadCallback,onCardBrandChangeCallback,onRequestIframeExpandCallback,onCancelIframeExpandCallback,onClickToPayCheckoutSuccessCallback,onClickToPayCheckoutErrorCallback,autoFocusNext,clickToPayAttributes,clickToPayConfig,targets=[],responses=[],onLoadCounter=0,window=document.parentWindow||document.defaultView,recommendedExpandedHeight=850,iframeAllowPermissions="payment";function setup(e){_assign__("merchantId",e.merchantId),_assign__("renderMode",e.renderMode),_assign__("hostedfieldsurl",e.hostedfieldsurl),_assign__("fields",e.fields),_assign__("service",e.service),_assign__("styles",e.styles),_assign__("callback",e.callback),_assign__("onLoadCallback",e.onLoadCallback),_assign__("onCardBrandChangeCallback",e.onCardBrandChangeCallback),_assign__("onRequestIframeExpandCallback",e.onRequestIframeExpandCallback),_assign__("onCancelIframeExpandCallback",e.onCancelIframeExpandCallback),_assign__("onClickToPayCheckoutSuccessCallback",e.onClickToPayCheckoutSuccessCallback),_assign__("onClickToPayCheckoutErrorCallback",e.onClickToPayCheckoutErrorCallback),_assign__("autoFocusNext",e.autoFocusNext||!1),_assign__("el",e.el),_assign__("clickToPayConfig",e.clickToPayConfig),_assign__("clickToPayAttributes",e.clickToPayAttributes),(_get__("renderMode")&&"single"===_get__("renderMode")?_get__("registerSingleIframe"):_get__("registerIframes"))()}function validateOrigin(e){return-1<[e,"https://test-hostedpages.paymentiq.io","https://hostedpages.paymentiq.io","https://card-fields.paymentiq.io"].indexOf(e)}function get(){_get__("targets").forEach(function(e){e.target.postMessage({action:_get__("actions").get,merchantId:_get__("merchantId"),id:e.id},_get__("hostedfieldsurl"))})}function reset(){_assign__("targets",[]),_assign__("clickToPayIframe",void 0)}function assertClickToPayIsSet(){return _get__("clickToPayConfig")?!!_get__("clickToPayIframe")||(console.error("ClickToPay target not set internally"),!1):(console.error("ClickToPay config not set"),!1)}function setClickToPayTransactionAmount(e){_get__("assertClickToPayIsSet")()&&_get__("clickToPayIframe").contentWindow.postMessage({action:_get__("actions").setClickToPayTransactionAmount,transactionAmount:e},_get__("hostedfieldsurl"))}function clickToPayCheckout(e){_get__("assertClickToPayIsSet")()&&_get__("clickToPayIframe").contentWindow.postMessage({action:_get__("actions").clickToPayCheckout,payload:e},_get__("hostedfieldsurl"))}function registerIframes(){_assign__("targets",_get__("targets").concat(_get__("fields").map(function(e){return _get__("initIframe")(e)})))}function registerSingleIframe(){_assign__("targets",_get__("initSingleIframe")())}function eventHandler(e){var t;if(_get__("validateOrigin")(e.origin))switch(e.data.action){case _get__("actions").formData:_get__("responses").push({id:e.data.id,data:e.data.formData}),_get__("sendCallback")();break;case _get__("actions").cardBrandChange:null!=(t=_get__("onCardBrandChangeCallback"))&&t({cardBrand:e.data.cardBrand});break;case _get__("actions").requestIframeExpand:null!=(t=_get__("onRequestIframeExpandCallback"))&&t(_get__("recommendedExpandedHeight")),_get__("clickToPayIframe").classList.add("expanded");break;case _get__("actions").clickToPayCheckoutSuccess:null!=(t=_get__("onClickToPayCheckoutSuccessCallback"))&&t(e.data.response);break;case _get__("actions").clickToPayCheckoutError:null!=(t=_get__("onClickToPayCheckoutErrorCallback"))&&t(e.data.error);break;case _get__("actions").cancelIframeExpand:null!=(t=_get__("onCancelIframeExpandCallback"))&&t(),_get__("clickToPayIframe").classList.remove("expanded");break;case _get__("actions").formSubmit:_get__("get")()}else console.error("Received message from invalid origin",e.origin)}function sendCallback(){var t,a=_get__("responses").map(function(e){return e.id}),e=_get__("targets").map(function(e){return e.id});a.length===e.length&&(t=!0,e.forEach(function(e){t=a.includes(e)}),t)&&(e=_get__("responses").reduce(function(e,t){var a=e.errors,e=(0,_objectWithoutProperties2.default)(e,_excluded),t=t.data,r=t.errors,t=(0,_objectWithoutProperties2.default)(t,_excluded2),e=_objectSpread(_objectSpread({},e),t),t=_objectSpread(_objectSpread({},a),r);return 0<Object.keys(t).length&&(e.errors=t),e},{}),_assign__("responses",[]),_get__("callback")()(e))}function handleOnLoad(e){var t;null!=(t=_get__("onLoadCallback"))&&t()(),e&&(_assign__("clickToPayIframe",e),_get__("clickToPayConfig"))&&_get__("clickToPayIframe").contentWindow.postMessage({action:_get__("actions").setupClickToPay,attributes:_get__("clickToPayAttributes"),config:_get__("clickToPayConfig")},_get__("hostedfieldsurl"))}function initIframe(e){var t=document.createElement("iframe"),a=(t.id="hosted-field-"+e.id,t.name="hosted-field-"+e.id,t.allow=_get__("iframeAllowPermissions"),t.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),r=document.createElement("div");r.id="hosted-field-container-"+e.id,r.className="hosted-field-container";try{r.appendChild(t),a.appendChild(r);var n=document.querySelector("#"+t.id);return t.onload=_get__("createIframeProxy").bind(this,e,n),{id:t.id,target:n.contentWindow}}catch(e){console.log(e),_get__("handleOnLoad")(null)}}function createIframeProxy(e,t){var a={};a[e.name]=e,_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.contentWindow.postMessage({action:_get__("actions").setupContent,styles:_get__("styles"),fields:a,service:_get__("service")},_get__("hostedfieldsurl")),_update_operation__("++","onLoadCounter",!1),_get__("onLoadCounter")===_get__("fields").length&&_get__("onLoadCallback")&&(_get__("handleOnLoad")(t),_assign__("onLoadCounter",0))}function initSingleIframe(){var e=document.createElement("iframe"),t=(e.id="hosted-field-single-iframe",e.name="hosted-field-single-iframe",e.allow=_get__("iframeAllowPermissions"),e.src=_get__("hostedfieldsurl")+"?mid="+_get__("merchantId"),document.querySelector(_get__("el"))),a=document.createElement("div");a.id="hosted-field-container-single-iframe",a.className="hosted-field-container";try{a.appendChild(e),t.appendChild(a);var r=document.querySelector("#hosted-field-single-iframe");return e.onload=_get__("createSingleIframeProxy").bind(this,_get__("fields"),r),[{id:e.id,target:r.contentWindow}]}catch(e){console.log(e),_get__("handleOnLoad")(null)}}function createSingleIframeProxy(e,t){var a={};e.forEach(function(e){a[e.name]=e}),_get__("window").addEventListener("message",_get__("eventHandler"),!1),t.contentWindow.postMessage({action:_get__("actions").setupSingleIframeContent,styles:_get__("styles"),fields:a,service:_get__("service"),settings:{autoFocusNext:_get__("autoFocusNext")}},_get__("hostedfieldsurl")),_get__("handleOnLoad")(t)}var HostedFields=exports.HostedFields={setup:_get__("setup"),get:_get__("get"),reset:_get__("reset"),setClickToPayTransactionAmount:_get__("setClickToPayTransactionAmount"),clickToPayCheckout:_get__("clickToPayCheckout")};function _getGlobalObject(){try{if(global)return global}catch(e){try{if(window)return window}catch(e){return this}}}var _RewireModuleId__=null;function _getRewireModuleId__(){var e;return null===_RewireModuleId__&&((e=_getGlobalObject()).__$$GLOBAL_REWIRE_NEXT_MODULE_ID__||(e.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__=0),_RewireModuleId__=__$$GLOBAL_REWIRE_NEXT_MODULE_ID__++),_RewireModuleId__}function _getRewireRegistry__(){var e=_getGlobalObject();return e.__$$GLOBAL_REWIRE_REGISTRY__||(e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)),e.__$$GLOBAL_REWIRE_REGISTRY__}function _getRewiredData__(){var e=_getRewireModuleId__(),t=_getRewireRegistry__(),a=t[e];return a||(t[e]=Object.create(null),a=t[e]),a}(()=>{var e=_getGlobalObject();e.__rewire_reset_all__||(e.__rewire_reset_all__=function(){e.__$$GLOBAL_REWIRE_REGISTRY__=Object.create(null)})})();var INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__=exports.__RewireAPI__={};function _get__(e){var t=_getRewiredData__();return void 0===t[e]?_get_original__(e):(t=t[e])!==INTENTIONAL_UNDEFINED?t:void 0}function _get_original__(e){switch(e){case"merchantId":return merchantId;case"renderMode":return renderMode;case"hostedfieldsurl":return hostedfieldsurl;case"fields":return fields;case"service":return service;case"styles":return styles;case"callback":return callback;case"onLoadCallback":return onLoadCallback;case"onCardBrandChangeCallback":return onCardBrandChangeCallback;case"onRequestIframeExpandCallback":return onRequestIframeExpandCallback;case"onCancelIframeExpandCallback":return onCancelIframeExpandCallback;case"onClickToPayCheckoutSuccessCallback":return onClickToPayCheckoutSuccessCallback;case"onClickToPayCheckoutErrorCallback":return onClickToPayCheckoutErrorCallback;case"autoFocusNext":return autoFocusNext;case"el":return el;case"clickToPayConfig":return clickToPayConfig;case"clickToPayAttributes":return clickToPayAttributes;case"registerSingleIframe":return registerSingleIframe;case"registerIframes":return registerIframes;case"targets":return targets;case"actions":return _actions.actions;case"clickToPayIframe":return clickToPayIframe;case"assertClickToPayIsSet":return assertClickToPayIsSet;case"initIframe":return initIframe;case"initSingleIframe":return initSingleIframe;case"validateOrigin":return validateOrigin;case"responses":return responses;case"sendCallback":return sendCallback;case"recommendedExpandedHeight":return recommendedExpandedHeight;case"get":return get;case"iframeAllowPermissions":return iframeAllowPermissions;case"createIframeProxy":return createIframeProxy;case"handleOnLoad":return handleOnLoad;case"window":return window;case"eventHandler":return eventHandler;case"onLoadCounter":return onLoadCounter;case"createSingleIframeProxy":return createSingleIframeProxy;case"setup":return setup;case"reset":return reset;case"setClickToPayTransactionAmount":return setClickToPayTransactionAmount;case"clickToPayCheckout":return clickToPayCheckout}}function _assign__(e,t){var a=_getRewiredData__();return void 0===a[e]?_set_original__(e,t):a[e]=t}function _set_original__(e,t){switch(e){case"merchantId":return merchantId=t;case"renderMode":return renderMode=t;case"hostedfieldsurl":return hostedfieldsurl=t;case"fields":return fields=t;case"service":return service=t;case"styles":return styles=t;case"callback":return callback=t;case"onLoadCallback":return onLoadCallback=t;case"onCardBrandChangeCallback":return onCardBrandChangeCallback=t;case"onRequestIframeExpandCallback":return onRequestIframeExpandCallback=t;case"onCancelIframeExpandCallback":return onCancelIframeExpandCallback=t;case"onClickToPayCheckoutSuccessCallback":return onClickToPayCheckoutSuccessCallback=t;case"onClickToPayCheckoutErrorCallback":return onClickToPayCheckoutErrorCallback=t;case"autoFocusNext":return autoFocusNext=t;case"el":return el=t;case"clickToPayConfig":return clickToPayConfig=t;case"clickToPayAttributes":return clickToPayAttributes=t;case"targets":return targets=t;case"clickToPayIframe":return clickToPayIframe=t;case"responses":return responses=t;case"onLoadCounter":return onLoadCounter=t}}function _update_operation__(e,t,a){var r=_get__(t),e="++"===e?r+1:r-1;return _assign__(t,e),a?e:r}function _set__(t,e){var a=_getRewiredData__();return"object"===_typeof(t)?(Object.keys(t).forEach(function(e){a[e]=t[e]}),function(){Object.keys(t).forEach(function(e){_reset__(t)})}):(a[t]=void 0===e?INTENTIONAL_UNDEFINED:e,function(){_reset__(t)})}function _reset__(e){var t=_getRewiredData__();delete t[e],0==Object.keys(t).length&&delete _getRewireRegistry__()[_getRewireModuleId__]}function _with__(t){var a=_getRewiredData__(),r=Object.keys(t),n={};function _(){r.forEach(function(e){a[e]=n[e]})}return function(e){r.forEach(function(e){n[e]=a[e],a[e]=t[e]});e=e();return e&&"function"==typeof e.then?e.then(_).catch(_):_(),e}}(()=>{function e(e,t){Object.defineProperty(_RewireAPI__,e,{value:t,enumerable:!1,configurable:!0})}e("__get__",_get__),e("__GetDependency__",_get__),e("__Rewire__",_set__),e("__set__",_set__),e("__reset__",_reset__),e("__ResetDependency__",_reset__),e("__with__",_with__)})();var _default=exports.default=_RewireAPI__;
package/index.d.ts ADDED
@@ -0,0 +1,134 @@
1
+ declare module "hosted-fields-sdk" {
2
+ export interface HostedFieldsConfig {
3
+ [key: string]: any;
4
+ }
5
+
6
+ export interface ClickToPayPayload {
7
+ [key: string]: any;
8
+ }
9
+
10
+ export interface ClickToPayTransactionAmount {
11
+ /**
12
+ * The transaction amount as a string.(e.g., "10")
13
+ */
14
+ amount: string;
15
+ /**
16
+ * The currency code in ISO 4217 format. (e.g., "USD")
17
+ */
18
+ currencyCode: string;
19
+ }
20
+
21
+ export interface HostedFields {
22
+ /**
23
+ * Initializes hosted fields with the provided configuration.
24
+ */
25
+ setup(config: HostedFieldsConfig): void;
26
+
27
+ /**
28
+ * If you want to get the encrypted values from the fields you can call this method.
29
+ * This will trigger the supplied callback-function registered in HostedFields.setup() to be called with the values for each field.
30
+ */
31
+ get(): void;
32
+
33
+ /**
34
+ * If you wish to reset the currently rendered iframes (fields) you can call HostedFields.reset() before running a new setup().
35
+ * This can be required if your page that contains the fields gets re-rendered. In that case you will have registered duplicates of the fields.
36
+ * So it's a good idea to call HostedFields.reset() on a beforeDestroy-hook if you are using Vue or React.
37
+ */
38
+ reset(): void;
39
+
40
+ /**
41
+ * Updates the Click to Pay transaction amount.
42
+ */
43
+ setClickToPayTransactionAmount(transactionAmount: any): void;
44
+
45
+ /**
46
+ * Initiates a Click to Pay checkout flow.
47
+ */
48
+ clickToPayCheckout(payload: ClickToPayPayload): void;
49
+ }
50
+
51
+ /**
52
+ * Main HostedFields singleton/object exposed by the SDK.
53
+ */
54
+ export const HostedFields: HostedFields;
55
+
56
+ /**
57
+ * The supported field types.
58
+ */
59
+ export const FieldTypes: {
60
+ readonly TEXT: "TEXT";
61
+ readonly NUMBER: "NUMBER";
62
+ readonly CVV: "CVV";
63
+ readonly CREDITCARD_NUMBER: "CREDITCARD_NUMBER";
64
+ readonly EXPIRY_MM_YYYY: "EXPIRY_MM_YYYY";
65
+ };
66
+
67
+ /**
68
+ * Represents a single hosted field configuration.
69
+ */
70
+ export class Field {
71
+ /**
72
+ * The type of the field (e.g., TEXT, NUMBER, etc.).
73
+ */
74
+ type: keyof typeof FieldTypes;
75
+
76
+ /**
77
+ * The HTML id of the field.
78
+ */
79
+ id: string;
80
+
81
+ /**
82
+ * The name of the field (used as a key when retrieving hosted field data).
83
+ */
84
+ name: string;
85
+
86
+ /**
87
+ * The label text of the field.
88
+ */
89
+ label: string;
90
+
91
+ /**
92
+ * Placeholder text to display inside the field.
93
+ */
94
+ helpKey: string;
95
+
96
+ /**
97
+ * Error message to display if the field has validation issues.
98
+ */
99
+ error: string;
100
+
101
+ /**
102
+ * Whether the field should be visible (default: true).
103
+ */
104
+ visible: boolean;
105
+
106
+ /**
107
+ * Whether the field is required (default: true).
108
+ */
109
+ required: boolean;
110
+
111
+ /**
112
+ * For backward compatibility: set to true to enable autofill (disables value formatting).
113
+ */
114
+ noAttributeValueFormatting: boolean;
115
+
116
+ /**
117
+ * What autofill value the field should use (e.g., "cc-number", "cc-csc", "cc-exp").
118
+ */
119
+ autocomplete: string;
120
+
121
+ constructor(
122
+ type: keyof typeof FieldTypes,
123
+ id: string,
124
+ name: string,
125
+ label: string,
126
+ helpKey?: string,
127
+ errorKey?: string,
128
+ visible?: boolean,
129
+ required?: boolean,
130
+ noAttributeValueFormatting?: boolean,
131
+ autocomplete?: string
132
+ );
133
+ }
134
+ }
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "hosted-fields-sdk",
3
- "version": "1.2.7",
3
+ "version": "1.3.0",
4
4
  "description": "Hosted fields sdk",
5
5
  "main": "dist/index.js",
6
+ "types": "index.d.ts",
6
7
  "module": "dist/esm/index.js",
7
8
  "exports": {
8
9
  ".": {
@@ -55,5 +56,9 @@
55
56
  "homepage": "https://github.com/devcode-git/hosted-fields-sdk#readme",
56
57
  "dependencies": {
57
58
  "@babel/runtime": "^7.27.0"
59
+ },
60
+ "overrides": {
61
+ "pbkdf2": "3.1.3",
62
+ "sha.js": "2.4.12"
58
63
  }
59
64
  }
package/actions.js DELETED
@@ -1 +0,0 @@
1
- "use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.actions=void 0;var _freeze=require("babel-runtime/core-js/object/freeze"),_freeze2=_interopRequireDefault(_freeze),actions=exports.actions={get:"get",setupContent:"setupContent",formData:"formData",formSubmit:"formSubmit"};_freeze2["default"](actions);
package/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _api=require("./sdk/api");Object.defineProperty(exports,"HostedFields",{enumerable:!0,get:function(){return _api.HostedFields}});var _index=require("./sdk/model/field/index.js");Object.defineProperty(exports,"Field",{enumerable:!0,get:function(){return _index.Field}}),Object.defineProperty(exports,"FieldTypes",{enumerable:!0,get:function(){return _index.FieldTypes}});