@alipay/ams-checkout 2.0.24 → 2.0.26
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/ams-checkout.js +3 -3
- package/dist/ams-checkout.min.js +1 -1
- package/esm/config/index.js +1 -1
- package/esm/core/component/element/modernElementController/index.d.ts +10 -0
- package/esm/core/component/element/modernElementController/index.js +172 -128
- package/esm/modern/index.js +1 -1
- package/esm/modern/tools.js +1 -1
- package/esm/tsdoc-metadata.json +1 -1
- package/esm/util/logger.js +1 -1
- package/package.json +1 -1
|
@@ -46,24 +46,6 @@ import { v4 as uuid } from 'uuid';
|
|
|
46
46
|
|
|
47
47
|
var TRACK_CODE_PREFIX = '7982';
|
|
48
48
|
|
|
49
|
-
// 缓存解析出的 merchantId,供埋点 helper 在任意阶段统一带上
|
|
50
|
-
var _merchantId = '';
|
|
51
|
-
var track = function track(phase, msg) {
|
|
52
|
-
var extra = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
53
|
-
try {
|
|
54
|
-
var code = "".concat(TRACK_CODE_PREFIX).concat(phase === 'error' ? '' : phase);
|
|
55
|
-
// LogItem 类型未暴露 merchant_id 字段,但运行时 tracker 会透传,
|
|
56
|
-
// 故用断言保留该字段名供下游埋点消费
|
|
57
|
-
sdkTracker.log(_objectSpread({
|
|
58
|
-
code: code,
|
|
59
|
-
msg: msg,
|
|
60
|
-
merchant_id: _merchantId
|
|
61
|
-
}, extra));
|
|
62
|
-
} catch (_unused) {
|
|
63
|
-
/* 埋点失败绝不影响主流程 */
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
49
|
/**
|
|
68
50
|
* 优先取 sessionData 解析出的 clientId;
|
|
69
51
|
* 缺失时从容错角度回落到 extendInfo 中的 merchantId(URL 编码需解码)。
|
|
@@ -80,42 +62,22 @@ var resolveMerchantId = function resolveMerchantId(parseData) {
|
|
|
80
62
|
return '';
|
|
81
63
|
}
|
|
82
64
|
return decodeURIComponent(merchantId);
|
|
83
|
-
} catch (
|
|
65
|
+
} catch (_unused) {
|
|
84
66
|
return '';
|
|
85
67
|
}
|
|
86
68
|
};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
};
|
|
91
|
-
var trackHandshake = function trackHandshake(msg) {
|
|
92
|
-
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
93
|
-
return track('handshake', msg, extra);
|
|
94
|
-
};
|
|
95
|
-
var trackElement = function trackElement(msg) {
|
|
96
|
-
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
97
|
-
return track('element', msg, extra);
|
|
98
|
-
};
|
|
99
|
-
var trackError = function trackError(msg) {
|
|
100
|
-
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
101
|
-
return track('error', msg, extra);
|
|
102
|
-
};
|
|
103
|
-
// ============================================================
|
|
104
|
-
// 统一 API 终态上报(7982api):在 mount/submitPayment/validateFields
|
|
105
|
-
// 每个出口(成功/失败/中断)捕获「返回给商户的完整结果」,一处包裹覆盖全部分支。
|
|
106
|
-
// 与分散的 trackXxx 互补、不替换;merchantId 为关键字段,必带。
|
|
107
|
-
// _merchantId 在 setup() 解析后填充,mount 首次调用在 resolve 时已就绪。
|
|
108
|
-
// ============================================================
|
|
109
|
-
var reportApiEnd = function reportApiEnd(api, durationMs) {
|
|
110
|
-
var extra = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
69
|
+
// reportApiEnd 留为模块级,merchant_id 改为显式参数(由 runApi 从实例传入),
|
|
70
|
+
// 避免原模块级 _merchantId 的多实例共享竞争。track/trackXxx 已改为实例方法读 this.merchantId。
|
|
71
|
+
var reportApiEnd = function reportApiEnd(api, durationMs, merchantId) {
|
|
72
|
+
var extra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
111
73
|
try {
|
|
112
74
|
sdkTracker.log(_objectSpread({
|
|
113
75
|
code: "".concat(TRACK_CODE_PREFIX, "api"),
|
|
114
76
|
msg: api,
|
|
115
77
|
m1: durationMs,
|
|
116
|
-
merchant_id:
|
|
78
|
+
merchant_id: merchantId
|
|
117
79
|
}, extra));
|
|
118
|
-
} catch (
|
|
80
|
+
} catch (_unused2) {
|
|
119
81
|
/* 埋点失败绝不影响主流程 */
|
|
120
82
|
}
|
|
121
83
|
};
|
|
@@ -141,10 +103,37 @@ var normalizeApiResult = function normalizeApiResult(api, result) {
|
|
|
141
103
|
return acc;
|
|
142
104
|
};
|
|
143
105
|
|
|
106
|
+
// 入参埋点:按 API 入参字段直接落入 d6 起,与 normalizeApiResult(d1-d5)错开。
|
|
107
|
+
// 标量字段记实际值;shippingInfo 含姓名/电话/地址等 PII,仅记存在性。
|
|
108
|
+
// onBeforeConfirm 为函数不可序列化跳过。
|
|
109
|
+
// mount 仅取低基配置字段(type/notRedirectAfterComplete/theme/layout),忽略 appearance.variables 等高基数项。
|
|
110
|
+
var normalizeApiInput = function normalizeApiInput(api, params) {
|
|
111
|
+
var acc = {};
|
|
112
|
+
if (!params) return acc;
|
|
113
|
+
if (api === 'submitPayment') {
|
|
114
|
+
var _params$amount, _params$currency;
|
|
115
|
+
acc.d6 = String(!!params.handleActions);
|
|
116
|
+
acc.d7 = (_params$amount = params.amount) !== null && _params$amount !== void 0 ? _params$amount : '';
|
|
117
|
+
acc.d8 = (_params$currency = params.currency) !== null && _params$currency !== void 0 ? _params$currency : '';
|
|
118
|
+
acc.d9 = params.shippingInfo ? 'true' : 'false';
|
|
119
|
+
} else if (api === 'mount') {
|
|
120
|
+
var _params$renderOptions, _params$renderOptions2, _params$renderOptions3, _params$renderOptions4, _params$renderOptions5, _params$renderOptions6, _params$renderOptions7, _params$sdkSelector, _params$renderOptions8, _appoint$singleOption, _appoint$storedCard;
|
|
121
|
+
acc.d6 = (_params$renderOptions = (_params$renderOptions2 = params.renderOptions) === null || _params$renderOptions2 === void 0 ? void 0 : _params$renderOptions2.type) !== null && _params$renderOptions !== void 0 ? _params$renderOptions : '';
|
|
122
|
+
acc.d7 = String(!!((_params$renderOptions3 = params.renderOptions) !== null && _params$renderOptions3 !== void 0 && _params$renderOptions3.notRedirectAfterComplete));
|
|
123
|
+
acc.d8 = (_params$renderOptions4 = (_params$renderOptions5 = params.renderOptions) === null || _params$renderOptions5 === void 0 || (_params$renderOptions5 = _params$renderOptions5.appearance) === null || _params$renderOptions5 === void 0 ? void 0 : _params$renderOptions5.theme) !== null && _params$renderOptions4 !== void 0 ? _params$renderOptions4 : '';
|
|
124
|
+
acc.d9 = (_params$renderOptions6 = (_params$renderOptions7 = params.renderOptions) === null || _params$renderOptions7 === void 0 || (_params$renderOptions7 = _params$renderOptions7.appearance) === null || _params$renderOptions7 === void 0 || (_params$renderOptions7 = _params$renderOptions7.layout) === null || _params$renderOptions7 === void 0 ? void 0 : _params$renderOptions7.type) !== null && _params$renderOptions6 !== void 0 ? _params$renderOptions6 : '';
|
|
125
|
+
acc.d10 = (_params$sdkSelector = params.sdkSelector) !== null && _params$sdkSelector !== void 0 ? _params$sdkSelector : '';
|
|
126
|
+
var appoint = (_params$renderOptions8 = params.renderOptions) === null || _params$renderOptions8 === void 0 ? void 0 : _params$renderOptions8.merchantAppointParam;
|
|
127
|
+
acc.d11 = (_appoint$singleOption = appoint === null || appoint === void 0 ? void 0 : appoint.singleOption) !== null && _appoint$singleOption !== void 0 ? _appoint$singleOption : '';
|
|
128
|
+
acc.d12 = (appoint === null || appoint === void 0 || (_appoint$storedCard = appoint.storedCard) === null || _appoint$storedCard === void 0 ? void 0 : _appoint$storedCard.needCVV) != null ? String(appoint.storedCard.needCVV) : '';
|
|
129
|
+
}
|
|
130
|
+
return acc;
|
|
131
|
+
};
|
|
132
|
+
|
|
144
133
|
// 统一包裹:捕获终态(resolve/reject)后上报,原值/原异常原样透传,不影响任何已有逻辑。
|
|
145
134
|
// extraBuilder 供调用方注入实例上下文字段(如 paymentMethodType),其值覆盖 normalizeApiResult 结果。
|
|
146
135
|
var runApi = /*#__PURE__*/function () {
|
|
147
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(api, fn, extraBuilder) {
|
|
136
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(api, fn, extraBuilder, inputExtra, merchantId) {
|
|
148
137
|
var startedAt, result;
|
|
149
138
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
150
139
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -155,12 +144,12 @@ var runApi = /*#__PURE__*/function () {
|
|
|
155
144
|
return fn();
|
|
156
145
|
case 4:
|
|
157
146
|
result = _context.sent;
|
|
158
|
-
reportApiEnd(api, Date.now() - startedAt, _objectSpread(_objectSpread({}, normalizeApiResult(api, result)), extraBuilder === null || extraBuilder === void 0 ? void 0 : extraBuilder(false)));
|
|
147
|
+
reportApiEnd(api, Date.now() - startedAt, merchantId, _objectSpread(_objectSpread(_objectSpread({}, inputExtra), normalizeApiResult(api, result)), extraBuilder === null || extraBuilder === void 0 ? void 0 : extraBuilder(false)));
|
|
159
148
|
return _context.abrupt("return", result);
|
|
160
149
|
case 9:
|
|
161
150
|
_context.prev = 9;
|
|
162
151
|
_context.t0 = _context["catch"](1);
|
|
163
|
-
reportApiEnd(api, Date.now() - startedAt, _objectSpread({
|
|
152
|
+
reportApiEnd(api, Date.now() - startedAt, merchantId, _objectSpread(_objectSpread({}, inputExtra), {}, {
|
|
164
153
|
d1: 'error',
|
|
165
154
|
d2: (_context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.code) || 'UNKNOWN'
|
|
166
155
|
}, extraBuilder === null || extraBuilder === void 0 ? void 0 : extraBuilder(true)));
|
|
@@ -171,7 +160,7 @@ var runApi = /*#__PURE__*/function () {
|
|
|
171
160
|
}
|
|
172
161
|
}, _callee, null, [[1, 9]]);
|
|
173
162
|
}));
|
|
174
|
-
return function runApi(_x, _x2, _x3) {
|
|
163
|
+
return function runApi(_x, _x2, _x3, _x4, _x5) {
|
|
175
164
|
return _ref.apply(this, arguments);
|
|
176
165
|
};
|
|
177
166
|
}();
|
|
@@ -306,6 +295,11 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
306
295
|
_defineProperty(this, "currentPaymentMethodType", '');
|
|
307
296
|
/** 提交进行中标志:submitPayment 执行期间为 true,用于拒绝并发重入,避免旧闭包串扰/重复拉起钱包 */
|
|
308
297
|
_defineProperty(this, "isSubmitting", false);
|
|
298
|
+
/**
|
|
299
|
+
* 当前实例解析出的 merchantId,供 trackXxx / reportApiEnd 统一带上。
|
|
300
|
+
* 实例隔离:多实例并发 mount 时各自持有,避免原模块级 _merchantId 的共享竞争。
|
|
301
|
+
*/
|
|
302
|
+
_defineProperty(this, "merchantId", '');
|
|
309
303
|
this.options = options;
|
|
310
304
|
this.onStatusChange = onStatusChange;
|
|
311
305
|
if (options.sessionData) {
|
|
@@ -328,6 +322,47 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
328
322
|
});
|
|
329
323
|
}
|
|
330
324
|
_createClass(ModernElementController, [{
|
|
325
|
+
key: "track",
|
|
326
|
+
value:
|
|
327
|
+
// ── 埋点 helper(实例方法,读 this.merchantId)────────────────────────
|
|
328
|
+
function track(phase, msg) {
|
|
329
|
+
var extra = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
330
|
+
try {
|
|
331
|
+
var code = "".concat(TRACK_CODE_PREFIX).concat(phase === 'error' ? '' : phase);
|
|
332
|
+
sdkTracker.log(_objectSpread({
|
|
333
|
+
code: code,
|
|
334
|
+
msg: msg,
|
|
335
|
+
merchant_id: this.merchantId
|
|
336
|
+
}, extra));
|
|
337
|
+
} catch (_unused3) {
|
|
338
|
+
/* 埋点失败绝不影响主流程 */
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}, {
|
|
342
|
+
key: "trackMount",
|
|
343
|
+
value: function trackMount(msg) {
|
|
344
|
+
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
345
|
+
this.track('mount', msg, extra);
|
|
346
|
+
}
|
|
347
|
+
}, {
|
|
348
|
+
key: "trackHandshake",
|
|
349
|
+
value: function trackHandshake(msg) {
|
|
350
|
+
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
351
|
+
this.track('handshake', msg, extra);
|
|
352
|
+
}
|
|
353
|
+
}, {
|
|
354
|
+
key: "trackElement",
|
|
355
|
+
value: function trackElement(msg) {
|
|
356
|
+
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
357
|
+
this.track('element', msg, extra);
|
|
358
|
+
}
|
|
359
|
+
}, {
|
|
360
|
+
key: "trackError",
|
|
361
|
+
value: function trackError(msg) {
|
|
362
|
+
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
363
|
+
this.track('error', msg, extra);
|
|
364
|
+
}
|
|
365
|
+
}, {
|
|
331
366
|
key: "mount",
|
|
332
367
|
value: function () {
|
|
333
368
|
var _mount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(renderOptions, sdkSelector) {
|
|
@@ -335,16 +370,28 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
335
370
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
336
371
|
while (1) switch (_context2.prev = _context2.next) {
|
|
337
372
|
case 0:
|
|
373
|
+
// 解析 merchantId(唯一赋值点):早于 runApi 求值 this.merchantId 与 doMount,
|
|
374
|
+
// 使 mount_start / api_end 都能带上有值的 merchant_id。checkSessionData 在 sessionData
|
|
375
|
+
// 缺失/无效时会 throw,这里容错吞掉——失败的校验仍由后续 setup() 内的 checkSessionData
|
|
376
|
+
// 抛出、走 mount_error 统一上报,不改变错误时序。
|
|
377
|
+
try {
|
|
378
|
+
this.merchantId = resolveMerchantId(checkSessionData(this.options.sessionData, 'ELEMENT_PAYMENT'));
|
|
379
|
+
} catch (_unused4) {
|
|
380
|
+
/* setup 校验异常会统一上报 */
|
|
381
|
+
}
|
|
338
382
|
return _context2.abrupt("return", runApi('mount', function () {
|
|
339
383
|
return _this.doMount(renderOptions, sdkSelector);
|
|
340
|
-
}
|
|
341
|
-
|
|
384
|
+
}, undefined, normalizeApiInput('mount', {
|
|
385
|
+
renderOptions: renderOptions,
|
|
386
|
+
sdkSelector: sdkSelector
|
|
387
|
+
}), this.merchantId));
|
|
388
|
+
case 2:
|
|
342
389
|
case "end":
|
|
343
390
|
return _context2.stop();
|
|
344
391
|
}
|
|
345
|
-
}, _callee2);
|
|
392
|
+
}, _callee2, this);
|
|
346
393
|
}));
|
|
347
|
-
function mount(
|
|
394
|
+
function mount(_x6, _x7) {
|
|
348
395
|
return _mount.apply(this, arguments);
|
|
349
396
|
}
|
|
350
397
|
return mount;
|
|
@@ -358,7 +405,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
358
405
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
359
406
|
while (1) switch (_context3.prev = _context3.next) {
|
|
360
407
|
case 0:
|
|
361
|
-
trackMount('mount_start', {
|
|
408
|
+
this.trackMount('mount_start', {
|
|
362
409
|
d1: sdkSelector,
|
|
363
410
|
d2: this.options.sessionData ? 'has_session' : 'no_session'
|
|
364
411
|
});
|
|
@@ -367,7 +414,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
367
414
|
_context3.next = 6;
|
|
368
415
|
break;
|
|
369
416
|
}
|
|
370
|
-
trackError('selector_not_found', {
|
|
417
|
+
this.trackError('selector_not_found', {
|
|
371
418
|
d1: sdkSelector
|
|
372
419
|
});
|
|
373
420
|
(_this$options = this.options) === null || _this$options === void 0 || (_this$options$onEvent = _this$options.onEventCallback) === null || _this$options$onEvent === void 0 || _this$options$onEvent.call(_this$options, {
|
|
@@ -398,7 +445,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
398
445
|
if (iframeOrigin && iframeOrigin !== 'null') {
|
|
399
446
|
this.bridge.setOrigin(iframeOrigin);
|
|
400
447
|
}
|
|
401
|
-
} catch (
|
|
448
|
+
} catch (_unused5) {
|
|
402
449
|
// URL 解析失败时保持默认 origin
|
|
403
450
|
}
|
|
404
451
|
} else {
|
|
@@ -411,7 +458,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
411
458
|
readyHandshakePromise = this.waitForReadyHandshake();
|
|
412
459
|
this.iframe.src = iframeUrl;
|
|
413
460
|
container.appendChild(this.iframe);
|
|
414
|
-
trackMount('iframe_loaded', {
|
|
461
|
+
this.trackMount('iframe_loaded', {
|
|
415
462
|
d1: iframeUrl
|
|
416
463
|
});
|
|
417
464
|
|
|
@@ -431,7 +478,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
431
478
|
dataStructError = this.validateRenderData(setupConfig.renderData, setupConfig.renderDataError);
|
|
432
479
|
if (dataStructError) {
|
|
433
480
|
setupConfig.renderDataError = dataStructError;
|
|
434
|
-
trackError('render_data_invalid', {
|
|
481
|
+
this.trackError('render_data_invalid', {
|
|
435
482
|
d1: dataStructError.code,
|
|
436
483
|
d2: dataStructError.reason
|
|
437
484
|
});
|
|
@@ -456,7 +503,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
456
503
|
error: dataStructError
|
|
457
504
|
});
|
|
458
505
|
case 40:
|
|
459
|
-
trackMount('mount_success', {
|
|
506
|
+
this.trackMount('mount_success', {
|
|
460
507
|
m1: this._mountStartTime ? Date.now() - this._mountStartTime : 0
|
|
461
508
|
});
|
|
462
509
|
return _context3.abrupt("return", {});
|
|
@@ -472,7 +519,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
472
519
|
error: _context3.t0
|
|
473
520
|
});
|
|
474
521
|
case 49:
|
|
475
|
-
trackError('mount_error', {
|
|
522
|
+
this.trackError('mount_error', {
|
|
476
523
|
d1: (_context3.t0 === null || _context3.t0 === void 0 ? void 0 : _context3.t0.code) || 'UNKNOWN',
|
|
477
524
|
d2: (_context3.t0 === null || _context3.t0 === void 0 ? void 0 : _context3.t0.message) || ''
|
|
478
525
|
});
|
|
@@ -491,7 +538,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
491
538
|
}
|
|
492
539
|
}, _callee3, this, [[8, 44]]);
|
|
493
540
|
}));
|
|
494
|
-
function doMount(
|
|
541
|
+
function doMount(_x8, _x9) {
|
|
495
542
|
return _doMount.apply(this, arguments);
|
|
496
543
|
}
|
|
497
544
|
return doMount;
|
|
@@ -519,7 +566,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
519
566
|
while (1) switch (_context4.prev = _context4.next) {
|
|
520
567
|
case 0:
|
|
521
568
|
this._mountStartTime = Date.now();
|
|
522
|
-
trackMount('setup_start');
|
|
569
|
+
this.trackMount('setup_start');
|
|
523
570
|
// 缓存起来,submit时使用
|
|
524
571
|
this.notRedirectAfterComplete = renderOptions.notRedirectAfterComplete || false;
|
|
525
572
|
sessionData = this.options.sessionData; // checkSessionData 失败会 throw AntomSDKError(SESSION_DATA_INVALID),
|
|
@@ -527,9 +574,6 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
527
574
|
parseData = checkSessionData(sessionData, 'ELEMENT_PAYMENT');
|
|
528
575
|
lastEnv = this.options.environment === 'sandbox' ? 'sandbox' : 'prod';
|
|
529
576
|
this.options.environment;
|
|
530
|
-
// 解析 merchantId(优先 clientId,缺失时容错回落到 extendInfo.merchantId),
|
|
531
|
-
// 缓存到模块级变量,使后续所有 trackXxx 埋点统一带上
|
|
532
|
-
_merchantId = resolveMerchantId(parseData);
|
|
533
577
|
|
|
534
578
|
// 初始化 request 全局配置,使 sdkQuery 能正确发起请求
|
|
535
579
|
// tracker: sdkTracker —— 接入 HTTP 层自动埋点(B 套),上报每个请求的成败/RTT/错误码
|
|
@@ -538,7 +582,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
538
582
|
hostSign: parseHostSign(sessionData),
|
|
539
583
|
env: lastEnv
|
|
540
584
|
}, getDevReqConfig()), {}, {
|
|
541
|
-
sdkVersion: "2.0.
|
|
585
|
+
sdkVersion: "2.0.26" || '',
|
|
542
586
|
tracker: sdkTracker
|
|
543
587
|
}));
|
|
544
588
|
isConnect = !!(parseData !== null && parseData !== void 0 && (_parseData$connectFac = parseData.connectFactor) !== null && _parseData$connectFac !== void 0 && _parseData$connectFac.enableConnect);
|
|
@@ -579,21 +623,21 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
579
623
|
});
|
|
580
624
|
});
|
|
581
625
|
queryPromise = Promise.all(promises);
|
|
582
|
-
_context4.next =
|
|
626
|
+
_context4.next = 19;
|
|
583
627
|
return Promise.race([queryPromise, destroyPromise]).finally(cancelDestroyCallback);
|
|
584
|
-
case
|
|
628
|
+
case 19:
|
|
585
629
|
_yield$Promise$race$f = _context4.sent;
|
|
586
630
|
_yield$Promise$race$f2 = _slicedToArray(_yield$Promise$race$f, 2);
|
|
587
631
|
sdkQueryResult = _yield$Promise$race$f2[0];
|
|
588
632
|
oneAccountQueryResult = _yield$Promise$race$f2[1];
|
|
589
633
|
if (sdkQueryResult.error) {
|
|
590
|
-
trackHandshake('sdk_query_failed', {
|
|
634
|
+
this.trackHandshake('sdk_query_failed', {
|
|
591
635
|
d1: ((_sdkQueryResult$error = sdkQueryResult.error) === null || _sdkQueryResult$error === void 0 ? void 0 : _sdkQueryResult$error.code) || '',
|
|
592
636
|
d2: ((_sdkQueryResult$error2 = sdkQueryResult.error) === null || _sdkQueryResult$error2 === void 0 ? void 0 : _sdkQueryResult$error2.message) || ''
|
|
593
637
|
});
|
|
594
638
|
}
|
|
595
639
|
if (shouldQueryOneAccountFlag && oneAccountQueryResult !== null && oneAccountQueryResult !== void 0 && oneAccountQueryResult.error) {
|
|
596
|
-
trackHandshake('one_account_query_failed', {
|
|
640
|
+
this.trackHandshake('one_account_query_failed', {
|
|
597
641
|
d1: ((_oneAccountQueryResul = oneAccountQueryResult.error) === null || _oneAccountQueryResul === void 0 ? void 0 : _oneAccountQueryResul.code) || '',
|
|
598
642
|
d2: ((_oneAccountQueryResul2 = oneAccountQueryResult.error) === null || _oneAccountQueryResul2 === void 0 ? void 0 : _oneAccountQueryResul2.message) || ''
|
|
599
643
|
});
|
|
@@ -628,7 +672,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
628
672
|
paymentMethodCategoryType: paymentSessionConfig === null || paymentSessionConfig === void 0 ? void 0 : paymentSessionConfig.paymentMethodCategoryType,
|
|
629
673
|
productSceneVersion: paymentSessionConfig === null || paymentSessionConfig === void 0 ? void 0 : paymentSessionConfig.productSceneVersion,
|
|
630
674
|
trackId: parseTrackerId(sessionData),
|
|
631
|
-
merchantId:
|
|
675
|
+
merchantId: this.merchantId,
|
|
632
676
|
paymentMethodType: parseData === null || parseData === void 0 || (_parseData$paymentMet = parseData.paymentMethodInfoView) === null || _parseData$paymentMet === void 0 ? void 0 : _parseData$paymentMet.paymentMethodType
|
|
633
677
|
},
|
|
634
678
|
// 原老字段
|
|
@@ -636,7 +680,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
636
680
|
// 新sdk字段
|
|
637
681
|
locale: locale,
|
|
638
682
|
// 新sdk字段
|
|
639
|
-
sdkVersion: "2.0.
|
|
683
|
+
sdkVersion: "2.0.26" || '',
|
|
640
684
|
// 新sdk字段
|
|
641
685
|
merchantId: (sdkQueryResult === null || sdkQueryResult === void 0 || (_sdkQueryResult$data = sdkQueryResult.data) === null || _sdkQueryResult$data === void 0 ? void 0 : _sdkQueryResult$data.merchantId) || '',
|
|
642
686
|
// 新sdk字段
|
|
@@ -646,13 +690,13 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
646
690
|
env: lastEnv
|
|
647
691
|
}, getDevReqConfig())
|
|
648
692
|
});
|
|
649
|
-
case
|
|
693
|
+
case 29:
|
|
650
694
|
case "end":
|
|
651
695
|
return _context4.stop();
|
|
652
696
|
}
|
|
653
697
|
}, _callee4, this);
|
|
654
698
|
}));
|
|
655
|
-
function setup(
|
|
699
|
+
function setup(_x10) {
|
|
656
700
|
return _setup.apply(this, arguments);
|
|
657
701
|
}
|
|
658
702
|
return setup;
|
|
@@ -771,7 +815,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
771
815
|
schemaUrl = payload.schemaUrl,
|
|
772
816
|
destroy = payload.destroy;
|
|
773
817
|
// d1=mode(redirect/replace) d2=跳转类型 d3=兜底url d4=appLinkUrl d5=schemaUrl d6=是否销毁
|
|
774
|
-
trackElement('redirect', {
|
|
818
|
+
_this3.trackElement('redirect', {
|
|
775
819
|
d1: mode || 'redirect',
|
|
776
820
|
d2: appLinkUrl ? 'app_link' : schemaUrl ? 'schema' : 'url',
|
|
777
821
|
d3: url || '',
|
|
@@ -794,7 +838,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
794
838
|
var app = new CallApp({
|
|
795
839
|
resultJudgmentTime: 2000,
|
|
796
840
|
fallback: function fallback() {
|
|
797
|
-
trackElement('redirect_fallback', {
|
|
841
|
+
_this3.trackElement('redirect_fallback', {
|
|
798
842
|
d1: 'callapp_failed',
|
|
799
843
|
d2: url || ''
|
|
800
844
|
});
|
|
@@ -809,7 +853,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
809
853
|
fallbackJump();
|
|
810
854
|
}
|
|
811
855
|
} catch (error) {
|
|
812
|
-
trackError('redirect_error', {
|
|
856
|
+
_this3.trackError('redirect_error', {
|
|
813
857
|
d1: 'callapp_exception',
|
|
814
858
|
d2: (error === null || error === void 0 ? void 0 : error.message) || '',
|
|
815
859
|
d3: url || ''
|
|
@@ -867,14 +911,14 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
867
911
|
sessionData = this.options.sessionData;
|
|
868
912
|
applePayProps = payload === null || payload === void 0 || (_paymentMethod = payload.paymentMethod) === null || _paymentMethod === void 0 || (_paymentMethod = _paymentMethod.paymentMethodDetail) === null || _paymentMethod === void 0 ? void 0 : _paymentMethod.applePayProps;
|
|
869
913
|
paymentRequest = applePayProps === null || applePayProps === void 0 ? void 0 : applePayProps.paymentRequest;
|
|
870
|
-
trackElement('applepay_token_request', {
|
|
914
|
+
this.trackElement('applepay_token_request', {
|
|
871
915
|
d1: paymentRequest ? 'has_payment_request' : 'no_payment_request'
|
|
872
916
|
});
|
|
873
917
|
if (paymentRequest) {
|
|
874
918
|
_context7.next = 8;
|
|
875
919
|
break;
|
|
876
920
|
}
|
|
877
|
-
trackError('applepay_token_missing_data', {
|
|
921
|
+
this.trackError('applepay_token_missing_data', {
|
|
878
922
|
d1: 'MISSING_DATA'
|
|
879
923
|
});
|
|
880
924
|
this.bridge.send(AMSMessageType.GET_APPLE_PAY_TOKEN_REPLY, {
|
|
@@ -886,7 +930,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
886
930
|
return _context7.abrupt("return");
|
|
887
931
|
case 8:
|
|
888
932
|
merchantCapabilities = paymentRequest.merchantCapabilities, merchantInfo = paymentRequest.merchantInfo, paymentAmount = paymentRequest.paymentAmount, supportedNetworks = paymentRequest.supportedNetworks, version = paymentRequest.version, requiredBillingContactFields = paymentRequest.requiredBillingContactFields, requiredShippingContactFields = paymentRequest.requiredShippingContactFields;
|
|
889
|
-
finalAmount =
|
|
933
|
+
finalAmount = paymentAmount === null || paymentAmount === void 0 ? void 0 : paymentAmount.value;
|
|
890
934
|
finalCurrency = paymentAmount === null || paymentAmount === void 0 ? void 0 : paymentAmount.currency; // 商户 amount/currency 覆盖(优先级高于 iframe 传来的值,用于 Apple Pay 弹窗展示)
|
|
891
935
|
if (this._merchantAmount) {
|
|
892
936
|
finalAmount = this._merchantAmount;
|
|
@@ -931,7 +975,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
931
975
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
932
976
|
while (1) switch (_context5.prev = _context5.next) {
|
|
933
977
|
case 0:
|
|
934
|
-
trackElement('applepay_validate_start', {
|
|
978
|
+
_this4.trackElement('applepay_validate_start', {
|
|
935
979
|
d1: 'merchant_validate'
|
|
936
980
|
});
|
|
937
981
|
_context5.next = 3;
|
|
@@ -951,12 +995,12 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
951
995
|
_context5.next = 7;
|
|
952
996
|
break;
|
|
953
997
|
}
|
|
954
|
-
trackElement('applepay_validate_success', {
|
|
998
|
+
_this4.trackElement('applepay_validate_success', {
|
|
955
999
|
d1: 'got_session'
|
|
956
1000
|
});
|
|
957
1001
|
return _context5.abrupt("return", typeof res.merchantSessionObject === 'string' ? JSON.parse(res.merchantSessionObject) : res.merchantSessionObject);
|
|
958
1002
|
case 7:
|
|
959
|
-
trackError('applepay_merchant_validate_failed', {
|
|
1003
|
+
_this4.trackError('applepay_merchant_validate_failed', {
|
|
960
1004
|
d1: 'VALIDATION_FAILED',
|
|
961
1005
|
d2: (res === null || res === void 0 ? void 0 : res.errorMessage) || 'Merchant validation failed'
|
|
962
1006
|
});
|
|
@@ -969,7 +1013,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
969
1013
|
}
|
|
970
1014
|
}, _callee5);
|
|
971
1015
|
}));
|
|
972
|
-
function validateMerchant(
|
|
1016
|
+
function validateMerchant(_x13) {
|
|
973
1017
|
return _validateMerchant.apply(this, arguments);
|
|
974
1018
|
}
|
|
975
1019
|
return validateMerchant;
|
|
@@ -998,7 +1042,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
998
1042
|
// 双重校验:timedOut(Promise race)+ startTime(实际时间差),与老 ElementController 对齐
|
|
999
1043
|
shouldContinue = !timedOut && !!rawResult && Date.now() - startTime < BEFORE_CONFIRM_TIMEOUT_MS;
|
|
1000
1044
|
if (timedOut || Date.now() - startTime >= BEFORE_CONFIRM_TIMEOUT_MS) {
|
|
1001
|
-
trackError('sdk_before_confirm_timeout', {
|
|
1045
|
+
_this4.trackError('sdk_before_confirm_timeout', {
|
|
1002
1046
|
d1: 'applePay_chrome_modern'
|
|
1003
1047
|
});
|
|
1004
1048
|
}
|
|
@@ -1026,7 +1070,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1026
1070
|
billingContact: billingContact,
|
|
1027
1071
|
shippingContact: shippingContact
|
|
1028
1072
|
};
|
|
1029
|
-
trackElement('applepay_authorized', {
|
|
1073
|
+
_this4.trackElement('applepay_authorized', {
|
|
1030
1074
|
d1: token ? 'has_token' : 'no_token'
|
|
1031
1075
|
});
|
|
1032
1076
|
return _context6.abrupt("return", {
|
|
@@ -1039,7 +1083,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1039
1083
|
}
|
|
1040
1084
|
}, _callee6, null, [[2, 15]]);
|
|
1041
1085
|
}));
|
|
1042
|
-
function onAuthorized(
|
|
1086
|
+
function onAuthorized(_x14) {
|
|
1043
1087
|
return _onAuthorized.apply(this, arguments);
|
|
1044
1088
|
}
|
|
1045
1089
|
return onAuthorized;
|
|
@@ -1050,7 +1094,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1050
1094
|
_context7.next = 18;
|
|
1051
1095
|
return service.startPay();
|
|
1052
1096
|
case 18:
|
|
1053
|
-
trackElement('applepay_token_success', {
|
|
1097
|
+
this.trackElement('applepay_token_success', {
|
|
1054
1098
|
d1: (_capturedResult = capturedResult) !== null && _capturedResult !== void 0 && _capturedResult.token ? 'has_token' : 'no_token'
|
|
1055
1099
|
});
|
|
1056
1100
|
this.bridge.send(AMSMessageType.GET_APPLE_PAY_TOKEN_REPLY, {
|
|
@@ -1066,11 +1110,11 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1066
1110
|
if ((_context7.t0 === null || _context7.t0 === void 0 ? void 0 : _context7.t0.errorCode) !== 'APPLE_PAY_PAYMENT_SESSION_REQUEST_FAILED') {
|
|
1067
1111
|
errCode = (_context7.t0 === null || _context7.t0 === void 0 ? void 0 : _context7.t0.errorCode) || 'APPLE_PAY_NOT_SUPPORTED'; // 用户主动取消单独标记,便于区分取消与真实失败
|
|
1068
1112
|
if (errCode === 'APPLE_PAY_CANCEL') {
|
|
1069
|
-
trackElement('applepay_cancel', {
|
|
1113
|
+
this.trackElement('applepay_cancel', {
|
|
1070
1114
|
d1: 'user_cancel'
|
|
1071
1115
|
});
|
|
1072
1116
|
} else {
|
|
1073
|
-
trackError('applepay_token_failed', {
|
|
1117
|
+
this.trackError('applepay_token_failed', {
|
|
1074
1118
|
d1: errCode,
|
|
1075
1119
|
d2: (_context7.t0 === null || _context7.t0 === void 0 ? void 0 : _context7.t0.errorMessage) || ''
|
|
1076
1120
|
});
|
|
@@ -1088,7 +1132,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1088
1132
|
}
|
|
1089
1133
|
}, _callee7, this, [[15, 22]]);
|
|
1090
1134
|
}));
|
|
1091
|
-
function handleGetApplePayToken(
|
|
1135
|
+
function handleGetApplePayToken(_x11, _x12) {
|
|
1092
1136
|
return _handleGetApplePayToken.apply(this, arguments);
|
|
1093
1137
|
}
|
|
1094
1138
|
return handleGetApplePayToken;
|
|
@@ -1121,12 +1165,12 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1121
1165
|
// 否则从 paymentMethodDetail.googlePayProps 取(兼容 v1 的数据结构)
|
|
1122
1166
|
var environment = (data === null || data === void 0 ? void 0 : data.environment) || (googlePayProps === null || googlePayProps === void 0 ? void 0 : googlePayProps.environment) || 'TEST';
|
|
1123
1167
|
var paymentRequest = (data === null || data === void 0 ? void 0 : data.paymentRequest) || (googlePayProps === null || googlePayProps === void 0 ? void 0 : googlePayProps.paymentRequest) || {};
|
|
1124
|
-
trackElement('googlepay_token_request', {
|
|
1168
|
+
this.trackElement('googlepay_token_request', {
|
|
1125
1169
|
d1: environment,
|
|
1126
1170
|
d2: paymentRequest ? 'has_payment_request' : 'no_payment_request'
|
|
1127
1171
|
});
|
|
1128
1172
|
if (!paymentRequest || !Object.keys(paymentRequest).length) {
|
|
1129
|
-
trackError('googlepay_token_missing_data', {
|
|
1173
|
+
this.trackError('googlepay_token_missing_data', {
|
|
1130
1174
|
d1: 'MISSING_DATA'
|
|
1131
1175
|
});
|
|
1132
1176
|
this.bridge.send(AMSMessageType.GET_GOOGLE_PAY_TOKEN_REPLY, {
|
|
@@ -1157,7 +1201,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1157
1201
|
};
|
|
1158
1202
|
}).then(function (paymentData) {
|
|
1159
1203
|
if (paymentData) {
|
|
1160
|
-
trackElement('googlepay_token_success', {
|
|
1204
|
+
_this5.trackElement('googlepay_token_success', {
|
|
1161
1205
|
d1: 'has_token'
|
|
1162
1206
|
});
|
|
1163
1207
|
_this5.bridge.send(AMSMessageType.GET_GOOGLE_PAY_TOKEN_REPLY, {
|
|
@@ -1168,11 +1212,11 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1168
1212
|
}).catch(function (err) {
|
|
1169
1213
|
var statusCode = (err === null || err === void 0 ? void 0 : err.statusCode) || 'GOOGLE_PAY_PAYMENT_FAILED';
|
|
1170
1214
|
if (statusCode === 'CANCELED') {
|
|
1171
|
-
trackElement('googlepay_cancel', {
|
|
1215
|
+
_this5.trackElement('googlepay_cancel', {
|
|
1172
1216
|
d1: 'user_cancel'
|
|
1173
1217
|
});
|
|
1174
1218
|
} else {
|
|
1175
|
-
trackError('googlepay_token_failed', {
|
|
1219
|
+
_this5.trackError('googlepay_token_failed', {
|
|
1176
1220
|
d1: statusCode,
|
|
1177
1221
|
d2: (err === null || err === void 0 ? void 0 : err.statusMessage) || ''
|
|
1178
1222
|
});
|
|
@@ -1209,7 +1253,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1209
1253
|
loadAndPay();
|
|
1210
1254
|
};
|
|
1211
1255
|
script.onerror = function () {
|
|
1212
|
-
trackError('googlepay_script_load_failed', {
|
|
1256
|
+
_this5.trackError('googlepay_script_load_failed', {
|
|
1213
1257
|
d1: 'script_error'
|
|
1214
1258
|
});
|
|
1215
1259
|
_this5.bridge.send(AMSMessageType.GET_GOOGLE_PAY_TOKEN_REPLY, {
|
|
@@ -1232,11 +1276,11 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1232
1276
|
value: function handleHandlePayment() {
|
|
1233
1277
|
var sessionData = this.options.sessionData;
|
|
1234
1278
|
var parseData = getMetaData(sessionData);
|
|
1235
|
-
trackElement('handle_payment', {
|
|
1279
|
+
this.trackElement('handle_payment', {
|
|
1236
1280
|
d1: 'skipRender_applepay_publish'
|
|
1237
1281
|
});
|
|
1238
1282
|
if (!parseData) {
|
|
1239
|
-
trackError('handle_payment_meta_failed', {
|
|
1283
|
+
this.trackError('handle_payment_meta_failed', {
|
|
1240
1284
|
d1: 'meta_parse_failed'
|
|
1241
1285
|
});
|
|
1242
1286
|
}
|
|
@@ -1327,7 +1371,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1327
1371
|
var cancelDestroyCallback = function cancelDestroyCallback() {};
|
|
1328
1372
|
var timer = setTimeout(function () {
|
|
1329
1373
|
cancelDestroyCallback();
|
|
1330
|
-
trackError('ready_handshake_timeout', {
|
|
1374
|
+
_this7.trackError('ready_handshake_timeout', {
|
|
1331
1375
|
d1: String(MOUNT_TIMEOUT)
|
|
1332
1376
|
});
|
|
1333
1377
|
reject({
|
|
@@ -1344,7 +1388,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1344
1388
|
clearTimeout(timer);
|
|
1345
1389
|
cancelDestroyCallback();
|
|
1346
1390
|
if (!((_this7$iframe = _this7.iframe) !== null && _this7$iframe !== void 0 && _this7$iframe.contentWindow)) {
|
|
1347
|
-
trackError('iframe_contentwindow_unavailable', {
|
|
1391
|
+
_this7.trackError('iframe_contentwindow_unavailable', {
|
|
1348
1392
|
d1: 'after_ready_handshake'
|
|
1349
1393
|
});
|
|
1350
1394
|
reject({
|
|
@@ -1354,7 +1398,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1354
1398
|
return;
|
|
1355
1399
|
}
|
|
1356
1400
|
_this7.bridge.setTarget(_this7.iframe.contentWindow);
|
|
1357
|
-
trackHandshake('ready_handshake_received', {
|
|
1401
|
+
_this7.trackHandshake('ready_handshake_received', {
|
|
1358
1402
|
m1: _this7._mountStartTime ? Date.now() - _this7._mountStartTime : 0
|
|
1359
1403
|
});
|
|
1360
1404
|
resolve();
|
|
@@ -1369,7 +1413,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1369
1413
|
key: "sendHandshake",
|
|
1370
1414
|
value: function sendHandshake(setupConfig) {
|
|
1371
1415
|
this.bridge.send(MessageType.HANDSHAKE, setupConfig);
|
|
1372
|
-
trackHandshake('handshake_sent', {
|
|
1416
|
+
this.trackHandshake('handshake_sent', {
|
|
1373
1417
|
d1: (setupConfig === null || setupConfig === void 0 ? void 0 : setupConfig.sdkVersion) || ''
|
|
1374
1418
|
});
|
|
1375
1419
|
}
|
|
@@ -1385,7 +1429,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1385
1429
|
var cancelDestroyCallback = function cancelDestroyCallback() {};
|
|
1386
1430
|
var timer = setTimeout(function () {
|
|
1387
1431
|
cancelDestroyCallback();
|
|
1388
|
-
trackError('handshake_ack_timeout', {
|
|
1432
|
+
_this8.trackError('handshake_ack_timeout', {
|
|
1389
1433
|
d1: String(MOUNT_TIMEOUT)
|
|
1390
1434
|
});
|
|
1391
1435
|
reject({
|
|
@@ -1400,7 +1444,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1400
1444
|
_this8.bridge.once(MessageType.HANDSHAKE_ACK, function () {
|
|
1401
1445
|
clearTimeout(timer);
|
|
1402
1446
|
cancelDestroyCallback();
|
|
1403
|
-
trackHandshake('handshake_ack_received', {
|
|
1447
|
+
_this8.trackHandshake('handshake_ack_received', {
|
|
1404
1448
|
m1: _this8._mountStartTime ? Date.now() - _this8._mountStartTime : 0
|
|
1405
1449
|
});
|
|
1406
1450
|
resolve();
|
|
@@ -1421,14 +1465,14 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1421
1465
|
return _this9.currentPaymentMethodType ? {
|
|
1422
1466
|
d4: _this9.currentPaymentMethodType
|
|
1423
1467
|
} : {};
|
|
1424
|
-
}));
|
|
1468
|
+
}, normalizeApiInput('submitPayment', params), this.merchantId));
|
|
1425
1469
|
case 1:
|
|
1426
1470
|
case "end":
|
|
1427
1471
|
return _context8.stop();
|
|
1428
1472
|
}
|
|
1429
|
-
}, _callee8);
|
|
1473
|
+
}, _callee8, this);
|
|
1430
1474
|
}));
|
|
1431
|
-
function submitPayment(
|
|
1475
|
+
function submitPayment(_x15) {
|
|
1432
1476
|
return _submitPayment.apply(this, arguments);
|
|
1433
1477
|
}
|
|
1434
1478
|
return submitPayment;
|
|
@@ -1446,7 +1490,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1446
1490
|
_context9.next = 3;
|
|
1447
1491
|
break;
|
|
1448
1492
|
}
|
|
1449
|
-
trackError('submit_not_ready', {
|
|
1493
|
+
this.trackError('submit_not_ready', {
|
|
1450
1494
|
d1: this.status
|
|
1451
1495
|
});
|
|
1452
1496
|
return _context9.abrupt("return", {
|
|
@@ -1461,7 +1505,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1461
1505
|
_context9.next = 6;
|
|
1462
1506
|
break;
|
|
1463
1507
|
}
|
|
1464
|
-
trackError('submit_in_progress', {});
|
|
1508
|
+
this.trackError('submit_in_progress', {});
|
|
1465
1509
|
return _context9.abrupt("return", {
|
|
1466
1510
|
status: 'FAIL',
|
|
1467
1511
|
error: {
|
|
@@ -1575,7 +1619,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1575
1619
|
this._merchantAmount = hasAmount && hasCurrency ? serializableParams.amount : null;
|
|
1576
1620
|
this._merchantCurrency = hasAmount && hasCurrency ? serializableParams.currency : null;
|
|
1577
1621
|
(_this$options$loading7 = this.options.loading) === null || _this$options$loading7 === void 0 || (_this$options$loading8 = _this$options$loading7.onStartLoading) === null || _this$options$loading8 === void 0 || _this$options$loading8.call(_this$options$loading7);
|
|
1578
|
-
trackElement('submit_start', {
|
|
1622
|
+
this.trackElement('submit_start', {
|
|
1579
1623
|
d1: this.notRedirectAfterComplete ? 'if_required' : 'always'
|
|
1580
1624
|
});
|
|
1581
1625
|
// 收集本轮 once 监听的 cleanup:submitPayment 每次注册四类监听,但一轮只会命中部分,
|
|
@@ -1612,7 +1656,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1612
1656
|
return resultPromise;
|
|
1613
1657
|
case 46:
|
|
1614
1658
|
result = _context9.sent;
|
|
1615
|
-
trackElement('submit_reply', {
|
|
1659
|
+
this.trackElement('submit_reply', {
|
|
1616
1660
|
d1: (result === null || result === void 0 ? void 0 : result.status) || '',
|
|
1617
1661
|
d2: (result === null || result === void 0 || (_result$error5 = result.error) === null || _result$error5 === void 0 ? void 0 : _result$error5.code) || ''
|
|
1618
1662
|
});
|
|
@@ -1620,7 +1664,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1620
1664
|
case 51:
|
|
1621
1665
|
_context9.prev = 51;
|
|
1622
1666
|
_context9.t1 = _context9["catch"](41);
|
|
1623
|
-
trackError('submit_error', {
|
|
1667
|
+
this.trackError('submit_error', {
|
|
1624
1668
|
d1: (_context9.t1 === null || _context9.t1 === void 0 ? void 0 : _context9.t1.code) || 'UNKNOWN',
|
|
1625
1669
|
d2: (_context9.t1 === null || _context9.t1 === void 0 ? void 0 : _context9.t1.message) || ''
|
|
1626
1670
|
});
|
|
@@ -1630,7 +1674,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1630
1674
|
cleanups.forEach(function (fn) {
|
|
1631
1675
|
try {
|
|
1632
1676
|
fn();
|
|
1633
|
-
} catch (
|
|
1677
|
+
} catch (_unused7) {
|
|
1634
1678
|
/* ignore cleanup error */
|
|
1635
1679
|
}
|
|
1636
1680
|
});
|
|
@@ -1646,7 +1690,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1646
1690
|
}
|
|
1647
1691
|
}, _callee9, this, [[7,, 59, 62], [12, 25], [41, 51, 55, 59]]);
|
|
1648
1692
|
}));
|
|
1649
|
-
function doSubmitPayment(
|
|
1693
|
+
function doSubmitPayment(_x16) {
|
|
1650
1694
|
return _doSubmitPayment.apply(this, arguments);
|
|
1651
1695
|
}
|
|
1652
1696
|
return doSubmitPayment;
|
|
@@ -1661,12 +1705,12 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1661
1705
|
case 0:
|
|
1662
1706
|
return _context10.abrupt("return", runApi('validateFields', function () {
|
|
1663
1707
|
return _this11.doValidateFields();
|
|
1664
|
-
}));
|
|
1708
|
+
}, undefined, undefined, this.merchantId));
|
|
1665
1709
|
case 1:
|
|
1666
1710
|
case "end":
|
|
1667
1711
|
return _context10.stop();
|
|
1668
1712
|
}
|
|
1669
|
-
}, _callee10);
|
|
1713
|
+
}, _callee10, this);
|
|
1670
1714
|
}));
|
|
1671
1715
|
function validateFields() {
|
|
1672
1716
|
return _validateFields.apply(this, arguments);
|
|
@@ -1685,7 +1729,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1685
1729
|
_context11.next = 3;
|
|
1686
1730
|
break;
|
|
1687
1731
|
}
|
|
1688
|
-
trackError('validate_not_ready', {
|
|
1732
|
+
this.trackError('validate_not_ready', {
|
|
1689
1733
|
d1: this.status
|
|
1690
1734
|
});
|
|
1691
1735
|
return _context11.abrupt("return", {
|
|
@@ -1695,7 +1739,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1695
1739
|
this.send(AMSMessageType.VALIDATE);
|
|
1696
1740
|
return _context11.abrupt("return", new Promise(function (resolve) {
|
|
1697
1741
|
var timer = setTimeout(function () {
|
|
1698
|
-
trackError('validate_fields_timeout', {
|
|
1742
|
+
_this12.trackError('validate_fields_timeout', {
|
|
1699
1743
|
d1: '15000'
|
|
1700
1744
|
});
|
|
1701
1745
|
resolve({
|
|
@@ -1705,7 +1749,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1705
1749
|
_this12.bridge.once(AMSMessageType.VALIDATE_REPLY, function (payload) {
|
|
1706
1750
|
clearTimeout(timer);
|
|
1707
1751
|
var isValid = !!(payload !== null && payload !== void 0 && payload.isValid);
|
|
1708
|
-
trackElement('validate_result', {
|
|
1752
|
+
_this12.trackElement('validate_result', {
|
|
1709
1753
|
d1: isValid ? 'valid' : 'invalid'
|
|
1710
1754
|
});
|
|
1711
1755
|
resolve(payload || {
|
|
@@ -1738,7 +1782,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1738
1782
|
}
|
|
1739
1783
|
}, _callee12);
|
|
1740
1784
|
}));
|
|
1741
|
-
function updatePayment(
|
|
1785
|
+
function updatePayment(_x17) {
|
|
1742
1786
|
return _updatePayment.apply(this, arguments);
|
|
1743
1787
|
}
|
|
1744
1788
|
return updatePayment;
|
|
@@ -1752,7 +1796,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1752
1796
|
key: "destroy",
|
|
1753
1797
|
value: function destroy() {
|
|
1754
1798
|
var _this$iframe;
|
|
1755
|
-
trackElement('destroy', {
|
|
1799
|
+
this.trackElement('destroy', {
|
|
1756
1800
|
d1: this.status
|
|
1757
1801
|
});
|
|
1758
1802
|
if (this.status === 'initialized' || this.status === 'destroyed') {
|
|
@@ -1869,7 +1913,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1869
1913
|
// 清理已存在的 modal
|
|
1870
1914
|
this.handleCloseModal();
|
|
1871
1915
|
var mode = device.isMobile ? 'mobile' : 'desktop';
|
|
1872
|
-
trackElement('open_modal', {
|
|
1916
|
+
this.trackElement('open_modal', {
|
|
1873
1917
|
d1: mode,
|
|
1874
1918
|
d2: (payload === null || payload === void 0 ? void 0 : payload.modalId) || ''
|
|
1875
1919
|
});
|
|
@@ -1881,7 +1925,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1881
1925
|
payload.url = url.toString();
|
|
1882
1926
|
} catch (e) {
|
|
1883
1927
|
var error = new OpenSDKError('Invalid URL', 'INVALID_MODAL_URL', 'APP_RUNTIME');
|
|
1884
|
-
trackError('open_modal_invalid_url', {
|
|
1928
|
+
this.trackError('open_modal_invalid_url', {
|
|
1885
1929
|
d1: 'INVALID_MODAL_URL',
|
|
1886
1930
|
d2: (payload === null || payload === void 0 ? void 0 : payload.url) || ''
|
|
1887
1931
|
});
|
|
@@ -1920,7 +1964,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1920
1964
|
destroy = _openModal.destroy;
|
|
1921
1965
|
var offReady = modalBridge.once(MessageType.MODAL_TRANSFER_READY, function (_payload, _ports, meta) {
|
|
1922
1966
|
if (meta && meta.source !== iframe.contentWindow) return;
|
|
1923
|
-
trackElement('modal_loaded', {
|
|
1967
|
+
_this15.trackElement('modal_loaded', {
|
|
1924
1968
|
d1: payload.url
|
|
1925
1969
|
});
|
|
1926
1970
|
// 确保 target 已设置(如果 load 事件尚未触发,在此设置)
|
|
@@ -1931,7 +1975,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1931
1975
|
if (iframeOrigin && iframeOrigin !== 'null') {
|
|
1932
1976
|
modalBridge.setOrigin(iframeOrigin);
|
|
1933
1977
|
}
|
|
1934
|
-
} catch (
|
|
1978
|
+
} catch (_unused8) {
|
|
1935
1979
|
// URL 解析失败时保持默认 origin
|
|
1936
1980
|
}
|
|
1937
1981
|
// 如果 payload 有 appearance,通过 TRANSFER_MODAL_APPEARANCE 消息发送给 modal
|
|
@@ -1949,7 +1993,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1949
1993
|
this.modalIframe = iframe;
|
|
1950
1994
|
this.modalDestroy = function () {
|
|
1951
1995
|
if (payload.closeConfirm) {
|
|
1952
|
-
trackElement('modal_close_confirm', {
|
|
1996
|
+
_this15.trackElement('modal_close_confirm', {
|
|
1953
1997
|
d1: 'confirm_resolved'
|
|
1954
1998
|
});
|
|
1955
1999
|
}
|
|
@@ -1966,7 +2010,7 @@ export var ModernElementController = /*#__PURE__*/function () {
|
|
|
1966
2010
|
key: "handleCloseModal",
|
|
1967
2011
|
value: function handleCloseModal() {
|
|
1968
2012
|
// 如果有等待中的 closeConfirm,resolve 它
|
|
1969
|
-
trackElement('modal_closed', {
|
|
2013
|
+
this.trackElement('modal_closed', {
|
|
1970
2014
|
d1: this.modalBridge ? 'with_bridge' : 'no_bridge'
|
|
1971
2015
|
});
|
|
1972
2016
|
if (this.modalBridge) {
|