@alipay/ams-checkout 0.0.1788166152-dev.7 → 0.0.1788166152-dev.8

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 (171) hide show
  1. package/ams-checkout.js +3 -3
  2. package/dist/ams-checkout.min.js +1 -1
  3. package/dist/ams-checkout.min.js.map +1 -1
  4. package/esm/config/index.js +1 -1
  5. package/esm/core/component/element/modernElementController/index.js +2 -2
  6. package/esm/modern/component/channel.d.ts +21 -0
  7. package/esm/modern/component/component.inline.style.d.ts +10 -0
  8. package/esm/modern/component/component.popup.style.d.ts +26 -0
  9. package/esm/modern/component/popupWindow.style.d.ts +27 -0
  10. package/esm/modern/config/index.d.ts +23 -0
  11. package/esm/modern/config/request.d.ts +21 -0
  12. package/esm/modern/constant/auto-debit.d.ts +12 -0
  13. package/esm/modern/constant/easysafepay.d.ts +16 -0
  14. package/esm/modern/constant/element.d.ts +27 -0
  15. package/esm/modern/constant/index.d.ts +331 -0
  16. package/esm/modern/core/bus/ability/callback.d.ts +9 -0
  17. package/esm/modern/core/bus/ability/security.d.ts +10 -0
  18. package/esm/modern/core/bus/ability/tracker.d.ts +9 -0
  19. package/esm/modern/core/bus/index.d.ts +125 -0
  20. package/esm/modern/core/bus/interface.d.ts +36 -0
  21. package/esm/modern/core/component/address.d.ts +8 -0
  22. package/esm/modern/core/component/appPreloadProcessing.d.ts +1 -0
  23. package/esm/modern/core/component/ckp/index.d.ts +29 -0
  24. package/esm/modern/core/component/element/EventCenter/index.d.ts +41 -0
  25. package/esm/modern/core/component/element/config.d.ts +10 -0
  26. package/esm/modern/core/component/element/elementContainerService/containerService.d.ts +34 -0
  27. package/esm/modern/core/component/element/elementContainerService/index.d.ts +20 -0
  28. package/esm/modern/core/component/element/elementController/index.d.ts +54 -0
  29. package/esm/modern/core/component/element/elementProcessor/addressProcessor.d.ts +20 -0
  30. package/esm/modern/core/component/element/elementProcessor/authProcessor.d.ts +20 -0
  31. package/esm/modern/core/component/element/elementProcessor/baseElementProcessor.d.ts +42 -0
  32. package/esm/modern/core/component/element/elementProcessor/convertPaymentMethods.d.ts +22 -0
  33. package/esm/modern/core/component/element/elementProcessor/paymentProcessor.d.ts +37 -0
  34. package/esm/modern/core/component/element/index.d.ts +17 -0
  35. package/esm/modern/core/component/element/mock.d.ts +10 -0
  36. package/esm/modern/core/component/element/modernElementController/adapter.d.ts +19 -0
  37. package/esm/modern/core/component/element/modernElementController/index.d.ts +172 -0
  38. package/esm/modern/core/component/element/type.d.ts +586 -0
  39. package/esm/modern/core/component/element/util.d.ts +93 -0
  40. package/esm/modern/core/component/index.d.ts +58 -0
  41. package/esm/modern/core/instance/index.d.ts +97 -0
  42. package/esm/modern/core/utils/connectConfig.d.ts +11 -0
  43. package/esm/modern/foundation/core/index.d.ts +36 -0
  44. package/esm/modern/foundation/index.d.ts +93 -0
  45. package/esm/modern/foundation/product-processor/autoDebit/deps.d.ts +14 -0
  46. package/esm/modern/foundation/product-processor/autoDebit/index.d.ts +48 -0
  47. package/esm/modern/foundation/product-processor/easysafepay/deps.d.ts +20 -0
  48. package/esm/modern/foundation/product-processor/easysafepay/index.d.ts +29 -0
  49. package/esm/modern/foundation/product-processor/element/index.d.ts +7 -0
  50. package/esm/modern/foundation/service/api-bus/ability/globalData.d.ts +10 -0
  51. package/esm/modern/foundation/service/api-bus/ability/request.d.ts +10 -0
  52. package/esm/modern/foundation/service/api-bus/ability/security.d.ts +12 -0
  53. package/esm/modern/foundation/service/api-bus/ability/tracker.d.ts +9 -0
  54. package/esm/modern/foundation/service/api-bus/busManager.d.ts +127 -0
  55. package/esm/modern/foundation/service/api-bus/index.d.ts +20 -0
  56. package/esm/modern/foundation/service/api-bus/interface.d.ts +48 -0
  57. package/esm/modern/foundation/service/container/index.d.ts +42 -0
  58. package/esm/modern/foundation/service/container/popup.d.ts +31 -0
  59. package/esm/modern/foundation/service/container/utils.d.ts +7 -0
  60. package/esm/modern/foundation/service/event-center.d.ts +82 -0
  61. package/esm/modern/foundation/service/global-data/index.d.ts +11 -0
  62. package/esm/modern/foundation/service/index.d.ts +19 -0
  63. package/esm/modern/foundation/service/log/index.d.ts +44 -0
  64. package/esm/modern/foundation/service/log/keys.d.ts +13 -0
  65. package/esm/modern/foundation/service/log/processor.d.ts +9 -0
  66. package/esm/modern/foundation/service/log/types.d.ts +33 -0
  67. package/esm/modern/foundation/service/requester/deps.d.ts +17 -0
  68. package/esm/modern/foundation/service/requester/requester.d.ts +22 -0
  69. package/esm/modern/foundation/service/security/index.d.ts +33 -0
  70. package/esm/modern/foundation/service/security/security.d.ts +54 -0
  71. package/esm/modern/foundation/utils/gray_scale_utils.d.ts +7 -0
  72. package/esm/modern/foundation/utils/payment_context_utils.d.ts +13 -0
  73. package/esm/modern/foundation/utils/payment_product_utils.d.ts +13 -0
  74. package/esm/modern/foundation/utils/preload_helper.d.ts +24 -0
  75. package/esm/modern/foundation/utils/redirect_utils.d.ts +11 -0
  76. package/esm/modern/foundation/utils/system_events.d.ts +4 -0
  77. package/esm/modern/foundation/utils/web_app_url_utils.d.ts +114 -0
  78. package/esm/modern/index.js +1 -1
  79. package/esm/modern/loader/constant.d.ts +36 -0
  80. package/esm/modern/loader/utils/proxyPerformance.d.ts +20 -0
  81. package/esm/modern/main.d.ts +54 -0
  82. package/esm/modern/{index.d.ts → modern/index.d.ts} +1 -1
  83. package/esm/modern/modern/loadAntomTracker.d.ts +7 -0
  84. package/esm/modern/modern/preload/antomManifestAdapter.d.ts +11 -0
  85. package/esm/modern/modern/preload/config.d.ts +10 -0
  86. package/esm/modern/modern/preload/gatewayPreconnection.d.ts +53 -0
  87. package/esm/modern/modern/preload/preloadAntomElements.d.ts +9 -0
  88. package/esm/modern/modern/preload/startAntomPreload.d.ts +2 -0
  89. package/esm/modern/modern/sdk/applepay-core/ApplePayHostService.d.ts +102 -0
  90. package/esm/modern/modern/sdk/elements/CVVElement.d.ts +144 -0
  91. package/esm/modern/modern/sdk/elements/PaymentElement.d.ts +204 -0
  92. package/esm/modern/modern/sdk/elements/appearanceRules.d.ts +59 -0
  93. package/esm/modern/modern/sdk/elements/appearanceRulesDefaults.d.ts +2 -0
  94. package/esm/modern/modern/sdk/eventsMap.d.ts +135 -0
  95. package/esm/modern/modern/sdk/oneapi/iexpfront/PaymentSessionService.d.ts +69 -0
  96. package/esm/modern/modern/sdk/oneapi/iexpfront/definitions.d.ts +5311 -0
  97. package/esm/modern/modern/sdk/oneapi/iexpfront/preConnection.d.ts +6 -0
  98. package/esm/modern/modern/sdk/stageName.d.ts +3 -0
  99. package/esm/modern/modern/sdk/tools/awaitWrap.d.ts +14 -0
  100. package/esm/modern/modern/sdk/tools/buildPageUrl.d.ts +4 -0
  101. package/esm/modern/modern/sdk/tools/checkSessionData.d.ts +1 -0
  102. package/esm/modern/modern/sdk/tools/expressElement/applePay.d.ts +9 -0
  103. package/esm/modern/modern/sdk/tools/expressElement/applePayHostToken.d.ts +32 -0
  104. package/esm/modern/modern/sdk/tools/expressElement/types.d.ts +277 -0
  105. package/esm/modern/modern/sdk/tools/getDevReqConfig.d.ts +2 -0
  106. package/esm/modern/modern/sdk/tools/getLocaleFromRenderData.d.ts +6 -0
  107. package/esm/modern/modern/sdk/tools/getMetaData.d.ts +126 -0
  108. package/esm/modern/modern/sdk/tools/modalMessageMonitor.d.ts +41 -0
  109. package/esm/modern/modern/sdk/tools/openModal.d.ts +20 -0
  110. package/esm/modern/modern/sdk/tools/paymentElement/applePayHostToken.d.ts +38 -0
  111. package/esm/modern/modern/sdk/tools/paymentElement/googlePayHostToken.d.ts +38 -0
  112. package/esm/modern/modern/sdk/tools/paymentElement/tracker.d.ts +16 -0
  113. package/esm/modern/modern/sdk/tools/paymentElement/walletHostListeners.d.ts +19 -0
  114. package/esm/modern/modern/sdk/tools/preloadTracking.d.ts +5 -0
  115. package/esm/modern/modern/sdk/tools/showToast.d.ts +33 -0
  116. package/esm/modern/modern/sdk/tools/validatePaymentAmount.d.ts +19 -0
  117. package/esm/modern/modern/sdk/tracking/elementTracker.d.ts +65 -0
  118. package/esm/modern/modern/sdk/types.d.ts +310 -0
  119. package/esm/modern/modern/tools.d.ts +26 -0
  120. package/esm/modern/plugin/applepay/component.d.ts +50 -0
  121. package/esm/modern/plugin/applepay/index.d.ts +17 -0
  122. package/esm/modern/plugin/applepay/interface.d.ts +161 -0
  123. package/esm/modern/plugin/applepay/service.d.ts +54 -0
  124. package/esm/modern/plugin/component/cashierApp.d.ts +38 -0
  125. package/esm/modern/plugin/component/channel.d.ts +73 -0
  126. package/esm/modern/plugin/component/component.inline.style.d.ts +10 -0
  127. package/esm/modern/plugin/component/component.popup.style.d.ts +25 -0
  128. package/esm/modern/plugin/component/index.d.ts +133 -0
  129. package/esm/modern/plugin/component/popupWindow.style.d.ts +11 -0
  130. package/esm/modern/plugin/const.d.ts +2 -0
  131. package/esm/modern/plugin/payment-element/utils.d.ts +2 -0
  132. package/esm/modern/plugin/paypal/index.d.ts +20 -0
  133. package/esm/modern/plugin/type.d.ts +34 -0
  134. package/esm/modern/plugin/utils.d.ts +6 -0
  135. package/esm/modern/preload/antomManifestAdapter.d.ts +11 -0
  136. package/esm/modern/preload/antomManifestAdapter.js +117 -0
  137. package/esm/modern/preload/config.d.ts +10 -0
  138. package/esm/modern/preload/config.js +37 -0
  139. package/esm/modern/preload/gatewayPreconnection.d.ts +53 -0
  140. package/esm/modern/preload/gatewayPreconnection.js +213 -0
  141. package/esm/modern/preload/preloadAntomElements.d.ts +9 -0
  142. package/esm/modern/preload/preloadAntomElements.js +95 -0
  143. package/esm/modern/preload/startAntomPreload.d.ts +2 -0
  144. package/esm/modern/preload/startAntomPreload.js +9 -0
  145. package/esm/modern/request/index.d.ts +9 -0
  146. package/esm/modern/request/utils.d.ts +28 -0
  147. package/esm/modern/service/index.d.ts +13 -0
  148. package/esm/modern/tools.js +1 -1
  149. package/esm/modern/types/index.d.ts +856 -0
  150. package/esm/modern/util/beforeConfirm.d.ts +14 -0
  151. package/esm/modern/util/createIframeNode.d.ts +6 -0
  152. package/esm/modern/util/debug.d.ts +1 -0
  153. package/esm/modern/util/get.d.ts +25 -0
  154. package/esm/modern/util/getBackScheme.d.ts +5 -0
  155. package/esm/modern/util/index.d.ts +61 -0
  156. package/esm/modern/util/jshield-apdid/apdid-loader.d.ts +89 -0
  157. package/esm/modern/util/jshield-apdid/index.d.ts +21 -0
  158. package/esm/modern/util/logger.d.ts +67 -0
  159. package/esm/modern/util/mock.d.ts +1 -0
  160. package/esm/modern/util/redirect.d.ts +6 -0
  161. package/esm/modern/util/security-registry.d.ts +72 -0
  162. package/esm/modern/util/security.d.ts +55 -0
  163. package/esm/modern/util/spm-map.d.ts +217 -0
  164. package/esm/modern/util/storage.d.ts +2 -0
  165. package/esm/modern/util/timezone.d.ts +1 -0
  166. package/esm/modern/util/upgrade.d.ts +39 -0
  167. package/esm/modern/util/versionCompare.d.ts +15 -0
  168. package/esm/util/logger.js +1 -1
  169. package/package.json +2 -1
  170. package/types.d.ts +17 -2
  171. package/types.untrimmed.d.ts +35 -2
