@alipay/ams-checkout 2.0.28 → 2.0.30

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 (180) hide show
  1. package/ams-checkout.js +3 -3
  2. package/dist/ams-checkout.min.js +1 -1
  3. package/esm/config/index.js +1 -1
  4. package/esm/core/component/element/elementProcessor/convertPaymentMethods.d.ts +1 -0
  5. package/esm/core/component/element/elementProcessor/convertPaymentMethods.js +4 -2
  6. package/esm/core/component/element/modernElementController/index.d.ts +4 -1
  7. package/esm/core/component/element/modernElementController/index.js +184 -132
  8. package/esm/core/component/element/type.d.ts +4 -0
  9. package/esm/modern/component/channel.d.ts +21 -0
  10. package/esm/modern/component/component.inline.style.d.ts +10 -0
  11. package/esm/modern/component/component.popup.style.d.ts +26 -0
  12. package/esm/modern/component/popupWindow.style.d.ts +27 -0
  13. package/esm/modern/config/index.d.ts +23 -0
  14. package/esm/modern/config/request.d.ts +21 -0
  15. package/esm/modern/constant/auto-debit.d.ts +12 -0
  16. package/esm/modern/constant/easysafepay.d.ts +16 -0
  17. package/esm/modern/constant/element.d.ts +27 -0
  18. package/esm/modern/constant/index.d.ts +331 -0
  19. package/esm/modern/core/bus/ability/callback.d.ts +9 -0
  20. package/esm/modern/core/bus/ability/security.d.ts +10 -0
  21. package/esm/modern/core/bus/ability/tracker.d.ts +9 -0
  22. package/esm/modern/core/bus/index.d.ts +125 -0
  23. package/esm/modern/core/bus/interface.d.ts +36 -0
  24. package/esm/modern/core/component/address.d.ts +8 -0
  25. package/esm/modern/core/component/appPreloadProcessing.d.ts +1 -0
  26. package/esm/modern/core/component/ckp/index.d.ts +29 -0
  27. package/esm/modern/core/component/element/EventCenter/index.d.ts +41 -0
  28. package/esm/modern/core/component/element/config.d.ts +10 -0
  29. package/esm/modern/core/component/element/elementContainerService/containerService.d.ts +34 -0
  30. package/esm/modern/core/component/element/elementContainerService/index.d.ts +20 -0
  31. package/esm/modern/core/component/element/elementController/index.d.ts +54 -0
  32. package/esm/modern/core/component/element/elementProcessor/addressProcessor.d.ts +20 -0
  33. package/esm/modern/core/component/element/elementProcessor/authProcessor.d.ts +20 -0
  34. package/esm/modern/core/component/element/elementProcessor/baseElementProcessor.d.ts +42 -0
  35. package/esm/modern/core/component/element/elementProcessor/convertPaymentMethods.d.ts +23 -0
  36. package/esm/modern/core/component/element/elementProcessor/paymentProcessor.d.ts +37 -0
  37. package/esm/modern/core/component/element/index.d.ts +17 -0
  38. package/esm/modern/core/component/element/mock.d.ts +10 -0
  39. package/esm/modern/core/component/element/modernElementController/adapter.d.ts +19 -0
  40. package/esm/modern/core/component/element/modernElementController/index.d.ts +172 -0
  41. package/esm/modern/core/component/element/type.d.ts +590 -0
  42. package/esm/modern/core/component/element/util.d.ts +93 -0
  43. package/esm/modern/core/component/index.d.ts +58 -0
  44. package/esm/modern/core/instance/index.d.ts +97 -0
  45. package/esm/modern/core/utils/connectConfig.d.ts +11 -0
  46. package/esm/modern/foundation/core/index.d.ts +36 -0
  47. package/esm/modern/foundation/index.d.ts +93 -0
  48. package/esm/modern/foundation/product-processor/autoDebit/deps.d.ts +14 -0
  49. package/esm/modern/foundation/product-processor/autoDebit/index.d.ts +48 -0
  50. package/esm/modern/foundation/product-processor/easysafepay/deps.d.ts +20 -0
  51. package/esm/modern/foundation/product-processor/easysafepay/index.d.ts +29 -0
  52. package/esm/modern/foundation/product-processor/element/index.d.ts +7 -0
  53. package/esm/modern/foundation/service/api-bus/ability/globalData.d.ts +10 -0
  54. package/esm/modern/foundation/service/api-bus/ability/request.d.ts +10 -0
  55. package/esm/modern/foundation/service/api-bus/ability/security.d.ts +12 -0
  56. package/esm/modern/foundation/service/api-bus/ability/tracker.d.ts +9 -0
  57. package/esm/modern/foundation/service/api-bus/busManager.d.ts +127 -0
  58. package/esm/modern/foundation/service/api-bus/index.d.ts +20 -0
  59. package/esm/modern/foundation/service/api-bus/interface.d.ts +48 -0
  60. package/esm/modern/foundation/service/container/index.d.ts +42 -0
  61. package/esm/modern/foundation/service/container/popup.d.ts +31 -0
  62. package/esm/modern/foundation/service/container/utils.d.ts +7 -0
  63. package/esm/modern/foundation/service/event-center.d.ts +82 -0
  64. package/esm/modern/foundation/service/global-data/index.d.ts +11 -0
  65. package/esm/modern/foundation/service/index.d.ts +19 -0
  66. package/esm/modern/foundation/service/log/index.d.ts +44 -0
  67. package/esm/modern/foundation/service/log/keys.d.ts +13 -0
  68. package/esm/modern/foundation/service/log/processor.d.ts +9 -0
  69. package/esm/modern/foundation/service/log/types.d.ts +33 -0
  70. package/esm/modern/foundation/service/requester/deps.d.ts +17 -0
  71. package/esm/modern/foundation/service/requester/requester.d.ts +22 -0
  72. package/esm/modern/foundation/service/security/index.d.ts +33 -0
  73. package/esm/modern/foundation/service/security/security.d.ts +54 -0
  74. package/esm/modern/foundation/utils/gray_scale_utils.d.ts +7 -0
  75. package/esm/modern/foundation/utils/payment_context_utils.d.ts +13 -0
  76. package/esm/modern/foundation/utils/payment_product_utils.d.ts +13 -0
  77. package/esm/modern/foundation/utils/preload_helper.d.ts +24 -0
  78. package/esm/modern/foundation/utils/redirect_utils.d.ts +11 -0
  79. package/esm/modern/foundation/utils/system_events.d.ts +4 -0
  80. package/esm/modern/foundation/utils/web_app_url_utils.d.ts +114 -0
  81. package/esm/modern/index.js +1 -1
  82. package/esm/modern/loadAntomTracker.d.ts +7 -0
  83. package/esm/modern/loadAntomTracker.js +64 -0
  84. package/esm/modern/loader/constant.d.ts +36 -0
  85. package/esm/modern/loader/utils/proxyPerformance.d.ts +20 -0
  86. package/esm/modern/main.d.ts +54 -0
  87. package/esm/modern/{index.d.ts → modern/index.d.ts} +1 -1
  88. package/esm/modern/modern/loadAntomTracker.d.ts +7 -0
  89. package/esm/modern/modern/preload/antomManifestAdapter.d.ts +11 -0
  90. package/esm/modern/modern/preload/config.d.ts +10 -0
  91. package/esm/modern/modern/preload/gatewayPreconnection.d.ts +53 -0
  92. package/esm/modern/modern/preload/preloadAntomElements.d.ts +12 -0
  93. package/esm/modern/modern/preload/startAntomPreload.d.ts +2 -0
  94. package/esm/modern/modern/sdk/applepay-core/ApplePayHostService.d.ts +102 -0
  95. package/esm/modern/modern/sdk/elements/CVVElement.d.ts +144 -0
  96. package/esm/modern/modern/sdk/elements/PaymentElement.d.ts +204 -0
  97. package/esm/modern/modern/sdk/elements/appearanceRules.d.ts +59 -0
  98. package/esm/modern/modern/sdk/elements/appearanceRulesDefaults.d.ts +2 -0
  99. package/esm/modern/modern/sdk/eventsMap.d.ts +135 -0
  100. package/esm/modern/modern/sdk/oneapi/iexpfront/PaymentSessionService.d.ts +69 -0
  101. package/esm/modern/modern/sdk/oneapi/iexpfront/definitions.d.ts +5346 -0
  102. package/esm/modern/modern/sdk/oneapi/iexpfront/preConnection.d.ts +6 -0
  103. package/esm/modern/modern/sdk/stageName.d.ts +3 -0
  104. package/esm/modern/modern/sdk/tools/awaitWrap.d.ts +14 -0
  105. package/esm/modern/modern/sdk/tools/buildPageUrl.d.ts +4 -0
  106. package/esm/modern/modern/sdk/tools/checkSessionData.d.ts +1 -0
  107. package/esm/modern/modern/sdk/tools/expressElement/applePay.d.ts +9 -0
  108. package/esm/modern/modern/sdk/tools/expressElement/applePayHostToken.d.ts +32 -0
  109. package/esm/modern/modern/sdk/tools/expressElement/types.d.ts +277 -0
  110. package/esm/modern/modern/sdk/tools/getDevReqConfig.d.ts +2 -0
  111. package/esm/modern/modern/sdk/tools/getLocaleFromRenderData.d.ts +6 -0
  112. package/esm/modern/modern/sdk/tools/getMetaData.d.ts +126 -0
  113. package/esm/modern/modern/sdk/tools/modalMessageMonitor.d.ts +41 -0
  114. package/esm/modern/modern/sdk/tools/openModal.d.ts +20 -0
  115. package/esm/modern/modern/sdk/tools/paymentElement/applePayHostToken.d.ts +38 -0
  116. package/esm/modern/modern/sdk/tools/paymentElement/googlePayHostToken.d.ts +38 -0
  117. package/esm/modern/modern/sdk/tools/paymentElement/tracker.d.ts +16 -0
  118. package/esm/modern/modern/sdk/tools/paymentElement/walletHostListeners.d.ts +19 -0
  119. package/esm/modern/modern/sdk/tools/preloadTracking.d.ts +5 -0
  120. package/esm/modern/modern/sdk/tools/showToast.d.ts +33 -0
  121. package/esm/modern/modern/sdk/tools/validatePaymentAmount.d.ts +19 -0
  122. package/esm/modern/modern/sdk/tracking/elementTracker.d.ts +65 -0
  123. package/esm/modern/modern/sdk/types.d.ts +310 -0
  124. package/esm/modern/modern/tools.d.ts +26 -0
  125. package/esm/modern/plugin/applepay/component.d.ts +50 -0
  126. package/esm/modern/plugin/applepay/index.d.ts +17 -0
  127. package/esm/modern/plugin/applepay/interface.d.ts +161 -0
  128. package/esm/modern/plugin/applepay/service.d.ts +54 -0
  129. package/esm/modern/plugin/component/cashierApp.d.ts +38 -0
  130. package/esm/modern/plugin/component/channel.d.ts +73 -0
  131. package/esm/modern/plugin/component/component.inline.style.d.ts +10 -0
  132. package/esm/modern/plugin/component/component.popup.style.d.ts +25 -0
  133. package/esm/modern/plugin/component/index.d.ts +133 -0
  134. package/esm/modern/plugin/component/popupWindow.style.d.ts +11 -0
  135. package/esm/modern/plugin/const.d.ts +2 -0
  136. package/esm/modern/plugin/payment-element/utils.d.ts +2 -0
  137. package/esm/modern/plugin/paypal/index.d.ts +20 -0
  138. package/esm/modern/plugin/type.d.ts +34 -0
  139. package/esm/modern/plugin/utils.d.ts +6 -0
  140. package/esm/modern/preload/antomManifestAdapter.d.ts +11 -0
  141. package/esm/modern/preload/antomManifestAdapter.js +116 -0
  142. package/esm/modern/preload/config.d.ts +10 -0
  143. package/esm/modern/preload/config.js +46 -0
  144. package/esm/modern/preload/gatewayPreconnection.d.ts +53 -0
  145. package/esm/modern/preload/gatewayPreconnection.js +213 -0
  146. package/esm/modern/preload/preloadAntomElements.d.ts +12 -0
  147. package/esm/modern/preload/preloadAntomElements.js +99 -0
  148. package/esm/modern/preload/startAntomPreload.d.ts +2 -0
  149. package/esm/modern/preload/startAntomPreload.js +9 -0
  150. package/esm/modern/request/index.d.ts +9 -0
  151. package/esm/modern/request/utils.d.ts +28 -0
  152. package/esm/modern/service/index.d.ts +13 -0
  153. package/esm/modern/tools.js +1 -1
  154. package/esm/modern/types/index.d.ts +862 -0
  155. package/esm/modern/util/beforeConfirm.d.ts +14 -0
  156. package/esm/modern/util/createIframeNode.d.ts +6 -0
  157. package/esm/modern/util/debug.d.ts +1 -0
  158. package/esm/modern/util/get.d.ts +25 -0
  159. package/esm/modern/util/getBackScheme.d.ts +5 -0
  160. package/esm/modern/util/index.d.ts +61 -0
  161. package/esm/modern/util/jshield-apdid/apdid-loader.d.ts +89 -0
  162. package/esm/modern/util/jshield-apdid/index.d.ts +21 -0
  163. package/esm/modern/util/logger.d.ts +67 -0
  164. package/esm/modern/util/mock.d.ts +1 -0
  165. package/esm/modern/util/redirect.d.ts +6 -0
  166. package/esm/modern/util/security-registry.d.ts +72 -0
  167. package/esm/modern/util/security.d.ts +55 -0
  168. package/esm/modern/util/spm-map.d.ts +217 -0
  169. package/esm/modern/util/storage.d.ts +2 -0
  170. package/esm/modern/util/timezone.d.ts +1 -0
  171. package/esm/modern/util/upgrade.d.ts +39 -0
  172. package/esm/modern/util/versionCompare.d.ts +15 -0
  173. package/esm/tsdoc-metadata.json +1 -1
  174. package/esm/types/index.d.ts +6 -0
  175. package/esm/util/logger.js +1 -1
  176. package/esm/util/timezone.d.ts +1 -0
  177. package/esm/util/timezone.js +8 -0
  178. package/package.json +2 -1
  179. package/types.d.ts +308 -13
  180. package/types.untrimmed.d.ts +343 -13
