@paydock/client-sdk 1.126.0-beta → 1.127.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/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/index.cjs
CHANGED
|
@@ -954,7 +954,7 @@ SDK.headerKeys = Object.freeze({
|
|
|
954
954
|
version: 'x-sdk-version',
|
|
955
955
|
type: 'x-sdk-type'
|
|
956
956
|
});
|
|
957
|
-
SDK._version = '
|
|
957
|
+
SDK._version = 'v1.127.0-beta';
|
|
958
958
|
|
|
959
959
|
/******************************************************************************
|
|
960
960
|
Copyright (c) Microsoft Corporation.
|
|
@@ -5514,12 +5514,12 @@ var EventEmitter = /*#__PURE__*/function () {
|
|
|
5514
5514
|
* @type {object}
|
|
5515
5515
|
* @param {string} HTML=html
|
|
5516
5516
|
*/
|
|
5517
|
-
var TOKEN_FORMAT;
|
|
5517
|
+
var TOKEN_FORMAT$1;
|
|
5518
5518
|
(function (TOKEN_FORMAT) {
|
|
5519
5519
|
TOKEN_FORMAT["HTML"] = "html";
|
|
5520
5520
|
TOKEN_FORMAT["URL"] = "url";
|
|
5521
5521
|
TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
|
|
5522
|
-
})(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
|
|
5522
|
+
})(TOKEN_FORMAT$1 || (TOKEN_FORMAT$1 = {}));
|
|
5523
5523
|
/**
|
|
5524
5524
|
* List of available event's name
|
|
5525
5525
|
* @const EVENT
|
|
@@ -5578,11 +5578,11 @@ var Canvas3ds = /*#__PURE__*/function () {
|
|
|
5578
5578
|
*
|
|
5579
5579
|
*/
|
|
5580
5580
|
function load() {
|
|
5581
|
-
if (this.token.format === TOKEN_FORMAT.HTML) this.iFrame.loadFromHtml(this.token.content, {
|
|
5581
|
+
if (this.token.format === TOKEN_FORMAT$1.HTML) this.iFrame.loadFromHtml(this.token.content, {
|
|
5582
5582
|
title: '3d secure authentication'
|
|
5583
|
-
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.URL) this.iFrame.load(this.token.content, {
|
|
5583
|
+
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.URL) this.iFrame.load(this.token.content, {
|
|
5584
5584
|
title: '3d secure authentication'
|
|
5585
|
-
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
|
|
5585
|
+
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
|
|
5586
5586
|
title: '3d secure authentication'
|
|
5587
5587
|
});else console.error('Token contain unsupported payload');
|
|
5588
5588
|
}
|
|
@@ -5630,7 +5630,7 @@ var Canvas3ds = /*#__PURE__*/function () {
|
|
|
5630
5630
|
key: "on",
|
|
5631
5631
|
value: function on(eventName, cb) {
|
|
5632
5632
|
var _this = this;
|
|
5633
|
-
if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
5633
|
+
if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) {
|
|
5634
5634
|
if (typeof cb === 'function') return this.eventEmitter.subscribe(eventName, cb);
|
|
5635
5635
|
return new Promise(function (resolve) {
|
|
5636
5636
|
return _this.eventEmitter.subscribe(eventName, function (res) {
|
|
@@ -16077,6 +16077,95 @@ var InstructionBankAccountFormShow = /*#__PURE__*/function (_InstructionHandler)
|
|
|
16077
16077
|
}(InstructionHandler);
|
|
16078
16078
|
InstructionBankAccountFormShow = __decorate([Instruction('instruction.bank_account_form.show')], InstructionBankAccountFormShow);
|
|
16079
16079
|
|
|
16080
|
+
var toByteArray_1 = toByteArray;
|
|
16081
|
+
var revLookup = [];
|
|
16082
|
+
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
|
|
16083
|
+
|
|
16084
|
+
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
16085
|
+
for (var i$2 = 0, len = code.length; i$2 < len; ++i$2) {
|
|
16086
|
+
revLookup[code.charCodeAt(i$2)] = i$2;
|
|
16087
|
+
}
|
|
16088
|
+
|
|
16089
|
+
// Support decoding URL-safe base64 strings, as Node.js does.
|
|
16090
|
+
// See: https://en.wikipedia.org/wiki/Base64#URL_applications
|
|
16091
|
+
revLookup['-'.charCodeAt(0)] = 62;
|
|
16092
|
+
revLookup['_'.charCodeAt(0)] = 63;
|
|
16093
|
+
|
|
16094
|
+
function getLens (b64) {
|
|
16095
|
+
var len = b64.length;
|
|
16096
|
+
|
|
16097
|
+
if (len % 4 > 0) {
|
|
16098
|
+
throw new Error('Invalid string. Length must be a multiple of 4')
|
|
16099
|
+
}
|
|
16100
|
+
|
|
16101
|
+
// Trim off extra bytes after placeholder bytes are found
|
|
16102
|
+
// See: https://github.com/beatgammit/base64-js/issues/42
|
|
16103
|
+
var validLen = b64.indexOf('=');
|
|
16104
|
+
if (validLen === -1) validLen = len;
|
|
16105
|
+
|
|
16106
|
+
var placeHoldersLen = validLen === len
|
|
16107
|
+
? 0
|
|
16108
|
+
: 4 - (validLen % 4);
|
|
16109
|
+
|
|
16110
|
+
return [validLen, placeHoldersLen]
|
|
16111
|
+
}
|
|
16112
|
+
|
|
16113
|
+
function _byteLength (b64, validLen, placeHoldersLen) {
|
|
16114
|
+
return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
|
|
16115
|
+
}
|
|
16116
|
+
|
|
16117
|
+
function toByteArray (b64) {
|
|
16118
|
+
var tmp;
|
|
16119
|
+
var lens = getLens(b64);
|
|
16120
|
+
var validLen = lens[0];
|
|
16121
|
+
var placeHoldersLen = lens[1];
|
|
16122
|
+
|
|
16123
|
+
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
|
|
16124
|
+
|
|
16125
|
+
var curByte = 0;
|
|
16126
|
+
|
|
16127
|
+
// if there are placeholders, only get up to the last complete 4 chars
|
|
16128
|
+
var len = placeHoldersLen > 0
|
|
16129
|
+
? validLen - 4
|
|
16130
|
+
: validLen;
|
|
16131
|
+
|
|
16132
|
+
var i;
|
|
16133
|
+
for (i = 0; i < len; i += 4) {
|
|
16134
|
+
tmp =
|
|
16135
|
+
(revLookup[b64.charCodeAt(i)] << 18) |
|
|
16136
|
+
(revLookup[b64.charCodeAt(i + 1)] << 12) |
|
|
16137
|
+
(revLookup[b64.charCodeAt(i + 2)] << 6) |
|
|
16138
|
+
revLookup[b64.charCodeAt(i + 3)];
|
|
16139
|
+
arr[curByte++] = (tmp >> 16) & 0xFF;
|
|
16140
|
+
arr[curByte++] = (tmp >> 8) & 0xFF;
|
|
16141
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16142
|
+
}
|
|
16143
|
+
|
|
16144
|
+
if (placeHoldersLen === 2) {
|
|
16145
|
+
tmp =
|
|
16146
|
+
(revLookup[b64.charCodeAt(i)] << 2) |
|
|
16147
|
+
(revLookup[b64.charCodeAt(i + 1)] >> 4);
|
|
16148
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16149
|
+
}
|
|
16150
|
+
|
|
16151
|
+
if (placeHoldersLen === 1) {
|
|
16152
|
+
tmp =
|
|
16153
|
+
(revLookup[b64.charCodeAt(i)] << 10) |
|
|
16154
|
+
(revLookup[b64.charCodeAt(i + 1)] << 4) |
|
|
16155
|
+
(revLookup[b64.charCodeAt(i + 2)] >> 2);
|
|
16156
|
+
arr[curByte++] = (tmp >> 8) & 0xFF;
|
|
16157
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16158
|
+
}
|
|
16159
|
+
|
|
16160
|
+
return arr
|
|
16161
|
+
}
|
|
16162
|
+
|
|
16163
|
+
var TOKEN_FORMAT;
|
|
16164
|
+
(function (TOKEN_FORMAT) {
|
|
16165
|
+
TOKEN_FORMAT["HTML"] = "html";
|
|
16166
|
+
TOKEN_FORMAT["URL"] = "url";
|
|
16167
|
+
TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
|
|
16168
|
+
})(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
|
|
16080
16169
|
var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
16081
16170
|
function InstructionCanvas3dsShow() {
|
|
16082
16171
|
_classCallCheck(this, InstructionCanvas3dsShow);
|
|
@@ -16087,12 +16176,25 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16087
16176
|
key: "handle",
|
|
16088
16177
|
value: function handle(context) {
|
|
16089
16178
|
var _this = this;
|
|
16179
|
+
var token = this.decodeBase64Token(context.payload._3ds_token);
|
|
16090
16180
|
var canvas = new Canvas3ds(this.formSelector, context.payload._3ds_token);
|
|
16091
16181
|
canvas.setEnv(this.getEnv(context.instruction_token));
|
|
16092
|
-
canvas.on('chargeAuth', function (
|
|
16182
|
+
canvas.on('chargeAuth', function () {
|
|
16093
16183
|
return Spinner.show();
|
|
16094
16184
|
});
|
|
16095
|
-
canvas.on('
|
|
16185
|
+
canvas.on('chargeAuthChallenge', function () {
|
|
16186
|
+
if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16187
|
+
Spinner.hide();
|
|
16188
|
+
_this.observeIframeAndResize();
|
|
16189
|
+
}
|
|
16190
|
+
});
|
|
16191
|
+
canvas.on('chargeAuthDecoupled', function () {
|
|
16192
|
+
if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16193
|
+
Spinner.hide();
|
|
16194
|
+
_this.observeIframeAndResize();
|
|
16195
|
+
}
|
|
16196
|
+
});
|
|
16197
|
+
canvas.on('chargeAuthSuccess', function () {
|
|
16096
16198
|
var _a;
|
|
16097
16199
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
16098
16200
|
_this.api.checkout().callback({
|
|
@@ -16106,8 +16208,9 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16106
16208
|
})["catch"](function (response) {
|
|
16107
16209
|
return console.error('callback.child_widget.status - chargeAuthSuccess: error', response);
|
|
16108
16210
|
});
|
|
16211
|
+
Spinner.show();
|
|
16109
16212
|
});
|
|
16110
|
-
canvas.on('chargeAuthReject', function (
|
|
16213
|
+
canvas.on('chargeAuthReject', function () {
|
|
16111
16214
|
var _a;
|
|
16112
16215
|
// **TODO add interface for chargeAuthReject event **//
|
|
16113
16216
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
@@ -16122,6 +16225,7 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16122
16225
|
})["catch"](function (response) {
|
|
16123
16226
|
return console.error('callback.child_widget.status - chargeAuthReject: error', response);
|
|
16124
16227
|
});
|
|
16228
|
+
Spinner.show();
|
|
16125
16229
|
});
|
|
16126
16230
|
canvas.on('error', function (event) {
|
|
16127
16231
|
var _a;
|
|
@@ -16138,15 +16242,60 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16138
16242
|
})["catch"](function (response) {
|
|
16139
16243
|
return console.error('callback.child_widget.status - errorEvent: error', response);
|
|
16140
16244
|
});
|
|
16245
|
+
Spinner.show();
|
|
16141
16246
|
});
|
|
16142
16247
|
canvas.load();
|
|
16143
|
-
|
|
16248
|
+
if (token.format !== TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16249
|
+
Spinner.hide();
|
|
16250
|
+
}
|
|
16144
16251
|
}
|
|
16145
16252
|
}, {
|
|
16146
16253
|
key: "destroy",
|
|
16147
16254
|
value: function destroy() {
|
|
16148
16255
|
document.querySelector(this.formSelector).innerHTML = '';
|
|
16149
16256
|
}
|
|
16257
|
+
}, {
|
|
16258
|
+
key: "decodeBase64Token",
|
|
16259
|
+
value: function decodeBase64Token(token) {
|
|
16260
|
+
try {
|
|
16261
|
+
var base64 = token.replace(/-/g, '+').replace(/_/g, '/').padEnd(Math.ceil(token.length / 4) * 4, '=');
|
|
16262
|
+
var bytes = toByteArray_1(base64);
|
|
16263
|
+
var json = new TextDecoder().decode(bytes);
|
|
16264
|
+
return JSON.parse(json);
|
|
16265
|
+
} catch (err) {
|
|
16266
|
+
console.error('Failed to decode _3ds_token:', err);
|
|
16267
|
+
throw err;
|
|
16268
|
+
}
|
|
16269
|
+
}
|
|
16270
|
+
}, {
|
|
16271
|
+
key: "observeIframeAndResize",
|
|
16272
|
+
value: function observeIframeAndResize() {
|
|
16273
|
+
var outer = document.querySelector('#standaloneWidget');
|
|
16274
|
+
if (outer) {
|
|
16275
|
+
outer.style.display = 'flex';
|
|
16276
|
+
outer.style.justifyContent = 'center';
|
|
16277
|
+
}
|
|
16278
|
+
var container = document.querySelector('#paydock_authorization_iframe');
|
|
16279
|
+
if (!container) {
|
|
16280
|
+
console.warn('Container not found');
|
|
16281
|
+
return;
|
|
16282
|
+
}
|
|
16283
|
+
var observer = new MutationObserver(function () {
|
|
16284
|
+
var iframe = container.querySelector('iframe');
|
|
16285
|
+
if (iframe) {
|
|
16286
|
+
iframe.style.width = '100%';
|
|
16287
|
+
iframe.style.height = '500px';
|
|
16288
|
+
iframe.style.border = 'none';
|
|
16289
|
+
iframe.style.display = 'block';
|
|
16290
|
+
console.info('3DS iframe resized', iframe);
|
|
16291
|
+
observer.disconnect();
|
|
16292
|
+
}
|
|
16293
|
+
});
|
|
16294
|
+
observer.observe(container, {
|
|
16295
|
+
childList: true,
|
|
16296
|
+
subtree: true
|
|
16297
|
+
});
|
|
16298
|
+
}
|
|
16150
16299
|
}]);
|
|
16151
16300
|
}(InstructionHandler);
|
|
16152
16301
|
InstructionCanvas3dsShow = __decorate([Instruction('instruction.canvas_3ds_form.show')], InstructionCanvas3dsShow);
|
package/bundles/index.mjs
CHANGED
|
@@ -952,7 +952,7 @@ SDK.headerKeys = Object.freeze({
|
|
|
952
952
|
version: 'x-sdk-version',
|
|
953
953
|
type: 'x-sdk-type'
|
|
954
954
|
});
|
|
955
|
-
SDK._version = '
|
|
955
|
+
SDK._version = 'v1.127.0-beta';
|
|
956
956
|
|
|
957
957
|
/******************************************************************************
|
|
958
958
|
Copyright (c) Microsoft Corporation.
|
|
@@ -5512,12 +5512,12 @@ var EventEmitter = /*#__PURE__*/function () {
|
|
|
5512
5512
|
* @type {object}
|
|
5513
5513
|
* @param {string} HTML=html
|
|
5514
5514
|
*/
|
|
5515
|
-
var TOKEN_FORMAT;
|
|
5515
|
+
var TOKEN_FORMAT$1;
|
|
5516
5516
|
(function (TOKEN_FORMAT) {
|
|
5517
5517
|
TOKEN_FORMAT["HTML"] = "html";
|
|
5518
5518
|
TOKEN_FORMAT["URL"] = "url";
|
|
5519
5519
|
TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
|
|
5520
|
-
})(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
|
|
5520
|
+
})(TOKEN_FORMAT$1 || (TOKEN_FORMAT$1 = {}));
|
|
5521
5521
|
/**
|
|
5522
5522
|
* List of available event's name
|
|
5523
5523
|
* @const EVENT
|
|
@@ -5576,11 +5576,11 @@ var Canvas3ds = /*#__PURE__*/function () {
|
|
|
5576
5576
|
*
|
|
5577
5577
|
*/
|
|
5578
5578
|
function load() {
|
|
5579
|
-
if (this.token.format === TOKEN_FORMAT.HTML) this.iFrame.loadFromHtml(this.token.content, {
|
|
5579
|
+
if (this.token.format === TOKEN_FORMAT$1.HTML) this.iFrame.loadFromHtml(this.token.content, {
|
|
5580
5580
|
title: '3d secure authentication'
|
|
5581
|
-
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.URL) this.iFrame.load(this.token.content, {
|
|
5581
|
+
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.URL) this.iFrame.load(this.token.content, {
|
|
5582
5582
|
title: '3d secure authentication'
|
|
5583
|
-
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
|
|
5583
|
+
}, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
|
|
5584
5584
|
title: '3d secure authentication'
|
|
5585
5585
|
});else console.error('Token contain unsupported payload');
|
|
5586
5586
|
}
|
|
@@ -5628,7 +5628,7 @@ var Canvas3ds = /*#__PURE__*/function () {
|
|
|
5628
5628
|
key: "on",
|
|
5629
5629
|
value: function on(eventName, cb) {
|
|
5630
5630
|
var _this = this;
|
|
5631
|
-
if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
5631
|
+
if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) {
|
|
5632
5632
|
if (typeof cb === 'function') return this.eventEmitter.subscribe(eventName, cb);
|
|
5633
5633
|
return new Promise(function (resolve) {
|
|
5634
5634
|
return _this.eventEmitter.subscribe(eventName, function (res) {
|
|
@@ -16075,6 +16075,95 @@ var InstructionBankAccountFormShow = /*#__PURE__*/function (_InstructionHandler)
|
|
|
16075
16075
|
}(InstructionHandler);
|
|
16076
16076
|
InstructionBankAccountFormShow = __decorate([Instruction('instruction.bank_account_form.show')], InstructionBankAccountFormShow);
|
|
16077
16077
|
|
|
16078
|
+
var toByteArray_1 = toByteArray;
|
|
16079
|
+
var revLookup = [];
|
|
16080
|
+
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
|
|
16081
|
+
|
|
16082
|
+
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
16083
|
+
for (var i$2 = 0, len = code.length; i$2 < len; ++i$2) {
|
|
16084
|
+
revLookup[code.charCodeAt(i$2)] = i$2;
|
|
16085
|
+
}
|
|
16086
|
+
|
|
16087
|
+
// Support decoding URL-safe base64 strings, as Node.js does.
|
|
16088
|
+
// See: https://en.wikipedia.org/wiki/Base64#URL_applications
|
|
16089
|
+
revLookup['-'.charCodeAt(0)] = 62;
|
|
16090
|
+
revLookup['_'.charCodeAt(0)] = 63;
|
|
16091
|
+
|
|
16092
|
+
function getLens (b64) {
|
|
16093
|
+
var len = b64.length;
|
|
16094
|
+
|
|
16095
|
+
if (len % 4 > 0) {
|
|
16096
|
+
throw new Error('Invalid string. Length must be a multiple of 4')
|
|
16097
|
+
}
|
|
16098
|
+
|
|
16099
|
+
// Trim off extra bytes after placeholder bytes are found
|
|
16100
|
+
// See: https://github.com/beatgammit/base64-js/issues/42
|
|
16101
|
+
var validLen = b64.indexOf('=');
|
|
16102
|
+
if (validLen === -1) validLen = len;
|
|
16103
|
+
|
|
16104
|
+
var placeHoldersLen = validLen === len
|
|
16105
|
+
? 0
|
|
16106
|
+
: 4 - (validLen % 4);
|
|
16107
|
+
|
|
16108
|
+
return [validLen, placeHoldersLen]
|
|
16109
|
+
}
|
|
16110
|
+
|
|
16111
|
+
function _byteLength (b64, validLen, placeHoldersLen) {
|
|
16112
|
+
return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
|
|
16113
|
+
}
|
|
16114
|
+
|
|
16115
|
+
function toByteArray (b64) {
|
|
16116
|
+
var tmp;
|
|
16117
|
+
var lens = getLens(b64);
|
|
16118
|
+
var validLen = lens[0];
|
|
16119
|
+
var placeHoldersLen = lens[1];
|
|
16120
|
+
|
|
16121
|
+
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
|
|
16122
|
+
|
|
16123
|
+
var curByte = 0;
|
|
16124
|
+
|
|
16125
|
+
// if there are placeholders, only get up to the last complete 4 chars
|
|
16126
|
+
var len = placeHoldersLen > 0
|
|
16127
|
+
? validLen - 4
|
|
16128
|
+
: validLen;
|
|
16129
|
+
|
|
16130
|
+
var i;
|
|
16131
|
+
for (i = 0; i < len; i += 4) {
|
|
16132
|
+
tmp =
|
|
16133
|
+
(revLookup[b64.charCodeAt(i)] << 18) |
|
|
16134
|
+
(revLookup[b64.charCodeAt(i + 1)] << 12) |
|
|
16135
|
+
(revLookup[b64.charCodeAt(i + 2)] << 6) |
|
|
16136
|
+
revLookup[b64.charCodeAt(i + 3)];
|
|
16137
|
+
arr[curByte++] = (tmp >> 16) & 0xFF;
|
|
16138
|
+
arr[curByte++] = (tmp >> 8) & 0xFF;
|
|
16139
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16140
|
+
}
|
|
16141
|
+
|
|
16142
|
+
if (placeHoldersLen === 2) {
|
|
16143
|
+
tmp =
|
|
16144
|
+
(revLookup[b64.charCodeAt(i)] << 2) |
|
|
16145
|
+
(revLookup[b64.charCodeAt(i + 1)] >> 4);
|
|
16146
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16147
|
+
}
|
|
16148
|
+
|
|
16149
|
+
if (placeHoldersLen === 1) {
|
|
16150
|
+
tmp =
|
|
16151
|
+
(revLookup[b64.charCodeAt(i)] << 10) |
|
|
16152
|
+
(revLookup[b64.charCodeAt(i + 1)] << 4) |
|
|
16153
|
+
(revLookup[b64.charCodeAt(i + 2)] >> 2);
|
|
16154
|
+
arr[curByte++] = (tmp >> 8) & 0xFF;
|
|
16155
|
+
arr[curByte++] = tmp & 0xFF;
|
|
16156
|
+
}
|
|
16157
|
+
|
|
16158
|
+
return arr
|
|
16159
|
+
}
|
|
16160
|
+
|
|
16161
|
+
var TOKEN_FORMAT;
|
|
16162
|
+
(function (TOKEN_FORMAT) {
|
|
16163
|
+
TOKEN_FORMAT["HTML"] = "html";
|
|
16164
|
+
TOKEN_FORMAT["URL"] = "url";
|
|
16165
|
+
TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
|
|
16166
|
+
})(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
|
|
16078
16167
|
var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
16079
16168
|
function InstructionCanvas3dsShow() {
|
|
16080
16169
|
_classCallCheck(this, InstructionCanvas3dsShow);
|
|
@@ -16085,12 +16174,25 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16085
16174
|
key: "handle",
|
|
16086
16175
|
value: function handle(context) {
|
|
16087
16176
|
var _this = this;
|
|
16177
|
+
var token = this.decodeBase64Token(context.payload._3ds_token);
|
|
16088
16178
|
var canvas = new Canvas3ds(this.formSelector, context.payload._3ds_token);
|
|
16089
16179
|
canvas.setEnv(this.getEnv(context.instruction_token));
|
|
16090
|
-
canvas.on('chargeAuth', function (
|
|
16180
|
+
canvas.on('chargeAuth', function () {
|
|
16091
16181
|
return Spinner.show();
|
|
16092
16182
|
});
|
|
16093
|
-
canvas.on('
|
|
16183
|
+
canvas.on('chargeAuthChallenge', function () {
|
|
16184
|
+
if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16185
|
+
Spinner.hide();
|
|
16186
|
+
_this.observeIframeAndResize();
|
|
16187
|
+
}
|
|
16188
|
+
});
|
|
16189
|
+
canvas.on('chargeAuthDecoupled', function () {
|
|
16190
|
+
if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16191
|
+
Spinner.hide();
|
|
16192
|
+
_this.observeIframeAndResize();
|
|
16193
|
+
}
|
|
16194
|
+
});
|
|
16195
|
+
canvas.on('chargeAuthSuccess', function () {
|
|
16094
16196
|
var _a;
|
|
16095
16197
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
16096
16198
|
_this.api.checkout().callback({
|
|
@@ -16104,8 +16206,9 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16104
16206
|
})["catch"](function (response) {
|
|
16105
16207
|
return console.error('callback.child_widget.status - chargeAuthSuccess: error', response);
|
|
16106
16208
|
});
|
|
16209
|
+
Spinner.show();
|
|
16107
16210
|
});
|
|
16108
|
-
canvas.on('chargeAuthReject', function (
|
|
16211
|
+
canvas.on('chargeAuthReject', function () {
|
|
16109
16212
|
var _a;
|
|
16110
16213
|
// **TODO add interface for chargeAuthReject event **//
|
|
16111
16214
|
(_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
|
|
@@ -16120,6 +16223,7 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16120
16223
|
})["catch"](function (response) {
|
|
16121
16224
|
return console.error('callback.child_widget.status - chargeAuthReject: error', response);
|
|
16122
16225
|
});
|
|
16226
|
+
Spinner.show();
|
|
16123
16227
|
});
|
|
16124
16228
|
canvas.on('error', function (event) {
|
|
16125
16229
|
var _a;
|
|
@@ -16136,15 +16240,60 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
|
|
|
16136
16240
|
})["catch"](function (response) {
|
|
16137
16241
|
return console.error('callback.child_widget.status - errorEvent: error', response);
|
|
16138
16242
|
});
|
|
16243
|
+
Spinner.show();
|
|
16139
16244
|
});
|
|
16140
16245
|
canvas.load();
|
|
16141
|
-
|
|
16246
|
+
if (token.format !== TOKEN_FORMAT.STANDALONE_3DS) {
|
|
16247
|
+
Spinner.hide();
|
|
16248
|
+
}
|
|
16142
16249
|
}
|
|
16143
16250
|
}, {
|
|
16144
16251
|
key: "destroy",
|
|
16145
16252
|
value: function destroy() {
|
|
16146
16253
|
document.querySelector(this.formSelector).innerHTML = '';
|
|
16147
16254
|
}
|
|
16255
|
+
}, {
|
|
16256
|
+
key: "decodeBase64Token",
|
|
16257
|
+
value: function decodeBase64Token(token) {
|
|
16258
|
+
try {
|
|
16259
|
+
var base64 = token.replace(/-/g, '+').replace(/_/g, '/').padEnd(Math.ceil(token.length / 4) * 4, '=');
|
|
16260
|
+
var bytes = toByteArray_1(base64);
|
|
16261
|
+
var json = new TextDecoder().decode(bytes);
|
|
16262
|
+
return JSON.parse(json);
|
|
16263
|
+
} catch (err) {
|
|
16264
|
+
console.error('Failed to decode _3ds_token:', err);
|
|
16265
|
+
throw err;
|
|
16266
|
+
}
|
|
16267
|
+
}
|
|
16268
|
+
}, {
|
|
16269
|
+
key: "observeIframeAndResize",
|
|
16270
|
+
value: function observeIframeAndResize() {
|
|
16271
|
+
var outer = document.querySelector('#standaloneWidget');
|
|
16272
|
+
if (outer) {
|
|
16273
|
+
outer.style.display = 'flex';
|
|
16274
|
+
outer.style.justifyContent = 'center';
|
|
16275
|
+
}
|
|
16276
|
+
var container = document.querySelector('#paydock_authorization_iframe');
|
|
16277
|
+
if (!container) {
|
|
16278
|
+
console.warn('Container not found');
|
|
16279
|
+
return;
|
|
16280
|
+
}
|
|
16281
|
+
var observer = new MutationObserver(function () {
|
|
16282
|
+
var iframe = container.querySelector('iframe');
|
|
16283
|
+
if (iframe) {
|
|
16284
|
+
iframe.style.width = '100%';
|
|
16285
|
+
iframe.style.height = '500px';
|
|
16286
|
+
iframe.style.border = 'none';
|
|
16287
|
+
iframe.style.display = 'block';
|
|
16288
|
+
console.info('3DS iframe resized', iframe);
|
|
16289
|
+
observer.disconnect();
|
|
16290
|
+
}
|
|
16291
|
+
});
|
|
16292
|
+
observer.observe(container, {
|
|
16293
|
+
childList: true,
|
|
16294
|
+
subtree: true
|
|
16295
|
+
});
|
|
16296
|
+
}
|
|
16148
16297
|
}]);
|
|
16149
16298
|
}(InstructionHandler);
|
|
16150
16299
|
InstructionCanvas3dsShow = __decorate([Instruction('instruction.canvas_3ds_form.show')], InstructionCanvas3dsShow);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction.canvas_3ds.show.d.ts","sourceRoot":"","sources":["../../../../src/checkout/instructions/v1/instruction.canvas_3ds.show.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instruction.canvas_3ds.show.d.ts","sourceRoot":"","sources":["../../../../src/checkout/instructions/v1/instruction.canvas_3ds.show.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AASvE,qBACa,wBAAyB,SAAQ,kBAAkB;IACvD,MAAM,CAAC,OAAO,EAAE;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE;YACP,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,GAAG,IAAI;IA4FD,OAAO;IAId,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,sBAAsB;CA6B/B"}
|