@alipay/ams-checkout 0.0.1715248982-dev.0 → 0.0.1716362599-dev.0
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/dist/umd/ams-checkout.min.js +1 -1
- package/esm/config/request.js +3 -3
- package/esm/core/component/appPreloadProcessing.d.ts +1 -0
- package/esm/core/component/appPreloadProcessing.js +89 -0
- package/esm/core/component/ckp/index.d.ts +41 -0
- package/esm/core/component/ckp/index.js +139 -0
- package/esm/core/component/index.js +46 -18
- package/esm/index.d.ts +6 -1
- package/esm/index.js +26 -13
- package/esm/plugin/component/cashierApp.d.ts +1 -1
- package/esm/plugin/component/cashierApp.js +22 -22
- package/esm/plugin/component/channel.d.ts +20 -0
- package/esm/plugin/component/channel.js +52 -0
- package/esm/plugin/component/component.popup.style.d.ts +4 -1
- package/esm/plugin/component/component.popup.style.js +7 -1
- package/esm/plugin/component/index.d.ts +3 -1
- package/esm/plugin/component/index.js +214 -82
- package/esm/plugin/paypal/index.js +1 -1
- package/esm/request/index.js +2 -2
- package/esm/types/index.d.ts +20 -1
- package/esm/types/index.js +3 -0
- package/esm/util/debug.js +2 -2
- package/esm/util/index.d.ts +7 -1
- package/esm/util/index.js +67 -1
- package/esm/util/logger.js +18 -11
- package/esm/util/upgrade.d.ts +4 -4
- package/esm/util/upgrade.js +6 -6
- package/package.json +1 -1
@@ -12,36 +12,39 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
12
12
|
import { marmotMap, sdkVersion } from "../../config/index";
|
13
13
|
import { componentSignEnum } from "../../types";
|
14
14
|
import { isDebugLog } from "../../util/debug";
|
15
|
-
import {
|
15
|
+
import { queryParse, serialize } from "../../util/index";
|
16
16
|
import { Logger } from "../../util/logger";
|
17
17
|
import { getLastAppVersion, getMatchAppVersion, setLastAppVersion } from "../../util/upgrade";
|
18
18
|
var getAppVersion = function getAppVersion(_extendInfo, productScene, mid) {
|
19
|
+
var sendLog = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
19
20
|
try {
|
20
|
-
var _Logger$getInstance;
|
21
21
|
var appVersion = getMatchAppVersion(_extendInfo, {
|
22
22
|
sdkVersion: sdkVersion,
|
23
23
|
productScene: productScene,
|
24
24
|
mid: mid
|
25
25
|
});
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
26
|
+
if (sendLog) {
|
27
|
+
var _Logger$getInstance;
|
28
|
+
(_Logger$getInstance = Logger.getInstance()) === null || _Logger$getInstance === void 0 || _Logger$getInstance.logInfo({
|
29
|
+
title: 'sdk_event_appUpgradeInfo'
|
30
|
+
}, {
|
31
|
+
appUpgradeVersion: appVersion,
|
32
|
+
appUpgraded: appVersion ? true : false,
|
33
|
+
isPreload: _extendInfo ? false : true,
|
34
|
+
extendInfo: _extendInfo,
|
35
|
+
productScene: productScene,
|
36
|
+
mid: mid
|
37
|
+
});
|
38
|
+
}
|
39
|
+
|
37
40
|
// 没有匹配到版本,查询上次的加载版本
|
38
41
|
if (!appVersion) {
|
39
|
-
appVersion = getLastAppVersion(productScene);
|
42
|
+
appVersion = getLastAppVersion(sdkVersion + productScene);
|
40
43
|
return appVersion;
|
41
44
|
}
|
42
45
|
// 不为空时代表是有sessionData,因此要保存当前版本
|
43
46
|
if (_extendInfo) {
|
44
|
-
setLastAppVersion(productScene, appVersion);
|
47
|
+
setLastAppVersion(sdkVersion + productScene, appVersion);
|
45
48
|
}
|
46
49
|
return appVersion;
|
47
50
|
} catch (error) {
|
@@ -49,7 +52,7 @@ var getAppVersion = function getAppVersion(_extendInfo, productScene, mid) {
|
|
49
52
|
}
|
50
53
|
};
|
51
54
|
var getFinalProductSceneVersion = function getFinalProductSceneVersion(componentSign, productSceneVersion) {
|
52
|
-
var signSupportMap = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, componentSignEnum.NONE, ['']), componentSignEnum.AUTO_DEBIT_WALLET, ['1.0']), componentSignEnum.CASHIER_PAYMENT_BANK, ['1.0']), componentSignEnum.CASHIER_PAYMENT_CARD, ['1.0']), componentSignEnum.CASHIER_PAYMENT_APM, ['1.0']), componentSignEnum.EASY_PAY_WALLET, ['1.0', '2.0']), componentSignEnum.VAULTING_CARD, ['1.0']);
|
55
|
+
var signSupportMap = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, componentSignEnum.NONE, ['']), componentSignEnum.AUTO_DEBIT_WALLET, ['1.0']), componentSignEnum.AUTO_DEBIT_PAY_WALLET, ['']), componentSignEnum.CASHIER_PAYMENT_BANK, ['1.0']), componentSignEnum.CASHIER_PAYMENT_CARD, ['1.0']), componentSignEnum.CASHIER_PAYMENT_APM, ['1.0']), componentSignEnum.EASY_PAY_WALLET, ['1.0', '2.0']), componentSignEnum.EASY_PAY_APM, ['2.0']), componentSignEnum.VAULTING_CARD, ['1.0']);
|
53
56
|
var supportProductSceneVersion = signSupportMap[componentSign];
|
54
57
|
// 从左到右,从旧到新
|
55
58
|
var isSupport = supportProductSceneVersion.find(function (it) {
|
@@ -66,9 +69,10 @@ export var getAppPath = function getAppPath() {
|
|
66
69
|
var productSceneVersion = arguments.length > 4 ? arguments[4] : undefined;
|
67
70
|
var extendInfo = arguments.length > 5 ? arguments[5] : undefined;
|
68
71
|
var mid = arguments.length > 6 ? arguments[6] : undefined;
|
72
|
+
var sendLog = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
|
69
73
|
var _ref = queryParse() || {},
|
70
74
|
urlTestHost = _ref.host;
|
71
|
-
var upgradeAppVersion = getAppVersion(extendInfo, productScene, mid);
|
75
|
+
var upgradeAppVersion = getAppVersion(extendInfo, productScene, mid, sendLog);
|
72
76
|
var finalAppVersion = upgradeAppVersion || appVersion;
|
73
77
|
// 当有升级版本时,更新到全局字段
|
74
78
|
if (upgradeAppVersion) {
|
@@ -120,14 +124,12 @@ export var getIframeUrl = function getIframeUrl(iframeParams) {
|
|
120
124
|
hostSign = _iframeParams$hostSig === void 0 ? '' : _iframeParams$hostSig,
|
121
125
|
_iframeParams$mid = iframeParams.mid,
|
122
126
|
mid = _iframeParams$mid === void 0 ? '' : _iframeParams$mid;
|
123
|
-
var path = getAppPath(environment, appVersion, componentSign, productScene, productSceneVersion, extendInfo || '', mid);
|
127
|
+
var path = getAppPath(environment, appVersion, componentSign, productScene, productSceneVersion, extendInfo || '', mid, true);
|
124
128
|
var appMatched = getMatchAppVersion(extendInfo, {
|
125
129
|
sdkVersion: sdkVersion,
|
126
130
|
productScene: productScene,
|
127
131
|
mid: mid
|
128
132
|
}) ? 'true' : 'false';
|
129
|
-
var initialScale = 1;
|
130
|
-
var scale = getViewPort('initial-scale') || initialScale;
|
131
133
|
var _queryParse = queryParse(),
|
132
134
|
_sandbox = _queryParse._sandbox,
|
133
135
|
_light_sandbox = _queryParse._light_sandbox,
|
@@ -140,7 +142,6 @@ export var getIframeUrl = function getIframeUrl(iframeParams) {
|
|
140
142
|
var urlParams = Object.assign({}, {
|
141
143
|
displayType: renderDisplayType,
|
142
144
|
locale: locale,
|
143
|
-
scale: scale,
|
144
145
|
instanceId: instanceId,
|
145
146
|
appMatched: appMatched,
|
146
147
|
analyticsEnabled: (analytics === null || analytics === void 0 ? void 0 : analytics.enabled) === false ? 'false' : 'true',
|
@@ -156,7 +157,6 @@ export var getIframeUrl = function getIframeUrl(iframeParams) {
|
|
156
157
|
if (environment === 'light_sandbox' || _light_sandbox === 'true') urlParams.sandbox = 'true';
|
157
158
|
if (environment === 'sandbox' || _sandbox === 'true') urlParams.shadow = 'true';
|
158
159
|
if (_displayType) urlParams.displayType = _displayType;
|
159
|
-
if (isPreload) urlParams.isPreload = isPreload;
|
160
160
|
var locationSearch = serialize(urlParams);
|
161
161
|
if (isDebugLog()) {
|
162
162
|
console.log('appUpgrade#getIframeUrl#appMatched', appMatched);
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import type { IpaymentSessionMetaData } from "src/types";
|
2
|
+
type IChannelBehavior = {
|
3
|
+
usePaymentSessionAsQueryResult: boolean;
|
4
|
+
submitPayInSdk: boolean;
|
5
|
+
createIframeNode: boolean;
|
6
|
+
loadApp: boolean;
|
7
|
+
buildSubmitPayExtParams?: (params: GetDoubleFaParams) => any;
|
8
|
+
allowClickOutsideClose?: boolean;
|
9
|
+
};
|
10
|
+
type GetDoubleFaParams = {
|
11
|
+
instanceId: string;
|
12
|
+
paymentSessionData: string;
|
13
|
+
locale: string;
|
14
|
+
paymentMethodType: string;
|
15
|
+
env: string;
|
16
|
+
sdkVersion: string;
|
17
|
+
};
|
18
|
+
export declare function getChannelBehavior(paymentSessionMetaData?: IpaymentSessionMetaData): IChannelBehavior | undefined;
|
19
|
+
export declare function getDoubleFaUrl(params: GetDoubleFaParams): string;
|
20
|
+
export {};
|
@@ -0,0 +1,52 @@
|
|
1
|
+
export function getChannelBehavior(paymentSessionMetaData) {
|
2
|
+
var _paymentSessionMetaDa, _paymentSessionMetaDa2, _paymentSessionMetaDa3, _paymentSessionMetaDa4, _paymentSessionMetaDa5, _paymentSessionMetaDa6, _paymentSessionMetaDa7, _paymentSessionMetaDa8;
|
3
|
+
// TOSS EASYPAY 2.0
|
4
|
+
if ('BANKTRANSFER_QUICKPAY' === (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa = paymentSessionMetaData.paymentMethodInfoView) === null || _paymentSessionMetaDa === void 0 ? void 0 : _paymentSessionMetaDa.paymentMethodType) && (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa2 = paymentSessionMetaData.paymentSessionConfig) === null || _paymentSessionMetaDa2 === void 0 ? void 0 : _paymentSessionMetaDa2.productScene) === 'EASY_PAY' && (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa3 = paymentSessionMetaData.paymentSessionConfig) === null || _paymentSessionMetaDa3 === void 0 ? void 0 : _paymentSessionMetaDa3.paymentMethodCategoryType) === 'APM' && (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa4 = paymentSessionMetaData.paymentSessionConfig) === null || _paymentSessionMetaDa4 === void 0 ? void 0 : _paymentSessionMetaDa4.productSceneVersion) === '2.0') {
|
5
|
+
return {
|
6
|
+
usePaymentSessionAsQueryResult: true,
|
7
|
+
submitPayInSdk: true,
|
8
|
+
createIframeNode: true,
|
9
|
+
loadApp: true,
|
10
|
+
allowClickOutsideClose: true,
|
11
|
+
buildSubmitPayExtParams: function buildSubmitPayExtParams(params) {
|
12
|
+
var callBackUrl = getDoubleFaUrl(params);
|
13
|
+
return {
|
14
|
+
callBackUrl: callBackUrl
|
15
|
+
};
|
16
|
+
}
|
17
|
+
};
|
18
|
+
}
|
19
|
+
// TNG EASYPAY 2.0
|
20
|
+
if ('TNG' === (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa5 = paymentSessionMetaData.paymentMethodInfoView) === null || _paymentSessionMetaDa5 === void 0 ? void 0 : _paymentSessionMetaDa5.paymentMethodType) && (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa6 = paymentSessionMetaData.paymentSessionConfig) === null || _paymentSessionMetaDa6 === void 0 ? void 0 : _paymentSessionMetaDa6.productScene) === 'EASY_PAY' && (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa7 = paymentSessionMetaData.paymentSessionConfig) === null || _paymentSessionMetaDa7 === void 0 ? void 0 : _paymentSessionMetaDa7.paymentMethodCategoryType) === 'WALLET' && (paymentSessionMetaData === null || paymentSessionMetaData === void 0 || (_paymentSessionMetaDa8 = paymentSessionMetaData.paymentSessionConfig) === null || _paymentSessionMetaDa8 === void 0 ? void 0 : _paymentSessionMetaDa8.productSceneVersion) === '2.0') {
|
21
|
+
return {
|
22
|
+
usePaymentSessionAsQueryResult: false,
|
23
|
+
submitPayInSdk: false,
|
24
|
+
createIframeNode: true,
|
25
|
+
loadApp: true,
|
26
|
+
allowClickOutsideClose: false,
|
27
|
+
buildSubmitPayExtParams: function buildSubmitPayExtParams(params) {
|
28
|
+
return {};
|
29
|
+
}
|
30
|
+
};
|
31
|
+
}
|
32
|
+
return undefined;
|
33
|
+
}
|
34
|
+
export function getDoubleFaUrl(params) {
|
35
|
+
var instanceId = params.instanceId,
|
36
|
+
paymentMethodType = params.paymentMethodType,
|
37
|
+
paymentSessionData = params.paymentSessionData,
|
38
|
+
locale = params.locale,
|
39
|
+
env = params.env,
|
40
|
+
sdkVersion = params.sdkVersion;
|
41
|
+
var isLandscapeOrientation = false; // Web 不含横屏
|
42
|
+
|
43
|
+
var DOUBLE_FA_URL_MAPPING = {
|
44
|
+
local: "http://page.alipay.net/page/antom-web-checkout/src/component-app/doubleFA/index.".concat(sdkVersion, ".html"),
|
45
|
+
dev: "http://page.alipay.net/page/antom-web-checkout/src/component-app/doubleFA/index.".concat(sdkVersion, ".html"),
|
46
|
+
sit: "http://page.test.alipay.net/page/antom-web-checkout/src/component-app/doubleFA/index.".concat(sdkVersion, ".html"),
|
47
|
+
pre: "https://pre.ac.alipay.com/page/antom-web-checkout/src/component-app/doubleFA/index.".concat(sdkVersion, ".html"),
|
48
|
+
prod: "https://ac.alipay.com/page/antom-web-checkout/src/component-app/doubleFA/index.".concat(sdkVersion, ".html")
|
49
|
+
};
|
50
|
+
var doubleFaBaseUrl = DOUBLE_FA_URL_MAPPING[env] || DOUBLE_FA_URL_MAPPING.prod;
|
51
|
+
return "".concat(doubleFaBaseUrl, "?scene=cashierResultPage&instanceId=").concat(instanceId, "&paymentSessionData=").concat(encodeURIComponent(paymentSessionData), "&isLandscape=").concat(isLandscapeOrientation ? 'true' : '', "&pmt=").concat(paymentMethodType, "&locale=").concat(locale, "&sdkVersion=").concat(sdkVersion);
|
52
|
+
}
|
@@ -5,7 +5,10 @@ export declare const createCloseBtn: (platform: platformEnum, closeBtnFunc: () =
|
|
5
5
|
export declare const createRetentionPopup: (platform: platformEnum, remainBtnFunc: () => void, leaveBtnFunc: () => void) => void;
|
6
6
|
export declare const hideRetentionPopup: () => void;
|
7
7
|
export declare const removeRetentionPopup: (platform: platformEnum, remainBtnFunc: () => void, leaveBtnFunc: () => void) => void;
|
8
|
-
export declare const createMockup: (
|
8
|
+
export declare const createMockup: (options: {
|
9
|
+
platform: platformEnum;
|
10
|
+
onClickOutside: () => void;
|
11
|
+
}) => void;
|
9
12
|
export declare const addPopupLoading: () => void;
|
10
13
|
export declare const handleDeclareInfo: ({ closeDialogData }: {
|
11
14
|
closeDialogData: any;
|
@@ -89,7 +89,8 @@ export var removeRetentionPopup = function removeRetentionPopup(platform, remain
|
|
89
89
|
}
|
90
90
|
(_document$getElementB = document.getElementById(COMPONENT_RETENTION_ID)) === null || _document$getElementB === void 0 || _document$getElementB.remove();
|
91
91
|
};
|
92
|
-
export var createMockup = function createMockup() {
|
92
|
+
export var createMockup = function createMockup(options) {
|
93
|
+
var clickEventName = (options === null || options === void 0 ? void 0 : options.platform) === platformEnum.mobile ? 'touchend' : 'click';
|
93
94
|
var body = document.getElementsByTagName('body')[0];
|
94
95
|
body.style.overflow = 'hidden';
|
95
96
|
var mockup = document.createElement('div');
|
@@ -102,6 +103,11 @@ export var createMockup = function createMockup() {
|
|
102
103
|
mockup.style.background = 'rgba(0,0,0,0.5)';
|
103
104
|
mockup.style.display = 'none';
|
104
105
|
mockup.id = MOCKUP_ID;
|
106
|
+
// let click to close
|
107
|
+
mockup.addEventListener(clickEventName, function () {
|
108
|
+
var _options$onClickOutsi;
|
109
|
+
options === null || options === void 0 || (_options$onClickOutsi = options.onClickOutside) === null || _options$onClickOutsi === void 0 || _options$onClickOutsi.call(options);
|
110
|
+
});
|
105
111
|
body.appendChild(mockup);
|
106
112
|
};
|
107
113
|
export var addPopupLoading = function addPopupLoading() {
|
@@ -17,6 +17,7 @@ export default class ComponentApp {
|
|
17
17
|
private _selector;
|
18
18
|
private _appVersion;
|
19
19
|
private _isRetention;
|
20
|
+
private _allowSubmitPayCallAhead;
|
20
21
|
private _actionQueryPromise;
|
21
22
|
private _actionSubmitPromise;
|
22
23
|
private _renderParams;
|
@@ -81,6 +82,7 @@ export default class ComponentApp {
|
|
81
82
|
_handleAppMessage(data: eventPayload): void;
|
82
83
|
private dismissLoadingFunc;
|
83
84
|
private handleSizeChanged;
|
85
|
+
private handleAuthUrlInfo;
|
84
86
|
private handleRedirect;
|
85
87
|
private handleDeclareInfo;
|
86
88
|
private handleDeclarePopWindowCallback;
|
@@ -97,7 +99,7 @@ export default class ComponentApp {
|
|
97
99
|
*/
|
98
100
|
dispatchToApp(payload: {
|
99
101
|
context: eventPayloadContext;
|
100
|
-
}, targetElement?: any
|
102
|
+
}, targetElement?: any): any;
|
101
103
|
/**
|
102
104
|
* @description Subscribe to messages from SDK
|
103
105
|
*/
|