@alipay/ams-checkout 0.0.1758783821-dev.1 → 0.0.1758783821-dev.12

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.
Files changed (59) hide show
  1. package/README.md +17 -1
  2. package/dist/umd/ams-checkout.min.js +1 -1
  3. package/esm/component/popupWindow.style.d.ts +1 -0
  4. package/esm/component/popupWindow.style.js +5 -2
  5. package/esm/config/index.d.ts +1 -0
  6. package/esm/config/index.js +2 -1
  7. package/esm/constant/index.d.ts +33 -12
  8. package/esm/constant/index.js +43 -18
  9. package/esm/core/component/element/EventCenter/index.d.ts +3 -1
  10. package/esm/core/component/element/EventCenter/index.js +48 -11
  11. package/esm/core/component/element/elementContainerService/containerService.d.ts +1 -0
  12. package/esm/core/component/element/elementContainerService/containerService.js +5 -0
  13. package/esm/core/component/element/elementController/index.d.ts +3 -8
  14. package/esm/core/component/element/elementController/index.js +151 -66
  15. package/esm/core/component/element/elementProcessor/addressProcessor.js +2 -3
  16. package/esm/core/component/element/elementProcessor/authProcessor.js +2 -3
  17. package/esm/core/component/element/elementProcessor/paymentProcessor.d.ts +2 -0
  18. package/esm/core/component/element/elementProcessor/paymentProcessor.js +36 -6
  19. package/esm/core/component/element/index.d.ts +3 -10
  20. package/esm/core/component/element/index.js +4 -1
  21. package/esm/core/component/element/mock.js +1 -0
  22. package/esm/core/component/element/type.d.ts +26 -6
  23. package/esm/core/component/element/type.js +18 -0
  24. package/esm/core/component/element/util.d.ts +6 -3
  25. package/esm/core/component/element/util.js +15 -2
  26. package/esm/foundation/core/index.js +28 -8
  27. package/esm/foundation/index.d.ts +1 -0
  28. package/esm/foundation/product-processor/easysafepay/index.js +4 -2
  29. package/esm/foundation/product-processor/element/index.js +1 -0
  30. package/esm/foundation/service/log/keys.js +2 -0
  31. package/esm/foundation/utils/payment_context_utils.js +1 -0
  32. package/esm/index.js +2 -1
  33. package/esm/plugin/component/cashierApp.d.ts +2 -0
  34. package/esm/plugin/component/cashierApp.js +2 -2
  35. package/esm/plugin/component/channel.js +20 -5
  36. package/esm/plugin/component/component.popup.style.d.ts +1 -0
  37. package/esm/plugin/component/component.popup.style.js +1 -1
  38. package/esm/plugin/component/index.d.ts +1 -0
  39. package/esm/plugin/component/index.js +9 -5
  40. package/esm/types/index.d.ts +18 -2
  41. package/esm/types/index.js +2 -1
  42. package/esm/util/index.js +4 -1
  43. package/esm/util/spm-map.d.ts +22 -2
  44. package/esm/util/spm-map.js +13 -1
  45. package/package.json +12 -7
  46. package/esm/core/component/oldElement/components/address.d.ts +0 -19
  47. package/esm/core/component/oldElement/components/address.js +0 -68
  48. package/esm/core/component/oldElement/components/auth.d.ts +0 -17
  49. package/esm/core/component/oldElement/components/auth.js +0 -60
  50. package/esm/core/component/oldElement/components/payment.d.ts +0 -19
  51. package/esm/core/component/oldElement/components/payment.js +0 -74
  52. package/esm/core/component/oldElement/index.d.ts +0 -59
  53. package/esm/core/component/oldElement/index.js +0 -956
  54. package/esm/core/component/oldElement/mock.d.ts +0 -6
  55. package/esm/core/component/oldElement/mock.js +0 -567
  56. package/esm/core/component/oldElement/type.d.ts +0 -354
  57. package/esm/core/component/oldElement/type.js +0 -81
  58. package/esm/core/component/oldElement/utils.d.ts +0 -13
  59. package/esm/core/component/oldElement/utils.js +0 -6
@@ -25,20 +25,23 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
25
25
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
26
  import { cleanMockup, removeRetentionPopup } from "../../../../component/component.popup.style";
27
27
  import { destroyModal } from "../../../../component/popupWindow.style";
28
- import { ERRORMESSAGE, EVENT } from "../../../../constant";
28
+ import { ERRORMESSAGE, EVENT, PROMISE_CALLBACK_CODE } from "../../../../constant";
29
29
  import AddressProcessor from "../../../../core/component/element/elementProcessor/addressProcessor";