@@ -284,14 +284,23 @@ export declare interface AntomMiddlePageEventMap extends AntomBridgeEventMap {
284
284
  export declare interface AntomOpenModalConfig extends OpenModalParams {
285
285
  }
286
286
 
287
+ export declare interface AntomPreloadConfig {
288
+ /** Elements2 types the merchant expects to create after loading the SDK. */
289
+ elements: AntomPreloadElement[];
290
+ }
291
+
292
+ export declare type AntomPreloadElement = 'payment' | 'express' | 'vaulting' | 'CVV';
293
+
287
294
  /**
288
295
  * @description The Antom main class, all uses are based on this class instance
289
296
  */
290
297
  export declare class AntomSDK extends BaseElementsFactory {
291
298
  static version: string;
292
299
  private stopModalMessageMonitor;
300
+ private readonly apiTracker;
293
301
  constructor(config?: AntomSDKConfig);
294
302
  protected canUseElements(): Array<ElementListItemType>;
303
+ init(): Promise<this>;
295
304
  /**
296
305
  * @description 更新配置
297
306
  */
@@ -315,17 +324,34 @@ export declare class AntomSDK extends BaseElementsFactory {
315
324
  createElement(elementType: 'vaulting', options?: VaultingAppConfig): VaultingElement;
316
325
  createElement(elementType: 'CVV', options: CVVAppConfig): CVVElement;
317
326
  createElement(elementType: 'express', options?: ExpressAppConfig): ExpressElement;
327
+ createElement(elementType: 'expressVaulting', options?: ExpressVaultingAppConfig): ExpressVaultingElement;
318
328
  getElement(elementType: 'payment', options?: PaymentAppConfig): PaymentElement;
319
329
  getElement(elementType: 'vaulting', options?: VaultingAppConfig): VaultingElement;
320
330
  getElement(elementType: 'CVV', options?: CVVAppConfig): CVVElement;
321
331
  getElement(elementType: 'express', options?: ExpressAppConfig): ExpressElement;
332
+ getElement(elementType: 'expressVaulting', options?: ExpressVaultingAppConfig): ExpressVaultingElement;
322
333
  /**
323
334
  * 从 elements 容器或直接传入的 MainElement 中提取指定类型的主元素
324
335
  * @throws {AntomSDKError} 当无法找到有效的主元素时抛出错误
325
336
  */
326
337
  private extractMainElement;
327
338
  confirmCardSetup(options: ConfirmCardSetupOptions): Promise<SubmitResult>;
339
+ private runConfirmCardSetup;
328
340
  confirmPayment(options: ConfirmPaymentOptions): Promise<SubmitResult>;
341
+ private runConfirmPayment;
342
+ /**
343
+ * 触发 Express Vaulting element 的 PayPal 绑卡提交流程。
344
+ *
345
+ * iframe 收到 OPENSDK@CONFIRM_VAULTING 后执行 submitPay + 单次 inquiry 兜底,
346
+ * 完成后通过 OPENSDK@CONFIRM_VAULTING_RESULT 回包,Promise resolve。
347
+ *
348
+ * @param options.elements 已挂载的 ExpressVaultingElement 或包含它的 Elements 实例
349
+ * @param options.redirect 跳转策略,默认 'always',透传给 iframe
350
+ */
351
+ confirmVaulting(options: {
352
+ elements: BaseMainElement | BaseElements;
353
+ redirect?: 'always' | 'if_required';
354
+ }): Promise<ExpressVaultingResult>;
329
355
  }
330
356
 
331
357
  /**
@@ -420,8 +446,8 @@ export declare const AntomSDKErrorCodes: {
420
446
  readonly ELEMENT_DEFINE_ERROR: "ELEMENT_DEFINE_ERROR";
421
447
  readonly ELEMENT_ALREADY_REGISTERED: "ELEMENT_ALREADY_REGISTERED";
422
448
  readonly CANNOT_CREATE_SAME_ELEMENT_TWICE: "CANNOT_CREATE_SAME_ELEMENT_TWICE";
423
- readonly GROUPS_ONLY_ONE_MAIN_ELEMENT: "GROUPS_ONLY_ONE_MAIN_ELEMENT"; /** @deprecated 传入 elements 时无需重复传递,且不会覆盖 Element 的会话。 */
424
- readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT"; /** 无 UI 模式必填,仅用于创建内部 CVVElement。 */
449
+ readonly GROUPS_ONLY_ONE_MAIN_ELEMENT: "GROUPS_ONLY_ONE_MAIN_ELEMENT";
450
+ readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT";
425
451
  readonly NOT_SUPPORT_ELEMENT: "NOT_SUPPORT_ELEMENT";
426
452
  readonly NOT_SUPPORT_SUBMIT: "NOT_SUPPORT_SUBMIT";
427
453
  readonly UPDATE_CONFIG_TIMEOUT: "UPDATE_CONFIG_TIMEOUT";
@@ -2719,6 +2745,8 @@ export declare interface CVVAppConfig extends BaseElementAppConfig {
2719
2745
  * @internal 内部联调使用,生产环境传递无效
2720
2746
  */
2721
2747
  _requestConfig?: Partial<Omit<RequestOptions, 'scope' | 'tracker'>>;
2748
+ /** @internal Elements2 preload grouping data. */
2749
+ preloadTelemetryContext?: PreloadTelemetryContext;
2722
2750
  /**
2723
2751
  * @description 语言配置
2724
2752
  */
@@ -2747,6 +2775,9 @@ export declare type CVVAppearanceProps = {
2747
2775
  export declare class CVVElement extends BaseMainElement<CVVElementConfig, CVVElementEvents> {
2748
2776
  static elementType: string;
2749
2777
  private readonly sessionData;
2778
+ private readonly elementTracker;
2779
+ private _mountInProgress;
2780
+ private _destroyInProgress;
2750
2781
  constructor(name: string, config: CVVElementConfig);
2751
2782
  /**
2752
2783
  * @internal
@@ -2763,6 +2794,10 @@ export declare class CVVElement extends BaseMainElement<CVVElementConfig, CVVEle
2763
2794
  * @internal
2764
2795
  */
2765
2796
  submit(data?: CVVSubmitParams): Promise<SubmitResult>;
2797
+ mount(container: HTMLElement): Promise<void>;
2798
+ on<T extends keyof CVVElementEvents>(event: T, handler: (payload: CVVElementEvents[T]) => void): void;
2799
+ unmount(): void;
2800
+ destroy(): void;
2766
2801
  protected focus(): void;
2767
2802
  protected blur(): void;
2768
2803
  protected clear(): void;
@@ -3503,8 +3538,12 @@ declare interface ElementPluginChangeStates {
3503
3538
  declare type ElementPluginNameEnum = 'SET_STATE' | 'PASSIVE_SET_STATE';
3504
3539
 
3505
3540
  declare class Elements extends BaseElements {
3541
+ private readonly apiTracker;
3506
3542
  protected canUseElements(): Array<ElementListItemType>;
3507
3543
  constructor(config: BaseElementsConfig);
3544
+ init(): Promise<this>;
3545
+ updateConfig(config: Partial<BaseElementsConfig>): void;
3546
+ destroy(): void;
3508
3547
  createElement(elementType: 'vaulting', options?: VaultingAppConfig): VaultingElement;
3509
3548
  createElement(elementType: 'express', options?: ExpressAppConfig): ExpressElement;
3510
3549
  getElement(elementType: 'vaulting', options?: VaultingAppConfig): VaultingElement;
@@ -3689,6 +3728,8 @@ export declare interface ExpressAppConfig extends BaseElementAppConfig {
3689
3728
  locale?: string;
3690
3729
  /** @internal PayPal v6 core script environment injected from the element env. */
3691
3730
  _paypalSdkEnvironment?: 'sandbox' | 'prod';
3731
+ /** @internal Elements2 preload grouping data. */
3732
+ preloadTelemetryContext?: PreloadTelemetryContext;
3692
3733
  /**
3693
3734
  * 是否运行在 Native App 的 WebView 中。
3694
3735
  * 为 true 时,跳转通过 onRedirect 事件委托给 Native 端处理。
@@ -3722,6 +3763,17 @@ export declare interface ExpressClickEvent {
3722
3763
  expressPaymentType: string;
3723
3764
  }
3724
3765
 
3766
+ declare type ExpressCompletePaymentResult = {
3767
+ success: boolean;
3768
+ result?: any;
3769
+ error?: {
3770
+ code: string;
3771
+ message: string;
3772
+ };
3773
+ userCanceled3D?: boolean;
3774
+ status?: 'SUCCESS' | 'CANCELLED' | 'FAIL' | 'PROCESSING';
3775
+ };
3776
+
3725
3777
  /** confirm 事件负载(统一终态,替代 approve) */
3726
3778
  export declare interface ExpressConfirmData {
3727
3779
  expressPaymentType: string;
@@ -3768,6 +3820,10 @@ export declare interface ExpressConfirmData {
3768
3820
  */
3769
3821
  export declare class ExpressElement extends BaseMainElement<ExpressElementConfig, ExpressElementEvents> {
3770
3822
  static elementType: string;
3823
+ private readonly elementTracker;
3824
+ private _mountInProgress;
3825
+ private _destroyInProgress;
3826
+ private _registeringInternalListeners;
3771
3827
  /**
3772
3828
  * Store all function-type callbacks locally, not involved in postMessage serialization
3773
3829
  */
@@ -3786,6 +3842,12 @@ export declare class ExpressElement extends BaseMainElement<ExpressElementConfig
3786
3842
  private _localHandlers;
3787
3843
  /** 支付流程进行中标志(click → confirm/error/cancel 之间) */
3788
3844
  private _paymentInProgress;
3845
+ /**
3846
+ * confirm 窗口超时标志:iframe 在 20s onTimeout 发 error(MERCHANT_CONFIRM_TIMEOUT) 时置位,
3847
+ * completePayment 入口据此立即返失败(不发 COMPLETE_PAYMENT,不进 5min 兜底)。
3848
+ * 每新一轮 confirm 事件到达时复位(见 on() 重写)。
3849
+ */
3850
+ private _confirmWindowTimedOut;
3789
3851
  /**
3790
3852
  * 是否已收到 iframe 业务层 ready 事件(app.tsx sendReady)。
3791
3853
  * 注意:与 host `status='ready'`(由 HANDSHAKE_ACK 触发,bridge.js:450 同步回发,与 amount 解析无关)不同。
@@ -3808,6 +3870,7 @@ export declare class ExpressElement extends BaseMainElement<ExpressElementConfig
3808
3870
  */
3809
3871
  private _emit;
3810
3872
  updateConfig(newConfig: ExpressAppConfig): Promise<ExpressElementEvents['OPENSDK@UPDATE_CONFIG_REPLY']>;
3873
+ private runUpdateConfig;
3811
3874
  private updateConfigTransaction;
3812
3875
  private updateAmountConfigWithSanitizedDebug;
3813
3876
  private getAmountValidationReason;
@@ -3823,19 +3886,13 @@ export declare class ExpressElement extends BaseMainElement<ExpressElementConfig
3823
3886
  * iframe 收到 OPENSDK@COMPLETE_PAYMENT 后执行 submitPay / polling 等,
3824
3887
  * 完成后通过 OPENSDK@COMPLETE_PAYMENT_RESULT 回包,Promise resolve。
3825
3888
  */
3826
- completePayment(redirect?: 'always' | 'if_required'): Promise<{
3827
- success: boolean;
3828
- result?: any;
3829
- error?: {
3830
- code: string;
3831
- message: string;
3832
- };
3833
- /** 用户是否手动关闭 3D 弹窗(透传 webapp COMPLETE_PAYMENT_RESULT.userCanceled3D) */
3834
- userCanceled3D?: boolean;
3835
- status?: 'SUCCESS' | 'CANCELLED' | 'FAIL' | 'PROCESSING';
3836
- }>;
3889
+ completePayment(redirect?: 'always' | 'if_required'): Promise<ExpressCompletePaymentResult>;
3890
+ private runCompletePayment;
3837
3891
  setup(): Promise<Partial<ExpressAppConfig> | undefined>;
3838
3892
  private registerInternalListeners;
3893
+ mount(container: HTMLElement): Promise<void>;
3894
+ unmount(): void;
3895
+ destroy(): void;
3839
3896
  protected focus(): void;
3840
3897
  protected blur(): void;
3841
3898
  protected clear(): void;
@@ -3944,6 +4001,201 @@ declare type ExpressSetupError = ErrorPayload & {
3944
4001
  mulityLanguageMapping?: boolean;
3945
4002
  };
3946
4003
 
4004
+ /**
4005
+ * @public
4006
+ * @description Express Vaulting element app config type
4007
+ */
4008
+ export declare interface ExpressVaultingAppConfig extends BaseElementAppConfig {
4009
+ /**
4010
+ * @description payment sessionData,无法通过 updateConfig 更新
4011
+ */
4012
+ sessionData?: string;
4013
+ /**
4014
+ * @description 开通的支付方式列表,本期固定为 ['PAYPAL_DIRECTDEBIT']
4015
+ */
4016
+ paymentMethods?: string[];
4017
+ /** PayPal 按钮配置 */
4018
+ paypal?: ExpressVaultingPayPalConfig;
4019
+ /** PayPal 按钮文案类型 */
4020
+ buttonType?: {
4021
+ paypal?: 'paypal' | 'checkout' | 'buynow' | 'pay';
4022
+ };
4023
+ /** 按钮统一高度(px) */
4024
+ buttonHeight?: number;
4025
+ /** PayPal 按钮主题色 */
4026
+ buttonTheme?: {
4027
+ paypal?: 'gold' | 'blue' | 'silver' | 'white' | 'black';
4028
+ };
4029
+ }
4030
+
4031
+ /**
4032
+ * @public
4033
+ * @description cancel 事件负载
4034
+ */
4035
+ export declare interface ExpressVaultingCancelEvent {
4036
+ paymentMethodType: ExpressVaultingMethod;
4037
+ data?: unknown;
4038
+ }
4039
+
4040
+ /**
4041
+ * @public
4042
+ * @description click 事件负载
4043
+ */
4044
+ export declare interface ExpressVaultingClickEvent {
4045
+ paymentMethodType: ExpressVaultingMethod;
4046
+ }
4047
+
4048
+ /**
4049
+ * @public
4050
+ * @description confirm 事件负载(PayPal onApprove 成功后触发,商户可在回调中调 confirmVaulting)
4051
+ */
4052
+ export declare interface ExpressVaultingConfirmEvent {
4053
+ paymentMethodType: ExpressVaultingMethod;
4054
+ payerInfo?: ExpressVaultingPayerInfo;
4055
+ }
4056
+
4057
+ /**
4058
+ * @public
4059
+ * @description Express Vaulting element - PayPal 绑卡 Element
4060
+ *
4061
+ * Host 侧只保留 Element 生命周期与 bridge 连接;PayPal 按钮渲染、Braintree SDK
4062
+ * 加载、submit/inquiry 都由 express_vaulting webapp 承接。
4063
+ *
4064
+ * setup 阶段调 sdkActionQuery 拿 paypalClientToken,握手时下发给 iframe(系分
4065
+ * 4.1 节 BR-007:client token 必须来自握手,iframe 不自调 sdkActionQuery)。
4066
+ */
4067
+ export declare class ExpressVaultingElement extends BaseMainElement<ExpressVaultingElementConfig, ExpressVaultingElementEvents> {
4068
+ static elementType: string;
4069
+ /**
4070
+ * Host-side fullscreen overlay shown while the PayPal popup is open.
4071
+ *
4072
+ * PayPal Braintree vault flow renders its own popup + backdrop inside the
4073
+ * iframe body, so without a host overlay the backdrop only masks the tiny
4074
+ * button area. Mirrors ExpressElement: show on `click`, hide on
4075
+ * `confirm` / `cancel` / `error`.
4076
+ */
4077
+ private _paypalOverlay;
4078
+ constructor(name: string, config: ExpressVaultingElementConfig);
4079
+ /**
4080
+ * @internal
4081
+ * 握手前调 sdkActionQuery 拿 paypalClientToken,连同按钮样式一起打包下发给 iframe。
4082
+ * 失败时以 setupError 形式返回,iframe 侧读取后透传 error 事件。
4083
+ */
4084
+ setup(): Promise<Partial<ExpressVaultingAppConfig> | undefined>;
4085
+ /**
4086
+ * @internal
4087
+ * Host-side bridge listeners. Only the PayPal overlay lifecycle here —
4088
+ * show when the PayPal popup opens (click), hide when it closes
4089
+ * (confirm / cancel / error). Mirrors ExpressElement's overlay handling.
4090
+ */
4091
+ private registerInternalListeners;
4092
+ protected focus(): void;
4093
+ protected blur(): void;
4094
+ protected clear(): void;
4095
+ /**
4096
+ * @internal
4097
+ * 由 SDK 容器(antom.ts.confirmVaulting)调用,向 iframe 发送 CONFIRM_VAULTING
4098
+ * 指令并等待 CONFIRM_VAULTING_RESULT 回包。iframe 侧执行 submitPay + 单次 inquiry
4099
+ * 兜底后回包终态结果。
4100
+ */
4101
+ _confirmVaulting(redirect?: 'always' | 'if_required'): Promise<ExpressVaultingResult>;
4102
+ }
4103
+
4104
+ /**
4105
+ * @public
4106
+ * @description Express Vaulting element config type
4107
+ */
4108
+ export declare interface ExpressVaultingElementConfig extends BaseElementConfig<ExpressVaultingAppConfig> {
4109
+ }
4110
+
4111
+ /**
4112
+ * @public
4113
+ * @description Express Vaulting element 事件类型
4114
+ */
4115
+ export declare interface ExpressVaultingElementEvents extends AntomBridgeWithNativeEventMap<ExpressVaultingAppConfig> {
4116
+ ready: ExpressVaultingReadyEvent;
4117
+ click: ExpressVaultingClickEvent;
4118
+ confirm: ExpressVaultingConfirmEvent;
4119
+ cancel: ExpressVaultingCancelEvent;
4120
+ error: ExpressVaultingErrorEvent;
4121
+ 'OPENSDK@CONFIRM_VAULTING': {
4122
+ requestId: string;
4123
+ redirect?: 'always' | 'if_required';
4124
+ };
4125
+ 'OPENSDK@CONFIRM_VAULTING_RESULT': {
4126
+ requestId: string;
4127
+ result: ExpressVaultingResult;
4128
+ };
4129
+ }
4130
+
4131
+ /**
4132
+ * @public
4133
+ * @description error 事件负载
4134
+ */
4135
+ export declare interface ExpressVaultingErrorEvent extends ErrorPayload<string> {
4136
+ paymentMethodType: ExpressVaultingMethod;
4137
+ }
4138
+
4139
+ /**
4140
+ * Supported express vaulting payment methods. All bridge event payloads carry
4141
+ * `paymentMethodType` — use this enum instead of硬编码 strings so adding a
4142
+ * new wallet only needs one entry here. Must match the iframe-side enum in
4143
+ * elements2/express_vaulting/interface.ts.
4144
+ */
4145
+ declare enum ExpressVaultingMethod {
4146
+ PAYPAL_DIRECTDEBIT = "PAYPAL_DIRECTDEBIT"
4147
+ }
4148
+
4149
+ /**
4150
+ * @public
4151
+ * @description Braintree tokenizePayment 返回的 payer 信息,随 confirm 事件透传给商户
4152
+ */
4153
+ export declare interface ExpressVaultingPayerInfo {
4154
+ payerId?: string;
4155
+ email?: string;
4156
+ firstName?: string;
4157
+ lastName?: string;
4158
+ countryCode?: string;
4159
+ phone?: string;
4160
+ }
4161
+
4162
+ /**
4163
+ * MERCHANT_CONFIRM_TIMEOUT is owned by the iframe side (mirrors express_element:
4164
+ * iframe starts a 20s timer on the `confirm` event and sends
4165
+ * `error(MERCHANT_CONFIRM_TIMEOUT)` if the merchant never calls confirmVaulting).
4166
+ * See elements2/express_vaulting/app.tsx + tools/error.ts.
4167
+ */
4168
+ /**
4169
+ * @public
4170
+ * @description PayPal 按钮配置
4171
+ */
4172
+ export declare interface ExpressVaultingPayPalConfig {
4173
+ /** 按钮形状 */
4174
+ buttonShape?: 'pill' | 'rect' | 'sharp';
4175
+ }
4176
+
4177
+ /**
4178
+ * @public
4179
+ * @description ready 事件负载
4180
+ */
4181
+ export declare interface ExpressVaultingReadyEvent {
4182
+ availablePaymentMethods: Partial<Record<ExpressVaultingMethod, boolean>>;
4183
+ }
4184
+
4185
+ /**
4186
+ * @public
4187
+ * @description confirmVaulting 返回结果
4188
+ */
4189
+ export declare interface ExpressVaultingResult {
4190
+ status: 'SUCCESS' | 'PROCESSING' | 'FAIL' | 'CANCELLED';
4191
+ paymentMethodId?: string;
4192
+ payerId?: string;
4193
+ error?: {
4194
+ code: string;
4195
+ message: string;
4196
+ };
4197
+ }
4198
+
3947
4199
  declare interface ExpSupportBank {
3948
4200
  /**
3949
4201
  * @description 银行名称
@@ -5003,6 +5255,8 @@ export declare interface LoadAntomConfig extends Omit<BaseFactoryConfig, 'tracke
5003
5255
  * @description 环境配置,默认为prod
5004
5256
  */
5005
5257
  env?: 'sandbox' | 'prod';
5258
+ /** Starts best-effort Elements2 resource preload without delaying loadAntom. */
5259
+ preload?: AntomPreloadConfig;
5006
5260
  }
5007
5261
 
5008
5262
  /**
@@ -7611,6 +7865,8 @@ export declare interface PaymentAppConfig extends BaseElementAppConfig {
7611
7865
  merchantId?: string;
7612
7866
  paymentMethodType?: string;
7613
7867
  };
7868
+ /** @internal Elements2 preload grouping data. */
7869
+ preloadTelemetryContext?: PreloadTelemetryContext;
7614
7870
  /**
7615
7871
  * @internal 内部使用,无需用户传递,高度信息
7616
7872
  */
@@ -7648,12 +7904,18 @@ export declare type PaymentAppearanceProps = {
7648
7904
  export declare class PaymentElement extends BaseMainElement<PaymentElementConfig, PaymentElementEvents> {
7649
7905
  static elementType: string;
7650
7906
  private _paymentInProgress;
7907
+ private readonly paymentTracker;
7908
+ private _mountStartedAt;
7909
+ private _mountInProgress;
7910
+ private _mountPhase;
7911
+ private _destroyInProgress;
7651
7912
  private readonly walletLogger;
7652
7913
  constructor(name: string, config: PaymentElementConfig);
7653
7914
  /**
7654
7915
  * @internal
7655
7916
  */
7656
7917
  setup(): Promise<Partial<PaymentAppConfig> | undefined>;
7918
+ mount(container: HTMLElement): Promise<void>;
7657
7919
  /**
7658
7920
  * @description Update payment element configuration with amount validation and appearance Rules support
7659
7921
  */
@@ -7662,6 +7924,9 @@ export declare class PaymentElement extends BaseMainElement<PaymentElementConfig
7662
7924
  * @internal
7663
7925
  */
7664
7926
  submit(data?: PaymentSubmitParams): Promise<PaymentSubmitResult>;
7927
+ on<T extends keyof PaymentElementEvents>(event: T, handler: (payload: PaymentElementEvents[T]) => void): void;
7928
+ unmount(): void;
7929
+ destroy(): void;
7665
7930
  protected focus(): void;
7666
7931
  protected blur(): void;
7667
7932
  protected clear(): void;
@@ -7691,6 +7956,11 @@ export declare interface PaymentElementEvents extends AntomBridgeWithNativeEvent
7691
7956
  'OPENSDK@GET_GOOGLE_PAY_TOKEN': GetGooglePayTokenRequest;
7692
7957
  /** host 完成 Google Pay token 获取后回包给 webapp */
7693
7958
  'OPENSDK@GET_GOOGLE_PAY_TOKEN_REPLY': GetGooglePayTokenReply;
7959
+ /** WebApp notifies the host when the selected payment method changes. */
7960
+ paymentMethodChanged: {
7961
+ type: string;
7962
+ name?: string;
7963
+ };
7694
7964
  }
7695
7965
 
7696
7966
  declare interface PaymentElementView {
@@ -8040,6 +8310,33 @@ declare interface PaymentMethodView {
8040
8310
  * @description 分期银行信息列表
8041
8311
  */
8042
8312
  supportIppBankList?: FrontSupportIppBank[];
8313
+ /**
8314
+ * @description consult 是否打标该支付方式支持代扣(tokenPay)。
8315
+ *
8316
+ * <p>来源 iexpprod {@code PaymentOption.supportTokenPay}(Boolean, 默认 false), 仅当 iexpfront 显式传
8317
+ * {@code PaymentFactor.markSupportTokenPay=true} 时 iexpprod 才会打标。 sdkQuery 内部流转字段。
8318
+ */
8319
+ supportTokenPay?: boolean;
8320
+ /**
8321
+ * @description tokenized 模式, 取值 EASYSAFEPAY / TOKENIZEDPAY;null 或缺失表示不支持。
8322
+ *
8323
+ * <p>sdkQuery 响应下发, submitPayByPaymentSession 由 SDK 原值回传; 服务端不信任前端回传值, 必须与会话上下文比对。
8324
+ */
8325
+ supportTokenizedMode?: 'EASYSAFEPAY' | 'TOKENIZEDPAY' | null;
8326
+ /**
8327
+ * @description 用户是否选择开启 token 支付(首次支付/授权场景的入口标识)。
8328
+ *
8329
+ * <p>submitPayByPaymentSession 请求入参, 由前端上报。
8330
+ */
8331
+ enableTokenPay?: boolean;
8332
+ /**
8333
+ * @description token(accessToken) 状态, 取值 ACTIVE / INACTIVE, 对齐 iexpprod facade {@code
8334
+ * AlipayAccessTokenStatusEnum}。
8335
+ *
8336
+ * <p>sdkQuery 响应下发, 取 {@code PaymentMethodTokenDetail.alipayAccessTokenStatus}; 首次支付(无
8337
+ * tokenDetail)不下发。
8338
+ */
8339
+ paymentMethodIdStatus?: 'ACTIVE' | 'INACTIVE' | null;
8043
8340
  }
8044
8341
 
8045
8342
  declare interface PaymentOption {
@@ -8163,6 +8460,14 @@ declare interface PaymentOption {
8163
8460
  * @description 支付支持的交互方式
8164
8461
  */
8165
8462
  interactionTypes?: string[];
8463
+ /**
8464
+ * @description 支付方式是否支持代扣(token pay)
8465
+ * <p>
8466
+ * 仅当请求侧 PaymentFactor.markSupportTokenPay=true 时才可能被置为 true;
8467
+ * 默认 false, 未打标时与现状完全一致, 向后兼容。
8468
+ * @default false
8469
+ */
8470
+ supportTokenPay?: boolean;
8166
8471
  }
8167
8472
 
8168
8473
  declare interface PaymentQuoteInfo {
@@ -8454,6 +8759,22 @@ declare interface PollingSetting {
8454
8759
  pollingTimes?: string;
8455
8760
  }
8456
8761
 
8762
+ /** @internal Telemetry context passed to Elements2 through the existing handshake. */
8763
+ export declare interface PreloadTelemetryContext {
8764
+ requested: boolean;
8765
+ phaseAtElementCreate: 'not_requested' | 'resolving' | 'running' | 'critical_completed' | 'failed' | 'skipped';
8766
+ leadTimeMs?: number;
8767
+ criticalDurationMs?: number;
8768
+ taskId?: string;
8769
+ preconnectedRegions?: readonly ('SG' | 'US' | 'DE')[];
8770
+ preconnectionMode?: 'configured' | 'regional';
8771
+ actualRegion?: string;
8772
+ predictionResult?: 'hit' | 'miss';
8773
+ preconnectionStatus?: 'running' | 'completed' | 'partial_failed' | 'failed';
8774
+ preconnectionLeadTimeMs?: number;
8775
+ preconnectionReadyBeforeFirstRpc?: boolean;
8776
+ }
8777
+
8457
8778
  declare interface PromotionDetail {
8458
8779
  /**
8459
8780
  * @description promotion amount for mobile view
@@ -25145,6 +25466,8 @@ export declare interface VaultingAppConfig extends BaseElementAppConfig {
25145
25466
  * @internal 内部联调使用,生产环境传递无效
25146
25467
  */
25147
25468
  _requestConfig?: Partial<Omit<RequestOptions, 'scope' | 'tracker'>>;
25469
+ /** @internal Elements2 preload grouping data. */
25470
+ preloadTelemetryContext?: PreloadTelemetryContext;
25148
25471
  }
25149
25472
 
25150
25473
  export declare type VaultingAppearance = PickAntomAppearance<VaultingAppearanceProps>;
@@ -25162,6 +25485,9 @@ export declare type VaultingAppearanceProps = {
25162
25485
  */
25163
25486
  export declare class VaultingElement extends BaseMainElement<VaultingElementConfig, VaultingElementEvents> {
25164
25487
  static elementType: string;
25488
+ private readonly elementTracker;
25489
+ private _mountInProgress;
25490
+ private _destroyInProgress;
25165
25491
  constructor(name: string, config: VaultingElementConfig);
25166
25492
  /**
25167
25493
  * @internal
@@ -25177,6 +25503,10 @@ export declare class VaultingElement extends BaseMainElement<VaultingElementConf
25177
25503
  * @internal
25178
25504
  */
25179
25505
  submit(data?: VaultingSubmitParams): Promise<SubmitResult>;
25506
+ mount(container: HTMLElement): Promise<void>;
25507
+ on<T extends keyof VaultingElementEvents>(event: T, handler: (payload: VaultingElementEvents[T]) => void): void;
25508
+ unmount(): void;
25509
+ destroy(): void;
25180
25510
  protected focus(): void;
25181
25511
  protected blur(): void;
25182
25512
  protected clear(): void;