@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.
@@ -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 { getViewPort, queryParse, serialize } from "../../util/index";
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
- // 有sessionData加载时
27
- (_Logger$getInstance = Logger.getInstance()) === null || _Logger$getInstance === void 0 || _Logger$getInstance.logInfo({
28
- title: 'sdk_event_appUpgradeInfo'
29
- }, {
30
- appUpgradeVersion: appVersion,
31
- appUpgraded: appVersion ? true : false,
32
- isPreload: _extendInfo ? false : true,
33
- extendInfo: _extendInfo,
34
- productScene: productScene,
35
- mid: mid
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: () => void;
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, sendLog?: boolean): any;
102
+ }, targetElement?: any): any;
101
103
  /**
102
104
  * @description Subscribe to messages from SDK
103
105
  */