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