@@ -0,0 +1,14 @@
1
+ export declare const BEFORE_CONFIRM_TIMEOUT_MS = 20000;
2
+ export declare const MERCHANT_CONFIRM_ABORT_CODE = "MERCHANT_CONFIRM_ABORT";
3
+ export declare const MERCHANT_CONFIRM_TIMEOUT_CODE = "MERCHANT_CONFIRM_TIMEOUT";
4
+ /**
5
+ * 带超时的异步执行,始终清理定时器避免 unhandled promise rejection。
6
+ *
7
+ * @param fn - 要执行的异步函数
8
+ * @param timeoutMs - 超时时间(毫秒),默认 20000
9
+ * @returns result 为 fn 的返回值(超时时为 undefined),timedOut 表示是否因超时返回
10
+ */
11
+ export declare function executeWithTimeout<T>(fn: () => Promise<T>, timeoutMs?: number): Promise<{
12
+ result: T | undefined;
13
+ timedOut: boolean;
14
+ }>;
@@ -0,0 +1,6 @@
1
+ import { Iselector, DisplayTypeEnum } from '../types';
2
+ /**
3
+ * @description context中需要包含app节点,用于插入selector中
4
+ */
5
+ export declare const createIframeNode: (context: any, selector: Iselector, renderDisplayType: DisplayTypeEnum) => Promise<void>;
6
+ export declare const createPreloadIframeNode: (virtualPreloadIframe: any) => void;
@@ -0,0 +1 @@
1
+ export declare const isDebugLog: () => boolean;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Gets the value at `path` of `object`. If the resolved value is
3
+ * `undefined`, the `defaultValue` is returned in its place.
4
+ *
5
+ * @since 3.7.0
6
+ * @category Object
7
+ * @param {Object} object The object to query.
8
+ * @param {Array|string} path The path of the property to get.
9
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
10
+ * @returns {*} Returns the resolved value.
11
+ * @see has, hasIn, set, unset
12
+ * @example
13
+ *
14
+ * const object = { 'a': [{ 'b': { 'c': 3 } }] }
15
+ *
16
+ * get(object, 'a[0].b.c')
17
+ * // => 3
18
+ *
19
+ * get(object, ['a', '0', 'b', 'c'])
20
+ * // => 3
21
+ *
22
+ * get(object, 'a.b.c', 'default')
23
+ * // => 'default'
24
+ */
25
+ export declare function get(object: any, path: string, defaultValue?: any): any;
@@ -0,0 +1,5 @@
1
+ import { Logger } from './logger';
2
+ /**
3
+ * 通过配置规则检测 UA 和获得回跳 scheme
4
+ */
5
+ export declare function getBackScheme(mockUa?: string, logger?: Logger): any;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Copyright (c) 2022 International Business Group, Ant Group. All rights reserved.
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), the rights to use, copy, modify, merge, and/or distribute the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+ * 1. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE; and
5
+ * 2. If applicable, the use of the Software is also subject to the terms and conditions of any non-disclosure agreement signed by you and the relevant Ant Group entity.
6
+ */
7
+ declare const getType: (target: any) => string;
8
+ declare class EventCenter {
9
+ private events;
10
+ private eventsKey;
11
+ constructor();
12
+ on(name: string, func: any, key?: string): void;
13
+ off(name: string, func: any, key?: string): void;
14
+ emit(name: string, ...rest: any): void;
15
+ once(name: string, func: any, key?: string): void;
16
+ isExist(name: string): boolean;
17
+ }
18
+ declare const getViewPort: (key: string) => any;
19
+ declare const getOrigin: () => string;
20
+ declare const serialize: (obj: Record<string, string>) => string;
21
+ declare const isJsonString: (str: string) => boolean;
22
+ declare const isDom: (obj: any) => boolean;
23
+ declare const device: {
24
+ iOS: boolean;
25
+ Android: boolean;
26
+ macOS: boolean;
27
+ WindowsNT: boolean;
28
+ isMobile: boolean;
29
+ isOpenHarmonyMobile: boolean;
30
+ };
31
+ declare const safeJson: (data: any, obj: any) => any;
32
+ declare const isPC: () => boolean;
33
+ declare const queryParse: <T extends Record<string, any> = Record<string, any>>(url?: string) => Partial<T>;
34
+ declare const getDesignFontSize: () => number;
35
+ declare const amsSetSize: (event?: any, dom?: any) => void;
36
+ declare const addSetFontSizeEvent: () => void;
37
+ /**
38
+ * @description get or set STORAGE
39
+ */
40
+ declare const getOrSetStorageId: (key: string, value?: string) => string;
41
+ declare const checkTimeElapsed: () => boolean;
42
+ declare const isFunction: (func: any) => boolean;
43
+ declare function parseBase64ToString(base64: string): string;
44
+ declare function loadSDKScript({ src, attrOptions, timeOut, loadCallback }: {
45
+ src: any;
46
+ attrOptions?: {};
47
+ timeOut?: number;
48
+ loadCallback?: any;
49
+ }, logger: any): Promise<unknown>;
50
+ declare const isEmpty: (value: any) => boolean;
51
+ /**
52
+ * 判断一个值是否为真
53
+ * @param value 要判断的值
54
+ * @returns 如果值为true或者字符串"true"(不区分大小写),则返回true,否则返回false
55
+ */
56
+ declare const isTrue: (value: unknown) => boolean;
57
+ export declare const omit: <T extends {
58
+ [x: string]: any;
59
+ hasOwnProperty: (arg0: any) => any;
60
+ }>(obj: T, keys: Array<keyof T>) => T;
61
+ export { getType, EventCenter, getViewPort, getOrigin, serialize, isJsonString, isDom, isFunction, device, safeJson, isPC, queryParse, getDesignFontSize, amsSetSize, addSetFontSizeEvent, getOrSetStorageId, checkTimeElapsed, parseBase64ToString, loadSDKScript, isEmpty, isTrue, };
@@ -0,0 +1,89 @@
1
+ /**
2
+ * ApdidLoader - Async loader for apdid-core security SDK (ESM)
3
+ *
4
+ * Features:
5
+ * - Singleton pattern (ApdidLoader.getInstance())
6
+ * - URL whitelist validation (production/pre/dev)
7
+ * - Timeout control (10s)
8
+ * - Retry mechanism (max 1 retry, transparent to caller)
9
+ * - Concurrent call dedup (shared loadingPromise)
10
+ * - State management: idle -> loading -> ready/failed
11
+ * - Monitoring event hooks (onLoad callback)
12
+ * - Uses a module script for ESM modules to avoid dynamic import syntax in the UMD bundle
13
+ */
14
+ /** Environment type for CDN URL selection */
15
+ export type ApdidEnvironment = 'production' | 'pre' | 'dev';
16
+ /** State of the ApdidLoader */
17
+ export type ApdidLoaderState = 'idle' | 'loading' | 'ready' | 'failed';
18
+ /** Callback for monitoring events */
19
+ export interface ApdidLoaderCallbacks {
20
+ /** Called when script loads successfully */
21
+ onLoad?: (duration: number) => void;
22
+ /** Called when script load fails */
23
+ onLoadFailed?: (error: Error) => void;
24
+ /** Called when script load times out */
25
+ onLoadTimeout?: () => void;
26
+ }
27
+ /** Configuration for ApdidLoader */
28
+ export interface ApdidLoaderConfig {
29
+ /** Environment to determine CDN URL */
30
+ environment: ApdidEnvironment;
31
+ /** Monitoring callbacks */
32
+ callbacks?: ApdidLoaderCallbacks;
33
+ }
34
+ /**
35
+ * ApdidLoader - Singleton class responsible for async loading the apdid-core ESM module.
36
+ *
37
+ * Key behaviors:
38
+ * - Uses a module script to load ESM modules
39
+ * - Concurrent calls share the same loading promise
40
+ * - On success, the APDID global exposed by the module is stored internally
41
+ * - On failure/timeout, the loader degrades gracefully and getApdidModule() returns undefined
42
+ */
43
+ export declare class ApdidLoader {
44
+ private static instance;
45
+ private state;
46
+ private loadingPromise;
47
+ private apdidModule;
48
+ private retryCount;
49
+ private config;
50
+ private constructor();
51
+ /** Get the singleton instance */
52
+ static getInstance(): ApdidLoader;
53
+ /** Reset the singleton (for testing purposes only) */
54
+ static resetInstance(): void;
55
+ /** Get current state */
56
+ getState(): ApdidLoaderState;
57
+ /** Get the loaded APDID module (undefined if not loaded or failed) */
58
+ getApdidModule(): any;
59
+ /**
60
+ * 非阻塞调度 apdid 加载
61
+ * 利用 requestIdleCallback 在浏览器空闲时发起加载,2s 超时兜底
62
+ * 调用方无需 await,不阻塞主流程
63
+ */
64
+ scheduleLoad(config: ApdidLoaderConfig): void;
65
+ /**
66
+ * Load the apdid-core script asynchronously.
67
+ * If already loaded or currently loading, returns the existing promise.
68
+ * Retries are transparent: the returned promise resolves only after the final
69
+ * attempt succeeds, or rejects after all retries are exhausted.
70
+ */
71
+ load(config: ApdidLoaderConfig): Promise<void>;
72
+ /**
73
+ * Load module with transparent retry logic.
74
+ * The returned promise resolves/rejects based on the final retry outcome.
75
+ */
76
+ private _loadWithRetry;
77
+ /**
78
+ * Internal method: attempt to load the ESM module once via a module script (no retry)
79
+ */
80
+ private _loadModuleOnce;
81
+ /**
82
+ * Handle successful module load
83
+ */
84
+ private _onLoadSuccess;
85
+ /**
86
+ * Destroy the loader state and clean up
87
+ */
88
+ destroy(): void;
89
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * jshield-apdid module - Async loading wrapper for apdid-core security SDK
3
+ *
4
+ * This module exports:
5
+ * - ApdidLoader: Singleton async script loader
6
+ * - Type definitions for configuration and callbacks
7
+ *
8
+ * Usage:
9
+ * ```typescript
10
+ * import { ApdidLoader } from './jshield-apdid';
11
+ *
12
+ * const loader = ApdidLoader.getInstance();
13
+ * await loader.load({ environment: 'production' });
14
+ * const APDID = loader.getApdidModule();
15
+ * if (APDID) {
16
+ * APDID.initToken(scene, options, callback);
17
+ * }
18
+ * ```
19
+ */
20
+ export { ApdidLoader } from './apdid-loader';
21
+ export type { ApdidEnvironment, ApdidLoaderState, ApdidLoaderCallbacks, ApdidLoaderConfig, } from './apdid-loader';
@@ -0,0 +1,67 @@
1
+ import type { AntomWebSDKIntegrationType } from '../loader/constant';
2
+ interface LogPayload {
3
+ title?: string;
4
+ msg?: string;
5
+ name?: string;
6
+ label?: string;
7
+ time?: number;
8
+ success?: boolean;
9
+ code?: string;
10
+ traceId?: string;
11
+ }
12
+ type Extra = Record<string, any>;
13
+ export interface LogMetaData {
14
+ platform?: string;
15
+ sdkVersion?: string;
16
+ webAppVersion?: string;
17
+ firstLogTime?: number;
18
+ fsDuration?: number;
19
+ instanceId?: string;
20
+ deviceId?: string;
21
+ renderDisplayType?: string;
22
+ merchantId?: string;
23
+ productScene?: string;
24
+ productSceneVersion?: string;
25
+ paymentMethodType?: string;
26
+ paymentMethodCategoryType?: string;
27
+ requestSeq?: string;
28
+ trackId?: string;
29
+ integrationType?: AntomWebSDKIntegrationType;
30
+ }
31
+ interface Config {
32
+ scriptUrl: string;
33
+ spmConfig: object;
34
+ appId: string;
35
+ server?: string;
36
+ bizType: string;
37
+ batchCount: number;
38
+ productId: string;
39
+ mdata?: LogMetaData;
40
+ version?: string;
41
+ }
42
+ export declare class Logger {
43
+ private logs;
44
+ private config;
45
+ private debug;
46
+ private componentStartTime;
47
+ private isLoaded;
48
+ private static instance;
49
+ private trackId;
50
+ constructor(config: Config, debug: boolean);
51
+ static setInstance(instance: Logger): Logger;
52
+ static getInstance(): Logger;
53
+ setMedta(mdata: LogMetaData): void;
54
+ logError(error: LogPayload, extra?: Extra, enableExtractCompliance?: boolean): Logger;
55
+ logInfo(info: LogPayload, extra?: Extra): Logger;
56
+ reportRPC(rpcData: LogPayload, extra?: Extra): Logger;
57
+ reportLogs(): void;
58
+ loadScript(url: string, callback: () => void): void;
59
+ private fallbackLoadScript;
60
+ initTracker(): void;
61
+ send(): void;
62
+ setComponentStartTime(val: number): void;
63
+ setTrackId(trackId: string): void;
64
+ getComponentStartTime(): number;
65
+ }
66
+ export declare const LogConfig: Config;
67
+ export {};
@@ -0,0 +1 @@
1
+ export declare const isLocalMock: () => boolean;
@@ -0,0 +1,6 @@
1
+ export declare function redirect(data: {
2
+ normalUrl?: string;
3
+ schemeUrl?: string;
4
+ applinkUrl?: string;
5
+ callAppJudgeTime?: number;
6
+ }): Promise<void>;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * SecuritySdkRegistry - Shared registry for Security SDK instances
3
+ *
4
+ * Unifies the securitySdkMap management across SecurityService, PreloadHelper, and AMSSDK.
5
+ * Supports three states: loading, ready, failed to handle async script loading.
6
+ *
7
+ * Key behaviors:
8
+ * - scene-based key (same as the original securitySdkMap key)
9
+ * - 'loading' state holds a shared loadingPromise so concurrent callers can await the same promise
10
+ * - 'ready' state holds the Security instance
11
+ * - 'failed' state holds the error
12
+ *
13
+ * Uses a generic interface to avoid tight coupling to a specific Security class
14
+ * (there are two Security class implementations in the codebase).
15
+ */
16
+ /**
17
+ * Minimal interface for Security SDK instances stored in the registry.
18
+ * Both Security class implementations (util/security and foundation/service/security/security) satisfy this.
19
+ */
20
+ export interface ISecurity {
21
+ getApdidToken(): Promise<string>;
22
+ pollingGetApdidToken(config?: any): Promise<string>;
23
+ initSecurity(successCallback: any, failCallback: any): void;
24
+ }
25
+ /**
26
+ * Security SDK entry states:
27
+ * - loading: Security instance is being created and initialized (holds shared promise)
28
+ * - ready: Security instance is available
29
+ * - failed: Security initialization failed (holds error)
30
+ */
31
+ export type SecuritySdkEntry = {
32
+ status: 'loading';
33
+ loadingPromise: Promise<ISecurity>;
34
+ } | {
35
+ status: 'ready';
36
+ instance: ISecurity;
37
+ } | {
38
+ status: 'failed';
39
+ error: Error;
40
+ };
41
+ /**
42
+ * SecuritySdkRegistry - Singleton registry for Security SDK instances
43
+ */
44
+ declare class SecuritySdkRegistryClass {
45
+ private registry;
46
+ /** Get the registry entry for a scene */
47
+ get(scene: string): SecuritySdkEntry | undefined;
48
+ /** Set a loading entry with its promise */
49
+ setLoading(scene: string, loadingPromise: Promise<ISecurity>): void;
50
+ /** Set a ready entry with the Security instance */
51
+ setReady(scene: string, instance: ISecurity): void;
52
+ /** Set a failed entry with the error */
53
+ setFailed(scene: string, error: Error): void;
54
+ /** Get a ready Security instance, or undefined if not ready */
55
+ getReadyInstance(scene: string): ISecurity | undefined;
56
+ /**
57
+ * Get a Security instance, awaiting if currently loading.
58
+ * Returns undefined if not found, failed, or loading fails.
59
+ */
60
+ getInstance(scene: string): Promise<ISecurity | undefined>;
61
+ /** Check if a scene has a ready instance */
62
+ isReady(scene: string): boolean;
63
+ /** Check if a scene is currently loading */
64
+ isLoading(scene: string): boolean;
65
+ /** Delete a scene entry */
66
+ delete(scene: string): boolean;
67
+ /** Clear all entries */
68
+ clear(): void;
69
+ }
70
+ /** Singleton instance of SecuritySdkRegistry */
71
+ export declare const SecuritySdkRegistry: SecuritySdkRegistryClass;
72
+ export {};
@@ -0,0 +1,55 @@
1
+ import { IsecurityConfig, ProductSceneEnum, DeviceIdParameter } from '../types';
2
+ import type { ApdidEnvironment } from './jshield-apdid';
3
+ export declare const getSecurityConfigStorageKey: (scene: ProductSceneEnum) => string;
4
+ export declare enum SecurityRegionEnum {
5
+ SG = "SG",
6
+ US = "US",
7
+ DE = "DE"
8
+ }
9
+ export declare const securityHost: {
10
+ SG: string;
11
+ US: string;
12
+ DE: string;
13
+ };
14
+ export declare const sceneMap: {
15
+ CASHIER_PAYMENT: string;
16
+ AUTO_DEBIT: string;
17
+ AUTO_DEBIT_PAY: string;
18
+ VAULTING: string;
19
+ CARD_APPLE_PAY: string;
20
+ EASYPAY: string;
21
+ EASY_PAY: string;
22
+ FLASH_BUY: string;
23
+ ELEMENT_PAYMENT: string;
24
+ };
25
+ export declare const getSecurityHost: (region: string) => string;
26
+ export declare const getSecurityScene: (product: string) => string;
27
+ /**
28
+ * Map SDK environment string to ApdidEnvironment for CDN URL selection.
29
+ */
30
+ export declare const mapEnvironment: (env?: string) => ApdidEnvironment;
31
+ export declare class Security {
32
+ scene: string;
33
+ h5gateway: string;
34
+ private environment?;
35
+ private apdidLoaded;
36
+ private apdidLoadFailed;
37
+ constructor(options: IsecurityConfig & {
38
+ environment?: string;
39
+ });
40
+ /**
41
+ * Ensure the apdid-core script is loaded async.
42
+ * Returns true if loaded successfully, false otherwise.
43
+ * On failure, sets apdidLoadFailed flag for graceful degradation.
44
+ */
45
+ private ensureApdidLoaded;
46
+ /**
47
+ * Get the APDID module from the loader.
48
+ * Returns undefined if not loaded.
49
+ */
50
+ private getAPDIDModule;
51
+ initSecurity(successCallback: any, failCallback: any): void;
52
+ private initToken;
53
+ pollingGetApdidToken(config?: DeviceIdParameter): Promise<string>;
54
+ getApdidToken(): Promise<string>;
55
+ }
@@ -0,0 +1,217 @@
1
+ export declare const ELEMENT_SPM_MAP: {
2
+ sdk_event_mount_element: string;
3
+ sdk_element_create: string;
4
+ sdk_element_mount_fail: string;
5
+ sdk_element_mount_start: string;
6
+ multiple_instance_error: string;
7
+ auto_apple_pay_start: string;
8
+ auto_apple_pay_failed: string;
9
+ auto_apple_pay_success: string;
10
+ sdk_element_handleHeartBeat: string;
11
+ sdk_element_handleInterAction: string;
12
+ sdk_element_callback_error: string;
13
+ sdk_element_missKeyData: string;
14
+ sdk_event_mount: string;
15
+ sdk_event_mount_end: string;
16
+ sdk_event_submitPay: string;
17
+ sdk_event_payment_end: string;
18
+ sdk_event_validateFields: string;
19
+ sdk_event_validateFields_end: string;
20
+ sdk_event_apiOnDestroy: string;
21
+ sdk_event_apiOnDestroy_end: string;
22
+ };
23
+ export declare const SPM_MAP: {
24
+ sdk_event_mount_element: string;
25
+ sdk_element_create: string;
26
+ sdk_element_mount_fail: string;
27
+ sdk_element_mount_start: string;
28
+ multiple_instance_error: string;
29
+ auto_apple_pay_start: string;
30
+ auto_apple_pay_failed: string;
31
+ auto_apple_pay_success: string;
32
+ sdk_element_handleHeartBeat: string;
33
+ sdk_element_handleInterAction: string;
34
+ sdk_element_callback_error: string;
35
+ sdk_element_missKeyData: string;
36
+ sdk_event_mount: string;
37
+ sdk_event_mount_end: string;
38
+ sdk_event_submitPay: string;
39
+ sdk_event_payment_end: string;
40
+ sdk_event_validateFields: string;
41
+ sdk_event_validateFields_end: string;
42
+ sdk_event_apiOnDestroy: string;
43
+ sdk_event_apiOnDestroy_end: string;
44
+ sdk_error_runtime_error: string;
45
+ sdk_event_sdkQuery_failed: string;
46
+ container_error_error_insert_js: string;
47
+ event_important_error: string;
48
+ sdk_error_parameter: string;
49
+ sdk_event_submitPay_failed: string;
50
+ sdk_event_destroyComponent: string;
51
+ container_error_page_load_failed: string;
52
+ sdk_event_eventCallback: string;
53
+ iap_net_error: string;
54
+ sdk_event_event_callback: string;
55
+ sdk_event_renderComponent: string;
56
+ sdk_event_call_url_success: string;
57
+ sdk_event_web_app_timeout: string;
58
+ container_error_jsapi_call: string;
59
+ sdk_event_appUpgradeInfo: string;
60
+ sdk_event_webAppOnLaunch: string;
61
+ sdk_event_createComponent: string;
62
+ container_error_insert_js: string;
63
+ container_error_error_jsapi_call: string;
64
+ sdk_error_receive_message_from_web: string;
65
+ sdk_error_securitySdkGetCodeFailed: string;
66
+ sdk_error_securitySdkGetTokenFailed: string;
67
+ sdk_error_securitySdkInitFailed: string;
68
+ sdk_error_caught_exception_in_callback: string;
69
+ sdk_error_call_url_failed: string;
70
+ sdk_event_webAppTimeout: string;
71
+ sdk_error_getGaidFailed: string;
72
+ sdk_error_securitySdkInitTokenFailed: string;
73
+ container_error_error_invalid_param: string;
74
+ container_error_error_set_ua_failed: string;
75
+ sdk_event_onAddressResult: string;
76
+ sdk_event_onAbnormalEventName: string;
77
+ event_important_log: string;
78
+ sdk_event_sdkQueryEnd: string;
79
+ container_event_manifest_load_start: string;
80
+ sdk_event_api_preheat: string;
81
+ container_event_manifest_load_complete: string;
82
+ sdk_event_apiSubmit: string;
83
+ sdk_event_securitySdkGetCodeSuccess: string;
84
+ sdk_event_securitySdkInitSuccess: string;
85
+ container_event_start_load: string;
86
+ sdk_event_getRemoteConfigStart: string;
87
+ container_event_webViewOnPageFinished: string;
88
+ container_event_page_load_success: string;
89
+ sdk_event_pre_init: string;
90
+ sdk_event_submitPayEnd: string;
91
+ container_stop_event_loop: string;
92
+ iap_net_start: string;
93
+ sdk_event_securitySdkPreInitSuccess: string;
94
+ sdk_event_securitySdkPreInit: string;
95
+ sdk_event_important_event: string;
96
+ sdk_event_accelerateInfo: string;
97
+ container_event_manifest_res_complete: string;
98
+ container_event_manifest_res_start: string;
99
+ sdk_event_dismissWindowCloseCancel: string;
100
+ sdk_event_jsBridgeCall_httpRequestStart: string;
101
+ sdk_event_getGaidSuccess: string;
102
+ sdk_event_securitySdkInit: string;
103
+ sdk_event_getRemoteLanguageResult: string;
104
+ sdk_event_getRemoteLanguageStart: string;
105
+ sdk_event_handleSDKPaymentResult: string;
106
+ sdk_event_handleSDKPaymentFail: string;
107
+ sdk_event_sdkQuery: string;
108
+ sdk_event_handleSDKPaymentStart: string;
109
+ sdk_event_securitySdkGetTokenSuccess: string;
110
+ sdk_event_api_onDestroy: string;
111
+ container_load_failed: string;
112
+ sdk_event_kycAppPreLoadStart: string;
113
+ sdk_event_getRemoteConfigResult: string;
114
+ iap_net_result: string;
115
+ sdk_event_popupWindowCloseButtonClick: string;
116
+ container_error_resourceLoadFailed: string;
117
+ container_event_startPreRenderUrl: string;
118
+ sdk_event_webAppPreLoadStart: string;
119
+ sdk_event_importantEvent: string;
120
+ container_error_registerJSAPIPlugin: string;
121
+ sdk_event_afterEventCallback: string;
122
+ sdk_event_createPayment: string;
123
+ sdk_event_sendMessageToWeb: string;
124
+ sdk_error_appHeartBeatTimeout: string;
125
+ container_event_jSEngineEvaluateJavascript: string;
126
+ container_event_jSEngineLoadJavascript: string;
127
+ sdk_event_receive_message_from_web: string;
128
+ sdk_event_receiveMessageFromWeb: string;
129
+ sdk_event_monitorFlushReport: string;
130
+ container_event_page_pv: string;
131
+ container_event_override_url_loading: string;
132
+ sdk_event_dismissWindowCloseConfirm: string;
133
+ container_load_success: string;
134
+ container_event_page_start: string;
135
+ sdk_event_webAppStartLoad: string;
136
+ container_event_startPreLoadUrl: string;
137
+ container_event_jsSEngineStart: string;
138
+ container_event_jSEngineDestroy: string;
139
+ sdk_event_send_message_to_web: string;
140
+ container_event_importantEvent: string;
141
+ sdk_event_monitorCrashTrackInit: string;
142
+ container_event_stop_event_loop: string;
143
+ sdk_event_requestAccelerateInfo: string;
144
+ native_rpc_performance: string;
145
+ container_event_jSEngineEvaluateJavascriptCallback: string;
146
+ container_event_jSEngineRegisterJsapi: string;
147
+ jSEngineEvaluateJavascriptConvertError: string;
148
+ sdk_event_security_unneeded_scenarios: string;
149
+ container_event_launch: string;
150
+ event_jsapi_call_start: string;
151
+ event_jsapi_call_end: string;
152
+ sdk_event_call_url_start: string;
153
+ sdk_event_onAbnormalKeys: string;
154
+ sdk_event_espBeforePay: string;
155
+ sdk_event_busPublishMessage: string;
156
+ sdk_event_busIsSubscribe: string;
157
+ sdk_event_busSubscribe: string;
158
+ NEW_AMSSDK_BY_MECHANT: string;
159
+ sdk_event_busClear: string;
160
+ sdk_event_busAddInterceptor: string;
161
+ sdk_error_securitySdkInitTimeout: string;
162
+ sdk_error_busPublishNoResult: string;
163
+ sdk_event_busPublishCallback: string;
164
+ sdk_error_busPublishError: string;
165
+ sdk_error_busPublishUnsubscribeError: string;
166
+ sdk_event_busUnsubscribe: string;
167
+ onBusPublishException: string;
168
+ sdk_event_apiGetValue: string;
169
+ load_channel_sdk_start: string;
170
+ preload_match: string;
171
+ preload_no_match: string;
172
+ canMakePayments_error: string;
173
+ performance_optimization_clearPreloadIframe: string;
174
+ performance_optimization_clearPreloadIframe_timeout: string;
175
+ sdk_event_call_url_failed: string;
176
+ sdk_event_applePaymentResult: string;
177
+ submitPayStatus: string;
178
+ sdk_event_appleAvailable: string;
179
+ sdk_event_appleCreateComponent: string;
180
+ sdk_event_appleShowPaymentSheet: string;
181
+ sdk_event_appleSubmitToken: string;
182
+ sdk_event_appleDestroyComponent: string;
183
+ paypal_payment_failed: string;
184
+ paypal_payment_approved: string;
185
+ paypal_payment_cancelled: string;
186
+ sdk_event_clean_component: string;
187
+ load_item_sdk_start: string;
188
+ load_item_sdk_end: string;
189
+ performance_optimization_get_previousChannel_error: string;
190
+ performance_optimization_channelType_error: string;
191
+ sdk_error_before_submit: string;
192
+ sessionDataNull: string;
193
+ 'appple runtime excepiton': string;
194
+ sdk_error_created_app_process_failed: string;
195
+ sdk_error_web_app_timeout: string;
196
+ performance_optimization_preload: string;
197
+ performance_optimization_preload_path_error: string;
198
+ sdk_error_created_app_failed: string;
199
+ sdk_error_create_pop_up: string;
200
+ button_render_failed: string;
201
+ paypal_payment_loadSDK_failed: string;
202
+ load_item_sdk_error: string;
203
+ load_item_sdk_timeout: string;
204
+ MerchantValidationError: string;
205
+ PaymentAuthorizedError: string;
206
+ 'ApplePaySession is only support in Safari': string;
207
+ 'Abnormal params paymentSessionFactor': string;
208
+ 'Abnormal params recurringInfo': string;
209
+ 'Payment processing but user dismissed the sheet': string;
210
+ 'User dismissed the sheet': string;
211
+ sdk_before_confirm_start: string;
212
+ sdk_before_confirm_success: string;
213
+ sdk_before_confirm_abort: string;
214
+ sdk_before_confirm_error: string;
215
+ sdk_before_confirm_timeout: string;
216
+ sdk_before_confirm_skip: string;
217
+ };
@@ -0,0 +1,2 @@
1
+ export declare const getStorageString: (key: string, fallback?: string) => string;
2
+ export declare const setStorageString: (key: string, value: string) => boolean;
@@ -0,0 +1 @@
1
+ export declare const getIdengineTimezone: () => string;