@alipay/ams-checkout 0.0.1787898127-dev.20 → 0.0.1787898127-dev.21
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.
- package/ams-checkout.js +3 -3
- package/dist/ams-checkout.min.js +1 -1
- package/dist/ams-checkout.min.js.map +1 -1
- package/esm/config/index.js +1 -1
- package/esm/core/component/ckp/index.js +21 -1
- package/esm/core/component/element/modernElementController/adapter.js +3 -3
- package/esm/core/component/element/modernElementController/index.d.ts +5 -0
- package/esm/core/component/element/modernElementController/index.js +193 -131
- package/esm/modern/index.js +1 -1
- package/esm/modern/loadAntomTracker.d.ts +7 -0
- package/esm/modern/loadAntomTracker.js +64 -0
- package/esm/modern/tools.js +1 -1
- package/esm/util/logger.js +1 -1
- package/esm/util/timezone.d.ts +1 -0
- package/esm/util/timezone.js +8 -0
- package/package.json +1 -1
- package/types.d.ts +200 -50
- package/types.untrimmed.d.ts +203 -47
package/types.untrimmed.d.ts
CHANGED
|
@@ -290,8 +290,10 @@ export declare interface AntomOpenModalConfig extends OpenModalParams {
|
|
|
290
290
|
export declare class AntomSDK extends BaseElementsFactory {
|
|
291
291
|
static version: string;
|
|
292
292
|
private stopModalMessageMonitor;
|
|
293
|
+
private readonly apiTracker;
|
|
293
294
|
constructor(config?: AntomSDKConfig);
|
|
294
295
|
protected canUseElements(): Array<ElementListItemType>;
|
|
296
|
+
init(): Promise<this>;
|
|
295
297
|
/**
|
|
296
298
|
* @description 更新配置
|
|
297
299
|
*/
|
|
@@ -313,7 +315,7 @@ export declare class AntomSDK extends BaseElementsFactory {
|
|
|
313
315
|
elements(): Elements;
|
|
314
316
|
createElement(elementType: 'payment', options?: PaymentAppConfig): PaymentElement;
|
|
315
317
|
createElement(elementType: 'vaulting', options?: VaultingAppConfig): VaultingElement;
|
|
316
|
-
createElement(elementType: 'CVV', options
|
|
318
|
+
createElement(elementType: 'CVV', options: CVVAppConfig): CVVElement;
|
|
317
319
|
createElement(elementType: 'express', options?: ExpressAppConfig): ExpressElement;
|
|
318
320
|
createElement(elementType: 'expressVaulting', options?: ExpressVaultingAppConfig): ExpressVaultingElement;
|
|
319
321
|
getElement(elementType: 'payment', options?: PaymentAppConfig): PaymentElement;
|
|
@@ -327,7 +329,9 @@ export declare class AntomSDK extends BaseElementsFactory {
|
|
|
327
329
|
*/
|
|
328
330
|
private extractMainElement;
|
|
329
331
|
confirmCardSetup(options: ConfirmCardSetupOptions): Promise<SubmitResult>;
|
|
332
|
+
private runConfirmCardSetup;
|
|
330
333
|
confirmPayment(options: ConfirmPaymentOptions): Promise<SubmitResult>;
|
|
334
|
+
private runConfirmPayment;
|
|
331
335
|
/**
|
|
332
336
|
* 触发 Express Vaulting element 的 PayPal 绑卡提交流程。
|
|
333
337
|
*
|
|
@@ -400,9 +404,29 @@ export declare const AntomSDKErrorCodes: {
|
|
|
400
404
|
*/
|
|
401
405
|
readonly AMOUNT_VALUE_EMPTY: "AMOUNT_VALUE_EMPTY";
|
|
402
406
|
/**
|
|
403
|
-
* @description
|
|
407
|
+
* @description 金额格式非法(仅允许 ASCII 数字字符串)
|
|
404
408
|
*/
|
|
405
409
|
readonly AMOUNT_VALUE_INVALID: "AMOUNT_VALUE_INVALID";
|
|
410
|
+
/**
|
|
411
|
+
* @description Amount currency does not match the payment session currency
|
|
412
|
+
*/
|
|
413
|
+
readonly AMOUNT_CURRENCY_MISMATCH: "AMOUNT_CURRENCY_MISMATCH";
|
|
414
|
+
/**
|
|
415
|
+
* @description Amount currency is not supported
|
|
416
|
+
*/
|
|
417
|
+
readonly AMOUNT_CURRENCY_UNSUPPORTED: "AMOUNT_CURRENCY_UNSUPPORTED";
|
|
418
|
+
/**
|
|
419
|
+
* @description Amount currency precision is not supported
|
|
420
|
+
*/
|
|
421
|
+
readonly AMOUNT_PRECISION_UNSUPPORTED: "AMOUNT_PRECISION_UNSUPPORTED";
|
|
422
|
+
/**
|
|
423
|
+
* @description Amount conversion timed out
|
|
424
|
+
*/
|
|
425
|
+
readonly AMOUNT_RESOLVE_TIMEOUT: "AMOUNT_RESOLVE_TIMEOUT";
|
|
426
|
+
/**
|
|
427
|
+
* @description Amount conversion failed
|
|
428
|
+
*/
|
|
429
|
+
readonly AMOUNT_RESOLVE_FAILED: "AMOUNT_RESOLVE_FAILED";
|
|
406
430
|
readonly GENERATE_ELEMENT_KEY_FAILED: "GENERATE_ELEMENT_KEY_FAILED";
|
|
407
431
|
readonly ELEMENT_INIT_FAILED: "ELEMENT_INIT_FAILED";
|
|
408
432
|
readonly MOUNT_TIMEOUT: "MOUNT_TIMEOUT";
|
|
@@ -415,8 +439,8 @@ export declare const AntomSDKErrorCodes: {
|
|
|
415
439
|
readonly ELEMENT_DEFINE_ERROR: "ELEMENT_DEFINE_ERROR";
|
|
416
440
|
readonly ELEMENT_ALREADY_REGISTERED: "ELEMENT_ALREADY_REGISTERED";
|
|
417
441
|
readonly CANNOT_CREATE_SAME_ELEMENT_TWICE: "CANNOT_CREATE_SAME_ELEMENT_TWICE";
|
|
418
|
-
readonly GROUPS_ONLY_ONE_MAIN_ELEMENT: "GROUPS_ONLY_ONE_MAIN_ELEMENT";
|
|
419
|
-
readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT";
|
|
442
|
+
readonly GROUPS_ONLY_ONE_MAIN_ELEMENT: "GROUPS_ONLY_ONE_MAIN_ELEMENT"; /** @deprecated 传入 elements 时无需重复传递,且不会覆盖 Element 的会话。 */
|
|
443
|
+
readonly GROUPS_NOT_FOUND_MAIN_ELEMENT: "GROUPS_NOT_FOUND_MAIN_ELEMENT"; /** 无 UI 模式必填,仅用于创建内部 CVVElement。 */
|
|
420
444
|
readonly NOT_SUPPORT_ELEMENT: "NOT_SUPPORT_ELEMENT";
|
|
421
445
|
readonly NOT_SUPPORT_SUBMIT: "NOT_SUPPORT_SUBMIT";
|
|
422
446
|
readonly UPDATE_CONFIG_TIMEOUT: "UPDATE_CONFIG_TIMEOUT";
|
|
@@ -2539,18 +2563,22 @@ export declare interface ConfirmCardSetupOptions {
|
|
|
2539
2563
|
redirect?: 'always' | 'if_required';
|
|
2540
2564
|
}
|
|
2541
2565
|
|
|
2542
|
-
export declare
|
|
2543
|
-
sessionData: string;
|
|
2544
|
-
/**
|
|
2545
|
-
* @description 传入已挂载的 CVVElement / PaymentElement / Elements 实例,不传则使用无 UI 自动提交模式
|
|
2546
|
-
*/
|
|
2547
|
-
elements?: BaseMainElement | BaseElements;
|
|
2566
|
+
export declare type ConfirmPaymentOptions = PaymentSubmitParams & {
|
|
2548
2567
|
appearance?: CVVAppearance;
|
|
2549
2568
|
/**
|
|
2550
2569
|
* @description 集成用户自定义信息(如 cardHolderName)
|
|
2551
2570
|
*/
|
|
2552
2571
|
params?: Record<string, unknown>;
|
|
2553
|
-
}
|
|
2572
|
+
} & ({
|
|
2573
|
+
/** 已挂载的 Element;确认时使用其创建时绑定的会话。 */
|
|
2574
|
+
elements: BaseMainElement | BaseElements;
|
|
2575
|
+
/** @deprecated 传入 elements 时无需重复传递,且不会覆盖 Element 的会话。 */
|
|
2576
|
+
sessionData?: string;
|
|
2577
|
+
} | {
|
|
2578
|
+
elements?: undefined;
|
|
2579
|
+
/** 无 UI 模式必填,仅用于创建内部 CVVElement。 */
|
|
2580
|
+
sessionData: string;
|
|
2581
|
+
});
|
|
2554
2582
|
|
|
2555
2583
|
/**
|
|
2556
2584
|
* @description Connect流程参数
|
|
@@ -2691,9 +2719,9 @@ export declare interface CVVAppConfig extends BaseElementAppConfig {
|
|
|
2691
2719
|
/** CVV appearance configuration including optional alias-only Rules. */
|
|
2692
2720
|
appearance?: CVVAppearance;
|
|
2693
2721
|
/**
|
|
2694
|
-
* @description
|
|
2722
|
+
* @description 创建时必填的支付会话;不可通过 updateConfig 或 submit 替换
|
|
2695
2723
|
*/
|
|
2696
|
-
sessionData
|
|
2724
|
+
sessionData: string;
|
|
2697
2725
|
/**
|
|
2698
2726
|
* @internal sessionConfig 渲染数据,内部使用,无需用户传递
|
|
2699
2727
|
*/
|
|
@@ -2737,21 +2765,30 @@ export declare type CVVAppearanceProps = {
|
|
|
2737
2765
|
*/
|
|
2738
2766
|
export declare class CVVElement extends BaseMainElement<CVVElementConfig, CVVElementEvents> {
|
|
2739
2767
|
static elementType: string;
|
|
2768
|
+
private readonly sessionData;
|
|
2769
|
+
private readonly elementTracker;
|
|
2770
|
+
private _mountInProgress;
|
|
2771
|
+
private _destroyInProgress;
|
|
2740
2772
|
constructor(name: string, config: CVVElementConfig);
|
|
2741
2773
|
/**
|
|
2742
2774
|
* @internal
|
|
2743
2775
|
*/
|
|
2744
2776
|
setup(): Promise<Partial<CVVAppConfig> | undefined>;
|
|
2745
2777
|
/**
|
|
2746
|
-
*
|
|
2747
|
-
*
|
|
2778
|
+
* @internal Not supported by the public CVV integration API.
|
|
2779
|
+
* Updates appearance only, preserving the Rules clear semantics.
|
|
2780
|
+
* @param newConfig Appearance configuration patch.
|
|
2748
2781
|
* @returns The WebApp update acknowledgement.
|
|
2749
2782
|
*/
|
|
2750
|
-
updateConfig(newConfig:
|
|
2783
|
+
updateConfig(newConfig: Pick<CVVAppConfig, 'appearance'>): Promise<CVVElementEvents['OPENSDK@UPDATE_CONFIG_REPLY']>;
|
|
2751
2784
|
/**
|
|
2752
2785
|
* @internal
|
|
2753
2786
|
*/
|
|
2754
2787
|
submit(data?: CVVSubmitParams): Promise<SubmitResult>;
|
|
2788
|
+
mount(container: HTMLElement): Promise<void>;
|
|
2789
|
+
on<T extends keyof CVVElementEvents>(event: T, handler: (payload: CVVElementEvents[T]) => void): void;
|
|
2790
|
+
unmount(): void;
|
|
2791
|
+
destroy(): void;
|
|
2755
2792
|
protected focus(): void;
|
|
2756
2793
|
protected blur(): void;
|
|
2757
2794
|
protected clear(): void;
|
|
@@ -2762,20 +2799,10 @@ export declare class CVVElement extends BaseMainElement<CVVElementConfig, CVVEle
|
|
|
2762
2799
|
* @description CVV element config type
|
|
2763
2800
|
*/
|
|
2764
2801
|
export declare interface CVVElementConfig extends BaseElementConfig<CVVAppConfig> {
|
|
2802
|
+
appConfig: CVVAppConfig;
|
|
2765
2803
|
}
|
|
2766
2804
|
|
|
2767
|
-
export declare interface CVVElementEvents extends AntomBridgeEventMap<CVVAppConfig, CVVSubmitParams
|
|
2768
|
-
/**
|
|
2769
|
-
* @description Emitted event about form
|
|
2770
|
-
*/
|
|
2771
|
-
form: {
|
|
2772
|
-
errors?: Array<{
|
|
2773
|
-
field: string | number;
|
|
2774
|
-
message: string;
|
|
2775
|
-
currentValue: any;
|
|
2776
|
-
}>;
|
|
2777
|
-
message: string;
|
|
2778
|
-
};
|
|
2805
|
+
export declare interface CVVElementEvents extends AntomBridgeEventMap<CVVAppConfig, CVVSubmitParams & Pick<CVVAppConfig, 'sessionData'>> {
|
|
2779
2806
|
/**
|
|
2780
2807
|
* @description Emitted when the element is destroy
|
|
2781
2808
|
*/
|
|
@@ -2819,10 +2846,6 @@ export declare type CVVSubmitErrorCodes = 'NOT_FIND_MAINELEMENT' | 'SESSION_DATA
|
|
|
2819
2846
|
* @description CVV 支付提交参数
|
|
2820
2847
|
*/
|
|
2821
2848
|
export declare interface CVVSubmitParams {
|
|
2822
|
-
/**
|
|
2823
|
-
* 支付会话数据
|
|
2824
|
-
*/
|
|
2825
|
-
sessionData?: string;
|
|
2826
2849
|
/**
|
|
2827
2850
|
* 重定向策略
|
|
2828
2851
|
*/
|
|
@@ -3506,8 +3529,12 @@ declare interface ElementPluginChangeStates {
|
|
|
3506
3529
|
declare type ElementPluginNameEnum = 'SET_STATE' | 'PASSIVE_SET_STATE';
|
|
3507
3530
|
|
|
3508
3531
|
declare class Elements extends BaseElements {
|
|
3532
|
+
private readonly apiTracker;
|
|
3509
3533
|
protected canUseElements(): Array<ElementListItemType>;
|
|
3510
3534
|
constructor(config: BaseElementsConfig);
|
|
3535
|
+
init(): Promise<this>;
|
|
3536
|
+
updateConfig(config: Partial<BaseElementsConfig>): void;
|
|
3537
|
+
destroy(): void;
|
|
3511
3538
|
createElement(elementType: 'vaulting', options?: VaultingAppConfig): VaultingElement;
|
|
3512
3539
|
createElement(elementType: 'express', options?: ExpressAppConfig): ExpressElement;
|
|
3513
3540
|
getElement(elementType: 'vaulting', options?: VaultingAppConfig): VaultingElement;
|
|
@@ -3643,12 +3670,13 @@ export declare interface ExpressAppConfig extends BaseElementAppConfig {
|
|
|
3643
3670
|
/**
|
|
3644
3671
|
* Amount & Currency
|
|
3645
3672
|
*
|
|
3646
|
-
*
|
|
3647
|
-
*
|
|
3648
|
-
*
|
|
3673
|
+
* For Apple Pay and Google Pay, `value` is a positive ASCII digit string in
|
|
3674
|
+
* the payment session currency's minor unit; `currency` may be omitted.
|
|
3675
|
+
* For example, USD 10.99 is passed as `{ value: '1099' }`.
|
|
3676
|
+
* PayPal keeps its existing major-unit amount semantics and requires `currency`.
|
|
3649
3677
|
*/
|
|
3650
3678
|
amount?: {
|
|
3651
|
-
currency
|
|
3679
|
+
currency?: string;
|
|
3652
3680
|
value: string;
|
|
3653
3681
|
};
|
|
3654
3682
|
/** PayPal 配置 */
|
|
@@ -3724,6 +3752,17 @@ export declare interface ExpressClickEvent {
|
|
|
3724
3752
|
expressPaymentType: string;
|
|
3725
3753
|
}
|
|
3726
3754
|
|
|
3755
|
+
declare type ExpressCompletePaymentResult = {
|
|
3756
|
+
success: boolean;
|
|
3757
|
+
result?: any;
|
|
3758
|
+
error?: {
|
|
3759
|
+
code: string;
|
|
3760
|
+
message: string;
|
|
3761
|
+
};
|
|
3762
|
+
userCanceled3D?: boolean;
|
|
3763
|
+
status?: 'SUCCESS' | 'CANCELLED' | 'FAIL' | 'PROCESSING';
|
|
3764
|
+
};
|
|
3765
|
+
|
|
3727
3766
|
/** confirm 事件负载(统一终态,替代 approve) */
|
|
3728
3767
|
export declare interface ExpressConfirmData {
|
|
3729
3768
|
expressPaymentType: string;
|
|
@@ -3770,6 +3809,10 @@ export declare interface ExpressConfirmData {
|
|
|
3770
3809
|
*/
|
|
3771
3810
|
export declare class ExpressElement extends BaseMainElement<ExpressElementConfig, ExpressElementEvents> {
|
|
3772
3811
|
static elementType: string;
|
|
3812
|
+
private readonly elementTracker;
|
|
3813
|
+
private _mountInProgress;
|
|
3814
|
+
private _destroyInProgress;
|
|
3815
|
+
private _registeringInternalListeners;
|
|
3773
3816
|
/**
|
|
3774
3817
|
* Store all function-type callbacks locally, not involved in postMessage serialization
|
|
3775
3818
|
*/
|
|
@@ -3788,7 +3831,23 @@ export declare class ExpressElement extends BaseMainElement<ExpressElementConfig
|
|
|
3788
3831
|
private _localHandlers;
|
|
3789
3832
|
/** 支付流程进行中标志(click → confirm/error/cancel 之间) */
|
|
3790
3833
|
private _paymentInProgress;
|
|
3834
|
+
/**
|
|
3835
|
+
* confirm 窗口超时标志:iframe 在 20s onTimeout 发 error(MERCHANT_CONFIRM_TIMEOUT) 时置位,
|
|
3836
|
+
* completePayment 入口据此立即返失败(不发 COMPLETE_PAYMENT,不进 5min 兜底)。
|
|
3837
|
+
* 每新一轮 confirm 事件到达时复位(见 on() 重写)。
|
|
3838
|
+
*/
|
|
3839
|
+
private _confirmWindowTimedOut;
|
|
3840
|
+
/**
|
|
3841
|
+
* 是否已收到 iframe 业务层 ready 事件(app.tsx sendReady)。
|
|
3842
|
+
* 注意:与 host `status='ready'`(由 HANDSHAKE_ACK 触发,bridge.js:450 同步回发,与 amount 解析无关)不同。
|
|
3843
|
+
* 首屏 amount setupError 时 iframe 不发业务 ready → _readyReceived 保持 false,
|
|
3844
|
+
* 据此判别"首屏失败"以阻断后续 updateConfig。
|
|
3845
|
+
*/
|
|
3846
|
+
private _readyReceived;
|
|
3847
|
+
/** 首屏 setupError 致命标志:置位后 updateConfig 被 CHECKOUT_NOT_READY 阻断,只能 destroy 重开。 */
|
|
3848
|
+
private _setupFailed;
|
|
3791
3849
|
private _paypalOverlay;
|
|
3850
|
+
private _updateQueue;
|
|
3792
3851
|
constructor(name: string, config: ExpressElementConfig);
|
|
3793
3852
|
/**
|
|
3794
3853
|
* 重写 on:对 confirm 事件拦截,在商户回调执行前注入 paymentFailed()
|
|
@@ -3800,24 +3859,29 @@ export declare class ExpressElement extends BaseMainElement<ExpressElementConfig
|
|
|
3800
3859
|
*/
|
|
3801
3860
|
private _emit;
|
|
3802
3861
|
updateConfig(newConfig: ExpressAppConfig): Promise<ExpressElementEvents['OPENSDK@UPDATE_CONFIG_REPLY']>;
|
|
3862
|
+
private runUpdateConfig;
|
|
3863
|
+
private updateConfigTransaction;
|
|
3864
|
+
private updateAmountConfigWithSanitizedDebug;
|
|
3865
|
+
private getAmountValidationReason;
|
|
3866
|
+
/** iframe 业务 ready 事件到达:置 _readyReceived,后续运行时 error 不再视为首屏失败。
|
|
3867
|
+
* ready 是"本次首屏成功"的确实信号(首屏 setupError 时 iframe 不发 ready),
|
|
3868
|
+
* 故同时清掉 _setupFailed——unmount+remount 同实例二次首屏成功后可恢复 updateConfig。
|
|
3869
|
+
*/
|
|
3870
|
+
private _handleReady;
|
|
3871
|
+
/** iframe error 事件:若 business ready 未到达,视为首屏 setupError → 置 _setupFailed 阻断后续 updateConfig。 */
|
|
3872
|
+
private _handleError;
|
|
3803
3873
|
/**
|
|
3804
3874
|
* 商户在 confirm 回调内调用,触发实际支付提交。
|
|
3805
3875
|
* iframe 收到 OPENSDK@COMPLETE_PAYMENT 后执行 submitPay / polling 等,
|
|
3806
3876
|
* 完成后通过 OPENSDK@COMPLETE_PAYMENT_RESULT 回包,Promise resolve。
|
|
3807
3877
|
*/
|
|
3808
|
-
completePayment(redirect?: 'always' | 'if_required'): Promise<
|
|
3809
|
-
|
|
3810
|
-
result?: any;
|
|
3811
|
-
error?: {
|
|
3812
|
-
code: string;
|
|
3813
|
-
message: string;
|
|
3814
|
-
};
|
|
3815
|
-
/** 用户是否手动关闭 3D 弹窗(透传 webapp COMPLETE_PAYMENT_RESULT.userCanceled3D) */
|
|
3816
|
-
userCanceled3D?: boolean;
|
|
3817
|
-
status?: 'SUCCESS' | 'CANCELLED' | 'FAIL' | 'PROCESSING';
|
|
3818
|
-
}>;
|
|
3878
|
+
completePayment(redirect?: 'always' | 'if_required'): Promise<ExpressCompletePaymentResult>;
|
|
3879
|
+
private runCompletePayment;
|
|
3819
3880
|
setup(): Promise<Partial<ExpressAppConfig> | undefined>;
|
|
3820
3881
|
private registerInternalListeners;
|
|
3882
|
+
mount(container: HTMLElement): Promise<void>;
|
|
3883
|
+
unmount(): void;
|
|
3884
|
+
destroy(): void;
|
|
3821
3885
|
protected focus(): void;
|
|
3822
3886
|
protected blur(): void;
|
|
3823
3887
|
protected clear(): void;
|
|
@@ -3889,6 +3953,11 @@ export declare interface ExpressElementEvents extends AntomBridgeWithNativeEvent
|
|
|
3889
3953
|
'OPENSDK@GET_APPLE_PAY_TOKEN': {
|
|
3890
3954
|
requestId: string;
|
|
3891
3955
|
expressPaymentType: string;
|
|
3956
|
+
/** iframe 已转好的 major unit 金额(来自 resolvedAmount);host 委托 Apple Pay 消费,不再做 minor→major 转换。 */
|
|
3957
|
+
walletAmount?: {
|
|
3958
|
+
value: string;
|
|
3959
|
+
currency: string;
|
|
3960
|
+
};
|
|
3892
3961
|
};
|
|
3893
3962
|
/** host 完成 Apple Pay token 获取后回包给 iframe,submit/3DS/polling 均由 webapp 完成 */
|
|
3894
3963
|
'OPENSDK@GET_APPLE_PAY_TOKEN_REPLY': {
|
|
@@ -4194,6 +4263,57 @@ declare interface FrontSupportIppBank {
|
|
|
4194
4263
|
logo?: Logo;
|
|
4195
4264
|
}
|
|
4196
4265
|
|
|
4266
|
+
/** host 回传 webapp 的 OPENSDK@GET_APPLE_PAY_TOKEN_REPLY 形态(result 对齐老链路 {token,billingContact,shippingContact})。 */
|
|
4267
|
+
declare interface GetApplePayTokenReply {
|
|
4268
|
+
success: boolean;
|
|
4269
|
+
result?: {
|
|
4270
|
+
token?: unknown;
|
|
4271
|
+
billingContact?: unknown;
|
|
4272
|
+
shippingContact?: unknown;
|
|
4273
|
+
} | {
|
|
4274
|
+
errorCode: string;
|
|
4275
|
+
};
|
|
4276
|
+
}
|
|
4277
|
+
|
|
4278
|
+
/** webapp 传来的 OPENSDK@GET_APPLE_PAY_TOKEN payload 形态。 */
|
|
4279
|
+
declare interface GetApplePayTokenRequest {
|
|
4280
|
+
paymentMethod?: {
|
|
4281
|
+
paymentMethodDetail?: {
|
|
4282
|
+
applePayProps?: {
|
|
4283
|
+
paymentRequest?: unknown;
|
|
4284
|
+
};
|
|
4285
|
+
};
|
|
4286
|
+
};
|
|
4287
|
+
shipping?: unknown;
|
|
4288
|
+
}
|
|
4289
|
+
|
|
4290
|
+
/** host 回传 webapp 的 OPENSDK@GET_GOOGLE_PAY_TOKEN_REPLY 形态。 */
|
|
4291
|
+
declare interface GetGooglePayTokenReply {
|
|
4292
|
+
success: boolean;
|
|
4293
|
+
result?: unknown;
|
|
4294
|
+
err?: {
|
|
4295
|
+
statusCode?: string;
|
|
4296
|
+
[key: string]: unknown;
|
|
4297
|
+
};
|
|
4298
|
+
}
|
|
4299
|
+
|
|
4300
|
+
/** webapp 传来的 OPENSDK@GET_GOOGLE_PAY_TOKEN payload 形态。 */
|
|
4301
|
+
declare interface GetGooglePayTokenRequest {
|
|
4302
|
+
actionName?: string;
|
|
4303
|
+
data?: {
|
|
4304
|
+
environment?: string;
|
|
4305
|
+
paymentRequest?: unknown;
|
|
4306
|
+
paymentMethod?: unknown;
|
|
4307
|
+
paymentMethodDetail?: {
|
|
4308
|
+
googlePayProps?: {
|
|
4309
|
+
environment?: string;
|
|
4310
|
+
paymentRequest?: unknown;
|
|
4311
|
+
};
|
|
4312
|
+
};
|
|
4313
|
+
[key: string]: unknown;
|
|
4314
|
+
};
|
|
4315
|
+
}
|
|
4316
|
+
|
|
4197
4317
|
declare type GetI18nQueryParam = string | {
|
|
4198
4318
|
/**
|
|
4199
4319
|
* 多语言文案的 key
|
|
@@ -7769,11 +7889,18 @@ export declare type PaymentAppearanceProps = {
|
|
|
7769
7889
|
export declare class PaymentElement extends BaseMainElement<PaymentElementConfig, PaymentElementEvents> {
|
|
7770
7890
|
static elementType: string;
|
|
7771
7891
|
private _paymentInProgress;
|
|
7892
|
+
private readonly paymentTracker;
|
|
7893
|
+
private _mountStartedAt;
|
|
7894
|
+
private _mountInProgress;
|
|
7895
|
+
private _mountPhase;
|
|
7896
|
+
private _destroyInProgress;
|
|
7897
|
+
private readonly walletLogger;
|
|
7772
7898
|
constructor(name: string, config: PaymentElementConfig);
|
|
7773
7899
|
/**
|
|
7774
7900
|
* @internal
|
|
7775
7901
|
*/
|
|
7776
7902
|
setup(): Promise<Partial<PaymentAppConfig> | undefined>;
|
|
7903
|
+
mount(container: HTMLElement): Promise<void>;
|
|
7777
7904
|
/**
|
|
7778
7905
|
* @description Update payment element configuration with amount validation and appearance Rules support
|
|
7779
7906
|
*/
|
|
@@ -7782,6 +7909,9 @@ export declare class PaymentElement extends BaseMainElement<PaymentElementConfig
|
|
|
7782
7909
|
* @internal
|
|
7783
7910
|
*/
|
|
7784
7911
|
submit(data?: PaymentSubmitParams): Promise<PaymentSubmitResult>;
|
|
7912
|
+
on<T extends keyof PaymentElementEvents>(event: T, handler: (payload: PaymentElementEvents[T]) => void): void;
|
|
7913
|
+
unmount(): void;
|
|
7914
|
+
destroy(): void;
|
|
7785
7915
|
protected focus(): void;
|
|
7786
7916
|
protected blur(): void;
|
|
7787
7917
|
protected clear(): void;
|
|
@@ -7797,6 +7927,25 @@ declare interface PaymentElementConfig extends BaseElementConfig<PaymentAppConfi
|
|
|
7797
7927
|
* @description Payment element events
|
|
7798
7928
|
*/
|
|
7799
7929
|
export declare interface PaymentElementEvents extends AntomBridgeWithNativeEventMap<PaymentAppConfig, PaymentSubmitParams, PaymentSubmitResult> {
|
|
7930
|
+
/**
|
|
7931
|
+
* webapp 委托 host(父 frame)拉起 Apple Pay 拿 token。
|
|
7932
|
+
* payload 结构对齐 ModernElementController.GetApplePayTokenRequest(放 paymentMethod/shipping)。
|
|
7933
|
+
*/
|
|
7934
|
+
'OPENSDK@GET_APPLE_PAY_TOKEN': GetApplePayTokenRequest;
|
|
7935
|
+
/** host 完成 Apple Pay token 获取后回包给 webapp */
|
|
7936
|
+
'OPENSDK@GET_APPLE_PAY_TOKEN_REPLY': GetApplePayTokenReply;
|
|
7937
|
+
/**
|
|
7938
|
+
* webapp 委托 host(父 frame)拉起 Google Pay 拿 token。
|
|
7939
|
+
* payload 结构对齐 ModernElementController.GetGooglePayTokenRequest(放 data.environment/paymentRequest)。
|
|
7940
|
+
*/
|
|
7941
|
+
'OPENSDK@GET_GOOGLE_PAY_TOKEN': GetGooglePayTokenRequest;
|
|
7942
|
+
/** host 完成 Google Pay token 获取后回包给 webapp */
|
|
7943
|
+
'OPENSDK@GET_GOOGLE_PAY_TOKEN_REPLY': GetGooglePayTokenReply;
|
|
7944
|
+
/** WebApp notifies the host when the selected payment method changes. */
|
|
7945
|
+
paymentMethodChanged: {
|
|
7946
|
+
type: string;
|
|
7947
|
+
name?: string;
|
|
7948
|
+
};
|
|
7800
7949
|
}
|
|
7801
7950
|
|
|
7802
7951
|
declare interface PaymentElementView {
|
|
@@ -25268,6 +25417,9 @@ export declare type VaultingAppearanceProps = {
|
|
|
25268
25417
|
*/
|
|
25269
25418
|
export declare class VaultingElement extends BaseMainElement<VaultingElementConfig, VaultingElementEvents> {
|
|
25270
25419
|
static elementType: string;
|
|
25420
|
+
private readonly elementTracker;
|
|
25421
|
+
private _mountInProgress;
|
|
25422
|
+
private _destroyInProgress;
|
|
25271
25423
|
constructor(name: string, config: VaultingElementConfig);
|
|
25272
25424
|
/**
|
|
25273
25425
|
* @internal
|
|
@@ -25283,6 +25435,10 @@ export declare class VaultingElement extends BaseMainElement<VaultingElementConf
|
|
|
25283
25435
|
* @internal
|
|
25284
25436
|
*/
|
|
25285
25437
|
submit(data?: VaultingSubmitParams): Promise<SubmitResult>;
|
|
25438
|
+
mount(container: HTMLElement): Promise<void>;
|
|
25439
|
+
on<T extends keyof VaultingElementEvents>(event: T, handler: (payload: VaultingElementEvents[T]) => void): void;
|
|
25440
|
+
unmount(): void;
|
|
25441
|
+
destroy(): void;
|
|
25286
25442
|
protected focus(): void;
|
|
25287
25443
|
protected blur(): void;
|
|
25288
25444
|
protected clear(): void;
|