@paydock/client-sdk 1.141.0 → 1.143.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -0
- package/bundles/index.cjs +370 -204
- package/bundles/index.cjs.d.ts +535 -481
- package/bundles/index.mjs +205 -38
- package/bundles/index.mjs.d.ts +535 -481
- package/bundles/types/components/apple-pay-version.d.ts +29 -0
- package/bundles/types/components/apple-pay-version.d.ts.map +1 -0
- package/bundles/types/index.d.ts +2 -2
- package/bundles/types/index.d.ts.map +1 -1
- package/bundles/types/open-wallets/base/open-wallet-buttons.d.ts.map +1 -1
- package/bundles/types/open-wallets/index.d.ts +1 -1
- package/bundles/types/open-wallets/index.d.ts.map +1 -1
- package/bundles/types/open-wallets/services/apple-pay/apple-pay.open-wallet.service.d.ts.map +1 -1
- package/bundles/types/payment-source-widget/index.d.ts +1 -1
- package/bundles/types/payment-source-widget/index.d.ts.map +1 -1
- package/bundles/types/vault-display-widget/vault-display-widget.d.ts.map +1 -1
- package/bundles/types/wallet-buttons/wallet-services/apple.wallet-service.d.ts +1 -0
- package/bundles/types/wallet-buttons/wallet-services/apple.wallet-service.d.ts.map +1 -1
- package/bundles/types/wallet-buttons-express/base.wallet-button-express.d.ts +16 -0
- package/bundles/types/wallet-buttons-express/base.wallet-button-express.d.ts.map +1 -1
- package/bundles/types/wallet-buttons-express/index.d.ts +36 -0
- package/bundles/types/wallet-buttons-express/index.d.ts.map +1 -1
- package/bundles/types/wallet-buttons-express/services/apple-pay/apple-pay.wallet-button-express.d.ts.map +1 -1
- package/bundles/types/wallet-buttons-express/services/paypal/paypal.wallet-button-express.d.ts +1 -1
- package/bundles/types/wallet-buttons-express/services/paypal/paypal.wallet-button-express.d.ts.map +1 -1
- package/bundles/types/widget/html-multi-widget.d.ts +4 -1
- package/bundles/types/widget/html-multi-widget.d.ts.map +1 -1
- package/bundles/types/widget/index.d.ts +2 -1
- package/bundles/types/widget/index.d.ts.map +1 -1
- package/bundles/types/widget/widget-event-map.d.ts +37 -0
- package/bundles/types/widget/widget-event-map.d.ts.map +1 -0
- package/bundles/widget.umd.js +370 -204
- package/bundles/widget.umd.js.d.ts +535 -481
- package/bundles/widget.umd.js.min.d.ts +535 -481
- package/bundles/widget.umd.min.js +1 -1
- package/docs/wallet-buttons-express.md +85 -0
- package/package.json +12 -5
package/bundles/widget.umd.js
CHANGED
|
@@ -1198,7 +1198,7 @@
|
|
|
1198
1198
|
version: 'x-sdk-version',
|
|
1199
1199
|
type: 'x-sdk-type'
|
|
1200
1200
|
});
|
|
1201
|
-
SDK._version = 'v1.
|
|
1201
|
+
SDK._version = 'v1.143.0-beta';
|
|
1202
1202
|
|
|
1203
1203
|
function isFunction(value) {
|
|
1204
1204
|
return typeof value === 'function';
|
|
@@ -5039,7 +5039,7 @@
|
|
|
5039
5039
|
}]);
|
|
5040
5040
|
}();
|
|
5041
5041
|
|
|
5042
|
-
var EVENT$
|
|
5042
|
+
var EVENT$4 = {
|
|
5043
5043
|
AFTER_LOAD: 'afterLoad',
|
|
5044
5044
|
SUBMIT: 'submit',
|
|
5045
5045
|
FINISH: 'finish',
|
|
@@ -5096,9 +5096,9 @@
|
|
|
5096
5096
|
}, {
|
|
5097
5097
|
key: "on",
|
|
5098
5098
|
value: function on(eventName, widgetId, cb) {
|
|
5099
|
-
for (var event in EVENT$
|
|
5100
|
-
if (!EVENT$
|
|
5101
|
-
if (eventName === EVENT$
|
|
5099
|
+
for (var event in EVENT$4) {
|
|
5100
|
+
if (!EVENT$4.hasOwnProperty(event)) continue;
|
|
5101
|
+
if (eventName === EVENT$4[event]) {
|
|
5102
5102
|
this.listeners.push({
|
|
5103
5103
|
event: eventName,
|
|
5104
5104
|
listener: cb,
|
|
@@ -5223,7 +5223,7 @@
|
|
|
5223
5223
|
key: "setupIFrameEvents",
|
|
5224
5224
|
value: function setupIFrameEvents(widgetId) {
|
|
5225
5225
|
var _this = this;
|
|
5226
|
-
this.iFrameEvent.on(EVENT$
|
|
5226
|
+
this.iFrameEvent.on(EVENT$4.CHARGE_AUTH, widgetId, function (data) {
|
|
5227
5227
|
if (data.status === IFRAME_STATUS.SKIPPED || data.status === IFRAME_STATUS.FINISHED) {
|
|
5228
5228
|
if (data.info) _this.eventEmitter.emit(GPAYMENTS_EVENT.INFO, {
|
|
5229
5229
|
info: data.info
|
|
@@ -5233,7 +5233,7 @@
|
|
|
5233
5233
|
status: data.status
|
|
5234
5234
|
}, data.charge_3ds_id));
|
|
5235
5235
|
});
|
|
5236
|
-
this.iFrameEvent.on(EVENT$
|
|
5236
|
+
this.iFrameEvent.on(EVENT$4.CHARGE_AUTH_SUCCESS, widgetId, function (data) {
|
|
5237
5237
|
_this.processResult(data.charge_3ds_id);
|
|
5238
5238
|
});
|
|
5239
5239
|
}
|
|
@@ -6785,7 +6785,7 @@
|
|
|
6785
6785
|
key: "setCompleteCheckoutListener",
|
|
6786
6786
|
value: function setCompleteCheckoutListener() {
|
|
6787
6787
|
var _this5 = this;
|
|
6788
|
-
this.event.on(EVENT$
|
|
6788
|
+
this.event.on(EVENT$4.FINISH, this.widgetId, function (event) {
|
|
6789
6789
|
_this5.event.clear();
|
|
6790
6790
|
clearInterval(_this5.checkInterval);
|
|
6791
6791
|
if (_this5.checkoutTab && !_this5.checkoutTab.closed) {
|
|
@@ -6872,15 +6872,15 @@
|
|
|
6872
6872
|
value: function setupIframeEventListeners() {
|
|
6873
6873
|
var _this = this;
|
|
6874
6874
|
if (!this.widgetId) return;
|
|
6875
|
-
this.iframeEvent.on(EVENT$
|
|
6875
|
+
this.iframeEvent.on(EVENT$4.AFTER_LOAD, this.widgetId, function (_event) {
|
|
6876
6876
|
var _a;
|
|
6877
6877
|
(_a = _this.onLoadCallback) === null || _a === void 0 ? void 0 : _a.call(_this);
|
|
6878
6878
|
});
|
|
6879
|
-
this.iframeEvent.on(EVENT$
|
|
6879
|
+
this.iframeEvent.on(EVENT$4.DISPATCH_SUCCESS, this.widgetId, function (_event) {
|
|
6880
6880
|
var _a, _b;
|
|
6881
6881
|
(_b = (_a = _this.pushCallbacks) === null || _a === void 0 ? void 0 : _a.onSuccess) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
6882
6882
|
});
|
|
6883
|
-
this.iframeEvent.on(EVENT$
|
|
6883
|
+
this.iframeEvent.on(EVENT$4.DISPATCH_ERROR, this.widgetId, function (_event) {
|
|
6884
6884
|
var _a, _b;
|
|
6885
6885
|
(_b = (_a = _this.pushCallbacks) === null || _a === void 0 ? void 0 : _a.onError) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
6886
6886
|
});
|
|
@@ -8094,7 +8094,7 @@
|
|
|
8094
8094
|
}]);
|
|
8095
8095
|
}(WalletService);
|
|
8096
8096
|
|
|
8097
|
-
/*! @license DOMPurify 3.
|
|
8097
|
+
/*! @license DOMPurify 3.4.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.0/LICENSE */
|
|
8098
8098
|
|
|
8099
8099
|
var purify_cjs;
|
|
8100
8100
|
var hasRequiredPurify_cjs;
|
|
@@ -8302,7 +8302,7 @@
|
|
|
8302
8302
|
|
|
8303
8303
|
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
8304
8304
|
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
8305
|
-
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', '
|
|
8305
|
+
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnalign', 'columnlines', 'columnspacing', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lquote', 'lspace', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
8306
8306
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
8307
8307
|
|
|
8308
8308
|
// eslint-disable-next-line unicorn/better-regex
|
|
@@ -8399,7 +8399,7 @@
|
|
|
8399
8399
|
function createDOMPurify() {
|
|
8400
8400
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
8401
8401
|
const DOMPurify = root => createDOMPurify(root);
|
|
8402
|
-
DOMPurify.version = '3.
|
|
8402
|
+
DOMPurify.version = '3.4.0';
|
|
8403
8403
|
DOMPurify.removed = [];
|
|
8404
8404
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
8405
8405
|
// Not running in a browser, provide a factory function
|
|
@@ -8675,7 +8675,7 @@
|
|
|
8675
8675
|
NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
|
|
8676
8676
|
MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;
|
|
8677
8677
|
HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;
|
|
8678
|
-
CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING ||
|
|
8678
|
+
CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || create(null);
|
|
8679
8679
|
if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
|
|
8680
8680
|
CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
|
|
8681
8681
|
}
|
|
@@ -8715,13 +8715,10 @@
|
|
|
8715
8715
|
addToSet(ALLOWED_ATTR, xml);
|
|
8716
8716
|
}
|
|
8717
8717
|
}
|
|
8718
|
-
/*
|
|
8719
|
-
|
|
8720
|
-
|
|
8721
|
-
|
|
8722
|
-
if (!objectHasOwnProperty(cfg, 'ADD_ATTR')) {
|
|
8723
|
-
EXTRA_ELEMENT_HANDLING.attributeCheck = null;
|
|
8724
|
-
}
|
|
8718
|
+
/* Always reset function-based ADD_TAGS / ADD_ATTR checks to prevent
|
|
8719
|
+
* leaking across calls when switching from function to array config */
|
|
8720
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = null;
|
|
8721
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = null;
|
|
8725
8722
|
/* Merge configuration parameters */
|
|
8726
8723
|
if (cfg.ADD_TAGS) {
|
|
8727
8724
|
if (typeof cfg.ADD_TAGS === 'function') {
|
|
@@ -9044,6 +9041,11 @@
|
|
|
9044
9041
|
_forceRemove(currentNode);
|
|
9045
9042
|
return true;
|
|
9046
9043
|
}
|
|
9044
|
+
/* Remove risky CSS construction leading to mXSS */
|
|
9045
|
+
if (SAFE_FOR_XML && currentNode.namespaceURI === HTML_NAMESPACE && tagName === 'style' && _isNode(currentNode.firstElementChild)) {
|
|
9046
|
+
_forceRemove(currentNode);
|
|
9047
|
+
return true;
|
|
9048
|
+
}
|
|
9047
9049
|
/* Remove any occurrence of processing instructions */
|
|
9048
9050
|
if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
|
|
9049
9051
|
_forceRemove(currentNode);
|
|
@@ -9055,7 +9057,7 @@
|
|
|
9055
9057
|
return true;
|
|
9056
9058
|
}
|
|
9057
9059
|
/* Remove element if anything forbids its presence */
|
|
9058
|
-
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) &&
|
|
9060
|
+
if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {
|
|
9059
9061
|
/* Check if we have a custom element to handle */
|
|
9060
9062
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
9061
9063
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -9294,7 +9296,7 @@
|
|
|
9294
9296
|
*
|
|
9295
9297
|
* @param fragment to iterate over recursively
|
|
9296
9298
|
*/
|
|
9297
|
-
const
|
|
9299
|
+
const _sanitizeShadowDOM2 = function _sanitizeShadowDOM(fragment) {
|
|
9298
9300
|
let shadowNode = null;
|
|
9299
9301
|
const shadowIterator = _createNodeIterator(fragment);
|
|
9300
9302
|
/* Execute a hook if present */
|
|
@@ -9308,7 +9310,7 @@
|
|
|
9308
9310
|
_sanitizeAttributes(shadowNode);
|
|
9309
9311
|
/* Deep shadow DOM detected */
|
|
9310
9312
|
if (shadowNode.content instanceof DocumentFragment) {
|
|
9311
|
-
|
|
9313
|
+
_sanitizeShadowDOM2(shadowNode.content);
|
|
9312
9314
|
}
|
|
9313
9315
|
}
|
|
9314
9316
|
/* Execute a hook if present */
|
|
@@ -9403,7 +9405,7 @@
|
|
|
9403
9405
|
_sanitizeAttributes(currentNode);
|
|
9404
9406
|
/* Shadow DOM detected, sanitize it */
|
|
9405
9407
|
if (currentNode.content instanceof DocumentFragment) {
|
|
9406
|
-
|
|
9408
|
+
_sanitizeShadowDOM2(currentNode.content);
|
|
9407
9409
|
}
|
|
9408
9410
|
}
|
|
9409
9411
|
/* If we sanitized `dirty` in-place, return it. */
|
|
@@ -9412,6 +9414,14 @@
|
|
|
9412
9414
|
}
|
|
9413
9415
|
/* Return sanitized string or DOM */
|
|
9414
9416
|
if (RETURN_DOM) {
|
|
9417
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
9418
|
+
body.normalize();
|
|
9419
|
+
let html = body.innerHTML;
|
|
9420
|
+
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
|
9421
|
+
html = stringReplace(html, expr, ' ');
|
|
9422
|
+
});
|
|
9423
|
+
body.innerHTML = html;
|
|
9424
|
+
}
|
|
9415
9425
|
if (RETURN_DOM_FRAGMENT) {
|
|
9416
9426
|
returnNode = createDocumentFragment.call(body.ownerDocument);
|
|
9417
9427
|
while (body.firstChild) {
|
|
@@ -10244,6 +10254,44 @@
|
|
|
10244
10254
|
}]);
|
|
10245
10255
|
}(WalletService);
|
|
10246
10256
|
|
|
10257
|
+
/**
|
|
10258
|
+
* Maximum Apple Pay JS API version the SDK targets.
|
|
10259
|
+
* Bump this when adopting features from a newer version.
|
|
10260
|
+
*/
|
|
10261
|
+
var APPLE_PAY_MAX_VERSION = 14;
|
|
10262
|
+
/**
|
|
10263
|
+
* Minimum Apple Pay JS API version the SDK can operate with.
|
|
10264
|
+
*
|
|
10265
|
+
* Version 3 (iOS 11 / macOS 10.13) is required because the SDK uses:
|
|
10266
|
+
* - `ApplePayError` constructor
|
|
10267
|
+
* - Object-form `completeShippingContactSelection(update)`
|
|
10268
|
+
* - Object-form `completeShippingMethodSelection(update)`
|
|
10269
|
+
* - `supportedCountries` in payment requests
|
|
10270
|
+
*
|
|
10271
|
+
* All of these were introduced in version 3.
|
|
10272
|
+
*/
|
|
10273
|
+
var APPLE_PAY_MIN_VERSION = 3;
|
|
10274
|
+
/**
|
|
10275
|
+
* Detects the highest Apple Pay JS API version the current device supports,
|
|
10276
|
+
* starting from {@link APPLE_PAY_MAX_VERSION} down to {@link APPLE_PAY_MIN_VERSION}.
|
|
10277
|
+
*
|
|
10278
|
+
* Returns `0` if Apple Pay is not available or the device does not support
|
|
10279
|
+
* the minimum required version.
|
|
10280
|
+
*
|
|
10281
|
+
* @see https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/supportsversion
|
|
10282
|
+
*/
|
|
10283
|
+
function getSupportedApplePayVersion() {
|
|
10284
|
+
if (!window.ApplePaySession) {
|
|
10285
|
+
return 0;
|
|
10286
|
+
}
|
|
10287
|
+
for (var v = APPLE_PAY_MAX_VERSION; v >= APPLE_PAY_MIN_VERSION; v--) {
|
|
10288
|
+
if (ApplePaySession.supportsVersion(v)) {
|
|
10289
|
+
return v;
|
|
10290
|
+
}
|
|
10291
|
+
}
|
|
10292
|
+
return 0;
|
|
10293
|
+
}
|
|
10294
|
+
|
|
10247
10295
|
var DEFAULT_APPLE_PAY_CAPABILITIES$2 = ['paymentCredentialsAvailable'];
|
|
10248
10296
|
var AppleWalletService = /*#__PURE__*/function (_WalletService) {
|
|
10249
10297
|
function AppleWalletService(publicKey, meta, gatewayName, eventEmitter) {
|
|
@@ -10572,13 +10620,32 @@
|
|
|
10572
10620
|
}, {
|
|
10573
10621
|
key: "onApplePayButtonClicked",
|
|
10574
10622
|
value: function onApplePayButtonClicked() {
|
|
10575
|
-
|
|
10623
|
+
var _this5 = this;
|
|
10624
|
+
var applePayApiVersion = getSupportedApplePayVersion();
|
|
10625
|
+
if (applePayApiVersion === 0) {
|
|
10626
|
+
this.eventEmitter.emit(WALLET_EVENT.UNAVAILABLE, {
|
|
10627
|
+
wallet: WALLET_TYPE.APPLE
|
|
10628
|
+
});
|
|
10629
|
+
return;
|
|
10630
|
+
}
|
|
10631
|
+
this.paymentSession = new ApplePaySession(applePayApiVersion, this.createRequest());
|
|
10576
10632
|
this.paymentSession.onvalidatemerchant = this.onValidateMerchant;
|
|
10577
10633
|
this.paymentSession.onpaymentauthorized = this.onPaymentAuthorized;
|
|
10578
10634
|
this.paymentSession.oncancel = this.onCancelPayment;
|
|
10579
10635
|
this.paymentSession.onshippingcontactselected = this.onShippingContactSelected;
|
|
10580
10636
|
this.paymentSession.onshippingmethodselected = this.onShippingMethodSelected;
|
|
10581
10637
|
this.paymentSession.begin();
|
|
10638
|
+
// As part of PAYCA-2065 we detect that the paymentSession.onvalidatemerchant is not
|
|
10639
|
+
// executed if the browser is not safari. In that case, we handle it outside the
|
|
10640
|
+
// actual merchant validation function.
|
|
10641
|
+
var isIOS = /iPhone|iPad|iPod/.test(navigator.userAgent);
|
|
10642
|
+
var isDesktopRequestIOS = navigator.maxTouchPoints > 1 && /Macintosh/.test(navigator.userAgent);
|
|
10643
|
+
if (!window.safari && !isIOS && !isDesktopRequestIOS) {
|
|
10644
|
+
this.handleMerchantOnButtonClickEvent()["catch"](function (err) {
|
|
10645
|
+
console.error('Error while processing merchant callback', err);
|
|
10646
|
+
_this5.paymentSession.abort();
|
|
10647
|
+
});
|
|
10648
|
+
}
|
|
10582
10649
|
}
|
|
10583
10650
|
}, {
|
|
10584
10651
|
key: "createRequest",
|
|
@@ -10622,22 +10689,22 @@
|
|
|
10622
10689
|
}, {
|
|
10623
10690
|
key: "getMerchantSession",
|
|
10624
10691
|
value: function getMerchantSession() {
|
|
10625
|
-
var
|
|
10692
|
+
var _this6 = this;
|
|
10626
10693
|
return new Promise(function (resolve, reject) {
|
|
10627
|
-
return
|
|
10694
|
+
return _this6.eventEmitter.emit(WALLET_EVENT.CALLBACK, {
|
|
10628
10695
|
data: _extends({
|
|
10629
10696
|
request_type: 'CREATE_SESSION',
|
|
10630
10697
|
wallet_type: WALLET_TYPE.APPLE,
|
|
10631
10698
|
session_id: window.location.hostname
|
|
10632
|
-
},
|
|
10633
|
-
request_shipping:
|
|
10699
|
+
}, _this6.isShippingRequired() && {
|
|
10700
|
+
request_shipping: _this6.meta.request_shipping
|
|
10634
10701
|
}),
|
|
10635
10702
|
onSuccess: function onSuccess(res) {
|
|
10636
10703
|
return resolve(res);
|
|
10637
10704
|
},
|
|
10638
10705
|
onError: function onError(message) {
|
|
10639
10706
|
console.error('Error generating order id', message);
|
|
10640
|
-
|
|
10707
|
+
_this6.eventEmitter.emit(WALLET_EVENT.PAYMENT_ERROR, {
|
|
10641
10708
|
message: message
|
|
10642
10709
|
});
|
|
10643
10710
|
reject(message);
|
|
@@ -11710,7 +11777,7 @@
|
|
|
11710
11777
|
* @param {string} ON_CLICK=onClick
|
|
11711
11778
|
* @param {string} LOADED=onWalletLoaded
|
|
11712
11779
|
*/
|
|
11713
|
-
var EVENT$
|
|
11780
|
+
var EVENT$3 = {
|
|
11714
11781
|
UNAVAILABLE: EventEnum.UNAVAILABLE,
|
|
11715
11782
|
UPDATE: EventEnum.UPDATE,
|
|
11716
11783
|
PAYMENT_SUCCESSFUL: EventEnum.PAYMENT_SUCCESSFUL,
|
|
@@ -11836,7 +11903,7 @@
|
|
|
11836
11903
|
this.setupServiceCallbacks();
|
|
11837
11904
|
this.service.load(this.container);
|
|
11838
11905
|
} catch (err) {
|
|
11839
|
-
this.eventEmitter.emit(EVENT$
|
|
11906
|
+
this.eventEmitter.emit(EVENT$3.UNAVAILABLE, null);
|
|
11840
11907
|
throw err;
|
|
11841
11908
|
}
|
|
11842
11909
|
}
|
|
@@ -11973,7 +12040,7 @@
|
|
|
11973
12040
|
key: "on",
|
|
11974
12041
|
value: function on(eventName, cb) {
|
|
11975
12042
|
var _this = this;
|
|
11976
|
-
if (eventName === EVENT$
|
|
12043
|
+
if (eventName === EVENT$3.UPDATE) {
|
|
11977
12044
|
this.hasUpdateHandler = true;
|
|
11978
12045
|
}
|
|
11979
12046
|
if (typeof cb === 'function') {
|
|
@@ -12008,10 +12075,10 @@
|
|
|
12008
12075
|
value: function onUnavailable(handler) {
|
|
12009
12076
|
var _this2 = this;
|
|
12010
12077
|
if (typeof handler === 'function') {
|
|
12011
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12078
|
+
return this.eventEmitter.subscribe(EVENT$3.UNAVAILABLE, handler);
|
|
12012
12079
|
}
|
|
12013
12080
|
return new Promise(function (resolve) {
|
|
12014
|
-
return _this2.eventEmitter.subscribe(EVENT$
|
|
12081
|
+
return _this2.eventEmitter.subscribe(EVENT$3.UNAVAILABLE, function () {
|
|
12015
12082
|
return resolve();
|
|
12016
12083
|
});
|
|
12017
12084
|
});
|
|
@@ -12037,10 +12104,10 @@
|
|
|
12037
12104
|
var _this3 = this;
|
|
12038
12105
|
this.hasUpdateHandler = true;
|
|
12039
12106
|
if (typeof handler === 'function') {
|
|
12040
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12107
|
+
return this.eventEmitter.subscribe(EVENT$3.UPDATE, handler);
|
|
12041
12108
|
}
|
|
12042
12109
|
return new Promise(function (resolve) {
|
|
12043
|
-
return _this3.eventEmitter.subscribe(EVENT$
|
|
12110
|
+
return _this3.eventEmitter.subscribe(EVENT$3.UPDATE, function (data) {
|
|
12044
12111
|
return resolve(data);
|
|
12045
12112
|
});
|
|
12046
12113
|
});
|
|
@@ -12064,10 +12131,10 @@
|
|
|
12064
12131
|
value: function onPaymentSuccessful(handler) {
|
|
12065
12132
|
var _this4 = this;
|
|
12066
12133
|
if (typeof handler === 'function') {
|
|
12067
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12134
|
+
return this.eventEmitter.subscribe(EVENT$3.PAYMENT_SUCCESSFUL, handler);
|
|
12068
12135
|
}
|
|
12069
12136
|
return new Promise(function (resolve) {
|
|
12070
|
-
return _this4.eventEmitter.subscribe(EVENT$
|
|
12137
|
+
return _this4.eventEmitter.subscribe(EVENT$3.PAYMENT_SUCCESSFUL, function (data) {
|
|
12071
12138
|
return resolve(data);
|
|
12072
12139
|
});
|
|
12073
12140
|
});
|
|
@@ -12091,10 +12158,10 @@
|
|
|
12091
12158
|
value: function onPaymentInReview(handler) {
|
|
12092
12159
|
var _this5 = this;
|
|
12093
12160
|
if (typeof handler === 'function') {
|
|
12094
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12161
|
+
return this.eventEmitter.subscribe(EVENT$3.PAYMENT_IN_REVIEW, handler);
|
|
12095
12162
|
}
|
|
12096
12163
|
return new Promise(function (resolve) {
|
|
12097
|
-
return _this5.eventEmitter.subscribe(EVENT$
|
|
12164
|
+
return _this5.eventEmitter.subscribe(EVENT$3.PAYMENT_IN_REVIEW, function (data) {
|
|
12098
12165
|
return resolve(data);
|
|
12099
12166
|
});
|
|
12100
12167
|
});
|
|
@@ -12118,10 +12185,10 @@
|
|
|
12118
12185
|
value: function onPaymentError(handler) {
|
|
12119
12186
|
var _this6 = this;
|
|
12120
12187
|
if (typeof handler === 'function') {
|
|
12121
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12188
|
+
return this.eventEmitter.subscribe(EVENT$3.PAYMENT_ERROR, handler);
|
|
12122
12189
|
}
|
|
12123
12190
|
return new Promise(function (resolve) {
|
|
12124
|
-
return _this6.eventEmitter.subscribe(EVENT$
|
|
12191
|
+
return _this6.eventEmitter.subscribe(EVENT$3.PAYMENT_ERROR, function (err) {
|
|
12125
12192
|
return resolve(err);
|
|
12126
12193
|
});
|
|
12127
12194
|
});
|
|
@@ -12147,10 +12214,10 @@
|
|
|
12147
12214
|
value: function onAuthTokensChanged(handler) {
|
|
12148
12215
|
var _this7 = this;
|
|
12149
12216
|
if (typeof handler === 'function') {
|
|
12150
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12217
|
+
return this.eventEmitter.subscribe(EVENT$3.AUTH_TOKENS_CHANGED, handler);
|
|
12151
12218
|
}
|
|
12152
12219
|
return new Promise(function (resolve) {
|
|
12153
|
-
return _this7.eventEmitter.subscribe(EVENT$
|
|
12220
|
+
return _this7.eventEmitter.subscribe(EVENT$3.AUTH_TOKENS_CHANGED, function (err) {
|
|
12154
12221
|
return resolve(err);
|
|
12155
12222
|
});
|
|
12156
12223
|
});
|
|
@@ -12173,7 +12240,7 @@
|
|
|
12173
12240
|
key: "onClick",
|
|
12174
12241
|
value: function onClick(handler) {
|
|
12175
12242
|
if (typeof handler === 'function') {
|
|
12176
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12243
|
+
return this.eventEmitter.subscribe(EVENT$3.ON_CLICK, handler);
|
|
12177
12244
|
}
|
|
12178
12245
|
}
|
|
12179
12246
|
/**
|
|
@@ -12192,10 +12259,10 @@
|
|
|
12192
12259
|
value: function onCheckoutOpen(handler) {
|
|
12193
12260
|
var _this8 = this;
|
|
12194
12261
|
if (typeof handler === 'function') {
|
|
12195
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12262
|
+
return this.eventEmitter.subscribe(EVENT$3.ON_CHECKOUT_OPEN, handler);
|
|
12196
12263
|
}
|
|
12197
12264
|
return new Promise(function (resolve) {
|
|
12198
|
-
return _this8.eventEmitter.subscribe(EVENT$
|
|
12265
|
+
return _this8.eventEmitter.subscribe(EVENT$3.ON_CHECKOUT_OPEN, function (err) {
|
|
12199
12266
|
return resolve(err);
|
|
12200
12267
|
});
|
|
12201
12268
|
});
|
|
@@ -12216,10 +12283,10 @@
|
|
|
12216
12283
|
value: function onCheckoutClose(handler) {
|
|
12217
12284
|
var _this9 = this;
|
|
12218
12285
|
if (typeof handler === 'function') {
|
|
12219
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
12286
|
+
return this.eventEmitter.subscribe(EVENT$3.ON_CHECKOUT_CLOSE, handler);
|
|
12220
12287
|
}
|
|
12221
12288
|
return new Promise(function (resolve) {
|
|
12222
|
-
return _this9.eventEmitter.subscribe(EVENT$
|
|
12289
|
+
return _this9.eventEmitter.subscribe(EVENT$3.ON_CHECKOUT_CLOSE, function (err) {
|
|
12223
12290
|
return resolve(err);
|
|
12224
12291
|
});
|
|
12225
12292
|
});
|
|
@@ -12245,8 +12312,8 @@
|
|
|
12245
12312
|
value: function setupOnWalletLoadedCallback() {
|
|
12246
12313
|
var _this0 = this;
|
|
12247
12314
|
this.service.on(WALLET_EVENT.LOADED, function (eventData) {
|
|
12248
|
-
_this0.eventEmitter.emit(EVENT$
|
|
12249
|
-
event: EVENT$
|
|
12315
|
+
_this0.eventEmitter.emit(EVENT$3.ON_WALLET_LOADED, {
|
|
12316
|
+
event: EVENT$3.ON_WALLET_LOADED,
|
|
12250
12317
|
data: eventData
|
|
12251
12318
|
});
|
|
12252
12319
|
});
|
|
@@ -12256,8 +12323,8 @@
|
|
|
12256
12323
|
value: function setupUnavailableCallback() {
|
|
12257
12324
|
var _this1 = this;
|
|
12258
12325
|
this.service.on(WALLET_EVENT.UNAVAILABLE, function (eventData) {
|
|
12259
|
-
return _this1.eventEmitter.emit(EVENT$
|
|
12260
|
-
event: EVENT$
|
|
12326
|
+
return _this1.eventEmitter.emit(EVENT$3.UNAVAILABLE, {
|
|
12327
|
+
event: EVENT$3.UNAVAILABLE,
|
|
12261
12328
|
data: eventData
|
|
12262
12329
|
});
|
|
12263
12330
|
});
|
|
@@ -12267,8 +12334,8 @@
|
|
|
12267
12334
|
value: function setupUpdateCallback() {
|
|
12268
12335
|
var _this10 = this;
|
|
12269
12336
|
this.service.on(WALLET_EVENT.UPDATE, function (eventData) {
|
|
12270
|
-
return _this10.hasUpdateHandler ? _this10.eventEmitter.emit(EVENT$
|
|
12271
|
-
event: EVENT$
|
|
12337
|
+
return _this10.hasUpdateHandler ? _this10.eventEmitter.emit(EVENT$3.UPDATE, {
|
|
12338
|
+
event: EVENT$3.UPDATE,
|
|
12272
12339
|
data: eventData
|
|
12273
12340
|
}) : _this10.update({
|
|
12274
12341
|
success: true
|
|
@@ -12280,8 +12347,8 @@
|
|
|
12280
12347
|
value: function setupOnClickCallback() {
|
|
12281
12348
|
var _this11 = this;
|
|
12282
12349
|
this.service.on(WALLET_EVENT.BUTTON_CLICK, function (data) {
|
|
12283
|
-
return _this11.eventEmitter.emit(EVENT$
|
|
12284
|
-
event: EVENT$
|
|
12350
|
+
return _this11.eventEmitter.emit(EVENT$3.ON_CLICK, {
|
|
12351
|
+
event: EVENT$3.ON_CLICK,
|
|
12285
12352
|
data: data
|
|
12286
12353
|
});
|
|
12287
12354
|
});
|
|
@@ -12291,8 +12358,8 @@
|
|
|
12291
12358
|
value: function setupOnCheckoutOpenCallback() {
|
|
12292
12359
|
var _this12 = this;
|
|
12293
12360
|
this.service.on(WALLET_EVENT.CHECKOUT_OPEN, function (data) {
|
|
12294
|
-
return _this12.eventEmitter.emit(EVENT$
|
|
12295
|
-
event: EVENT$
|
|
12361
|
+
return _this12.eventEmitter.emit(EVENT$3.ON_CHECKOUT_OPEN, {
|
|
12362
|
+
event: EVENT$3.ON_CHECKOUT_OPEN,
|
|
12296
12363
|
data: data
|
|
12297
12364
|
});
|
|
12298
12365
|
});
|
|
@@ -12302,8 +12369,8 @@
|
|
|
12302
12369
|
value: function setupOnCheckoutCloseCallback() {
|
|
12303
12370
|
var _this13 = this;
|
|
12304
12371
|
this.service.on(WALLET_EVENT.CHECKOUT_CLOSE, function (data) {
|
|
12305
|
-
return _this13.eventEmitter.emit(EVENT$
|
|
12306
|
-
event: EVENT$
|
|
12372
|
+
return _this13.eventEmitter.emit(EVENT$3.ON_CHECKOUT_CLOSE, {
|
|
12373
|
+
event: EVENT$3.ON_CHECKOUT_CLOSE,
|
|
12307
12374
|
data: data
|
|
12308
12375
|
});
|
|
12309
12376
|
});
|
|
@@ -12335,7 +12402,7 @@
|
|
|
12335
12402
|
if (typeof onSuccess === 'function') {
|
|
12336
12403
|
onSuccess();
|
|
12337
12404
|
}
|
|
12338
|
-
var event = captureResult.status === 'inreview' ? EVENT$
|
|
12405
|
+
var event = captureResult.status === 'inreview' ? EVENT$3.PAYMENT_IN_REVIEW : EVENT$3.PAYMENT_SUCCESSFUL;
|
|
12339
12406
|
_this15.eventEmitter.emit(event, {
|
|
12340
12407
|
event: event,
|
|
12341
12408
|
data: _extends(_extends({}, captureResult), data.customer && {
|
|
@@ -12348,8 +12415,8 @@
|
|
|
12348
12415
|
if (typeof onError === 'function') {
|
|
12349
12416
|
onError(err);
|
|
12350
12417
|
}
|
|
12351
|
-
_this15.eventEmitter.emit(EVENT$
|
|
12352
|
-
event: EVENT$
|
|
12418
|
+
_this15.eventEmitter.emit(EVENT$3.PAYMENT_ERROR, {
|
|
12419
|
+
event: EVENT$3.PAYMENT_ERROR,
|
|
12353
12420
|
data: err
|
|
12354
12421
|
});
|
|
12355
12422
|
});
|
|
@@ -12360,8 +12427,8 @@
|
|
|
12360
12427
|
value: function setupPaymentSuccessCallback() {
|
|
12361
12428
|
var _this16 = this;
|
|
12362
12429
|
this.service.on(WALLET_EVENT.PAYMENT_SUCCESS, function (eventData) {
|
|
12363
|
-
return _this16.eventEmitter.emit(EVENT$
|
|
12364
|
-
event: EVENT$
|
|
12430
|
+
return _this16.eventEmitter.emit(EVENT$3.PAYMENT_SUCCESSFUL, {
|
|
12431
|
+
event: EVENT$3.PAYMENT_SUCCESSFUL,
|
|
12365
12432
|
data: eventData
|
|
12366
12433
|
});
|
|
12367
12434
|
});
|
|
@@ -12371,8 +12438,8 @@
|
|
|
12371
12438
|
value: function setupPaymentInReviewCallback() {
|
|
12372
12439
|
var _this17 = this;
|
|
12373
12440
|
this.service.on(WALLET_EVENT.PAYMENT_IN_REVIEW, function (eventData) {
|
|
12374
|
-
return _this17.eventEmitter.emit(EVENT$
|
|
12375
|
-
event: EVENT$
|
|
12441
|
+
return _this17.eventEmitter.emit(EVENT$3.PAYMENT_IN_REVIEW, {
|
|
12442
|
+
event: EVENT$3.PAYMENT_IN_REVIEW,
|
|
12376
12443
|
data: eventData
|
|
12377
12444
|
});
|
|
12378
12445
|
});
|
|
@@ -12382,8 +12449,8 @@
|
|
|
12382
12449
|
value: function setupPaymentErrorCallback() {
|
|
12383
12450
|
var _this18 = this;
|
|
12384
12451
|
this.service.on(WALLET_EVENT.PAYMENT_ERROR, function (eventData) {
|
|
12385
|
-
return _this18.eventEmitter.emit(EVENT$
|
|
12386
|
-
event: EVENT$
|
|
12452
|
+
return _this18.eventEmitter.emit(EVENT$3.PAYMENT_ERROR, {
|
|
12453
|
+
event: EVENT$3.PAYMENT_ERROR,
|
|
12387
12454
|
data: eventData
|
|
12388
12455
|
});
|
|
12389
12456
|
});
|
|
@@ -12393,8 +12460,8 @@
|
|
|
12393
12460
|
value: function setupAuthTokensChangedCallback() {
|
|
12394
12461
|
var _this19 = this;
|
|
12395
12462
|
this.service.on(WALLET_EVENT.AUTH_TOKENS_CHANGED, function (eventData) {
|
|
12396
|
-
return _this19.eventEmitter.emit(EVENT$
|
|
12397
|
-
event: EVENT$
|
|
12463
|
+
return _this19.eventEmitter.emit(EVENT$3.AUTH_TOKENS_CHANGED, {
|
|
12464
|
+
event: EVENT$3.AUTH_TOKENS_CHANGED,
|
|
12398
12465
|
data: eventData
|
|
12399
12466
|
});
|
|
12400
12467
|
});
|
|
@@ -13909,7 +13976,7 @@
|
|
|
13909
13976
|
}, {
|
|
13910
13977
|
key: "handleErrorEvent",
|
|
13911
13978
|
value: function handleErrorEvent(event, error, purpose) {
|
|
13912
|
-
if (Object.values(EVENT$
|
|
13979
|
+
if (Object.values(EVENT$4).includes(event)) {
|
|
13913
13980
|
this.event.emit({
|
|
13914
13981
|
error: error,
|
|
13915
13982
|
event: event,
|
|
@@ -14095,7 +14162,7 @@
|
|
|
14095
14162
|
}, function (error) {
|
|
14096
14163
|
if (error instanceof EventError) {
|
|
14097
14164
|
error.setContextId(_this2.link.getParams().widget_id);
|
|
14098
|
-
_this2.handleErrorEvent(EVENT$
|
|
14165
|
+
_this2.handleErrorEvent(EVENT$4.ERROR, error.toJSON().error, error.purpose);
|
|
14099
14166
|
}
|
|
14100
14167
|
console.error('Error when creating a token, widget will not be loaded');
|
|
14101
14168
|
});
|
|
@@ -14107,7 +14174,7 @@
|
|
|
14107
14174
|
key: "afterLoad",
|
|
14108
14175
|
value: function afterLoad() {
|
|
14109
14176
|
var _this3 = this;
|
|
14110
|
-
this.on(EVENT$
|
|
14177
|
+
this.on(EVENT$4.VALIDATION, function (data) {
|
|
14111
14178
|
_this3.validationData = data;
|
|
14112
14179
|
});
|
|
14113
14180
|
}
|
|
@@ -14366,7 +14433,7 @@
|
|
|
14366
14433
|
}, {
|
|
14367
14434
|
key: "onFinishInsert",
|
|
14368
14435
|
value: function onFinishInsert(selector, dataType) {
|
|
14369
|
-
this.on(EVENT$
|
|
14436
|
+
this.on(EVENT$4.FINISH, function (event) {
|
|
14370
14437
|
Event$1.insertToInput(selector, dataType, event);
|
|
14371
14438
|
});
|
|
14372
14439
|
}
|
|
@@ -14404,7 +14471,7 @@
|
|
|
14404
14471
|
var formInterceptor = new FormInterceptor(selector);
|
|
14405
14472
|
formInterceptor.beforeSubmit(function () {
|
|
14406
14473
|
_this5.triggerElement.push(TRIGGER$1.SUBMIT_FORM, {});
|
|
14407
|
-
_this5.event.on(EVENT$
|
|
14474
|
+
_this5.event.on(EVENT$4.FINISH, _this5.link.getParams().widget_id, function () {
|
|
14408
14475
|
formInterceptor.continueSubmit();
|
|
14409
14476
|
});
|
|
14410
14477
|
});
|
|
@@ -14417,13 +14484,13 @@
|
|
|
14417
14484
|
value: function useCheckoutAutoSubmit() {
|
|
14418
14485
|
var _this6 = this;
|
|
14419
14486
|
this.setHiddenElements([ELEMENT.SUBMIT_BUTTON]);
|
|
14420
|
-
this.on(EVENT$
|
|
14487
|
+
this.on(EVENT$4.CHECKOUT_SUCCESS, function () {
|
|
14421
14488
|
_this6.trigger(TRIGGER$1.SUBMIT_FORM);
|
|
14422
14489
|
});
|
|
14423
|
-
this.on(EVENT$
|
|
14490
|
+
this.on(EVENT$4.VALIDATION_ERROR, function () {
|
|
14424
14491
|
_this6.trigger(TRIGGER$1.REFRESH_CHECKOUT);
|
|
14425
14492
|
});
|
|
14426
|
-
this.on(EVENT$
|
|
14493
|
+
this.on(EVENT$4.SYSTEM_ERROR, function () {
|
|
14427
14494
|
_this6.trigger(TRIGGER$1.REFRESH_CHECKOUT);
|
|
14428
14495
|
});
|
|
14429
14496
|
}
|
|
@@ -14440,7 +14507,7 @@
|
|
|
14440
14507
|
key: "useAutoResize",
|
|
14441
14508
|
value: function useAutoResize() {
|
|
14442
14509
|
var _this7 = this;
|
|
14443
|
-
this.on(EVENT$
|
|
14510
|
+
this.on(EVENT$4.RESIZE, function (data) {
|
|
14444
14511
|
if (_this7.iFrame.getElement()) {
|
|
14445
14512
|
_this7.iFrame.getElement().scrolling = 'no';
|
|
14446
14513
|
if (data.height) {
|
|
@@ -16177,7 +16244,7 @@
|
|
|
16177
16244
|
key: "useAutoResize",
|
|
16178
16245
|
value: function useAutoResize() {
|
|
16179
16246
|
var _this = this;
|
|
16180
|
-
this.event.on(EVENT$
|
|
16247
|
+
this.event.on(EVENT$4.RESIZE, this.link.getParams().widget_id, function (data) {
|
|
16181
16248
|
if (_this.iFrame.getElement()) {
|
|
16182
16249
|
_this.iFrame.getElement().scrolling = 'no';
|
|
16183
16250
|
if (data.height) {
|
|
@@ -17018,7 +17085,7 @@
|
|
|
17018
17085
|
var _this = this;
|
|
17019
17086
|
this.widget = new WalletButtons(this.selector, context.payload.charge_token, context.payload.meta);
|
|
17020
17087
|
this.widget.setEnv(this.getEnv(context.instruction_token));
|
|
17021
|
-
this.widget.on(EVENT$
|
|
17088
|
+
this.widget.on(EVENT$3.ON_WALLET_LOADED, function () {
|
|
17022
17089
|
addGoBackToPaymentsButton(_this.selector, _this.checkoutWidget, _this.api);
|
|
17023
17090
|
});
|
|
17024
17091
|
this.widget.load();
|
|
@@ -17039,7 +17106,7 @@
|
|
|
17039
17106
|
var _this = this;
|
|
17040
17107
|
this.widget = new WalletButtons(this.selector, context === null || context === void 0 ? void 0 : context.payload.charge_token, context === null || context === void 0 ? void 0 : context.payload.meta);
|
|
17041
17108
|
this.widget.setEnv(this.getEnv(context.instruction_token));
|
|
17042
|
-
this.widget.on(EVENT$
|
|
17109
|
+
this.widget.on(EVENT$3.ON_WALLET_LOADED, function () {
|
|
17043
17110
|
addGoBackToPaymentsButton(_this.selector, _this.checkoutWidget, _this.api);
|
|
17044
17111
|
hideLoadingSpinner();
|
|
17045
17112
|
});
|
|
@@ -17372,7 +17439,7 @@
|
|
|
17372
17439
|
this.widget.load();
|
|
17373
17440
|
this.widget.useAutoResize();
|
|
17374
17441
|
this.widget.setHiddenElements(['submit_button']);
|
|
17375
|
-
this.widget.on(EVENT$
|
|
17442
|
+
this.widget.on(EVENT$4.AFTER_LOAD, function () {
|
|
17376
17443
|
_this.timeoutId = setTimeout(function () {
|
|
17377
17444
|
_this.addSubmitButton();
|
|
17378
17445
|
addGoBackToPaymentsButton(_this.selector, _this.checkoutWidget, _this.api);
|
|
@@ -17382,7 +17449,7 @@
|
|
|
17382
17449
|
this.widget.on('submit', function () {
|
|
17383
17450
|
return showLoadingSpinner();
|
|
17384
17451
|
});
|
|
17385
|
-
this.widget.on(EVENT$
|
|
17452
|
+
this.widget.on(EVENT$4.FINISH, function (event) {
|
|
17386
17453
|
var _a;
|
|
17387
17454
|
var get = new Api(context.instruction_token);
|
|
17388
17455
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
@@ -17418,7 +17485,7 @@
|
|
|
17418
17485
|
return console.error('callback.card_form.ott_created: error', error);
|
|
17419
17486
|
});
|
|
17420
17487
|
});
|
|
17421
|
-
this.widget.on(EVENT$
|
|
17488
|
+
this.widget.on(EVENT$4.VALIDATION_ERROR, function (event) {
|
|
17422
17489
|
var _a;
|
|
17423
17490
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
17424
17491
|
_this.api.checkout().callback({
|
|
@@ -17703,7 +17770,7 @@
|
|
|
17703
17770
|
var _this = this;
|
|
17704
17771
|
this.widget = new WalletButtons(this.selector, context === null || context === void 0 ? void 0 : context.payload.charge_token, context === null || context === void 0 ? void 0 : context.payload.meta);
|
|
17705
17772
|
this.widget.setEnv(this.getEnv(context.instruction_token));
|
|
17706
|
-
this.widget.on(EVENT$
|
|
17773
|
+
this.widget.on(EVENT$3.ON_WALLET_LOADED, function () {
|
|
17707
17774
|
addGoBackToPaymentsButton(_this.selector, _this.checkoutWidget, _this.api);
|
|
17708
17775
|
hideLoadingSpinner();
|
|
17709
17776
|
});
|
|
@@ -18018,7 +18085,7 @@
|
|
|
18018
18085
|
standalone: true
|
|
18019
18086
|
}));
|
|
18020
18087
|
this.widget.setEnv(this.getEnv(context.instruction_token));
|
|
18021
|
-
this.widget.on(EVENT$
|
|
18088
|
+
this.widget.on(EVENT$3.ON_WALLET_LOADED, function () {
|
|
18022
18089
|
addGoBackToPaymentsButton(_this.selector, _this.checkoutWidget, _this.api);
|
|
18023
18090
|
hideLoadingSpinner();
|
|
18024
18091
|
});
|
|
@@ -18584,7 +18651,7 @@
|
|
|
18584
18651
|
}
|
|
18585
18652
|
}
|
|
18586
18653
|
|
|
18587
|
-
var EVENT$
|
|
18654
|
+
var EVENT$2 = {
|
|
18588
18655
|
PAYMENT_SUCCESSFUL: 'paymentSuccessful',
|
|
18589
18656
|
PAYMENT_FAILURE: 'paymentFailure',
|
|
18590
18657
|
PAYMENT_EXPIRED: 'paymentExpired'
|
|
@@ -18790,7 +18857,7 @@
|
|
|
18790
18857
|
}, {
|
|
18791
18858
|
key: "onPaymentSuccessful",
|
|
18792
18859
|
value: function onPaymentSuccessful(handler) {
|
|
18793
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
18860
|
+
return this.eventEmitter.subscribe(EVENT$2.PAYMENT_SUCCESSFUL, handler);
|
|
18794
18861
|
}
|
|
18795
18862
|
/**
|
|
18796
18863
|
* If the payment was not successful, the function passed as parameter will be called.
|
|
@@ -18804,7 +18871,7 @@
|
|
|
18804
18871
|
}, {
|
|
18805
18872
|
key: "onPaymentFailure",
|
|
18806
18873
|
value: function onPaymentFailure(handler) {
|
|
18807
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
18874
|
+
return this.eventEmitter.subscribe(EVENT$2.PAYMENT_FAILURE, handler);
|
|
18808
18875
|
}
|
|
18809
18876
|
/**
|
|
18810
18877
|
* If the payment was expired, the function passed as parameter will be called.
|
|
@@ -18818,7 +18885,7 @@
|
|
|
18818
18885
|
}, {
|
|
18819
18886
|
key: "onPaymentExpired",
|
|
18820
18887
|
value: function onPaymentExpired(handler) {
|
|
18821
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
18888
|
+
return this.eventEmitter.subscribe(EVENT$2.PAYMENT_EXPIRED, handler);
|
|
18822
18889
|
}
|
|
18823
18890
|
}, {
|
|
18824
18891
|
key: "createWidgetStructure",
|
|
@@ -18894,7 +18961,7 @@
|
|
|
18894
18961
|
/**
|
|
18895
18962
|
* Events emitted during the OpenWallet payment lifecycle.
|
|
18896
18963
|
*/
|
|
18897
|
-
var EVENT$
|
|
18964
|
+
var EVENT$1;
|
|
18898
18965
|
(function (EVENT) {
|
|
18899
18966
|
/** Emitted when the wallet button is clicked by the user. */
|
|
18900
18967
|
EVENT["ON_CLICK"] = "onClick";
|
|
@@ -18912,7 +18979,7 @@
|
|
|
18912
18979
|
EVENT["ON_SHIPPING_ADDRESS_CHANGE"] = "onShippingAddressChange";
|
|
18913
18980
|
/** Emitted when the customer selects a shipping option. */
|
|
18914
18981
|
EVENT["ON_SHIPPING_OPTIONS_CHANGE"] = "onShippingOptionsChange";
|
|
18915
|
-
})(EVENT$
|
|
18982
|
+
})(EVENT$1 || (EVENT$1 = {}));
|
|
18916
18983
|
|
|
18917
18984
|
/**
|
|
18918
18985
|
* @classdesc Abstract base class for Open Wallet buttons. **Do not instantiate directly.**
|
|
@@ -18934,6 +19001,13 @@
|
|
|
18934
19001
|
_classCallCheck(this, OpenWalletButtons);
|
|
18935
19002
|
this.env = DEFAULT_ENV;
|
|
18936
19003
|
this.onShippingOptionsChangeHandlerRegistered = false;
|
|
19004
|
+
// Runtime guard: TypeScript's `abstract` keyword exists only at compile time.
|
|
19005
|
+
// Without this check, instantiating the base class directly silently fails
|
|
19006
|
+
// later when `this.validateWalletMeta()` resolves to `undefined`, producing
|
|
19007
|
+
// a confusing "is not a function" error far from the actual mistake.
|
|
19008
|
+
if ((this instanceof OpenWalletButtons ? this.constructor : void 0) === OpenWalletButtons) {
|
|
19009
|
+
throw new Error('OpenWalletButtons is an abstract base class and cannot be instantiated directly. ' + 'Use ApplePayOpenWalletButton or GooglePayOpenWalletButton instead.');
|
|
19010
|
+
}
|
|
18937
19011
|
this.eventEmitter = new EventEmitter();
|
|
18938
19012
|
this.container = new Container(selector);
|
|
18939
19013
|
this.api = new ApiInternal(publicKeyOrAccessToken, this.getApiAuthType(publicKeyOrAccessToken));
|
|
@@ -19036,7 +19110,7 @@
|
|
|
19036
19110
|
console.error('Wallet operation error:', error);
|
|
19037
19111
|
}
|
|
19038
19112
|
var errorData = {
|
|
19039
|
-
event: EVENT$
|
|
19113
|
+
event: EVENT$1.ERROR,
|
|
19040
19114
|
data: {
|
|
19041
19115
|
error: error,
|
|
19042
19116
|
context: {
|
|
@@ -19044,7 +19118,7 @@
|
|
|
19044
19118
|
}
|
|
19045
19119
|
}
|
|
19046
19120
|
};
|
|
19047
|
-
this.eventEmitter.emit(EVENT$
|
|
19121
|
+
this.eventEmitter.emit(EVENT$1.ERROR, errorData);
|
|
19048
19122
|
}
|
|
19049
19123
|
/**
|
|
19050
19124
|
* Loads and initializes the wallet button based on the service configuration.
|
|
@@ -19166,7 +19240,7 @@
|
|
|
19166
19240
|
key: "onClick",
|
|
19167
19241
|
value: function onClick(handler) {
|
|
19168
19242
|
if (typeof handler === 'function') {
|
|
19169
|
-
this.eventEmitter.subscribe(EVENT$
|
|
19243
|
+
this.eventEmitter.subscribe(EVENT$1.ON_CLICK, handler);
|
|
19170
19244
|
return;
|
|
19171
19245
|
}
|
|
19172
19246
|
this.handleOnError(new Error('onClick event handler is required.'), exports.ERROR_OPERATION.HANDLER_REGISTRATION);
|
|
@@ -19205,7 +19279,7 @@
|
|
|
19205
19279
|
value: function onSuccess(handler) {
|
|
19206
19280
|
var _this2 = this;
|
|
19207
19281
|
if (typeof handler === 'function') {
|
|
19208
|
-
this.eventEmitter.subscribe(EVENT$
|
|
19282
|
+
this.eventEmitter.subscribe(EVENT$1.SUCCESS, function (data) {
|
|
19209
19283
|
return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() {
|
|
19210
19284
|
var _t3;
|
|
19211
19285
|
return _regenerator().w(function (_context2) {
|
|
@@ -19257,7 +19331,7 @@
|
|
|
19257
19331
|
value: function onUnavailable(handler) {
|
|
19258
19332
|
var _this3 = this;
|
|
19259
19333
|
if (typeof handler === 'function') {
|
|
19260
|
-
this.eventEmitter.subscribe(EVENT$
|
|
19334
|
+
this.eventEmitter.subscribe(EVENT$1.UNAVAILABLE, function (data) {
|
|
19261
19335
|
return __awaiter(_this3, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee3() {
|
|
19262
19336
|
var _t4;
|
|
19263
19337
|
return _regenerator().w(function (_context3) {
|
|
@@ -19310,7 +19384,7 @@
|
|
|
19310
19384
|
value: function onError(handler) {
|
|
19311
19385
|
var _this4 = this;
|
|
19312
19386
|
if (typeof handler === 'function') {
|
|
19313
|
-
this.eventEmitter.subscribe(EVENT$
|
|
19387
|
+
this.eventEmitter.subscribe(EVENT$1.ERROR, function (data) {
|
|
19314
19388
|
return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee4() {
|
|
19315
19389
|
var _t5;
|
|
19316
19390
|
return _regenerator().w(function (_context4) {
|
|
@@ -19362,7 +19436,7 @@
|
|
|
19362
19436
|
value: function onCancel(handler) {
|
|
19363
19437
|
var _this5 = this;
|
|
19364
19438
|
if (typeof handler === 'function') {
|
|
19365
|
-
this.eventEmitter.subscribe(EVENT$
|
|
19439
|
+
this.eventEmitter.subscribe(EVENT$1.CHECKOUT_CLOSE, function (data) {
|
|
19366
19440
|
return __awaiter(_this5, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee5() {
|
|
19367
19441
|
var _t6;
|
|
19368
19442
|
return _regenerator().w(function (_context5) {
|
|
@@ -19407,7 +19481,7 @@
|
|
|
19407
19481
|
value: function onLoaded(handler) {
|
|
19408
19482
|
var _this6 = this;
|
|
19409
19483
|
if (typeof handler === 'function') {
|
|
19410
|
-
this.eventEmitter.subscribe(EVENT$
|
|
19484
|
+
this.eventEmitter.subscribe(EVENT$1.LOADED, function (data) {
|
|
19411
19485
|
return __awaiter(_this6, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee6() {
|
|
19412
19486
|
var _t7;
|
|
19413
19487
|
return _regenerator().w(function (_context6) {
|
|
@@ -19479,7 +19553,7 @@
|
|
|
19479
19553
|
key: "onShippingAddressChange",
|
|
19480
19554
|
value: function onShippingAddressChange(handler) {
|
|
19481
19555
|
if (typeof handler === 'function') {
|
|
19482
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
19556
|
+
return this.eventEmitter.subscribe(EVENT$1.ON_SHIPPING_ADDRESS_CHANGE, handler);
|
|
19483
19557
|
}
|
|
19484
19558
|
this.handleOnError(new Error('onShippingAddressChange event handler is required.'), exports.ERROR_OPERATION.HANDLER_REGISTRATION);
|
|
19485
19559
|
}
|
|
@@ -19524,7 +19598,7 @@
|
|
|
19524
19598
|
value: function onShippingOptionsChange(handler) {
|
|
19525
19599
|
if (typeof handler === 'function') {
|
|
19526
19600
|
this.onShippingOptionsChangeHandlerRegistered = true;
|
|
19527
|
-
return this.eventEmitter.subscribe(EVENT$
|
|
19601
|
+
return this.eventEmitter.subscribe(EVENT$1.ON_SHIPPING_OPTIONS_CHANGE, handler);
|
|
19528
19602
|
}
|
|
19529
19603
|
this.handleOnError(new Error('onShippingOptionsChange event handler is required.'), exports.ERROR_OPERATION.HANDLER_REGISTRATION);
|
|
19530
19604
|
}
|
|
@@ -19638,8 +19712,8 @@
|
|
|
19638
19712
|
return this.api.paymentSource().createOTT(requestData).then(function (response) {
|
|
19639
19713
|
var cleanShipping = stripEmpty(shipping);
|
|
19640
19714
|
var cleanBilling = stripEmpty(billing);
|
|
19641
|
-
_this.eventEmitter.emit(EVENT$
|
|
19642
|
-
event: EVENT$
|
|
19715
|
+
_this.eventEmitter.emit(EVENT$1.SUCCESS, {
|
|
19716
|
+
event: EVENT$1.SUCCESS,
|
|
19643
19717
|
data: _extends(_extends({
|
|
19644
19718
|
token: response,
|
|
19645
19719
|
amount: amount
|
|
@@ -19652,8 +19726,8 @@
|
|
|
19652
19726
|
return response;
|
|
19653
19727
|
})["catch"](function (err) {
|
|
19654
19728
|
var _a, _b, _c, _d;
|
|
19655
|
-
_this.eventEmitter.emit(EVENT$
|
|
19656
|
-
event: EVENT$
|
|
19729
|
+
_this.eventEmitter.emit(EVENT$1.ERROR, {
|
|
19730
|
+
event: EVENT$1.ERROR,
|
|
19657
19731
|
data: {
|
|
19658
19732
|
message: ((_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.message) || (err === null || err === void 0 ? void 0 : err.message) || ((_b = err === null || err === void 0 ? void 0 : err.error_summary) === null || _b === void 0 ? void 0 : _b.message),
|
|
19659
19733
|
code: ((_c = err === null || err === void 0 ? void 0 : err.error) === null || _c === void 0 ? void 0 : _c.code) || (err === null || err === void 0 ? void 0 : err.code) || ((_d = err === null || err === void 0 ? void 0 : err.error_summary) === null || _d === void 0 ? void 0 : _d.code)
|
|
@@ -19700,7 +19774,7 @@
|
|
|
19700
19774
|
value: function handleOnUnavailable() {
|
|
19701
19775
|
var reason = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Wallet not available';
|
|
19702
19776
|
var unavailableData = {
|
|
19703
|
-
event: EVENT$
|
|
19777
|
+
event: EVENT$1.UNAVAILABLE,
|
|
19704
19778
|
data: {
|
|
19705
19779
|
reason: reason,
|
|
19706
19780
|
details: {
|
|
@@ -19708,7 +19782,7 @@
|
|
|
19708
19782
|
}
|
|
19709
19783
|
}
|
|
19710
19784
|
};
|
|
19711
|
-
this.eventEmitter.emit(EVENT$
|
|
19785
|
+
this.eventEmitter.emit(EVENT$1.UNAVAILABLE, unavailableData);
|
|
19712
19786
|
}
|
|
19713
19787
|
/**
|
|
19714
19788
|
* Emits the {@link EVENT.ERROR} event and logs the error to the console.
|
|
@@ -19724,7 +19798,7 @@
|
|
|
19724
19798
|
console.error('Wallet operation error:', error);
|
|
19725
19799
|
}
|
|
19726
19800
|
var errorData = {
|
|
19727
|
-
event: EVENT$
|
|
19801
|
+
event: EVENT$1.ERROR,
|
|
19728
19802
|
data: {
|
|
19729
19803
|
error: error,
|
|
19730
19804
|
context: {
|
|
@@ -19732,7 +19806,7 @@
|
|
|
19732
19806
|
}
|
|
19733
19807
|
}
|
|
19734
19808
|
};
|
|
19735
|
-
this.eventEmitter.emit(EVENT$
|
|
19809
|
+
this.eventEmitter.emit(EVENT$1.ERROR, errorData);
|
|
19736
19810
|
}
|
|
19737
19811
|
/**
|
|
19738
19812
|
* Removes the wallet button element from the DOM.
|
|
@@ -19782,8 +19856,8 @@
|
|
|
19782
19856
|
_this.serviceConfig = serviceConfig;
|
|
19783
19857
|
_this.latestShippingData = {};
|
|
19784
19858
|
_this.onCancelPayment = function () {
|
|
19785
|
-
return _this.eventEmitter.emit(EVENT$
|
|
19786
|
-
event: EVENT$
|
|
19859
|
+
return _this.eventEmitter.emit(EVENT$1.CHECKOUT_CLOSE, {
|
|
19860
|
+
event: EVENT$1.CHECKOUT_CLOSE
|
|
19787
19861
|
});
|
|
19788
19862
|
};
|
|
19789
19863
|
_this.onValidateMerchant = function () {
|
|
@@ -19863,7 +19937,7 @@
|
|
|
19863
19937
|
while (1) switch (_context.n) {
|
|
19864
19938
|
case 0:
|
|
19865
19939
|
return _context.a(2, this.handleMerchantOnShippingChangedEvent({
|
|
19866
|
-
event: EVENT$
|
|
19940
|
+
event: EVENT$1.ON_SHIPPING_ADDRESS_CHANGE,
|
|
19867
19941
|
data: this.parseShippingContactUpdateEvent(data)
|
|
19868
19942
|
}).then(function (response) {
|
|
19869
19943
|
var _a, _b;
|
|
@@ -19912,7 +19986,7 @@
|
|
|
19912
19986
|
while (1) switch (_context2.n) {
|
|
19913
19987
|
case 0:
|
|
19914
19988
|
return _context2.a(2, this.handleMerchantOnShippingChangedEvent({
|
|
19915
|
-
event: EVENT$
|
|
19989
|
+
event: EVENT$1.ON_SHIPPING_OPTIONS_CHANGE,
|
|
19916
19990
|
data: this.parseShippingMethodUpdateEvent(data)
|
|
19917
19991
|
}).then(function (response) {
|
|
19918
19992
|
var _a;
|
|
@@ -20127,32 +20201,49 @@
|
|
|
20127
20201
|
return;
|
|
20128
20202
|
}
|
|
20129
20203
|
applePayButton.addEventListener('click', this.onApplePayButtonClicked.bind(this));
|
|
20130
|
-
this.eventEmitter.emit(EVENT$
|
|
20131
|
-
event: EVENT$
|
|
20204
|
+
this.eventEmitter.emit(EVENT$1.LOADED, {
|
|
20205
|
+
event: EVENT$1.LOADED
|
|
20132
20206
|
});
|
|
20133
20207
|
}
|
|
20134
20208
|
}, {
|
|
20135
20209
|
key: "onApplePayButtonClicked",
|
|
20136
20210
|
value: function onApplePayButtonClicked() {
|
|
20137
|
-
|
|
20211
|
+
var _this7 = this;
|
|
20212
|
+
var applePayApiVersion = getSupportedApplePayVersion();
|
|
20213
|
+
if (applePayApiVersion === 0) {
|
|
20214
|
+
this.handleOnUnavailable('Apple Pay version not supported');
|
|
20215
|
+
return;
|
|
20216
|
+
}
|
|
20217
|
+
this.paymentSession = new ApplePaySession(applePayApiVersion, this.mapMetaToApplePayPaymentRequest());
|
|
20138
20218
|
this.paymentSession.onvalidatemerchant = this.onValidateMerchant;
|
|
20139
20219
|
this.paymentSession.onpaymentauthorized = this.onPaymentAuthorized;
|
|
20140
20220
|
this.paymentSession.oncancel = this.onCancelPayment;
|
|
20141
20221
|
this.paymentSession.onshippingcontactselected = this.onShippingContactUpdated;
|
|
20142
20222
|
this.paymentSession.onshippingmethodselected = this.onShippingMethodUpdated;
|
|
20143
20223
|
this.paymentSession.begin();
|
|
20224
|
+
// As part of PAYCA-2065 we detect that the paymentSession.onvalidatemerchant is not
|
|
20225
|
+
// executed if the browser is not safari. In that case, we handle it outside the
|
|
20226
|
+
// actual merchant validation function.
|
|
20227
|
+
var isIOS = /iPhone|iPad|iPod/.test(navigator.userAgent);
|
|
20228
|
+
var isDesktopRequestIOS = navigator.maxTouchPoints > 1 && /Macintosh/.test(navigator.userAgent);
|
|
20229
|
+
if (!window.safari && !isIOS && !isDesktopRequestIOS) {
|
|
20230
|
+
this.handleMerchantOnButtonClickEvent()["catch"](function (err) {
|
|
20231
|
+
console.error('Error while processing merchant callback', err);
|
|
20232
|
+
_this7.paymentSession.abort();
|
|
20233
|
+
});
|
|
20234
|
+
}
|
|
20144
20235
|
}
|
|
20145
20236
|
}, {
|
|
20146
20237
|
key: "getMerchantSession",
|
|
20147
20238
|
value: function getMerchantSession() {
|
|
20148
|
-
var
|
|
20239
|
+
var _this8 = this;
|
|
20149
20240
|
return new Promise(function (resolve, reject) {
|
|
20150
|
-
return
|
|
20151
|
-
service_id:
|
|
20241
|
+
return _this8.api.paymentSource().createSession(_extends({
|
|
20242
|
+
service_id: _this8.serviceId,
|
|
20152
20243
|
session_id: window.location.hostname,
|
|
20153
|
-
store_name:
|
|
20154
|
-
},
|
|
20155
|
-
request_shipping:
|
|
20244
|
+
store_name: _this8.meta.store_name
|
|
20245
|
+
}, _this8.isShippingRequired() && {
|
|
20246
|
+
request_shipping: _this8.meta.request_shipping
|
|
20156
20247
|
})).then(function (res) {
|
|
20157
20248
|
resolve(res);
|
|
20158
20249
|
})["catch"](function (err) {
|
|
@@ -20169,8 +20260,8 @@
|
|
|
20169
20260
|
while (1) switch (_context4.n) {
|
|
20170
20261
|
case 0:
|
|
20171
20262
|
_context4.n = 1;
|
|
20172
|
-
return this.eventEmitter.emitWithResult(EVENT$
|
|
20173
|
-
event: EVENT$
|
|
20263
|
+
return this.eventEmitter.emitWithResult(EVENT$1.ON_CLICK, {
|
|
20264
|
+
event: EVENT$1.ON_CLICK
|
|
20174
20265
|
});
|
|
20175
20266
|
case 1:
|
|
20176
20267
|
results = _context4.v;
|
|
@@ -20494,8 +20585,8 @@
|
|
|
20494
20585
|
* Used to translate shipping-related Google Pay events to the unified event system.
|
|
20495
20586
|
*/
|
|
20496
20587
|
({
|
|
20497
|
-
SHIPPING_ADDRESS: EVENT$
|
|
20498
|
-
SHIPPING_OPTION: EVENT$
|
|
20588
|
+
SHIPPING_ADDRESS: EVENT$1.ON_SHIPPING_ADDRESS_CHANGE,
|
|
20589
|
+
SHIPPING_OPTION: EVENT$1.ON_SHIPPING_OPTIONS_CHANGE
|
|
20499
20590
|
});
|
|
20500
20591
|
|
|
20501
20592
|
/**
|
|
@@ -20860,8 +20951,8 @@
|
|
|
20860
20951
|
buttonColor: ((_c = this.getMetaStyles()) === null || _c === void 0 ? void 0 : _c.button_color) || 'default'
|
|
20861
20952
|
});
|
|
20862
20953
|
button.appendChild(googlePayButton);
|
|
20863
|
-
this.eventEmitter.emit(EVENT$
|
|
20864
|
-
event: EVENT$
|
|
20954
|
+
this.eventEmitter.emit(EVENT$1.LOADED, {
|
|
20955
|
+
event: EVENT$1.LOADED
|
|
20865
20956
|
});
|
|
20866
20957
|
}
|
|
20867
20958
|
}, {
|
|
@@ -20890,8 +20981,8 @@
|
|
|
20890
20981
|
while (1) switch (_context3.n) {
|
|
20891
20982
|
case 0:
|
|
20892
20983
|
_context3.n = 1;
|
|
20893
|
-
return this.eventEmitter.emitWithResult(EVENT$
|
|
20894
|
-
event: EVENT$
|
|
20984
|
+
return this.eventEmitter.emitWithResult(EVENT$1.ON_CLICK, {
|
|
20985
|
+
event: EVENT$1.ON_CLICK
|
|
20895
20986
|
});
|
|
20896
20987
|
case 1:
|
|
20897
20988
|
results = _context3.v;
|
|
@@ -20917,8 +21008,8 @@
|
|
|
20917
21008
|
while (1) switch (_context4.n) {
|
|
20918
21009
|
case 0:
|
|
20919
21010
|
return _context4.a(2, this.paymentsClient.loadPaymentData(this.createPaymentDataRequest())["catch"](function (err) {
|
|
20920
|
-
_this6.eventEmitter.emit(EVENT$
|
|
20921
|
-
event: EVENT$
|
|
21011
|
+
_this6.eventEmitter.emit(EVENT$1.CHECKOUT_CLOSE, {
|
|
21012
|
+
event: EVENT$1.CHECKOUT_CLOSE
|
|
20922
21013
|
});
|
|
20923
21014
|
_this6.processingButtonClick = false;
|
|
20924
21015
|
throw err;
|
|
@@ -20982,13 +21073,13 @@
|
|
|
20982
21073
|
if (intermediatePaymentData.callbackTrigger === 'INITIALIZE' || intermediatePaymentData.callbackTrigger === 'SHIPPING_ADDRESS') {
|
|
20983
21074
|
callbackIntent = 'SHIPPING_ADDRESS';
|
|
20984
21075
|
eventData = {
|
|
20985
|
-
event: EVENT$
|
|
21076
|
+
event: EVENT$1.ON_SHIPPING_ADDRESS_CHANGE,
|
|
20986
21077
|
data: parsedUpdateData.shipping
|
|
20987
21078
|
};
|
|
20988
21079
|
} else if (intermediatePaymentData.callbackTrigger === 'SHIPPING_OPTION') {
|
|
20989
21080
|
callbackIntent = 'SHIPPING_OPTION';
|
|
20990
21081
|
eventData = {
|
|
20991
|
-
event: EVENT$
|
|
21082
|
+
event: EVENT$1.ON_SHIPPING_OPTIONS_CHANGE,
|
|
20992
21083
|
data: {
|
|
20993
21084
|
shipping_option_id: (_a = parsedUpdateData.selected_shipping_option) === null || _a === void 0 ? void 0 : _a.id,
|
|
20994
21085
|
label: (_b = parsedUpdateData.selected_shipping_option) === null || _b === void 0 ? void 0 : _b.label,
|
|
@@ -21688,7 +21779,7 @@
|
|
|
21688
21779
|
}, {
|
|
21689
21780
|
key: "onSelectInsert",
|
|
21690
21781
|
value: function onSelectInsert(selector, dataType) {
|
|
21691
|
-
this.on(EVENT$
|
|
21782
|
+
this.on(EVENT$4.SELECT, function (event) {
|
|
21692
21783
|
Event$1.insertToInput(selector, dataType, event);
|
|
21693
21784
|
});
|
|
21694
21785
|
}
|
|
@@ -22258,7 +22349,7 @@
|
|
|
22258
22349
|
* @param {string} CHECKOUT_COMPLETED=checkoutCompleted Event sent on successful checkout by customer. Check [data](#EventDataCheckoutCompletedData) for more information.
|
|
22259
22350
|
* @param {string} CHECKOUT_ERROR=checkoutError Event sent on error checkout by customer. Check [data](#EventData) for more information.
|
|
22260
22351
|
*/
|
|
22261
|
-
var EVENT
|
|
22352
|
+
var EVENT;
|
|
22262
22353
|
(function (EVENT) {
|
|
22263
22354
|
EVENT["IFRAME_LOADED"] = "iframeLoaded";
|
|
22264
22355
|
EVENT["CHECKOUT_READY"] = "checkoutReady";
|
|
@@ -22266,7 +22357,7 @@
|
|
|
22266
22357
|
EVENT["CHECKOUT_ERROR"] = "checkoutError";
|
|
22267
22358
|
EVENT["CHECKOUT_POPUP_OPEN"] = "checkoutPopupOpen";
|
|
22268
22359
|
EVENT["CHECKOUT_POPUP_CLOSE"] = "checkoutPopupClose";
|
|
22269
|
-
})(EVENT
|
|
22360
|
+
})(EVENT || (EVENT = {}));
|
|
22270
22361
|
/**
|
|
22271
22362
|
* List of available event data types
|
|
22272
22363
|
* @enum EVENT_DATA_TYPE
|
|
@@ -22436,25 +22527,25 @@
|
|
|
22436
22527
|
var _this = this;
|
|
22437
22528
|
var widgetId = this.link.getParams().widget_id;
|
|
22438
22529
|
if (!widgetId) return;
|
|
22439
|
-
this.iFrameEvent.on(EVENT
|
|
22530
|
+
this.iFrameEvent.on(EVENT.CHECKOUT_READY, widgetId, function (_ref) {
|
|
22440
22531
|
var data = _ref.data;
|
|
22441
|
-
_this.eventEmitter.emit(EVENT
|
|
22532
|
+
_this.eventEmitter.emit(EVENT.CHECKOUT_READY, data);
|
|
22442
22533
|
});
|
|
22443
|
-
this.iFrameEvent.on(EVENT
|
|
22534
|
+
this.iFrameEvent.on(EVENT.CHECKOUT_COMPLETED, widgetId, function (_ref2) {
|
|
22444
22535
|
var data = _ref2.data;
|
|
22445
|
-
_this.eventEmitter.emit(EVENT
|
|
22536
|
+
_this.eventEmitter.emit(EVENT.CHECKOUT_COMPLETED, data);
|
|
22446
22537
|
});
|
|
22447
|
-
this.iFrameEvent.on(EVENT
|
|
22538
|
+
this.iFrameEvent.on(EVENT.CHECKOUT_POPUP_OPEN, widgetId, function (_ref3) {
|
|
22448
22539
|
var data = _ref3.data;
|
|
22449
|
-
_this.eventEmitter.emit(EVENT
|
|
22540
|
+
_this.eventEmitter.emit(EVENT.CHECKOUT_POPUP_OPEN, data);
|
|
22450
22541
|
});
|
|
22451
|
-
this.iFrameEvent.on(EVENT
|
|
22542
|
+
this.iFrameEvent.on(EVENT.CHECKOUT_POPUP_CLOSE, widgetId, function (_ref4) {
|
|
22452
22543
|
var data = _ref4.data;
|
|
22453
|
-
_this.eventEmitter.emit(EVENT
|
|
22544
|
+
_this.eventEmitter.emit(EVENT.CHECKOUT_POPUP_CLOSE, data);
|
|
22454
22545
|
});
|
|
22455
|
-
this.iFrameEvent.on(EVENT
|
|
22546
|
+
this.iFrameEvent.on(EVENT.CHECKOUT_ERROR, widgetId, function (_ref5) {
|
|
22456
22547
|
var data = _ref5.data;
|
|
22457
|
-
_this.eventEmitter.emit(EVENT
|
|
22548
|
+
_this.eventEmitter.emit(EVENT.CHECKOUT_ERROR, data);
|
|
22458
22549
|
});
|
|
22459
22550
|
if (this.autoResize) this.useAutoResize(true);
|
|
22460
22551
|
}
|
|
@@ -22477,7 +22568,7 @@
|
|
|
22477
22568
|
if (iframeElement) {
|
|
22478
22569
|
iframeElement.onload = function () {
|
|
22479
22570
|
_this2.isIframeLoaded = true;
|
|
22480
|
-
_this2.eventEmitter.emit(EVENT
|
|
22571
|
+
_this2.eventEmitter.emit(EVENT.IFRAME_LOADED, {});
|
|
22481
22572
|
if (_this2.injectedCustomerData) {
|
|
22482
22573
|
_this2.injectCustomerData(_this2.injectedCustomerData);
|
|
22483
22574
|
_this2.injectedCustomerData = null;
|
|
@@ -22964,7 +23055,7 @@
|
|
|
22964
23055
|
}]);
|
|
22965
23056
|
}();
|
|
22966
23057
|
|
|
22967
|
-
|
|
23058
|
+
exports.WALLET_BUTTONS_EXPRESS_EVENT = void 0;
|
|
22968
23059
|
(function (EVENT) {
|
|
22969
23060
|
EVENT["UNAVAILABLE"] = "unavailable";
|
|
22970
23061
|
EVENT["ERROR"] = "error";
|
|
@@ -22975,12 +23066,13 @@
|
|
|
22975
23066
|
EVENT["ON_CHECKOUT_CLOSE"] = "onCheckoutClose";
|
|
22976
23067
|
EVENT["ON_SHIPPING_ADDRESS_CHANGE"] = "onShippingAddressChange";
|
|
22977
23068
|
EVENT["ON_SHIPPING_OPTIONS_CHANGE"] = "onShippingOptionsChange";
|
|
22978
|
-
})(
|
|
23069
|
+
})(exports.WALLET_BUTTONS_EXPRESS_EVENT || (exports.WALLET_BUTTONS_EXPRESS_EVENT = {}));
|
|
22979
23070
|
|
|
22980
23071
|
var BaseWalletButton = /*#__PURE__*/function () {
|
|
22981
23072
|
function BaseWalletButton(selector, publicKeyOrAccessToken, gatewayId, meta, requiredMetaFields) {
|
|
22982
23073
|
_classCallCheck(this, BaseWalletButton);
|
|
22983
23074
|
this.env = DEFAULT_ENV;
|
|
23075
|
+
this.isDisabled = false;
|
|
22984
23076
|
this.onShippingOptionsChangeHandlerRegistered = false;
|
|
22985
23077
|
this.eventEmitter = new EventEmitter();
|
|
22986
23078
|
this.container = new Container(selector);
|
|
@@ -23013,6 +23105,30 @@
|
|
|
23013
23105
|
this.env = env;
|
|
23014
23106
|
this.api.setEnv(env, alias);
|
|
23015
23107
|
}
|
|
23108
|
+
/**
|
|
23109
|
+
* Enables the wallet button, restoring interactivity and visual appearance.
|
|
23110
|
+
*
|
|
23111
|
+
* @example
|
|
23112
|
+
* button.enable();
|
|
23113
|
+
*/
|
|
23114
|
+
}, {
|
|
23115
|
+
key: "enable",
|
|
23116
|
+
value: function enable() {
|
|
23117
|
+
this.isDisabled = false;
|
|
23118
|
+
this.applyDisabledStyles();
|
|
23119
|
+
}
|
|
23120
|
+
/**
|
|
23121
|
+
* Disables the wallet button, preventing clicks and applying a visual disabled state.
|
|
23122
|
+
*
|
|
23123
|
+
* @example
|
|
23124
|
+
* button.disable();
|
|
23125
|
+
*/
|
|
23126
|
+
}, {
|
|
23127
|
+
key: "disable",
|
|
23128
|
+
value: function disable() {
|
|
23129
|
+
this.isDisabled = true;
|
|
23130
|
+
this.applyDisabledStyles();
|
|
23131
|
+
}
|
|
23016
23132
|
/**
|
|
23017
23133
|
* Callback for onClick method.
|
|
23018
23134
|
*
|
|
@@ -23040,7 +23156,7 @@
|
|
|
23040
23156
|
key: "onClick",
|
|
23041
23157
|
value: function onClick(handler) {
|
|
23042
23158
|
if (typeof handler === 'function') {
|
|
23043
|
-
return this.eventEmitter.subscribe(
|
|
23159
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_CLICK, handler);
|
|
23044
23160
|
}
|
|
23045
23161
|
this.handleOnError(new Error('onClick event handler is required to return the wallet token string.'));
|
|
23046
23162
|
}
|
|
@@ -23069,10 +23185,10 @@
|
|
|
23069
23185
|
value: function onPaymentSuccessful(handler) {
|
|
23070
23186
|
var _this = this;
|
|
23071
23187
|
if (typeof handler === 'function') {
|
|
23072
|
-
return this.eventEmitter.subscribe(
|
|
23188
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_SUCCESSFUL, handler);
|
|
23073
23189
|
}
|
|
23074
23190
|
return new Promise(function (resolve) {
|
|
23075
|
-
return _this.eventEmitter.subscribe(
|
|
23191
|
+
return _this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_SUCCESSFUL, function (data) {
|
|
23076
23192
|
return resolve(data);
|
|
23077
23193
|
});
|
|
23078
23194
|
});
|
|
@@ -23102,10 +23218,10 @@
|
|
|
23102
23218
|
value: function onPaymentInReview(handler) {
|
|
23103
23219
|
var _this2 = this;
|
|
23104
23220
|
if (typeof handler === 'function') {
|
|
23105
|
-
return this.eventEmitter.subscribe(
|
|
23221
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_IN_REVIEW, handler);
|
|
23106
23222
|
}
|
|
23107
23223
|
return new Promise(function (resolve) {
|
|
23108
|
-
return _this2.eventEmitter.subscribe(
|
|
23224
|
+
return _this2.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_IN_REVIEW, function (data) {
|
|
23109
23225
|
return resolve(data);
|
|
23110
23226
|
});
|
|
23111
23227
|
});
|
|
@@ -23135,10 +23251,10 @@
|
|
|
23135
23251
|
value: function onPaymentError(handler) {
|
|
23136
23252
|
var _this3 = this;
|
|
23137
23253
|
if (typeof handler === 'function') {
|
|
23138
|
-
return this.eventEmitter.subscribe(
|
|
23254
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR, handler);
|
|
23139
23255
|
}
|
|
23140
23256
|
return new Promise(function (resolve) {
|
|
23141
|
-
return _this3.eventEmitter.subscribe(
|
|
23257
|
+
return _this3.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR, function (err) {
|
|
23142
23258
|
return resolve(err);
|
|
23143
23259
|
});
|
|
23144
23260
|
});
|
|
@@ -23164,10 +23280,10 @@
|
|
|
23164
23280
|
value: function onCheckoutClose(handler) {
|
|
23165
23281
|
var _this4 = this;
|
|
23166
23282
|
if (typeof handler === 'function') {
|
|
23167
|
-
return this.eventEmitter.subscribe(
|
|
23283
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_CHECKOUT_CLOSE, handler);
|
|
23168
23284
|
}
|
|
23169
23285
|
return new Promise(function (resolve) {
|
|
23170
|
-
return _this4.eventEmitter.subscribe(
|
|
23286
|
+
return _this4.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_CHECKOUT_CLOSE, function (err) {
|
|
23171
23287
|
return resolve(err);
|
|
23172
23288
|
});
|
|
23173
23289
|
});
|
|
@@ -23198,7 +23314,7 @@
|
|
|
23198
23314
|
key: "onShippingAddressChange",
|
|
23199
23315
|
value: function onShippingAddressChange(handler) {
|
|
23200
23316
|
if (typeof handler === 'function') {
|
|
23201
|
-
return this.eventEmitter.subscribe(
|
|
23317
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_SHIPPING_ADDRESS_CHANGE, handler);
|
|
23202
23318
|
}
|
|
23203
23319
|
this.handleOnError(new Error('onShippingAddressChange event handler is required to return the wallet token string or reject.'));
|
|
23204
23320
|
}
|
|
@@ -23229,7 +23345,7 @@
|
|
|
23229
23345
|
value: function onShippingOptionsChange(handler) {
|
|
23230
23346
|
if (typeof handler === 'function') {
|
|
23231
23347
|
this.onShippingOptionsChangeHandlerRegistered = true;
|
|
23232
|
-
return this.eventEmitter.subscribe(
|
|
23348
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_SHIPPING_OPTIONS_CHANGE, handler);
|
|
23233
23349
|
}
|
|
23234
23350
|
this.handleOnError(new Error('onShippingOptionsChange event handler is required to return the wallet token string or reject.'));
|
|
23235
23351
|
}
|
|
@@ -23254,10 +23370,10 @@
|
|
|
23254
23370
|
value: function onUnavailable(handler) {
|
|
23255
23371
|
var _this5 = this;
|
|
23256
23372
|
if (typeof handler === 'function') {
|
|
23257
|
-
return this.eventEmitter.subscribe(
|
|
23373
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.UNAVAILABLE, handler);
|
|
23258
23374
|
}
|
|
23259
23375
|
return new Promise(function (resolve) {
|
|
23260
|
-
return _this5.eventEmitter.subscribe(
|
|
23376
|
+
return _this5.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.UNAVAILABLE, function (err) {
|
|
23261
23377
|
return resolve(err);
|
|
23262
23378
|
});
|
|
23263
23379
|
});
|
|
@@ -23284,10 +23400,10 @@
|
|
|
23284
23400
|
value: function onError(handler) {
|
|
23285
23401
|
var _this6 = this;
|
|
23286
23402
|
if (typeof handler === 'function') {
|
|
23287
|
-
return this.eventEmitter.subscribe(
|
|
23403
|
+
return this.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.ERROR, handler);
|
|
23288
23404
|
}
|
|
23289
23405
|
return new Promise(function (resolve) {
|
|
23290
|
-
return _this6.eventEmitter.subscribe(
|
|
23406
|
+
return _this6.eventEmitter.subscribe(exports.WALLET_BUTTONS_EXPRESS_EVENT.ERROR, function (err) {
|
|
23291
23407
|
return resolve(err);
|
|
23292
23408
|
});
|
|
23293
23409
|
});
|
|
@@ -23324,8 +23440,8 @@
|
|
|
23324
23440
|
var _this8 = this;
|
|
23325
23441
|
return this.api.charge().walletCallback(data)["catch"](function (err) {
|
|
23326
23442
|
var _a;
|
|
23327
|
-
_this8.eventEmitter.emit(
|
|
23328
|
-
event:
|
|
23443
|
+
_this8.eventEmitter.emit(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR, {
|
|
23444
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR,
|
|
23329
23445
|
chargeId: (_a = _this8.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id,
|
|
23330
23446
|
data: _this8.eventDataFromApiError(err)
|
|
23331
23447
|
});
|
|
@@ -23339,7 +23455,7 @@
|
|
|
23339
23455
|
var _this9 = this;
|
|
23340
23456
|
return this.api.charge().walletCapture(data).then(function (captureResult) {
|
|
23341
23457
|
var _a;
|
|
23342
|
-
var event = captureResult.status === 'inreview' ?
|
|
23458
|
+
var event = captureResult.status === 'inreview' ? exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_IN_REVIEW : exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_SUCCESSFUL;
|
|
23343
23459
|
_this9.eventEmitter.emit(event, {
|
|
23344
23460
|
event: event,
|
|
23345
23461
|
chargeId: (_a = _this9.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id,
|
|
@@ -23348,8 +23464,8 @@
|
|
|
23348
23464
|
return captureResult;
|
|
23349
23465
|
})["catch"](function (err) {
|
|
23350
23466
|
var _a;
|
|
23351
|
-
_this9.eventEmitter.emit(
|
|
23352
|
-
event:
|
|
23467
|
+
_this9.eventEmitter.emit(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR, {
|
|
23468
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR,
|
|
23353
23469
|
chargeId: (_a = _this9.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id,
|
|
23354
23470
|
data: _this9.eventDataFromApiError(err)
|
|
23355
23471
|
});
|
|
@@ -23360,8 +23476,8 @@
|
|
|
23360
23476
|
key: "handleMerchantOnExpressButtonClickEvent",
|
|
23361
23477
|
value: function handleMerchantOnExpressButtonClickEvent() {
|
|
23362
23478
|
var _this0 = this;
|
|
23363
|
-
return this.eventEmitter.emitWithResult(
|
|
23364
|
-
event:
|
|
23479
|
+
return this.eventEmitter.emitWithResult(exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_CLICK, {
|
|
23480
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_CLICK
|
|
23365
23481
|
}).then(function (result) {
|
|
23366
23482
|
var _a;
|
|
23367
23483
|
if (!result || result.length === 0) {
|
|
@@ -23438,8 +23554,8 @@
|
|
|
23438
23554
|
value: function handleCheckoutClose() {
|
|
23439
23555
|
var _a;
|
|
23440
23556
|
var chargeId = (_a = this.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id;
|
|
23441
|
-
this.eventEmitter.emit(
|
|
23442
|
-
event:
|
|
23557
|
+
this.eventEmitter.emit(exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_CHECKOUT_CLOSE, _extends({
|
|
23558
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_CHECKOUT_CLOSE
|
|
23443
23559
|
}, chargeId && {
|
|
23444
23560
|
chargeId: chargeId
|
|
23445
23561
|
}));
|
|
@@ -23447,8 +23563,8 @@
|
|
|
23447
23563
|
}, {
|
|
23448
23564
|
key: "handleOnUnavailable",
|
|
23449
23565
|
value: function handleOnUnavailable() {
|
|
23450
|
-
this.eventEmitter.emit(
|
|
23451
|
-
event:
|
|
23566
|
+
this.eventEmitter.emit(exports.WALLET_BUTTONS_EXPRESS_EVENT.UNAVAILABLE, {
|
|
23567
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.UNAVAILABLE
|
|
23452
23568
|
});
|
|
23453
23569
|
}
|
|
23454
23570
|
}, {
|
|
@@ -23459,8 +23575,8 @@
|
|
|
23459
23575
|
console.error(error);
|
|
23460
23576
|
}
|
|
23461
23577
|
var chargeId = (_a = this.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id;
|
|
23462
|
-
this.eventEmitter.emit(
|
|
23463
|
-
event:
|
|
23578
|
+
this.eventEmitter.emit(exports.WALLET_BUTTONS_EXPRESS_EVENT.ERROR, _extends(_extends({
|
|
23579
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.ERROR
|
|
23464
23580
|
}, chargeId && {
|
|
23465
23581
|
chargeId: chargeId
|
|
23466
23582
|
}), {
|
|
@@ -23477,6 +23593,23 @@
|
|
|
23477
23593
|
code: ((_c = err === null || err === void 0 ? void 0 : err.error) === null || _c === void 0 ? void 0 : _c.code) || (err === null || err === void 0 ? void 0 : err.code) || ((_d = err === null || err === void 0 ? void 0 : err.error_summary) === null || _d === void 0 ? void 0 : _d.code)
|
|
23478
23594
|
};
|
|
23479
23595
|
}
|
|
23596
|
+
}, {
|
|
23597
|
+
key: "applyDisabledStyles",
|
|
23598
|
+
value: function applyDisabledStyles() {
|
|
23599
|
+
var element = this.container.getElement();
|
|
23600
|
+
if (!element) {
|
|
23601
|
+
return;
|
|
23602
|
+
}
|
|
23603
|
+
if (this.isDisabled) {
|
|
23604
|
+
element.style.pointerEvents = 'none';
|
|
23605
|
+
element.style.opacity = '0.5';
|
|
23606
|
+
element.setAttribute('aria-disabled', 'true');
|
|
23607
|
+
} else {
|
|
23608
|
+
element.style.pointerEvents = '';
|
|
23609
|
+
element.style.opacity = '';
|
|
23610
|
+
element.removeAttribute('aria-disabled');
|
|
23611
|
+
}
|
|
23612
|
+
}
|
|
23480
23613
|
}, {
|
|
23481
23614
|
key: "validateRequiredMetaFields",
|
|
23482
23615
|
value: function validateRequiredMetaFields(requiredMetaFields) {
|
|
@@ -23519,11 +23652,11 @@
|
|
|
23519
23652
|
return "\n apple-pay-button {\n display: inline-block;\n --apple-pay-button-width: 100%;\n --apple-pay-button-height: 40px;\n --apple-pay-button-border-radius: 5px;\n --apple-pay-button-padding: 5px 0px;\n }\n ";
|
|
23520
23653
|
};
|
|
23521
23654
|
|
|
23522
|
-
|
|
23655
|
+
exports.ContactShippingEditingMode = void 0;
|
|
23523
23656
|
(function (ContactShippingEditingMode) {
|
|
23524
23657
|
ContactShippingEditingMode["AVAILABLE"] = "available";
|
|
23525
23658
|
ContactShippingEditingMode["STORE_PICKUP"] = "store_pickup";
|
|
23526
|
-
})(ContactShippingEditingMode || (ContactShippingEditingMode = {}));
|
|
23659
|
+
})(exports.ContactShippingEditingMode || (exports.ContactShippingEditingMode = {}));
|
|
23527
23660
|
|
|
23528
23661
|
var DEFAULT_APPLE_PAY_CAPABILITIES = ['paymentCredentialsAvailable'];
|
|
23529
23662
|
/**
|
|
@@ -23548,7 +23681,14 @@
|
|
|
23548
23681
|
_classCallCheck(this, ApplePayWalletButtonExpress);
|
|
23549
23682
|
_this = _callSuper(this, ApplePayWalletButtonExpress, [selector, publicKeyOrAccessToken, gatewayId, meta, ['amount_label', 'country']]);
|
|
23550
23683
|
_this.onApplePayButtonClicked = function () {
|
|
23551
|
-
|
|
23684
|
+
if (_this.isDisabled) {
|
|
23685
|
+
return;
|
|
23686
|
+
}
|
|
23687
|
+
var applePayApiVersion = getSupportedApplePayVersion();
|
|
23688
|
+
if (applePayApiVersion === 0) {
|
|
23689
|
+
_this.handleOnUnavailable();
|
|
23690
|
+
return;
|
|
23691
|
+
}
|
|
23552
23692
|
_this.paymentSession = new ApplePaySession(applePayApiVersion, _this.createRequest());
|
|
23553
23693
|
_this.paymentSession.onvalidatemerchant = _this.onValidateMerchant;
|
|
23554
23694
|
_this.paymentSession.onpaymentauthorized = _this.onPaymentAuthorized;
|
|
@@ -23556,6 +23696,17 @@
|
|
|
23556
23696
|
_this.paymentSession.onshippingmethodselected = _this.onApplePayShippingMethodUpdate;
|
|
23557
23697
|
_this.paymentSession.onshippingcontactselected = _this.onApplePayShippingContactUpdate;
|
|
23558
23698
|
_this.paymentSession.begin();
|
|
23699
|
+
// As part of PAYCA-2065 we detect that the paymentSession.onvalidatemerchant is not
|
|
23700
|
+
// executed if the browser is not safari. In that case, we handle it outside the
|
|
23701
|
+
// actual merchant validation function.
|
|
23702
|
+
var isIOS = /iPhone|iPad|iPod/.test(navigator.userAgent);
|
|
23703
|
+
var isDesktopRequestIOS = navigator.maxTouchPoints > 1 && /Macintosh/.test(navigator.userAgent);
|
|
23704
|
+
if (!window.safari && !isIOS && !isDesktopRequestIOS) {
|
|
23705
|
+
_this.handleMerchantOnExpressButtonClickEvent()["catch"](function (err) {
|
|
23706
|
+
console.error('Error while processing merchant callback', err);
|
|
23707
|
+
_this.paymentSession.abort();
|
|
23708
|
+
});
|
|
23709
|
+
}
|
|
23559
23710
|
};
|
|
23560
23711
|
_this.onValidateMerchant = function (event) {
|
|
23561
23712
|
_this.handleMerchantOnExpressButtonClickEvent().then(function () {
|
|
@@ -23631,8 +23782,8 @@
|
|
|
23631
23782
|
} catch (error) {
|
|
23632
23783
|
// this ensures thatwe always call completePayment and emit error callback even if there's an uncaught exception
|
|
23633
23784
|
_this.paymentSession.completePayment(ApplePaySession.STATUS_FAILURE);
|
|
23634
|
-
_this.eventEmitter.emit(
|
|
23635
|
-
event:
|
|
23785
|
+
_this.eventEmitter.emit(exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR, {
|
|
23786
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.PAYMENT_ERROR,
|
|
23636
23787
|
chargeId: (_k = _this.chargeWalletTokenMeta) === null || _k === void 0 ? void 0 : _k.charge.id,
|
|
23637
23788
|
data: {
|
|
23638
23789
|
message: error instanceof Error ? error.message : 'Payment processing failed',
|
|
@@ -23652,7 +23803,7 @@
|
|
|
23652
23803
|
while (1) switch (_context.n) {
|
|
23653
23804
|
case 0:
|
|
23654
23805
|
return _context.a(2, this.handleMerchantOnShippingChangedEvent({
|
|
23655
|
-
event:
|
|
23806
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_SHIPPING_ADDRESS_CHANGE,
|
|
23656
23807
|
chargeId: (_a = this.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id,
|
|
23657
23808
|
data: this.parseShippingContactUpdateEvent(data)
|
|
23658
23809
|
}).then(function (response) {
|
|
@@ -23687,7 +23838,7 @@
|
|
|
23687
23838
|
while (1) switch (_context2.n) {
|
|
23688
23839
|
case 0:
|
|
23689
23840
|
return _context2.a(2, this.handleMerchantOnShippingChangedEvent({
|
|
23690
|
-
event:
|
|
23841
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_SHIPPING_OPTIONS_CHANGE,
|
|
23691
23842
|
chargeId: (_b = this.chargeWalletTokenMeta) === null || _b === void 0 ? void 0 : _b.charge.id,
|
|
23692
23843
|
data: this.parseShippingMethodUpdateEvent(data)
|
|
23693
23844
|
}).then(function (_response) {
|
|
@@ -23815,6 +23966,7 @@
|
|
|
23815
23966
|
return;
|
|
23816
23967
|
}
|
|
23817
23968
|
applePayButton.addEventListener('click', this.onApplePayButtonClicked.bind(this));
|
|
23969
|
+
this.applyDisabledStyles();
|
|
23818
23970
|
}
|
|
23819
23971
|
}, {
|
|
23820
23972
|
key: "createRequest",
|
|
@@ -23823,7 +23975,7 @@
|
|
|
23823
23975
|
// https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest
|
|
23824
23976
|
var shippingContactEditingMode;
|
|
23825
23977
|
if (this.meta.shipping_editing_mode) {
|
|
23826
|
-
shippingContactEditingMode = this.meta.shipping_editing_mode === ContactShippingEditingMode.AVAILABLE ? 'available' : 'storePickup';
|
|
23978
|
+
shippingContactEditingMode = this.meta.shipping_editing_mode === exports.ContactShippingEditingMode.AVAILABLE ? 'available' : 'storePickup';
|
|
23827
23979
|
}
|
|
23828
23980
|
return _extends(_extends({
|
|
23829
23981
|
countryCode: this.meta.country,
|
|
@@ -24007,13 +24159,20 @@
|
|
|
24007
24159
|
key: "load",
|
|
24008
24160
|
value: function load() {
|
|
24009
24161
|
var _this2 = this;
|
|
24010
|
-
if (!window.Promise)
|
|
24162
|
+
if (!window.Promise) {
|
|
24163
|
+
return this.handleOnUnavailable();
|
|
24164
|
+
}
|
|
24011
24165
|
this.getGatewayWalletConfig().then(function (config) {
|
|
24012
|
-
if (!config || config.type !== 'Paypal' || !config.credentials || !config.credentials.client_auth)
|
|
24166
|
+
if (!config || config.type !== 'Paypal' || !config.credentials || !config.credentials.client_auth) {
|
|
24167
|
+
throw new Error('Invalid configuration');
|
|
24168
|
+
}
|
|
24013
24169
|
_this2.config = config;
|
|
24014
24170
|
_this2.renderPaypalButton();
|
|
24171
|
+
_this2.applyDisabledStyles();
|
|
24015
24172
|
})["catch"](function (err) {
|
|
24016
|
-
if (err)
|
|
24173
|
+
if (err) {
|
|
24174
|
+
_this2.handleOnError(err);
|
|
24175
|
+
}
|
|
24017
24176
|
_this2.handleOnUnavailable();
|
|
24018
24177
|
});
|
|
24019
24178
|
}
|
|
@@ -24030,6 +24189,7 @@
|
|
|
24030
24189
|
value: function setMeta(meta) {
|
|
24031
24190
|
this.meta = meta;
|
|
24032
24191
|
this.renderPaypalButton();
|
|
24192
|
+
this.applyDisabledStyles();
|
|
24033
24193
|
}
|
|
24034
24194
|
}, {
|
|
24035
24195
|
key: "renderPaypalButton",
|
|
@@ -24046,7 +24206,7 @@
|
|
|
24046
24206
|
var _this3 = this;
|
|
24047
24207
|
var _a, _b;
|
|
24048
24208
|
var buttonId = ((_a = this.container.getElement()) === null || _a === void 0 ? void 0 : _a.id) || '';
|
|
24049
|
-
var paypalScript = document.createElement(
|
|
24209
|
+
var paypalScript = document.createElement('script');
|
|
24050
24210
|
paypalScript.src = "https://www.paypal.com/sdk/js?client-id=".concat((_b = this.config.credentials) === null || _b === void 0 ? void 0 : _b.client_auth, "¤cy=").concat(this.meta.currency).concat(this.meta.pay_later === true ? '&enable-funding=paylater&disable-funding=card' : '&disable-funding=credit,card').concat(!this.meta.capture ? '&intent=authorize' : '');
|
|
24051
24211
|
paypalScript.async = true;
|
|
24052
24212
|
paypalScript.onload = function () {
|
|
@@ -24065,7 +24225,7 @@
|
|
|
24065
24225
|
var _this4 = this;
|
|
24066
24226
|
var _a, _b, _c;
|
|
24067
24227
|
var buttonId = ((_a = this.container.getElement()) === null || _a === void 0 ? void 0 : _a.id) || '';
|
|
24068
|
-
var paypalScript = document.createElement(
|
|
24228
|
+
var paypalScript = document.createElement('script');
|
|
24069
24229
|
// buyer-country is only used in Sandbox. It shouldn't be used in production. Based on buyer's geolocation this parameter determine which funding sources are eligible for a given buyer. Refer the link https://developer.paypal.com/sdk/js/configuration/#link-buyercountry
|
|
24070
24230
|
paypalScript.src = "https://www.paypal.com/sdk/js?client-id=".concat((_b = this.config.credentials) === null || _b === void 0 ? void 0 : _b.client_auth, "¤cy=").concat(this.meta.currency, "&components=buttons,funding-eligibility,messages&enable-funding=paylater").concat(!this.meta.capture ? '&intent=authorize' : '').concat(((_c = this.config) === null || _c === void 0 ? void 0 : _c.mode) === 'live' ? '' : '&buyer-country=AU');
|
|
24071
24231
|
paypalScript.async = true;
|
|
@@ -24106,6 +24266,9 @@
|
|
|
24106
24266
|
style: this.meta.style
|
|
24107
24267
|
}), {
|
|
24108
24268
|
onClick: function onClick(_data, actions) {
|
|
24269
|
+
if (_this5.isDisabled) {
|
|
24270
|
+
return actions.reject();
|
|
24271
|
+
}
|
|
24109
24272
|
return _this5.handleMerchantOnExpressButtonClickEvent().then(function () {
|
|
24110
24273
|
return actions.resolve();
|
|
24111
24274
|
})["catch"](function () {
|
|
@@ -24116,7 +24279,9 @@
|
|
|
24116
24279
|
createOrder: function createOrder() {
|
|
24117
24280
|
return new Promise(function (resolve, reject) {
|
|
24118
24281
|
var _a, _b;
|
|
24119
|
-
if (!_this5.api.auth)
|
|
24282
|
+
if (!_this5.api.auth) {
|
|
24283
|
+
return reject(new Error('Wallet Token not injected. Please handle onClick correctly.'));
|
|
24284
|
+
}
|
|
24120
24285
|
var shipping = (_b = (_a = _this5.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge) === null || _b === void 0 ? void 0 : _b.shipping;
|
|
24121
24286
|
if (shipping) {
|
|
24122
24287
|
var hasCompleteShippingAddress = ['address_line1', 'address_city', 'address_country', 'address_state', 'address_postcode'].every(function (key) {
|
|
@@ -24135,7 +24300,9 @@
|
|
|
24135
24300
|
});
|
|
24136
24301
|
},
|
|
24137
24302
|
onApprove: function onApprove(data) {
|
|
24138
|
-
if (_this5.pendingApprovalPromise)
|
|
24303
|
+
if (_this5.pendingApprovalPromise) {
|
|
24304
|
+
return _this5.pendingApprovalPromise;
|
|
24305
|
+
}
|
|
24139
24306
|
_this5.pendingApprovalPromise = _this5.executeWalletCapture({
|
|
24140
24307
|
payment_method_id: data.orderID,
|
|
24141
24308
|
customer: {
|
|
@@ -24179,7 +24346,7 @@
|
|
|
24179
24346
|
return _context.a(2);
|
|
24180
24347
|
case 1:
|
|
24181
24348
|
return _context.a(2, this.handleMerchantOnShippingChangedEvent({
|
|
24182
|
-
event:
|
|
24349
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_SHIPPING_ADDRESS_CHANGE,
|
|
24183
24350
|
chargeId: (_a = this.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id,
|
|
24184
24351
|
data: {
|
|
24185
24352
|
address_city: data.shippingAddress.city,
|
|
@@ -24214,7 +24381,7 @@
|
|
|
24214
24381
|
while (1) switch (_context2.n) {
|
|
24215
24382
|
case 0:
|
|
24216
24383
|
return _context2.a(2, this.handleMerchantOnShippingChangedEvent({
|
|
24217
|
-
event:
|
|
24384
|
+
event: exports.WALLET_BUTTONS_EXPRESS_EVENT.ON_SHIPPING_OPTIONS_CHANGE,
|
|
24218
24385
|
chargeId: (_a = this.chargeWalletTokenMeta) === null || _a === void 0 ? void 0 : _a.charge.id,
|
|
24219
24386
|
data: {
|
|
24220
24387
|
shipping_option_id: data.selectedShippingOption.id,
|
|
@@ -44324,7 +44491,7 @@
|
|
|
44324
44491
|
exports.ClickToPay = ClickToPay;
|
|
44325
44492
|
exports.Configuration = Configuration;
|
|
44326
44493
|
exports.ELEMENT = ELEMENT;
|
|
44327
|
-
exports.EVENT = EVENT$
|
|
44494
|
+
exports.EVENT = EVENT$4;
|
|
44328
44495
|
exports.ExternalCheckoutBuilder = Builder$1;
|
|
44329
44496
|
exports.ExternalCheckoutChecker = Checker;
|
|
44330
44497
|
exports.FORM_FIELD = FORM_FIELD$1;
|
|
@@ -44336,7 +44503,6 @@
|
|
|
44336
44503
|
exports.HtmlWidget = HtmlWidget;
|
|
44337
44504
|
exports.InstructionDebugger = InstructionDebugger;
|
|
44338
44505
|
exports.MultiWidget = MultiWidget;
|
|
44339
|
-
exports.OpenWalletButtons = OpenWalletButtons;
|
|
44340
44506
|
exports.PAYMENT_TYPE = PAYMENT_TYPE;
|
|
44341
44507
|
exports.PayPalDataCollector = PayPalDataCollector;
|
|
44342
44508
|
exports.PayPalSavePaymentSourceWidget = PayPalSavePaymentSourceWidget;
|