@paydock/client-sdk 1.126.0-beta → 1.127.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/bundles/index.cjs +160 -11
- package/bundles/index.mjs +160 -11
- package/bundles/types/checkout/instructions/v1/instruction.canvas_3ds.show.d.ts +2 -0
- package/bundles/types/checkout/instructions/v1/instruction.canvas_3ds.show.d.ts.map +1 -1
- package/bundles/widget.umd.js +160 -11
- package/bundles/widget.umd.min.js +1 -1
- package/package.json +1 -1
package/bundles/widget.umd.js
CHANGED
|
@@ -958,7 +958,7 @@
|
|
|
958
958
|
version: 'x-sdk-version',
|
|
959
959
|
type: 'x-sdk-type'
|
|
960
960
|
});
|
|
961
|
-
SDK._version = '
|
|
961
|
+
SDK._version = 'v1.127.0';
|
|
962
962
|
|
|
963
963
|
/******************************************************************************
|
|
964
964
|
Copyright (c) Microsoft Corporation.
|
|
@@ -5518,12 +5518,12 @@
|
|
|
5518
5518
|
* @type {object}
|
|
5519
5519
|
* @param {string} HTML=html
|
|
5520
5520
|
*/
|
|
5521
|
-
var TOKEN_FORMAT;
|
|
5521
|
+
var TOKEN_FORMAT$1;
|
|
5522
5522
|
(function (TOKEN_FORMAT) {
|
|
5523
5523
|
TOKEN_FORMAT["HTML"] = "html";
|
|
5524
5524
|
TOKEN_FORMAT["URL"] = "url";
|
|
5525
5525
|
TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
|
|
5526
|
-
})(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
|
|
5526
|
+
})(TOKEN_FORMAT$1 || (TOKEN_FORMAT$1 = {}));
|
|
5527
5527
|
/**
|
|
5528
5528
|
* List of available event's name
|
|
5529
5529
|
* @const EVENT
|
|
@@ -5582,11 +5582,11 @@
|
|
|
5582
5582
|
*
|
|
5583
5583
|
*/
|
|
5584
5584
|
function load() {
|
|
5585
|
-
if (this.token.format === TOKEN_FORMAT.HTML) this.iFrame.loadFromHtml(this.token.content, {
|
|
5585
|
+
if (this.token.format === TOKEN_FORMAT$1.HTML) this.iFrame.loadFromHtml(this.token.content, {
|
|
5586
5586
|
title: '3d secure authentication'
|
|
5587
|
-
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.URL) this.iFrame.load(this.token.content, {
|
|
5587
|
+
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.URL) this.iFrame.load(this.token.content, {
|
|
5588
5588
|
title: '3d secure authentication'
|
|
5589
|
-
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
|
|
5589
|
+
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
|
|
5590
5590
|
title: '3d secure authentication'
|
|
5591
5591
|
});else console.error('Token contain unsupported payload');
|
|
5592
5592
|
}
|
|
@@ -5634,7 +5634,7 @@
|
|
|
5634
5634
|
key: "on",
|
|
5635
5635
|
value: function on(eventName, cb) {
|
|
5636
5636
|
var _this = this;
|
|
5637
|
-
if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
5637
|
+
if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) {
|
|
5638
5638
|
if (typeof cb === 'function') return this.eventEmitter.subscribe(eventName, cb);
|
|
5639
5639
|
return new Promise(function (resolve) {
|
|
5640
5640
|
return _this.eventEmitter.subscribe(eventName, function (res) {
|
|
@@ -16081,6 +16081,95 @@
|
|
|
16081
16081
|
}(InstructionHandler);
|
|
16082
16082
|
InstructionBankAccountFormShow = __decorate([Instruction('instruction.bank_account_form.show')], InstructionBankAccountFormShow);
|
|
16083
16083
|
|
|
16084
|
+
var toByteArray_1 = toByteArray;
|
|
16085
|
+
var revLookup = [];
|
|
16086
|
+
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
|
|
16087
|
+
|
|
16088
|
+
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
16089
|
+
for (var i$2 = 0, len = code.length; i$2 < len; ++i$2) {
|
|
16090
|
+
revLookup[code.charCodeAt(i$2)] = i$2;
|
|
16091
|
+
}
|
|
16092
|
+
|
|
16093
|
+
// Support decoding URL-safe base64 strings, as Node.js does.
|
|
16094
|
+
// See: https://en.wikipedia.org/wiki/Base64#URL_applications
|
|
16095
|
+
revLookup['-'.charCodeAt(0)] = 62;
|
|
16096
|
+
revLookup['_'.charCodeAt(0)] = 63;
|
|
16097
|
+
|
|
16098
|
+
function getLens (b64) {
|
|
16099
|
+
var len = b64.length;
|
|
16100
|
+
|
|
16101
|
+
if (len % 4 > 0) {
|
|
16102
|
+
throw new Error('Invalid string. Length must be a multiple of 4')
|
|
16103
|
+
}
|
|
16104
|
+
|
|
16105
|
+
// Trim off extra bytes after placeholder bytes are found
|
|
16106
|
+
// See: https://github.com/beatgammit/base64-js/issues/42
|
|
16107
|
+
var validLen = b64.indexOf('=');
|
|
16108
|
+
if (validLen === -1) validLen = len;
|
|
16109
|
+
|
|
16110
|
+
var placeHoldersLen = validLen === len
|
|
16111
|
+
? 0
|
|
16112
|
+
: 4 - (validLen % 4);
|
|
16113
|
+
|
|
16114
|
+
return [validLen, placeHoldersLen]
|
|
16115
|
+
}
|
|
16116
|
+
|
|
16117
|
+
function _byteLength (b64, validLen, placeHoldersLen) {
|
|
16118
|
+
return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
|
|
16119
|
+
}
|
|
16120
|
+
|
|
16121
|
+
function toByteArray (b64) {
|
|
16122
|
+
var tmp;
|
|
16123
|
+
var lens = getLens(b64);
|
|
16124
|
+
var validLen = lens[0];
|
|
16125
|
+
var placeHoldersLen = lens[1];
|
|
16126
|
+
|
|
16127
|
+
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
|
|
16128
|
+
|
|
16129
|
+
var curByte = 0;
|
|
16130
|
+
|
|
16131
|
+
// if there are placeholders, only get up to the last complete 4 chars
|
|
16132
|
+
var len = placeHoldersLen > 0
|
|
16133
|
+
? validLen - 4
|
|
16134
|
+
: validLen;
|
|
16135
|
+
|
|
16136
|
+
var i;
|
|
16137
|
+
for (i = 0; i < len; i += 4) {
|
|
16138
|
+
tmp =
|
|
16139
|
+
(revLookup[b64.charCodeAt(i)] << 18) |
|
|
16140
|
+
(revLookup[b64.charCodeAt(i + 1)] << 12) |
|
|
16141
|
+
(revLookup[b64.charCodeAt(i + 2)] << 6) |
|
|
16142
|
+
revLookup[b64.charCodeAt(i + 3)];
|
|
16143
|
+
arr[curByte++] = (tmp >> 16) & 0xFF;
|
|
16144
|
+
arr[curByte++] = (tmp >> 8) & 0xFF;
|
|
16145
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16146
|
+
}
|
|
16147
|
+
|
|
16148
|
+
if (placeHoldersLen === 2) {
|
|
16149
|
+
tmp =
|
|
16150
|
+
(revLookup[b64.charCodeAt(i)] << 2) |
|
|
16151
|
+
(revLookup[b64.charCodeAt(i + 1)] >> 4);
|
|
16152
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16153
|
+
}
|
|
16154
|
+
|
|
16155
|
+
if (placeHoldersLen === 1) {
|
|
16156
|
+
tmp =
|
|
16157
|
+
(revLookup[b64.charCodeAt(i)] << 10) |
|
|
16158
|
+
(revLookup[b64.charCodeAt(i + 1)] << 4) |
|
|
16159
|
+
(revLookup[b64.charCodeAt(i + 2)] >> 2);
|
|
16160
|
+
arr[curByte++] = (tmp >> 8) & 0xFF;
|
|
16161
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16162
|
+
}
|
|
16163
|
+
|
|
16164
|
+
return arr
|
|
16165
|
+
}
|
|
16166
|
+
|
|
16167
|
+
var TOKEN_FORMAT;
|
|
16168
|
+
(function (TOKEN_FORMAT) {
|
|
16169
|
+
TOKEN_FORMAT["HTML"] = "html";
|
|
16170
|
+
TOKEN_FORMAT["URL"] = "url";
|
|
16171
|
+
TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
|
|
16172
|
+
})(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
|
|
16084
16173
|
var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
16085
16174
|
function InstructionCanvas3dsShow() {
|
|
16086
16175
|
_classCallCheck(this, InstructionCanvas3dsShow);
|
|
@@ -16091,12 +16180,25 @@
|
|
|
16091
16180
|
key: "handle",
|
|
16092
16181
|
value: function handle(context) {
|
|
16093
16182
|
var _this = this;
|
|
16183
|
+
var token = this.decodeBase64Token(context.payload._3ds_token);
|
|
16094
16184
|
var canvas = new Canvas3ds(this.formSelector, context.payload._3ds_token);
|
|
16095
16185
|
canvas.setEnv(this.getEnv(context.instruction_token));
|
|
16096
|
-
canvas.on('chargeAuth', function (
|
|
16186
|
+
canvas.on('chargeAuth', function () {
|
|
16097
16187
|
return Spinner.show();
|
|
16098
16188
|
});
|
|
16099
|
-
canvas.on('
|
|
16189
|
+
canvas.on('chargeAuthChallenge', function () {
|
|
16190
|
+
if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16191
|
+
Spinner.hide();
|
|
16192
|
+
_this.observeIframeAndResize();
|
|
16193
|
+
}
|
|
16194
|
+
});
|
|
16195
|
+
canvas.on('chargeAuthDecoupled', function () {
|
|
16196
|
+
if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16197
|
+
Spinner.hide();
|
|
16198
|
+
_this.observeIframeAndResize();
|
|
16199
|
+
}
|
|
16200
|
+
});
|
|
16201
|
+
canvas.on('chargeAuthSuccess', function () {
|
|
16100
16202
|
var _a;
|
|
16101
16203
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
16102
16204
|
_this.api.checkout().callback({
|
|
@@ -16110,8 +16212,9 @@
|
|
|
16110
16212
|
})["catch"](function (response) {
|
|
16111
16213
|
return console.error('callback.child_widget.status - chargeAuthSuccess: error', response);
|
|
16112
16214
|
});
|
|
16215
|
+
Spinner.show();
|
|
16113
16216
|
});
|
|
16114
|
-
canvas.on('chargeAuthReject', function (
|
|
16217
|
+
canvas.on('chargeAuthReject', function () {
|
|
16115
16218
|
var _a;
|
|
16116
16219
|
// **TODO add interface for chargeAuthReject event **//
|
|
16117
16220
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
@@ -16126,6 +16229,7 @@
|
|
|
16126
16229
|
})["catch"](function (response) {
|
|
16127
16230
|
return console.error('callback.child_widget.status - chargeAuthReject: error', response);
|
|
16128
16231
|
});
|
|
16232
|
+
Spinner.show();
|
|
16129
16233
|
});
|
|
16130
16234
|
canvas.on('error', function (event) {
|
|
16131
16235
|
var _a;
|
|
@@ -16142,15 +16246,60 @@
|
|
|
16142
16246
|
})["catch"](function (response) {
|
|
16143
16247
|
return console.error('callback.child_widget.status - errorEvent: error', response);
|
|
16144
16248
|
});
|
|
16249
|
+
Spinner.show();
|
|
16145
16250
|
});
|
|
16146
16251
|
canvas.load();
|
|
16147
|
-
|
|
16252
|
+
if (token.format !== TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16253
|
+
Spinner.hide();
|
|
16254
|
+
}
|
|
16148
16255
|
}
|
|
16149
16256
|
}, {
|
|
16150
16257
|
key: "destroy",
|
|
16151
16258
|
value: function destroy() {
|
|
16152
16259
|
document.querySelector(this.formSelector).innerHTML = '';
|
|
16153
16260
|
}
|
|
16261
|
+
}, {
|
|
16262
|
+
key: "decodeBase64Token",
|
|
16263
|
+
value: function decodeBase64Token(token) {
|
|
16264
|
+
try {
|
|
16265
|
+
var base64 = token.replace(/-/g, '+').replace(/_/g, '/').padEnd(Math.ceil(token.length / 4) * 4, '=');
|
|
16266
|
+
var bytes = toByteArray_1(base64);
|
|
16267
|
+
var json = new TextDecoder().decode(bytes);
|
|
16268
|
+
return JSON.parse(json);
|
|
16269
|
+
} catch (err) {
|
|
16270
|
+
console.error('Failed to decode _3ds_token:', err);
|
|
16271
|
+
throw err;
|
|
16272
|
+
}
|
|
16273
|
+
}
|
|
16274
|
+
}, {
|
|
16275
|
+
key: "observeIframeAndResize",
|
|
16276
|
+
value: function observeIframeAndResize() {
|
|
16277
|
+
var outer = document.querySelector('#standaloneWidget');
|
|
16278
|
+
if (outer) {
|
|
16279
|
+
outer.style.display = 'flex';
|
|
16280
|
+
outer.style.justifyContent = 'center';
|
|
16281
|
+
}
|
|
16282
|
+
var container = document.querySelector('#paydock_authorization_iframe');
|
|
16283
|
+
if (!container) {
|
|
16284
|
+
console.warn('Container not found');
|
|
16285
|
+
return;
|
|
16286
|
+
}
|
|
16287
|
+
var observer = new MutationObserver(function () {
|
|
16288
|
+
var iframe = container.querySelector('iframe');
|
|
16289
|
+
if (iframe) {
|
|
16290
|
+
iframe.style.width = '100%';
|
|
16291
|
+
iframe.style.height = '500px';
|
|
16292
|
+
iframe.style.border = 'none';
|
|
16293
|
+
iframe.style.display = 'block';
|
|
16294
|
+
console.info('3DS iframe resized', iframe);
|
|
16295
|
+
observer.disconnect();
|
|
16296
|
+
}
|
|
16297
|
+
});
|
|
16298
|
+
observer.observe(container, {
|
|
16299
|
+
childList: true,
|
|
16300
|
+
subtree: true
|
|
16301
|
+
});
|
|
16302
|
+
}
|
|
16154
16303
|
}]);
|
|
16155
16304
|
}(InstructionHandler);
|
|
16156
16305
|
InstructionCanvas3dsShow = __decorate([Instruction('instruction.canvas_3ds_form.show')], InstructionCanvas3dsShow);
|