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 +8 -0
- package/README.md +95 -25
- package/dist/esm/sdk/api/actions.js +1 -1
- package/dist/esm/sdk/api/index.js +1 -1
- package/dist/sdk/api/actions.js +1 -1
- package/dist/sdk/api/index.js +1 -1
- package/index.d.ts +134 -0
- package/package.json +6 -1
- package/actions.js +0 -1
- package/index.js +0 -1
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.
|
|
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
|
|
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.
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
162
|
+
**onClickToPayCheckoutSuccessCallback**
|
|
163
|
+
The callback triggered when receive a success response after a ClickToPay checkout.
|
|
127
164
|
|
|
128
|
-
|
|
165
|
+
**onClickToPayCheckoutErrorCallback**
|
|
166
|
+
The callback triggered when receive an error after a ClickToPay cehckout.
|
|
129
167
|
|
|
130
|
-
**
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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__};
|
package/dist/sdk/api/actions.js
CHANGED
|
@@ -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
|
|
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__;
|
package/dist/sdk/api/index.js
CHANGED
|
@@ -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.
|
|
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}});
|