30
30
  import AuthProcessor from "../../../../core/component/element/elementProcessor/authProcessor";
31
31
  import PaymentProcessor from "../../../../core/component/element/elementProcessor/paymentProcessor";
32
32
  import { IElementStatus } from "../../../../foundation";
33
33
  import { AntomSDKCore } from "../../../../foundation/core";
34
34
  import { ElementProcessor } from "../../../../foundation/product-processor/element";
35
+ import { ServiceProvider } from "../../../../foundation/service";
36
+ import { convertPaymentSession } from "../../../../foundation/utils/payment_context_utils";
35
37
  import { ProductSceneEnum } from "../../../../types";
38
+ import { ELEMENT_SPM_MAP } from "../../../../util/spm-map";
36
39
  import { ElementContainerService } from "../elementContainerService"; // 引入 ElementContainerService
37
40
  import { IContainerStatus } from "../elementContainerService/containerService";
38
41
  import { EventCenter as ElementEventCenter } from "../EventCenter/index";
39
42
  import { oneAccountUpdate, sdkActionUpdate } from "../mock";
40
- import { ElementPaymentEvent, ElementPaymentMethod, ElementType, EventCallbackCode, EXPOSURE_API_EVENT, MountElementType } from "../type";
41
- import { checkCanMount, checkCanUpdate, handleRedirect, isLoadErrorPage, showToast } from "../util";
43
+ import { ElementPaymentEvent, ElementPaymentMethod, ElementType, EventCallbackCode, EXPOSURE_API_EVENT, MountElementType, PaymentStatus } from "../type";
44
+ import { checkCanMount, checkCanUpdate, handleRedirect, isLoadErrorPage, safeStringify, showToast } from "../util";
42
45
  var TIMEOUT_DURATION = 10000;
