@alipay/ams-checkout 0.0.1784626568-dev.13 → 0.0.1784626568-dev.14

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.
@@ -30,7 +30,7 @@ export var v2AppMarmotMap = {
30
30
  light_sandbox: 'https://checkout.antom.com',
31
31
  prod: 'https://checkout.antom.com'
32
32
  };
33
- export var sdkVersion = "0.0.1784626568-dev.13";
33
+ export var sdkVersion = "0.0.1784626568-dev.14";
34
34
 
35
35
  /**
36
36
  * @description: 目前应用层分为v1和v2,会存在两个应用版本号不是同步发布的情况。所以需要把默认的应用版本号配置抽离出来。
@@ -29,7 +29,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
29
29
  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; }
30
30
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
31
31
  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); }
32
- import { openModal, sdkQuery, getLocaleFromRenderData, getDevReqConfig, getMetaData, buildPageUrl, debugError, debug, MessageType, request, parseHostSign, SDKBridge, parseTrackerId, oneAccountQuery, OpenSDKError, awaitWrap, themeColorMap, ApplePayHostService, buildRecurringPaymentRequest, checkSessionData, sdkTracker } from "../../../../modern/tools";
32
+ import { openModal, sdkQuery, getLocaleFromRenderData, getDevReqConfig, getMetaData, buildPageUrl, debugError, debug, MessageType, request, parseHostSign, SDKBridge, parseTrackerId, oneAccountQuery, OpenSDKError, awaitWrap, themeColorMap, ApplePayHostService, checkSessionData, sdkTracker } from "../../../../modern/tools";
33
33
  import { device } from "../../../../util";
34
34
  import { EventCallbackCode } from "../type";
35
35
  import { adaptSubmitResult, adaptAppearance } from "./adapter";
@@ -88,9 +88,6 @@ var recoverSdkQueryBusinessResponse = function recoverSdkQueryBusinessResponse(e
88
88
  var MOUNT_TIMEOUT = 16000;
89
89
  var logger = new Logger(LogConfig, true);
90
90
  var ELEMENT_DESTROYED_MESSAGE = 'Element already destroyed';
91
- // 订阅/分期场景 ApplePaySession 版本:recurringPaymentRequest 需 v12+。
92
- // 对齐老链路 plugin/applepay/interface.ts 的 APPLE_PAY_RECURRING_VERSION = 14。
93
- var APPLE_PAY_RECURRING_VERSION = 14;
94
91
  var getDestroyedError = function getDestroyedError() {
95
92
  return {
96
93
  code: ERRORMESSAGE.UI_STATE_ERROR.code,
@@ -404,7 +401,7 @@ export var ModernElementController = /*#__PURE__*/function () {
404
401
  request.setGlobalOptions({
405
402
  hostSign: parseHostSign(sessionData),
406
403
  env: this.options.environment,
407
- sdkVersion: "0.0.1784626568-dev.13" || '',
404
+ sdkVersion: "0.0.1784626568-dev.14" || '',
408
405
  tracker: sdkTracker
409
406
  });
410
407
  isConnect = !!(parseData !== null && parseData !== void 0 && (_parseData$connectFac = parseData.connectFactor) !== null && _parseData$connectFac !== void 0 && _parseData$connectFac.enableConnect);
@@ -500,7 +497,7 @@ export var ModernElementController = /*#__PURE__*/function () {
500
497
  // 新sdk字段
501
498
  locale: locale,
502
499
  // 新sdk字段
503
- sdkVersion: "0.0.1784626568-dev.13" || '',
500
+ sdkVersion: "0.0.1784626568-dev.14" || '',
504
501
  // 新sdk字段
505
502
  merchantId: (sdkQueryResult === null || sdkQueryResult === void 0 || (_sdkQueryResult$data = sdkQueryResult.data) === null || _sdkQueryResult$data === void 0 ? void 0 : _sdkQueryResult$data.merchantId) || '',
506
503
  // 新sdk字段
@@ -717,7 +714,7 @@ export var ModernElementController = /*#__PURE__*/function () {
717
714
  var _handleGetApplePayToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(payload, onBeforeConfirm) {
718
715
  var _paymentMethod,
719
716
  _this3 = this;
720
- var sessionData, applePayProps, paymentRequest, merchantCapabilities, merchantInfo, paymentAmount, supportedNetworks, version, requiredBillingContactFields, requiredShippingContactFields, finalAmount, finalCurrency, capturedResult, recurringRequest, service, _capturedResult, errCode;
717
+ var sessionData, applePayProps, paymentRequest, merchantCapabilities, merchantInfo, paymentAmount, supportedNetworks, version, requiredBillingContactFields, requiredShippingContactFields, finalAmount, finalCurrency, capturedResult, service, _capturedResult, errCode;
721
718
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
722
719
  while (1) switch (_context5.prev = _context5.next) {
723
720
  case 0:
@@ -751,35 +748,21 @@ export var ModernElementController = /*#__PURE__*/function () {
751
748
  if (this._merchantCurrency) {
752
749
  finalCurrency = this._merchantCurrency;
753
750
  }
754
- // 订阅场景:从 sessionData 提取 recurringInfo 构造 recurringPaymentRequest。
755
- // 对齐老 ApplePaySdk 链路(parseData.paymentSessionFactor.recurringInfo)与
756
- // Express 链路(applePayHostToken.ts),否则 Chrome 非 Safari 会降级为普通支付弹窗。
757
- recurringRequest = buildRecurringPaymentRequest(sessionData, merchantInfo, {
758
- value: finalAmount,
759
- currency: finalCurrency
760
- });
761
751
  service = new ApplePayHostService({
762
- paymentRequest: _objectSpread({
752
+ paymentRequest: {
763
753
  countryCode: merchantInfo === null || merchantInfo === void 0 ? void 0 : merchantInfo.countryCode,
764
754
  currencyCode: finalCurrency,
765
755
  merchantCapabilities: merchantCapabilities,
766
756
  supportedNetworks: supportedNetworks,
767
757
  requiredBillingContactFields: requiredBillingContactFields,
768
758
  requiredShippingContactFields: requiredShippingContactFields,
769
- total: recurringRequest ? {
770
- type: 'final',
771
- label: recurringRequest.regularBilling.label,
772
- amount: finalAmount
773
- } : {
759
+ total: {
774
760
  type: 'final',
775
761
  label: (merchantInfo === null || merchantInfo === void 0 ? void 0 : merchantInfo.merchantName) || 'Payment',
776
762
  amount: finalAmount
777
763
  },
778
- version: recurringRequest ? APPLE_PAY_RECURRING_VERSION : version
779
- }, recurringRequest ? {
780
- lineItems: [recurringRequest.regularBilling],
781
- recurringPaymentRequest: recurringRequest
782
- } : {}),
764
+ version: version
765
+ },
783
766
  enableModalCloseListener: true,
784
767
  callbacks: {
785
768
  validateMerchant: function () {
@@ -903,10 +886,10 @@ export var ModernElementController = /*#__PURE__*/function () {
903
886
  }()
904
887
  }
905
888
  });
906
- _context5.prev = 15;
907
- _context5.next = 18;
889
+ _context5.prev = 14;
890
+ _context5.next = 17;
908
891
  return service.startPay();
909
- case 18:
892
+ case 17:
910
893
  trackElement('applepay_token_success', {
911
894
  d1: (_capturedResult = capturedResult) !== null && _capturedResult !== void 0 && _capturedResult.token ? 'has_token' : 'no_token'
912
895
  });
@@ -914,11 +897,11 @@ export var ModernElementController = /*#__PURE__*/function () {
914
897
  success: true,
915
898
  result: capturedResult
916
899
  });
917
- _context5.next = 26;
900
+ _context5.next = 25;
918
901
  break;
919
- case 22:
920
- _context5.prev = 22;
921
- _context5.t0 = _context5["catch"](15);
902
+ case 21:
903
+ _context5.prev = 21;
904
+ _context5.t0 = _context5["catch"](14);
922
905
  // 商户验证失败已在 validateMerchant 内单独埋点(applepay_merchant_validate_failed),此处跳过避免重复
923
906
  if ((_context5.t0 === null || _context5.t0 === void 0 ? void 0 : _context5.t0.errorCode) !== 'APPLE_PAY_PAYMENT_SESSION_REQUEST_FAILED') {
924
907
  errCode = (_context5.t0 === null || _context5.t0 === void 0 ? void 0 : _context5.t0.errorCode) || 'APPLE_PAY_NOT_SUPPORTED'; // 用户主动取消单独标记,便于区分取消与真实失败
@@ -939,11 +922,11 @@ export var ModernElementController = /*#__PURE__*/function () {
939
922
  errorCode: (_context5.t0 === null || _context5.t0 === void 0 ? void 0 : _context5.t0.errorCode) || 'APPLE_PAY_NOT_SUPPORTED'
940
923
  }
941
924
  });
942
- case 26:
925
+ case 25:
943
926
  case "end":
944
927
  return _context5.stop();
945
928
  }
946
- }, _callee5, this, [[15, 22]]);
929
+ }, _callee5, this, [[14, 21]]);
947
930
  }));
948
931
  function handleGetApplePayToken(_x4, _x5) {
949
932
  return _handleGetApplePayToken.apply(this, arguments);
@@ -1053,6 +1036,15 @@ export var ModernElementController = /*#__PURE__*/function () {
1053
1036
  var script = document.createElement('script');
1054
1037
  script.src = 'https://pay.google.com/gp/p/js/pay.js';
1055
1038
  script.async = true;
1039
+
1040
+ // 当判断条件成立时,代表 document.body.appendChild 方法已被劫持
1041
+ if (document.body.appendChild !== Node.prototype.appendChild) {
1042
+ // 使用原生 appendChild 避免微前端沙箱(如 qiankun)将动态 <script> 劫持为 fetch 加载,
1043
+ // 导致不支持 CORS 的第三方脚本(如 pay.google.com)加载失败
1044
+ Node.prototype.appendChild.call(document.body, script);
1045
+ } else {
1046
+ document.body.appendChild(script);
1047
+ }
1056
1048
  document.body.appendChild(script);
1057
1049
  script.onload = function () {
1058
1050
  loadAndPay();