@alipay/ams-checkout 0.0.1782095417-dev.2 → 0.0.1782095417-dev.3

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.
@@ -20,7 +20,7 @@ export declare class AMSCheckoutPage {
20
20
  /**
21
21
  * 挂载组件
22
22
  */
23
- mountComponent(params: Pick<IcreateComponent, 'sessionData'>, selector: string): Promise<void>;
23
+ mountComponent(params: Pick<IcreateComponent, 'sessionData' | 'isDemoMode'>, selector: string): Promise<void>;
24
24
  /**
25
25
  * 卸载组件
26
26
  */
@@ -50,7 +50,7 @@ export var AMSCheckoutPage = /*#__PURE__*/function () {
50
50
  _defineProperty(this, "originOptions", void 0);
51
51
  _defineProperty(this, "APP_IFRAME_ID", 'antom-checkout-page-sub-page-iframe');
52
52
  _defineProperty(this, "eventListener", void 0);
53
- _defineProperty(this, "generateIframeSrc", function (sessionData) {
53
+ _defineProperty(this, "generateIframeSrc", function (sessionData, isDemoMode) {
54
54
  var env = _this.originOptions.environment || 'prod';
55
55
  var session = sessionData || '';
56
56
  var lang = _this.originOptions.locale || 'en_US';
@@ -66,6 +66,9 @@ export var AMSCheckoutPage = /*#__PURE__*/function () {
66
66
  if (env === 'sandbox') {
67
67
  queryObj.shadow = 'true';
68
68
  }
69
+ if (isDemoMode) {
70
+ queryObj.demoMode = 'true';
71
+ }
69
72
  Object.keys(queryObj).forEach(function (key) {
70
73
  url += "".concat(url.includes('?') ? '&' : '?').concat(key, "=").concat(encodeURIComponent(queryObj[key]));
71
74
  });
@@ -177,7 +180,7 @@ export var AMSCheckoutPage = /*#__PURE__*/function () {
177
180
  throw new Error('PARAMS_ERROR_ALREADY_MOUNTED');
178
181
  }
179
182
  this.addListener();
180
- var ckpPageAddress = this.generateIframeSrc(params.sessionData);
183
+ var ckpPageAddress = this.generateIframeSrc(params.sessionData, params.isDemoMode);
181
184
  var iframe = document.createElement('iframe');
182
185
  iframe.id = this.APP_IFRAME_ID;
183
186
  iframe.src = ckpPageAddress;
@@ -8,7 +8,6 @@ interface ElementProcessorOptions {
8
8
  mode: string;
9
9
  analytics?: Ianalytics;
10
10
  product: string;
11
- preview?: boolean | 'web' | 'mobile';
12
11
  }
13
12
  declare abstract class BaseElementProcessor {
14
13
  elementContainer: AntomSDKCore;
@@ -57,7 +57,6 @@ var BaseElementProcessor = /*#__PURE__*/function () {
57
57
  _setEnv();
58
58
  this.options.locale = (options === null || options === void 0 ? void 0 : options.locale) || '';
59
59
  this.options.product = options === null || options === void 0 ? void 0 : options.product;
60
- this.options.preview = options === null || options === void 0 ? void 0 : options.preview;
61
60
  }
62
61
  }, {
63
62
  key: "registerElementContainer",
@@ -23,11 +23,6 @@ declare class PaymentProcessor extends BaseElementProcessor {
23
23
  instanceId: any;
24
24
  }): string;
25
25
  obtainData(): Promise<any>;
26
- /**
27
- * 构建预览模式的 mock 数据
28
- * 合并 mock.ts 的硬编码数据和 mount 传入的 paymentMethods 配置
29
- */
30
- private buildPreviewMockData;
31
26
  getValue(): any;
32
27
  update({ data, paymentSessionData }: {
33
28
  data: any;
@@ -27,13 +27,11 @@ import { ELEMENT_PAGE_URL } from "../../../../constant/element";
27
27
  import { EVENT } from "../../../../constant";
28
28
  import { ServiceProvider } from "../../../../foundation/service";
29
29
  import { ApplePaySdk, handleGooglePay, isSkipRenderPaymentMethod } from "../../../../plugin/component/channel";
30
- import { DisplayTypeEnum } from "../../../../types";
31
30
  import { queryParse } from "../../../../util";
32
31
  import { LogConfig, Logger } from "../../../../util/logger";
33
32
  import { parseSessionData } from "../../index";
34
33
  import { oneAccount, sdkAction } from "../mock";
35
- import { convertPaymentMethods } from "../elementProcessor/convertPaymentMethods";
36
- import { generateIframeSrc as _generateIframeSrc, isElementPad, isElementPC, safeParse, safeStringify } from "../util";
34
+ import { generateIframeSrc as _generateIframeSrc, isElementPad, isElementPC, safeStringify } from "../util";
37
35
  import BaseElementProcessor from "./baseElementProcessor";
38
36
  import { executeWithTimeout, BEFORE_CONFIRM_TIMEOUT_MS } from "../../../../util/beforeConfirm";
39
37
  var logger = new Logger(LogConfig, true);
@@ -87,44 +85,11 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
87
85
  }, {
88
86
  key: "onReady",
89
87
  value: function onReady(extraParam) {
90
- var _this$options, _paymentContext$displ, _this$elementContaine, _this$elementContaine2, _this$elementContaine3, _this$elementContaine4, _this$elementContaine5;
88
+ var _this$elementContaine, _this$elementContaine2, _this$elementContaine3, _this$elementContaine4, _this$elementContaine5;
91
89
  var paymentContext = this.elementContainer.getPaymentContext();
92
90
  this.getLogger().logInfo({
93
91
  title: 'sdk_event_renderComponent'
94
92
  });
95
-
96
- // preview mobile 模式下,单普通支付方式(无表单、非快捷支付)不发送 renderComponent,阻止自动提交
97
- var previewMode = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.preview;
98
- if (previewMode === 'mobile') {
99
- var _extraParam$originAct, _extraParam$originAct2, _paymentMethods$, _paymentMethods$2;
100
- var paymentMethods = (extraParam === null || extraParam === void 0 || (_extraParam$originAct = extraParam.originActionQueryResult) === null || _extraParam$originAct === void 0 ? void 0 : _extraParam$originAct.paymentMethods) || [];
101
- var savedPaymentMethods = (extraParam === null || extraParam === void 0 || (_extraParam$originAct2 = extraParam.originActionQueryResult) === null || _extraParam$originAct2 === void 0 ? void 0 : _extraParam$originAct2.savedPaymentMethods) || [];
102
- if (paymentMethods.length === 1 && savedPaymentMethods.length === 0 && !((_paymentMethods$ = paymentMethods[0]) !== null && _paymentMethods$ !== void 0 && (_paymentMethods$ = _paymentMethods$.paymentElements) !== null && _paymentMethods$ !== void 0 && _paymentMethods$.length) && !['APPLEPAY', 'GOOGLEPAY'].includes((_paymentMethods$2 = paymentMethods[0]) === null || _paymentMethods$2 === void 0 ? void 0 : _paymentMethods$2.paymentMethodType)) {
103
- // 跳过 renderComponent,避免触发自动提交
104
- return;
105
- }
106
- }
107
-
108
- // ===== Element 自助化运营:appearance 二选一处理(不做 deepMerge)=====
109
- // 根据 theme 值二选一:
110
- // - 内置 6 大主题(非 APR_ 前缀):完全使用 SDK mount 传入的 appearance
111
- // - 自定义主题模版(APR_ 前缀 AppearanceID):完全使用后端 sdkAction.query 返回的 appearance,
112
- // SDK mount 中传的 layout/variables/card 全部忽略
113
- var mountAppearance = paymentContext === null || paymentContext === void 0 || (_paymentContext$displ = paymentContext.displayInfo) === null || _paymentContext$displ === void 0 ? void 0 : _paymentContext$displ.appearance;
114
- var isAppearanceId = typeof (mountAppearance === null || mountAppearance === void 0 ? void 0 : mountAppearance.theme) === 'string' && mountAppearance.theme.startsWith('APR_');
115
- var finalAppearance;
116
- if (isAppearanceId) {
117
- var _extraParam$originAct3, _safeParse;
118
- // 分支 A:自定义主题模版(APR_xxxx)
119
- // 完全使用后端返回的配置,忽略 SDK mount 中的 layout/variables/card
120
- // elementSettings 可能是 JSON string,需统一解析为对象
121
- var elementSettings = extraParam === null || extraParam === void 0 || (_extraParam$originAct3 = extraParam.originActionQueryResult) === null || _extraParam$originAct3 === void 0 || (_extraParam$originAct3 = _extraParam$originAct3.pageStyle) === null || _extraParam$originAct3 === void 0 ? void 0 : _extraParam$originAct3.elementSettings;
122
- finalAppearance = typeof elementSettings === 'string' ? (_safeParse = safeParse(elementSettings)) === null || _safeParse === void 0 ? void 0 : _safeParse.appearance : elementSettings === null || elementSettings === void 0 ? void 0 : elementSettings.appearance;
123
- } else {
124
- // 分支 B:内置 6 大主题或未指定主题
125
- // 完全使用 SDK mount 传入的配置;
126
- finalAppearance = mountAppearance;
127
- }
128
93
  this.eventCenter.dispatchToApp({
129
94
  event: 'renderComponent',
130
95
  data: {
@@ -143,7 +108,7 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
143
108
  merchantId: (_this$elementContaine4 = this.elementContainer) === null || _this$elementContaine4 === void 0 || (_this$elementContaine4 = _this$elementContaine4.getPaymentContext()) === null || _this$elementContaine4 === void 0 || (_this$elementContaine4 = _this$elementContaine4.paymentSessionObj) === null || _this$elementContaine4 === void 0 ? void 0 : _this$elementContaine4.clientId,
144
109
  paymentMethodType: (_this$elementContaine5 = this.elementContainer) === null || _this$elementContaine5 === void 0 || (_this$elementContaine5 = _this$elementContaine5.getPaymentContext()) === null || _this$elementContaine5 === void 0 || (_this$elementContaine5 = _this$elementContaine5.paymentSessionObj) === null || _this$elementContaine5 === void 0 || (_this$elementContaine5 = _this$elementContaine5.paymentMethodInfoView) === null || _this$elementContaine5 === void 0 ? void 0 : _this$elementContaine5.paymentMethodType
145
110
  },
146
- appearance: finalAppearance,
111
+ appearance: paymentContext === null || paymentContext === void 0 ? void 0 : paymentContext.displayInfo.appearance,
147
112
  sessionResult: paymentContext === null || paymentContext === void 0 ? void 0 : paymentContext.paymentSessionObj,
148
113
  notRedirectAfterComplete: (extraParam === null || extraParam === void 0 ? void 0 : extraParam.notRedirectAfterComplete) === true,
149
114
  merchantAppointParam: extraParam === null || extraParam === void 0 ? void 0 : extraParam.merchantAppointParam,
@@ -379,7 +344,6 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
379
344
  }, {
380
345
  key: "generateIframeSrc",
381
346
  value: function generateIframeSrc(_ref3) {
382
- var _this$options3;
383
347
  var link = _ref3.link,
384
348
  instanceId = _ref3.instanceId;
385
349
  this.instanceId = instanceId;
@@ -387,15 +351,12 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
387
351
  paymentSession = _ref4.paymentSession,
388
352
  paymentSessionObj = _ref4.paymentSessionObj,
389
353
  sdkMetaData = _ref4.sdkMetaData;
390
- var _this$options2 = this.options,
391
- environment = _this$options2.env.environment,
392
- analytics = _this$options2.analytics,
393
- locale = _this$options2.locale;
354
+ var _this$options = this.options,
355
+ environment = _this$options.env.environment,
356
+ analytics = _this$options.analytics,
357
+ locale = _this$options.locale;
394
358
  var _ref5 = paymentSessionObj || {},
395
359
  extendInfo = _ref5.extendInfo;
396
- // 预览模式下,若为 'mobile' 需要让 iframe 以 popup(MobileElement)形态渲染
397
- var previewMode = (_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.preview;
398
- var renderDisplayType = previewMode === 'mobile' ? DisplayTypeEnum.popup : DisplayTypeEnum.inline;
399
360
  var url = _generateIframeSrc({
400
361
  paymentSession: paymentSession,
401
362
  paymentSessionObj: paymentSessionObj,
@@ -405,8 +366,7 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
405
366
  link: link,
406
367
  appVersion: sdkMetaData === null || sdkMetaData === void 0 ? void 0 : sdkMetaData.webAppVersion,
407
368
  pageUrl: isExpressCheckout(extendInfo) ? ELEMENT_PAGE_URL.EXPRESS_CHECKOUT : ELEMENT_PAGE_URL.ELEMENT_PAYMENT,
408
- instanceId: instanceId,
409
- renderDisplayType: renderDisplayType
369
+ instanceId: instanceId
410
370
  });
411
371
  this.setElementUrl(url);
412
372
  return url;
@@ -416,9 +376,8 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
416
376
  value: function () {
417
377
  var _obtainData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
418
378
  var _paymentSessionObj$co,
419
- _this$options5,
420
379
  _this3 = this;
421
- var requestService, _this$elementContaine7, paymentSession, paymentSessionObj, displayInfo, _displayInfo, debugProps, _this$options4, environment, locale, _ref6, paymentSessionConfig, hostSign, isConnect, LOCAL_MOCK, previewMode, IS_PREVIEW, SHOULD_USE_MOCK, _queryParse, appType, terminalType, generateActionQueryPromise, generateOneAccountQueryPromise, _yield$Promise$all, _yield$Promise$all2, originActionQueryResult, originOneAccountQueryResult;
380
+ var requestService, _this$elementContaine7, paymentSession, paymentSessionObj, displayInfo, _displayInfo, debugProps, _this$options2, environment, locale, _ref6, paymentSessionConfig, hostSign, isConnect, LOCAL_MOCK, _queryParse, appType, terminalType, generateActionQueryPromise, generateOneAccountQueryPromise, _yield$Promise$all, _yield$Promise$all2, originActionQueryResult, originOneAccountQueryResult;
422
381
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
423
382
  while (1) switch (_context3.prev = _context3.next) {
424
383
  case 0:
@@ -426,14 +385,11 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
426
385
  _this$elementContaine7 = this.elementContainer.getPaymentContext(), paymentSession = _this$elementContaine7.paymentSession, paymentSessionObj = _this$elementContaine7.paymentSessionObj, displayInfo = _this$elementContaine7.displayInfo;
427
386
  _displayInfo = displayInfo;
428
387
  debugProps = _displayInfo.debugProps;
429
- _this$options4 = this.options, environment = _this$options4.env.environment, locale = _this$options4.locale;
388
+ _this$options2 = this.options, environment = _this$options2.env.environment, locale = _this$options2.locale;
430
389
  _ref6 = paymentSessionObj || {}, paymentSessionConfig = _ref6.paymentSessionConfig;
431
390
  hostSign = paymentSession.split('&&')[1] || '';
432
391
  isConnect = paymentSessionObj === null || paymentSessionObj === void 0 || (_paymentSessionObj$co = paymentSessionObj.connectFactor) === null || _paymentSessionObj$co === void 0 ? void 0 : _paymentSessionObj$co.enableConnect;
433
- LOCAL_MOCK = (debugProps === null || debugProps === void 0 ? void 0 : debugProps.isDebug) && (debugProps === null || debugProps === void 0 ? void 0 : debugProps.local_mock); // 兼容三种预览开关取值:true / 'web' / 'mobile'
434
- previewMode = (_this$options5 = this.options) === null || _this$options5 === void 0 ? void 0 : _this$options5.preview;
435
- IS_PREVIEW = previewMode === true || previewMode === 'web' || previewMode === 'mobile';
436
- SHOULD_USE_MOCK = LOCAL_MOCK || IS_PREVIEW;
392
+ LOCAL_MOCK = (debugProps === null || debugProps === void 0 ? void 0 : debugProps.isDebug) && (debugProps === null || debugProps === void 0 ? void 0 : debugProps.local_mock);
437
393
  _queryParse = queryParse(this.getElementUrl()), appType = _queryParse.appType;
438
394
  terminalType = isElementPad() ? 'WEB' : appType ? 'APP' : isElementPC() ? 'WEB' : 'WAP';
439
395
  /**
@@ -445,14 +401,10 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
445
401
  generateActionQueryPromise = function generateActionQueryPromise() {
446
402
  return new Promise(function (resolve, reject) {
447
403
  var _displayInfo$merchant;
448
- if (SHOULD_USE_MOCK) {
404
+ // 本地mock模式:直接返回预设的sdkAction,用于开发调试
405
+ if (LOCAL_MOCK) {
449
406
  setTimeout(function () {
450
- if (IS_PREVIEW) {
451
- var mockData = _this3.buildPreviewMockData(sdkAction);
452
- resolve(mockData);
453
- } else {
454
- resolve(sdkAction);
455
- }
407
+ resolve(sdkAction);
456
408
  }, 100);
457
409
  return;
458
410
  }
@@ -470,12 +422,6 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
470
422
  }
471
423
  };
472
424
 
473
- // 自定义主题模版(APR_ 前缀 AppearanceID):额外传递 appearanceId
474
- var mountAppearance = displayInfo === null || displayInfo === void 0 ? void 0 : displayInfo.appearance;
475
- var isAppearanceId = typeof (mountAppearance === null || mountAppearance === void 0 ? void 0 : mountAppearance.theme) === 'string' && mountAppearance.theme.startsWith('APR_');
476
- if (isAppearanceId) {
477
- sdkRequestData.appearanceId = mountAppearance.theme;
478
- }
479
425
  // 可选参数:商户指定的储值卡信息
480
426
  if (displayInfo !== null && displayInfo !== void 0 && (_displayInfo$merchant = displayInfo.merchantAppointParam) !== null && _displayInfo$merchant !== void 0 && _displayInfo$merchant.storedCard) {
481
427
  sdkRequestData.merchantAppointParam = displayInfo.merchantAppointParam;
@@ -540,7 +486,8 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
540
486
  */
541
487
  generateOneAccountQueryPromise = function generateOneAccountQueryPromise() {
542
488
  return new Promise(function (resolve, reject) {
543
- if (SHOULD_USE_MOCK) {
489
+ // 本地mock模式:直接返回预设的oneAccount数据,用于开发调试
490
+ if (LOCAL_MOCK) {
544
491
  setTimeout(function () {
545
492
  resolve(oneAccount);
546
493
  }, 100);
@@ -576,9 +523,9 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
576
523
  });
577
524
  });
578
525
  };
579
- _context3.next = 18;
526
+ _context3.next = 15;
580
527
  return Promise.all(isConnect ? [generateActionQueryPromise(), generateOneAccountQueryPromise()] : [generateActionQueryPromise()]);
581
- case 18:
528
+ case 15:
582
529
  _yield$Promise$all = _context3.sent;
583
530
  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
584
531
  originActionQueryResult = _yield$Promise$all2[0];
@@ -591,7 +538,7 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
591
538
  originActionQueryResult: originActionQueryResult,
592
539
  originOneAccountQueryResult: originOneAccountQueryResult
593
540
  });
594
- case 24:
541
+ case 21:
595
542
  case "end":
596
543
  return _context3.stop();
597
544
  }
@@ -602,28 +549,6 @@ var PaymentProcessor = /*#__PURE__*/function (_BaseElementProcessor) {
602
549
  }
603
550
  return obtainData;
604
551
  }()
605
- /**
606
- * 构建预览模式的 mock 数据
607
- * 合并 mock.ts 的硬编码数据和 mount 传入的 paymentMethods 配置
608
- */
609
- }, {
610
- key: "buildPreviewMockData",
611
- value: function buildPreviewMockData(baseMock) {
612
- var _this$elementContaine8 = this.elementContainer.getPaymentContext(),
613
- displayInfo = _this$elementContaine8.displayInfo;
614
- var mountOptions = displayInfo;
615
- var paymentMethodsConfig = mountOptions === null || mountOptions === void 0 ? void 0 : mountOptions.previewPaymentMethods;
616
-
617
- // 深拷贝 mock 数据,避免修改原始对象
618
- var result = JSON.parse(JSON.stringify(baseMock));
619
-
620
- // 转换 paymentMethods 配置为内部格式
621
- var convertedMethods = convertPaymentMethods(paymentMethodsConfig);
622
-
623
- // 替换 paymentMethods
624
- result.paymentMethods = convertedMethods;
625
- return result;
626
- }
627
552
  }, {
628
553
  key: "getValue",
629
554
  value: function getValue() {
@@ -153,7 +153,7 @@ export var sdkAction1 = {
153
153
  }, {
154
154
  antomPage: 'paymentMetaPage',
155
155
  category: 'AC_WALLET',
156
- expressCheckout: false,
156
+ expressCheckout: true,
157
157
  icon: 'https://cdn.marmot-cloud.com/storage/2024/05/15/5b829130-42d9-46e7-a23d-6774f7352900.svg',
158
158
  iconName: 'Alipay',
159
159
  interActionType: 'REDIRECT',
@@ -149,7 +149,7 @@ type CompatibleVariables<T extends Record<string, string>> = {
149
149
  export interface PaymentMountOptions extends BaseMountOptions {
150
150
  type: ElementType.payment;
151
151
  appearance?: {
152
- theme?: ThemeType | `APR_${string}`;
152
+ theme?: ThemeType;
153
153
  layout?: {
154
154
  type: PaymentElementLayout;
155
155
  };
@@ -192,54 +192,6 @@ export interface PaymentMountOptions extends BaseMountOptions {
192
192
  };
193
193
  notRedirectAfterComplete?: boolean;
194
194
  merchantAppointParam?: IMerchantAppointParam;
195
- /**
196
- * 支付方式配置
197
- *
198
- * 使用说明:
199
- * - preview: true 时生效,用于配置预览展示的支付方式和外观
200
- * - preview: false/undefined 时,此配置被忽略,支付方式来自后端 sdkAction.query 接口
201
- */
202
- previewPaymentMethods?: {
203
- /**
204
- * 极速支付配置
205
- */
206
- expressCheckout?: {
207
- enabled: boolean;
208
- methods?: {
209
- /**
210
- * 支付方式显示名称,如 "Apple Pay"
211
- */
212
- paymentMethodName: string;
213
- /**
214
- * 支付方式类型,如 "APPLEPAY"
215
- */
216
- paymentMethodType: string;
217
- }[];
218
- };
219
- /**
220
- * 支持的支付方式列表
221
- * 数组顺序即为前端展示顺序
222
- */
223
- supportedMethods?: {
224
- /**
225
- * 支付方式显示名称,如 "CARD", "AlipayHK"
226
- */
227
- paymentMethodName: string;
228
- /**
229
- * 支付方式类型,如 "VISA", "ALIPAY_HK"
230
- */
231
- paymentMethodType: string;
232
- /**
233
- * 支付方式图标 URL
234
- */
235
- logoUrl?: string;
236
- }[];
237
- /**
238
- * 推荐支付方式
239
- * 值为 paymentMethodType,匹配的支付方式会被标记为 recommend
240
- */
241
- topping?: string;
242
- };
243
195
  }
244
196
  export declare enum AddressEventCallbackName {
245
197
  SHIPPING_CHANGE = "SHIPPING_CHANGE"
@@ -489,15 +441,6 @@ export interface IElementOptions {
489
441
  onStartLoading: () => void;
490
442
  onEndLoading: () => void;
491
443
  };
492
- /**
493
- * 预览模式开关
494
- * - true / 'web': 跳过真实 API 请求,使用 mock 数据,按 WebElement(inline)方式渲染(向后兼容,等同于 'web')
495
- * - 'mobile': 跳过真实 API 请求,使用 mock 数据,按 MobileElement(popup)方式渲染,用于 mobileElement 降级预览
496
- * - false / undefined: 发起真实请求(默认行为)
497
- *
498
- * 使用场景:B 端配置后台预览,C 端生产环境不应使用
499
- */
500
- preview?: boolean | 'web' | 'mobile';
501
444
  }
502
445
  export interface IElementProcessors {
503
446
  [ElementType.auth]: AuthProcessor;
@@ -1,5 +1,5 @@
1
1
  import { IElementStatus } from '../../../foundation';
2
- import { CashierSdkActionQueryResult, DisplayTypeEnum, Ianalytics, IPaymentSessionMetaData } from '../../../types';
2
+ import { CashierSdkActionQueryResult, Ianalytics, IPaymentSessionMetaData } from '../../../types';
3
3
  import { ContainerController } from './elementContainerService/containerService';
4
4
  import { ELEMENT_ENVIRONMENT_TYPE, EventCallbackCode, IElementOptions, IToastOptions } from './type';
5
5
  export declare const formatElementOption: (options: IElementOptions) => {
@@ -19,7 +19,6 @@ export declare const formatElementOption: (options: IElementOptions) => {
19
19
  onStartLoading: () => void;
20
20
  onEndLoading: () => void;
21
21
  };
22
- preview?: boolean | "mobile" | "web";
23
22
  };
24
23
  export declare const validateElementOption: (options: IElementOptions) => {
25
24
  isValid: boolean;
@@ -49,7 +48,7 @@ export declare function checkCanUpdate({ status, paymentContainerService, newPay
49
48
  newPaymentSessionData: string;
50
49
  oldPaymentSessionData: string;
51
50
  }): boolean;
52
- export declare function generateIframeSrc({ paymentSessionObj, paymentSession, instanceId, environment, appVersion, analytics, locale, pageUrl, link, renderDisplayType, }: {
51
+ export declare function generateIframeSrc({ paymentSessionObj, paymentSession, instanceId, environment, appVersion, analytics, locale, pageUrl, link, }: {
53
52
  paymentSessionObj: IPaymentSessionMetaData;
54
53
  paymentSession: string;
55
54
  environment: string;
@@ -59,12 +58,6 @@ export declare function generateIframeSrc({ paymentSessionObj, paymentSession, i
59
58
  pageUrl: string;
60
59
  appVersion: string;
61
60
  link?: string;
62
- /**
63
- * iframe 中 checkout-v2 的渲染形态。
64
- * - inline(默认): WebElement 渲染
65
- * - popup: MobileElement 渲染(用于 mobileElement 降级预览)
66
- */
67
- renderDisplayType?: DisplayTypeEnum;
68
61
  }): string;
69
62
  export declare function handleRedirect(data: any, fromFastSdk: boolean, eventCallback: ({ code, message }: {
70
63
  code: any;
@@ -138,8 +138,7 @@ export function generateIframeSrc(_ref3) {
138
138
  analytics = _ref3.analytics,
139
139
  locale = _ref3.locale,
140
140
  pageUrl = _ref3.pageUrl,
141
- link = _ref3.link,
142
- renderDisplayType = _ref3.renderDisplayType;
141
+ link = _ref3.link;
143
142
  var componentSign = getComponentSign(paymentSessionObj);
144
143
  var productSceneVersion = (paymentSessionObj === null || paymentSessionObj === void 0 || (_paymentSessionObj$pa = paymentSessionObj.paymentSessionConfig) === null || _paymentSessionObj$pa === void 0 ? void 0 : _paymentSessionObj$pa.productSceneVersion) || '';
145
144
  var productScene = (paymentSessionObj === null || paymentSessionObj === void 0 || (_paymentSessionObj$pa2 = paymentSessionObj.paymentSessionConfig) === null || _paymentSessionObj$pa2 === void 0 ? void 0 : _paymentSessionObj$pa2.productScene) || '';
@@ -152,7 +151,7 @@ export function generateIframeSrc(_ref3) {
152
151
  link = "".concat(baseUrl[_env]).concat(pageUrl);
153
152
  }
154
153
  var _getIframeUrl = getIframeUrl({
155
- renderDisplayType: renderDisplayType !== null && renderDisplayType !== void 0 ? renderDisplayType : DisplayTypeEnum.inline,
154
+ renderDisplayType: DisplayTypeEnum.inline,
156
155
  componentSign: componentSign,
157
156
  analytics: analytics,
158
157
  productScene: productScene,
@@ -1,5 +1,5 @@
1
- import { type EventPayload, type IPaymentSessionMetaData } from '../../types';
2
1
  import type { CKPShipping } from '../../core/component/element/type';
2
+ import { type EventPayload, type IPaymentSessionMetaData } from '../../types';
3
3
  import { Logger } from '../../util/logger';
4
4
  export type IChannelBehavior = {
5
5
  usePaymentSessionAsQueryResult: boolean;
@@ -92,7 +92,9 @@ export var handleGooglePay = function handleGooglePay(data) {
92
92
  var script = document.createElement('script');
93
93
  script.src = 'https://pay.google.com/gp/p/js/pay.js';
94
94
  script.async = true;
95
- document.body.appendChild(script);
95
+ // 使用原生 appendChild 避免微前端沙箱(如 qiankun)将动态 <script> 劫持为 fetch 加载,
96
+ // 导致不支持 CORS 的第三方脚本(如 pay.google.com)加载失败
97
+ Node.prototype.appendChild.call(document.body, script);
96
98
  // 执行googlePay sdk
97
99
  script.onload = function () {
98
100
  var paymentsClient = new window.google.payments.api.PaymentsClient({
@@ -8,7 +8,7 @@
8
8
  import type { AxiosHeaderValue } from 'axios';
9
9
  import { IApplePayContactField } from '../plugin/applepay/interface';
10
10
  export type onChange = () => onCnageResult;
11
- export { type IElementOptions, ElementType, PaymentElementLayout, ThemeType } from '../core/component/element/type';
11
+ export { ElementType, PaymentElementLayout, ThemeType, type IElementOptions } from '../core/component/element/type';
12
12
  interface onCnageResult {
13
13
  complete: boolean;
14
14
  addressValue: AddressItem[];
@@ -40,7 +40,6 @@ export interface IoptionsParams {
40
40
  networkMode?: string;
41
41
  mode?: string;
42
42
  securityRegion?: 'US' | 'SG' | 'DE';
43
- preview?: boolean | 'web' | 'mobile';
44
43
  }
45
44
  export interface ValidationResult {
46
45
  isValid: boolean;
@@ -127,6 +126,7 @@ export interface IcreateComponent {
127
126
  isAppWebview?: boolean;
128
127
  merchantAppointParam?: IMerchantAppointParam;
129
128
  isNativeAppWebview?: boolean;
129
+ isDemoMode?: boolean;
130
130
  }
131
131
  export interface IappendIframeNodesParams extends IcreateComponent {
132
132
  paymentSessionMetaData: IPaymentSessionMetaData;
@@ -811,7 +811,6 @@ export interface IPaymentMethod {
811
811
  applePayProps?: {
812
812
  paymentRequest: ApplePayPaymentRequest;
813
813
  };
814
- googlePayProps?: any;
815
814
  };
816
815
  interActionType?: InterActionTypeEnum;
817
816
  recommend?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alipay/ams-checkout",
3
- "version": "0.0.1782095417-dev.2",
3
+ "version": "0.0.1782095417-dev.3",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "exports": {
@@ -1,22 +0,0 @@
1
- import { IPaymentMethod } from "../../../../types";
2
- interface PaymentMethodsConfig {
3
- expressCheckout?: {
4
- enabled: boolean;
5
- methods?: {
6
- paymentMethodName: string;
7
- paymentMethodType: string;
8
- }[];
9
- };
10
- supportedMethods?: {
11
- paymentMethodName: string;
12
- paymentMethodType: string;
13
- logoUrl?: string;
14
- }[];
15
- topping?: string;
16
- }
17
- /**
18
- * 将 paymentMethods 配置转换为内部格式
19
- * 与 CKP 的 convertPaymentMethods 逻辑保持一致
20
- */
21
- export declare function convertPaymentMethods(paymentMethodsConf?: PaymentMethodsConfig): IPaymentMethod[];
22
- export {};