43
46
  var ElementController = /*#__PURE__*/function () {
44
47
  function ElementController(options) {
@@ -127,6 +130,12 @@ var ElementController = /*#__PURE__*/function () {
127
130
  message = _ref$message === void 0 ? '' : _ref$message,
128
131
  _ref$result = _ref.result,
129
132
  result = _ref$result === void 0 ? undefined : _ref$result;
133
+ this.serviceMap.Log.logInfo({
134
+ title: 'sdk_event_event_callback'
135
+ }, {
136
+ eventCode: safeStringify(code || ''),
137
+ eventMessage: safeStringify(message || '')
138
+ });
130
139
  this === null || this === void 0 || (_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, {
131
140
  code: code,
132
141
  message: message,
@@ -139,9 +148,10 @@ var ElementController = /*#__PURE__*/function () {
139
148
  }, {
140
149
  key: "handleInitializationError",
141
150
  value: function handleInitializationError() {
151
+ var errorCode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.CALL_APP_URL_ERROR;
142
152
  this.changeLoading(false);
143
153
  this.setControllerStatusOrView(IElementStatus.READY);
144
- this.onEventCallback(ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.CALL_APP_URL_ERROR);
154
+ this.onEventCallback(errorCode);
145
155
  this.elementContainerService.getContainerServices().forEach(function (value) {
146
156
  value.getContainerElement().remove();
147
157
  });
@@ -180,7 +190,10 @@ var ElementController = /*#__PURE__*/function () {
180
190
  return setTimeout(function () {
181
191
  clearTimeout(_this.initTimeout);
182
192
  _this.initTimeout = null;
183
- _this.handleInitializationError();
193
+ _this.handleInitializationError(ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.LOAD_APP_TIME_OUT);
194
+ _this.serviceMap.Log.logInfo({
195
+ title: 'sdk_event_web_app_timeout'
196
+ });
184
197
  resolve({
185
198
  error: ERRORMESSAGE.INITALIZE_TIMEOUT.WEB
186
199
  });
@@ -199,6 +212,13 @@ var ElementController = /*#__PURE__*/function () {
199
212
  options: options
200
213
  });
201
214
  this.elementProcessors[type].registerEventCenter(this.elementContainerService.getEventService(type));
215
+ // 渲染后instance已变更,更新埋点源数据,修复埋点没有sessionData的问题
216
+ var newInstanceId = this.elementContainerService.getContainerService(type).getInstanceId();
217
+ var paymentContext = this.elementContainer.getPaymentContext();
218
+ ServiceProvider.getInstance(newInstanceId).update(paymentContext);
219
+ // 更新埋点service
220
+ this.serviceMap.Log = ServiceProvider.getInstance(newInstanceId).getService('Log');
221
+ this.elementProcessors[type].registerEventCenter(this.elementContainerService.getEventService(type));
202
222
  this.elementProcessors[type].beforeMount();
203
223
  }
204
224
  // 处理业务流程启动失败
@@ -222,7 +242,9 @@ var ElementController = /*#__PURE__*/function () {
222
242
  key: "mount",
223
243
  value: function mount(renderOptions, sdkSelector) {
224
244
  var _this2 = this;
225
- var startEventId = this.elementEventCenter.registerEvent(EXPOSURE_API_EVENT.MOUNT);
245
+ var _convertPaymentSessio = convertPaymentSession(this.options.sessionData),
246
+ sessionData = _convertPaymentSessio.id;
247
+ var startEventId = this.elementEventCenter.registerEvent(EXPOSURE_API_EVENT.MOUNT, sessionData);
226
248
  return new Promise(function (resolve) {
227
249
  var checkMountResult = checkCanMount({
228
250
  sdkSelector: sdkSelector,
@@ -230,8 +252,12 @@ var ElementController = /*#__PURE__*/function () {
230
252
  containerService: _this2.elementContainerService.getContainerService(renderOptions.type)
231
253
  });
232
254
  var readyCallback = function readyCallback(payload) {
233
- _this2.elementEventCenter.endEvent(startEventId, payload);
234
- resolve(payload);
255
+ _this2.elementEventCenter.endEvent(startEventId, {
256
+ msg: safeStringify(payload)
257
+ });
258
+ resolve(_objectSpread(_objectSpread({}, payload || {}), {}, {
259
+ needChangeSessionForRetry: false
260
+ }));
235
261
  };
236
262
  if (!checkMountResult.success) {
237
263
  _this2.handleMountError({
@@ -316,33 +342,54 @@ var ElementController = /*#__PURE__*/function () {
316
342
  value: function () {
317
343
  var _submitPayment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
318
344
  var _this3 = this;
319
- var startEventId, res, recordResult;
345
+ var startEventId, res, logParams, recordResult, _recordResult, _recordResult2, _recordResult3, _recordResult4, _recordResult5, _logParams;
320
346
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
321
347
  while (1) switch (_context4.prev = _context4.next) {
322
348
  case 0:
349
+ this.serviceMap.Log.logInfo({
350
+ title: 'sdk_event_submitPay'
351
+ });
323
352
  startEventId = this.elementEventCenter.registerEvent(EXPOSURE_API_EVENT.SUBMITPAYMENT);
324
353
  if (!(this.elementContainer.getStatus() !== IElementStatus.IN_BIZ_FLOW)) {
325
- _context4.next = 5;
354
+ _context4.next = 7;
326
355
  break;
327
356
  }
328
357
  res = {
329
- error: ERRORMESSAGE.CONTAINER_NOT_LOADED
358
+ error: ERRORMESSAGE.UI_STATE_ERROR,
359
+ status: PaymentStatus.FAIL,
360
+ needChangeSessionForRetry: false
361
+ };
362
+ logParams = {
363
+ eventCode: PaymentStatus.FAIL,
364
+ errorName: ERRORMESSAGE.UI_STATE_ERROR.code,
365
+ needChangeSessionForRetry: false,
366
+ msg: safeStringify(res)
330
367
  };
331
- this.elementEventCenter.endEvent(startEventId, res);
368
+ this.elementEventCenter.endEvent(startEventId, logParams);
332
369
  return _context4.abrupt("return", Promise.resolve(res));
333
- case 5:
370
+ case 7:
334
371
  this.changeLoading(true);
335
372
  recordResult = null;
336
- _context4.prev = 7;
337
- _context4.next = 10;
373
+ _context4.prev = 9;
374
+ _context4.next = 12;
338
375
  return new Promise( /*#__PURE__*/function () {
339
376
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(resolve) {
340
- var params, processStep, _yield$_this3$onValid2, data, errorResult;
377
+ var that, recordResultCallback, params, processStep, _yield$_this3$onValid2, data, errorResult;
341
378
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
342
379
  while (1) switch (_context3.prev = _context3.next) {
343
380
  case 0:
344
- _context3.prev = 0;
345
- _this3.submitPayPromise = resolve;
381
+ recordResultCallback = function _recordResultCallback(result) {
382
+ if (result instanceof Object) {
383
+ var _that$elementProcesso;
384
+ var needChangeSessionForRetry = typeof (result === null || result === void 0 ? void 0 : result.needChangeSessionForRetry) === 'undefined' ? (_that$elementProcesso = that.elementProcessors[ElementType.payment]) === null || _that$elementProcesso === void 0 || (_that$elementProcesso = _that$elementProcesso.obtainDataRes) === null || _that$elementProcesso === void 0 || (_that$elementProcesso = _that$elementProcesso.originActionQueryResult) === null || _that$elementProcesso === void 0 ? void 0 : _that$elementProcesso.notSupportRetryPayForSameSession : result === null || result === void 0 ? void 0 : result.needChangeSessionForRetry;
385
+ result.needChangeSessionForRetry = needChangeSessionForRetry || false;
386
+ }
387
+ recordResult = result;
388
+ resolve(recordResult);
389
+ };
390
+ that = _this3;
391
+ _context3.prev = 2;
392
+ _this3.submitPayPromise = recordResultCallback;
346
393
  params = {}; // 统一处理逻辑
347
394
  processStep = /*#__PURE__*/function () {
348
395
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(elementType, method) {
@@ -366,8 +413,9 @@ var ElementController = /*#__PURE__*/function () {
366
413
  _context2.next = 11;
367
414
  break;
368
415
  }
416
+ // TODO 先快速修复类型, 这里结构和标准返回不一致 @马杰
369
417
  recordResult = data;
370
- resolve(data);
418
+ recordResultCallback(recordResult);
371
419
  return _context2.abrupt("return", false);
372
420
  case 11:
373
421
  return _context2.abrupt("return", true);
@@ -381,70 +429,86 @@ var ElementController = /*#__PURE__*/function () {
381
429
  return _ref4.apply(this, arguments);
382
430
  };
383
431
  }(); // 按顺序处理步骤
384
- _context3.next = 6;
432
+ _context3.next = 8;
385
433
  return processStep(ElementType.auth, ElementPaymentMethod.AUTH_ELEMENT);
386
- case 6:
434
+ case 8:
387
435
  if (_context3.sent) {
388
- _context3.next = 8;
436
+ _context3.next = 10;
389
437
  break;
390
438
  }
391
439
  return _context3.abrupt("return");
392
- case 8:
393
- _context3.next = 10;
394
- return processStep(ElementType.address, ElementPaymentMethod.ADDRESS_ELEMENT);
395
440
  case 10:
441
+ _context3.next = 12;
442
+ return processStep(ElementType.address, ElementPaymentMethod.ADDRESS_ELEMENT);
443
+ case 12:
396
444
  if (_context3.sent) {
397
- _context3.next = 12;
445
+ _context3.next = 14;
398
446
  break;
399
447
  }
400
448
  return _context3.abrupt("return");
401
- case 12:
449
+ case 14:
402
450
  if (!_this3.elementProcessors[ElementType.payment]) {
403
- _context3.next = 19;
451
+ _context3.next = 21;
404
452
  break;
405
453
  }
406
- _context3.next = 15;
454
+ _context3.next = 17;
407
455
  return _this3.onValidateAndSubmitPay(_this3.elementProcessors[ElementType.payment].eventCenter, ElementPaymentMethod.PAYMENT_ELEMENT, params);
408
- case 15:
456
+ case 17:
409
457
  _yield$_this3$onValid2 = _context3.sent;
410
458
  data = _yield$_this3$onValid2.data;
459
+ // TODO 先快速修复类型, 这里结构和标准返回不一致 @马杰
460
+ // TODO checkout 返回的错误未包含 status 和 message @马杰 @薛浩
411
461
  recordResult = data;
412
- resolve(data);
413
- case 19:
414
- _context3.next = 26;
415
- break;
462
+ recordResultCallback(recordResult);
416
463
  case 21:
417
- _context3.prev = 21;
418
- _context3.t0 = _context3["catch"](0);
464
+ _context3.next = 29;
465
+ break;
466
+ case 23:
467
+ _context3.prev = 23;
468
+ _context3.t0 = _context3["catch"](2);
419
469
  errorResult = {
420
470
  error: _objectSpread(_objectSpread({}, ERRORMESSAGE.ERR_DATA_STRUCT_UNRECOGNIZED), {}, {
421
471
  context: JSON.stringify(_context3.t0)
422
- })
472
+ }),
473
+ status: PaymentStatus.FAIL
423
474
  };
475
+ _this3.serviceMap.Log.logError({
476
+ title: ELEMENT_SPM_MAP.sdk_element_missKeyData
477
+ }, {
478
+ msg: JSON.stringify(errorResult)
479
+ });
424
480
  recordResult = errorResult;
425
- resolve(errorResult);
426
- case 26:
481
+ recordResultCallback(errorResult);
482
+ case 29:
427
483
  case "end":
428
484
  return _context3.stop();
429
485
  }
430
- }, _callee3, null, [[0, 21]]);
486
+ }, _callee3, null, [[2, 23]]);
431
487
  }));
432
488
  return function (_x) {
433
489
  return _ref3.apply(this, arguments);
434
490
  };
435
491
  }());
436
- case 10:
492
+ case 12:
437
493
  return _context4.abrupt("return", _context4.sent);
438
- case 11:
439
- _context4.prev = 11;
440
- this.elementEventCenter.endEvent(startEventId, recordResult);
494
+ case 13:
495
+ _context4.prev = 13;
496
+ _logParams = {
497
+ eventCode: (_recordResult = recordResult) === null || _recordResult === void 0 ? void 0 : _recordResult.status,
498
+ errorName: (_recordResult2 = recordResult) === null || _recordResult2 === void 0 || (_recordResult2 = _recordResult2.error) === null || _recordResult2 === void 0 ? void 0 : _recordResult2.code,
499
+ errormessage: (_recordResult3 = recordResult) === null || _recordResult3 === void 0 || (_recordResult3 = _recordResult3.error) === null || _recordResult3 === void 0 ? void 0 : _recordResult3.message,
500
+ needChangeSessionForRetry: (_recordResult4 = recordResult) === null || _recordResult4 === void 0 ? void 0 : _recordResult4.needChangeSessionForRetry,
501
+ rpcTraceId: (_recordResult5 = recordResult) === null || _recordResult5 === void 0 || (_recordResult5 = _recordResult5.error) === null || _recordResult5 === void 0 ? void 0 : _recordResult5.traceId,
502
+ msg: safeStringify(recordResult)
503
+ };
504
+ this.elementEventCenter.endEvent(startEventId, _logParams);
441
505
  this.changeLoading(false);
442
- return _context4.finish(11);
443
- case 15:
506
+ return _context4.finish(13);
507
+ case 18:
444
508
  case "end":
445
509
  return _context4.stop();
446
510
  }
447
- }, _callee4, this, [[7,, 11, 15]]);
511
+ }, _callee4, this, [[9,, 13, 18]]);
448
512
  }));
449
513
  function submitPayment() {
450
514
  return _submitPayment.apply(this, arguments);
@@ -499,6 +563,7 @@ var ElementController = /*#__PURE__*/function () {
499
563
  handleRedirect(data, false, onEventCallback);
500
564
  });
501
565
  this.serviceMap.EventCenter.listen(EVENT.destroy.name, function () {
566
+ _this4.changeLoading(false);
502
567
  _this4.setControllerStatusOrView(IElementStatus.READY);
503
568
  _this4.destroyHandle();
504
569
  });
@@ -534,7 +599,7 @@ var ElementController = /*#__PURE__*/function () {
534
599
  value: function () {
535
600
  var _sendRequestAndWaitWebLaunch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(renderOptions, readyCallback) {
536
601
  var _this5 = this;
537
- var type, options, containerService, _yield$Promise$all, _yield$Promise$all2, _, obtainDataResult, error;
602
+ var type, options, containerService, _yield$Promise$all, _yield$Promise$all2, _, obtainDataResult, errorResult;
538
603
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
539
604
  while (1) switch (_context5.prev = _context5.next) {
540
605
  case 0:
@@ -545,7 +610,7 @@ var ElementController = /*#__PURE__*/function () {
545
610
  _context5.next = 7;
546
611
  break;
547
612
  }
548
- this.handleInitializationError();
613
+ this.handleInitializationError(ERRORMESSAGE.SDK_LAUNCH_PAYMENT_APP_ERROR.CONTAINER_NOT_EXIST);
549
614
  // 容器服务不存在,直接返回
550
615
  readyCallback({
551
616
  error: ERRORMESSAGE.UI_STATE_ERROR
@@ -559,23 +624,24 @@ var ElementController = /*#__PURE__*/function () {
559
624
  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
560
625
  _ = _yield$Promise$all2[0];
561
626
  obtainDataResult = _yield$Promise$all2[1];
627
+ this.serviceMap.Log.logInfo({
628
+ title: 'sdk_event_webAppOnLaunch'
629
+ });
562
630
  containerService === null || containerService === void 0 || containerService.switchContainerStatus(IContainerStatus.READY);
563
- error = this.getErrorFromResponse(obtainDataResult);
564
- if (error) {
631
+ errorResult = this.getErrorFromResponse(obtainDataResult);
632
+ if (errorResult) {
565
633
  // 仅结束resove,传出回调码
566
- readyCallback({
567
- error: error
568
- });
634
+ readyCallback(errorResult);
569
635
  }
570
636
  if (this.areAllContainersReady()) {
571
637
  this.elementContainerService.getContainerServices().forEach(function (_, key) {
572
638
  _this5.sendReady(key, options);
573
639
  });
574
640
  }
575
- _context5.next = 23;
641
+ _context5.next = 24;
576
642
  break;
577
- case 19:
578
- _context5.prev = 19;
643
+ case 20:
644
+ _context5.prev = 20;
579
645
  _context5.t0 = _context5["catch"](1);
580
646
  this.handleInitializationError();
581
647
  readyCallback({
@@ -583,11 +649,11 @@ var ElementController = /*#__PURE__*/function () {
583
649
  traceId: _context5.t0 === null || _context5.t0 === void 0 ? void 0 : _context5.t0.traceId
584
650
  })
585
651
  });
586
- case 23:
652
+ case 24:
587
653
  case "end":
588
654
  return _context5.stop();
589
655
  }
590
- }, _callee5, this, [[1, 19]]);
656
+ }, _callee5, this, [[1, 20]]);
591
657
  }));
592
658
  function sendRequestAndWaitWebLaunch(_x4, _x5) {
593
659
  return _sendRequestAndWaitWebLaunch.apply(this, arguments);
@@ -600,14 +666,33 @@ var ElementController = /*#__PURE__*/function () {
600
666
  if (isLoadErrorPage(response === null || response === void 0 ? void 0 : response.originActionQueryResult)) {
601
667
  var _response$originActio = response.originActionQueryResult,
602
668
  traceId = _response$originActio.traceId,
603
- errorCode = _response$originActio.errorCode;
604
- var baseError = ERRORMESSAGE.ERR_DATA_STRUCT_UNRECOGNIZED;
605
- if ([ERRORMESSAGE.INQUIRY_PAYMENT_SESSION_FAILED.code, ERRORMESSAGE.UNKNOWN_EXCEPTION.code].includes(errorCode)) {
606
- baseError = ERRORMESSAGE[errorCode];
669
+ errorCode = _response$originActio.errorCode,
670
+ errorMessage = _response$originActio.errorMessage;
671
+ var error = {
672
+ code: errorCode,
673
+ message: errorMessage || ERRORMESSAGE.ERR_DATA_STRUCT_UNRECOGNIZED.message
674
+ };
675
+ if (!errorCode) {
676
+ error = _objectSpread({}, ERRORMESSAGE.ERR_DATA_STRUCT_UNRECOGNIZED);
607
677
  }
608
- return _objectSpread(_objectSpread({}, baseError), {}, {
609
- traceId: traceId !== null && traceId !== void 0 ? traceId : ''
610
- });
678
+ if (PROMISE_CALLBACK_CODE[errorCode]) {
679
+ var _PROMISE_CALLBACK_COD;
680
+ error = {
681
+ code: PROMISE_CALLBACK_CODE[errorCode].code,
682
+ message: ((_PROMISE_CALLBACK_COD = PROMISE_CALLBACK_CODE[errorCode]) === null || _PROMISE_CALLBACK_COD === void 0 ? void 0 : _PROMISE_CALLBACK_COD.message) || errorMessage
683
+ };
684
+ } else {
685
+ this.serviceMap.Log.logError({
686
+ title: ELEMENT_SPM_MAP.sdk_element_missKeyData
687
+ }, {
688
+ rpcTraceId: traceId
689
+ });
690
+ }
691
+ return {
692
+ error: _objectSpread(_objectSpread({}, error), {}, {
693
+ traceId: traceId !== null && traceId !== void 0 ? traceId : ''
694
+ })
695
+ };
611
696
  }
612
697
  return null;
613
698
  }
@@ -21,7 +21,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
21
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
22
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
23
23
  import { parseSessionData } from "../..";
24
- import PackageJson from "../../../../../package.json";
24
+ import { ADDRESSElementAppVersion } from "../../../../config";
25
25
  import { ProductSceneEnum } from "../../../../types";
26
26
  import { generateIframeSrc as _generateIframeSrc } from "../util";
27
27
  import BaseElementProcessor from "./baseElementProcessor";
@@ -95,8 +95,7 @@ var AddressProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
95
95
  environment = _this$options.env.environment,
96
96
  analytics = _this$options.analytics,
97
97
  locale = _this$options.locale;
98
- var version = PackageJson.version;
99
- var pageUrl = "/element-address/".concat(version, "/pages/address/index.html");
98
+ var pageUrl = "/element-address/".concat(ADDRESSElementAppVersion, "/pages/address/index.html");
100
99
  return _generateIframeSrc({
101
100
  paymentSession: paymentSession,
102
101
  paymentSessionObj: paymentSessionObj,
@@ -17,8 +17,8 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
17
17
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
18
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
19
19
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
20
+ import { AUTHElementAppVersion } from "../../../../config";
20
21
  import { parseSessionData } from "../../index";
21
- import PackageJson from "../../../../../package.json";
22
22
  import { generateIframeSrc as _generateIframeSrc } from "../util";
23
23
  import BaseElementProcessor from "./baseElementProcessor";
24
24
  var AuthProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
@@ -69,8 +69,7 @@ var AuthProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
69
69
  environment = _this$options.env.environment,
70
70
  analytics = _this$options.analytics,
71
71
  locale = _this$options.locale;
72
- var version = PackageJson.version;
73
- var pageUrl = "/auth-element/".concat(version, "/pages/element_auth/index.html");
72
+ var pageUrl = "/auth-element/".concat(AUTHElementAppVersion, "/pages/element_auth/index.html");
74
73
  return _generateIframeSrc({
75
74
  paymentSession: paymentSession,
76
75
  paymentSessionObj: paymentSessionObj,
@@ -1,7 +1,9 @@
1
+ import { LogService } from '../../../../foundation/service/log';
1
2
  import BaseElementProcessor from './baseElementProcessor';
2
3
  declare class PaymentProcessor extends BaseElementProcessor {
3
4
  private ApplePayService;
4
5
  onReady(extraParam: any): void;
6
+ getLogger(): LogService;
5
7
  private addEventListener;
6
8
  private initApplePaySdk;
7
9
  beforeMount(): void;
@@ -23,7 +23,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
23
23
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
24
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
25
25
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
- import PackageJson from "../../../../../package.json";
26
+ import { AMSPaymentElementAppVersion } from "../../../../config";
27
27
  import { EVENT } from "../../../../constant";
28
28
  import { ServiceProvider } from "../../../../foundation/service";
29
29
  import { ApplePaySdk, handleGooglePay, isSkipRenderPaymentMethod } from "../../../../plugin/component/channel";
@@ -31,7 +31,7 @@ import { queryParse } from "../../../../util";
31
31
  import { LogConfig, Logger } from "../../../../util/logger";
32
32
  import { parseSessionData } from "../../index";
33
33
  import { oneAccount, sdkAction } from "../mock";
34
- import { generateIframeSrc as _generateIframeSrc, isElementPad, isElementPC } from "../util";
34
+ import { generateIframeSrc as _generateIframeSrc, isElementPad, isElementPC, safeStringify } from "../util";
35
35
  import BaseElementProcessor from "./baseElementProcessor";
36
36
  var logger = new Logger(LogConfig, true);
37
37
  var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
@@ -54,6 +54,9 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
54
54
  value: function onReady(extraParam) {
55
55
  var _this$elementContaine, _this$elementContaine2, _this$elementContaine3, _this$elementContaine4, _this$elementContaine5;
56
56
  var paymentContext = this.elementContainer.getPaymentContext();
57
+ this.getLogger().logInfo({
58
+ title: 'sdk_event_renderComponent'
59
+ });
57
60
  this.eventCenter.dispatchToApp({
58
61
  event: 'renderComponent',
59
62
  data: {
@@ -80,6 +83,11 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
80
83
  }
81
84
  });
82
85
  }
86
+ }, {
87
+ key: "getLogger",
88
+ value: function getLogger() {
89
+ return ServiceProvider.getInstance(this.instanceId).getService('Log');
90
+ }
83
91
  }, {
84
92
  key: "addEventListener",
85
93
  value: function addEventListener() {
@@ -215,13 +223,12 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
215
223
  locale = _this$options.locale;
216
224
  var _ref3 = paymentSessionObj || {},
217
225
  extendInfo = _ref3.extendInfo;
218
- var version = PackageJson.version;
219
- var pageUrl = "/elements/".concat(version, "/pages/element_payment/index.html");
226
+ var pageUrl = "/elements/".concat(AMSPaymentElementAppVersion, "/pages/element_payment/index.html");
220
227
  try {
221
228
  var _JSON$parse;
222
229
  var expressCheckout = JSON.parse((_JSON$parse = JSON.parse(extendInfo)) === null || _JSON$parse === void 0 ? void 0 : _JSON$parse.expressCheckout);
223
230
  if (expressCheckout) {
224
- pageUrl = "/elements/".concat(version, "/pages/express_checkout/index.html");
231
+ pageUrl = "/elements/".concat(AMSPaymentElementAppVersion, "/pages/express_checkout/index.html");
225
232
  }
226
233
  } catch (error) {}
227
234
  var url = _generateIframeSrc({
@@ -242,7 +249,8 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
242
249
  key: "obtainData",
243
250
  value: function () {
244
251
  var _obtainData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
245
- var _paymentSessionObj$co;
252
+ var _paymentSessionObj$co,
253
+ _this3 = this;
246
254
  var requestService, _this$elementContaine8, paymentSession, paymentSessionObj, displayInfo, _displayInfo, debugProps, _this$options2, environment, locale, _ref4, paymentSessionConfig, hostSign, isConnect, LOCAL_MOCK, _queryParse, appType, terminalType, generateActionQueryPromise, generateOneAccountQueryPromise, _yield$Promise$all, _yield$Promise$all2, originActionQueryResult, originOneAccountQueryResult;
247
255
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
248
256
  while (1) switch (_context2.prev = _context2.next) {
@@ -292,9 +300,31 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
292
300
  // TODO dev环境接口超时
293
301
  'Operation-Type': 'com.ipay.iexpcashier.sdkAction.query'
294
302
  }).then(function (result) {
303
+ if (!result.success) {
304
+ _this3.getLogger().logError({
305
+ title: 'sdk_event_sdkQuery_failed'
306
+ }, {
307
+ config: safeStringify(paymentSessionConfig),
308
+ errorMessage: safeStringify((result === null || result === void 0 ? void 0 : result.errorMessage) || ''),
309
+ rpcTraceId: result === null || result === void 0 ? void 0 : result.traceId
310
+ });
311
+ } else {
312
+ _this3.getLogger().logInfo({
313
+ title: 'sdk_event_sdkQueryEnd'
314
+ }, {
315
+ config: safeStringify(paymentSessionConfig),
316
+ rpcTraceId: result === null || result === void 0 ? void 0 : result.traceId
317
+ });
318
+ }
295
319
  resolve(result);
296
320
  }, function (e) {
297
321
  reject(e);
322
+ _this3.getLogger().logError({
323
+ title: 'sdk_event_sdkQuery_failed'
324
+ }, {
325
+ config: safeStringify(paymentSessionConfig),
326
+ errorMessage: safeStringify(e)
327
+ });
298
328
  });
299
329
  });
300
330
  };
@@ -1,20 +1,13 @@
1
- import { AddressMountOptions, AddressMountResult, IElementOptions, LinkAuthMountOptions, LinkAuthMountResult, PaymentMountOptions, PaymentMountResult } from './type';
1
+ import { IElementOptions, PaymentMountOptions } from './type';
2
2
  export declare class ElementComponent {
3
3
  private options;
4
4
  private controller;
5
5
  constructor(options: IElementOptions);
6
6
  updatePayment(paymentSessionData: any): Promise<unknown>;
7
- mount(renderOptions: LinkAuthMountOptions, sdkSelector: string): LinkAuthMountResult;
8
- mount(renderOptions: AddressMountOptions, sdkSelector: string): AddressMountResult;
9
- mount(renderOptions: PaymentMountOptions, sdkSelector: string): PaymentMountResult;
7
+ mount(renderOptions: PaymentMountOptions, sdkSelector: string): Promise<import("./type").ICommonApiResponse>;
10
8
  validateFields(): Promise<{
11
9
  isValid: boolean;
12
10
  }>;
13
- submitPayment(): Promise<import("./type").IMerchantResponse | {
14
- error: {
15
- code: string;
16
- message: string;
17
- };
18
- }>;
11
+ submitPayment(): Promise<import("./type").IPaymentApiResponse>;
19
12
  destroy(): void;
20
13
  }
@@ -43,7 +43,10 @@ export var ElementComponent = /*#__PURE__*/function () {
43
43
  return _updatePayment.apply(this, arguments);
44
44
  }
45
45
  return updatePayment;
46
- }()
46
+ }() // 暂不透出 link 和 address element
47
+ // mount(renderOptions: LinkAuthMountOptions, sdkSelector: string): LinkAuthMountResult;
48
+ // mount(renderOptions: AddressMountOptions, sdkSelector: string): AddressMountResult;
49
+ // mount(renderOptions: PaymentMountOptions, sdkSelector: string);
47
50
  }, {
48
51
  key: "mount",
49
52
  value: function mount(renderOptions, sdkSelector) {
@@ -1,4 +1,5 @@
1
1
  export var sdkAction1 = {
2
+ notSupportRetryPayForSameSession: false,
2
3
  accountInfo: {
3
4
  accountStatus: 'EFFECTIVE',
4
5
  email: 'test10@test.com'