@alipay/ams-checkout 1.22.0 → 1.23.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.
@@ -5,10 +5,10 @@ export declare const sdkVersion: string;
5
5
  /**
6
6
  * @description: 目前应用层分为v1和v2,会存在两个应用版本号不是同步发布的情况。所以需要把默认的应用版本号配置抽离出来。
7
7
  */
8
- export declare const AMSCheckoutAppVersion = "1.22.0";
9
- export declare const AMSAutoDebitAppVersion = "1.22.0";
10
- export declare const AMSEasyPayAppVersion = "1.22.0";
11
- export declare const AMSCashierPaymentAppVersion = "1.22.0";
12
- export declare const AMSVaultingAppVersion = "1.22.0";
13
- export declare const AMSPaymentElementAppVersion = "1.22.0";
14
- export declare const ADDRESSElementAppVersion = "1.22.0";
8
+ export declare const AMSCheckoutAppVersion = "1.23.0";
9
+ export declare const AMSAutoDebitAppVersion = "1.23.0";
10
+ export declare const AMSEasyPayAppVersion = "1.23.0";
11
+ export declare const AMSCashierPaymentAppVersion = "1.23.0";
12
+ export declare const AMSVaultingAppVersion = "1.23.0";
13
+ export declare const AMSPaymentElementAppVersion = "1.23.0";
14
+ export declare const ADDRESSElementAppVersion = "1.23.0";
@@ -35,10 +35,10 @@ export var sdkVersion = json.version;
35
35
  /**
36
36
  * @description: 目前应用层分为v1和v2,会存在两个应用版本号不是同步发布的情况。所以需要把默认的应用版本号配置抽离出来。
37
37
  */
38
- export var AMSCheckoutAppVersion = '1.22.0'; // 兜底版本号
39
- export var AMSAutoDebitAppVersion = '1.22.0'; // 代扣
40
- export var AMSEasyPayAppVersion = '1.22.0'; // easypay
41
- export var AMSCashierPaymentAppVersion = '1.22.0'; // 收银台(卡、apm)
42
- export var AMSVaultingAppVersion = '1.22.0'; // 绑卡
43
- export var AMSPaymentElementAppVersion = '1.22.0'; // payment element
44
- export var ADDRESSElementAppVersion = '1.22.0'; // address element
38
+ export var AMSCheckoutAppVersion = '1.23.0'; // 兜底版本号
39
+ export var AMSAutoDebitAppVersion = '1.23.0'; // 代扣
40
+ export var AMSEasyPayAppVersion = '1.23.0'; // easypay
41
+ export var AMSCashierPaymentAppVersion = '1.23.0'; // 收银台(卡、apm)
42
+ export var AMSVaultingAppVersion = '1.23.0'; // 绑卡
43
+ export var AMSPaymentElementAppVersion = '1.23.0'; // payment element
44
+ export var ADDRESSElementAppVersion = '1.23.0'; // address element
@@ -179,6 +179,9 @@ export declare const EVENT: {
179
179
  name: string;
180
180
  uniqueKey: string;
181
181
  };
182
+ getGooglePayToken: {
183
+ name: string;
184
+ };
182
185
  };
183
186
  export declare const COMPONENT_CONTAINER_ID = "ams-component-container";
184
187
  export declare const COMPONENT_SECTION_ID = "ams-component-section";
@@ -178,6 +178,9 @@ export var EVENT = {
178
178
  onChange: {
179
179
  name: 'onChange',
180
180
  uniqueKey: 'userChange'
181
+ },
182
+ getGooglePayToken: {
183
+ name: 'getGooglePayToken'
181
184
  }
182
185
  };
183
186
  export var COMPONENT_CONTAINER_ID = 'ams-component-container';
@@ -1,4 +1,4 @@
1
- import type { IpaymentSessionMetaData } from "src/types";
1
+ import type { eventPayload, IpaymentSessionMetaData } from 'src/types';
2
2
  type IChannelBehavior = {
3
3
  usePaymentSessionAsQueryResult: boolean;
4
4
  submitPayInSdk: boolean;
@@ -17,4 +17,5 @@ type GetDoubleFaParams = {
17
17
  };
18
18
  export declare function getChannelBehavior(paymentSessionMetaData?: IpaymentSessionMetaData): IChannelBehavior | undefined;
19
19
  export declare function getDoubleFaUrl(params: GetDoubleFaParams): string;
20
+ export declare const handleGooglePay: (data: eventPayload) => Promise<unknown>;
20
21
  export {};
@@ -50,4 +50,40 @@ export function getDoubleFaUrl(params) {
50
50
  };
51
51
  var doubleFaBaseUrl = DOUBLE_FA_URL_MAPPING[env] || DOUBLE_FA_URL_MAPPING.prod;
52
52
  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);
53
- }
53
+ }
54
+ export var handleGooglePay = function handleGooglePay(data) {
55
+ return new Promise(function (resolve, reject) {
56
+ var _data$context;
57
+ var _data$context$data$da = data === null || data === void 0 || (_data$context = data.context) === null || _data$context === void 0 || (_data$context = _data$context.data) === null || _data$context === void 0 || (_data$context = _data$context.data) === null || _data$context === void 0 || (_data$context = _data$context.paymentMethodDetail) === null || _data$context === void 0 ? void 0 : _data$context.googlePayProps,
58
+ _data$context$data$da2 = _data$context$data$da.environment,
59
+ environment = _data$context$data$da2 === void 0 ? 'TEST' : _data$context$data$da2,
60
+ _data$context$data$da3 = _data$context$data$da.paymentRequest,
61
+ paymentRequest = _data$context$data$da3 === void 0 ? {} : _data$context$data$da3;
62
+ var script = document.createElement('script');
63
+ script.src = 'https://pay.google.com/gp/p/js/pay.js';
64
+ script.async = true;
65
+ document.body.appendChild(script);
66
+ // 执行googlePay sdk
67
+ script.onload = function () {
68
+ var paymentsClient = new window.google.payments.api.PaymentsClient({
69
+ environment: environment,
70
+ // 按钮为付款时需要传递的参数
71
+ paymentDataCallbacks: {
72
+ onPaymentAuthorized: function onPaymentAuthorized(paymentData) {
73
+ return {
74
+ transactionState: 'SUCCESS'
75
+ };
76
+ }
77
+ }
78
+ });
79
+ // 获取到googlePay token后返回消息给app
80
+ paymentsClient.loadPaymentData(paymentRequest).then(function (paymentData) {
81
+ if (paymentData) {
82
+ resolve(paymentData);
83
+ }
84
+ }).catch(function (err) {
85
+ reject(err);
86
+ });
87
+ };
88
+ });
89
+ };
@@ -28,7 +28,7 @@ import { matchVersion } from "../../util/versionCompare";
28
28
  import { getBackScheme } from "../../util/getBackScheme";
29
29
  import { handlePaymentSessionConfig } from "../payment-element/utils";
30
30
  import { createIframe, createPreloadIframe, getAppDomain, getIframeUrl } from "./cashierApp";
31
- import { getChannelBehavior } from "./channel";
31
+ import { getChannelBehavior, handleGooglePay } from "./channel";
32
32
  import { addInlineLoading, createInlineBaseElement } from "./component.inline.style";
33
33
  import { addPopupLoading, createBaseElement, createMockup, createRetentionPopup, handleDeclareInfo as _handleDeclareInfo, hideRetentionPopup, removeRetentionPopup as _removeRetentionPopup, slideInAndOutKeyframes } from "./component.popup.style";
34
34
  import { createModal, destroyModal, insertStyleSheet, removePopupLoading } from "./popupWindow.style";
@@ -1154,6 +1154,8 @@ var ComponentApp = /*#__PURE__*/function () {
1154
1154
  }, {
1155
1155
  key: "_handleAppMessage",
1156
1156
  value: function _handleAppMessage(data) {
1157
+ var _data$context2,
1158
+ _this7 = this;
1157
1159
  var eventKeyMap = Object.keys(EVENT).map(function (key) {
1158
1160
  return EVENT[key].name;
1159
1161
  });
@@ -1278,6 +1280,26 @@ var ComponentApp = /*#__PURE__*/function () {
1278
1280
  title: 'sdk_event_event_callback'
1279
1281
  }).send();
1280
1282
  }
1283
+ if ((data === null || data === void 0 || (_data$context2 = data.context) === null || _data$context2 === void 0 ? void 0 : _data$context2.event) === EVENT.getGooglePayToken.name) {
1284
+ handleGooglePay(data).then(function (res) {
1285
+ _this7.dispatchToApp({
1286
+ context: {
1287
+ event: 'getGooglePayToken',
1288
+ data: _objectSpread({}, res)
1289
+ }
1290
+ });
1291
+ }).catch(function (err) {
1292
+ _this7.dispatchToApp({
1293
+ context: {
1294
+ event: 'getGooglePayToken',
1295
+ data: {
1296
+ err: err
1297
+ }
1298
+ }
1299
+ });
1300
+ });
1301
+ return;
1302
+ }
1281
1303
 
1282
1304
  // The plug-in communicates with the sdk after processing
1283
1305
  this.dispatchToSDK(data.context.event, data.context.data, data.context.eventCallbackId);
@@ -1366,7 +1388,7 @@ var ComponentApp = /*#__PURE__*/function () {
1366
1388
  var _data$isDestroy,
1367
1389
  _data$isCallApp,
1368
1390
  _data$callAppDetectSu,
1369
- _this7 = this;
1391
+ _this8 = this;
1370
1392
  var fromFastSdk = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1371
1393
  var _data = typeof data === 'string' ? {
1372
1394
  normalUrl: data
@@ -1383,7 +1405,7 @@ var ComponentApp = /*#__PURE__*/function () {
1383
1405
  title: 'sdk_event_call_url_start'
1384
1406
  }, _objectSpread({}, data)).send();
1385
1407
  var successCallback = function successCallback(type, url, durationInSeconds) {
1386
- _this7.dispatchToSDK(EVENT.eventCallback.name, {
1408
+ _this8.dispatchToSDK(EVENT.eventCallback.name, {
1387
1409
  code: eventCodeEnum.SDK_CALL_URL_SUCCESS,
1388
1410
  message: "Successfully opened the app,".concat(type, ": ").concat(url)
1389
1411
  });
@@ -1396,12 +1418,12 @@ var ComponentApp = /*#__PURE__*/function () {
1396
1418
  if (durationInSeconds) {
1397
1419
  extra['durationInSeconds'] = durationInSeconds;
1398
1420
  }
1399
- _this7.AMSSDK.logger.logInfo({
1421
+ _this8.AMSSDK.logger.logInfo({
1400
1422
  title: 'sdk_event_call_url_success'
1401
1423
  }, extra).send();
1402
1424
  };
1403
1425
  var failCallback = function failCallback(type, url, durationInSeconds) {
1404
- _this7.dispatchToSDK(EVENT.eventCallback.name, {
1426
+ _this8.dispatchToSDK(EVENT.eventCallback.name, {
1405
1427
  code: eventCodeEnum.SDK_CALL_URL_ERROR,
1406
1428
  message: "Failed to open app,applinkUrl: ".concat(_data === null || _data === void 0 ? void 0 : _data.applinkUrl, " schemeUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.schemeUrl, " normalUrl: ").concat(_data === null || _data === void 0 ? void 0 : _data.normalUrl)
1407
1429
  });
@@ -1414,7 +1436,7 @@ var ComponentApp = /*#__PURE__*/function () {
1414
1436
  if (durationInSeconds) {
1415
1437
  extra['durationInSeconds'] = durationInSeconds;
1416
1438
  }
1417
- _this7.AMSSDK.logger.logInfo({
1439
+ _this8.AMSSDK.logger.logInfo({
1418
1440
  title: 'sdk_error_call_url_failed'
1419
1441
  }, extra).send();
1420
1442
  };
@@ -1460,14 +1482,14 @@ var ComponentApp = /*#__PURE__*/function () {
1460
1482
  successCallback(RedirectType.ApplinkUrl, _data === null || _data === void 0 ? void 0 : _data.applinkUrl);
1461
1483
  }).catch(function () {
1462
1484
  if (_data !== null && _data !== void 0 && _data.applinkUrl) failCallback(RedirectType.ApplinkUrl, _data === null || _data === void 0 ? void 0 : _data.applinkUrl);
1463
- return _this7.AMSSDK._redirect({
1485
+ return _this8.AMSSDK._redirect({
1464
1486
  schemeUrl: _data === null || _data === void 0 ? void 0 : _data.schemeUrl
1465
1487
  });
1466
1488
  }).then(function () {
1467
1489
  successCallback(RedirectType.SchemeUrl, _data === null || _data === void 0 ? void 0 : _data.schemeUrl);
1468
1490
  }).catch(function () {
1469
1491
  if (_data !== null && _data !== void 0 && _data.schemeUrl) failCallback(RedirectType.SchemeUrl, _data === null || _data === void 0 ? void 0 : _data.schemeUrl);
1470
- return _this7.AMSSDK._redirect({
1492
+ return _this8.AMSSDK._redirect({
1471
1493
  normalUrl: _data === null || _data === void 0 ? void 0 : _data.normalUrl
1472
1494
  });
1473
1495
  }).then(function () {
@@ -1506,12 +1528,12 @@ var ComponentApp = /*#__PURE__*/function () {
1506
1528
  }, {
1507
1529
  key: "handleAppHeartBeat",
1508
1530
  value: function handleAppHeartBeat() {
1509
- var _this8 = this;
1531
+ var _this9 = this;
1510
1532
  try {
1511
1533
  if (!this._webAppHeartBeatTimeoutFn) {
1512
1534
  this._webAppHeartBeatTimeoutFn = function () {
1513
- if (_this8.isAppAttached()) {
1514
- _this8.AMSSDK.logger.logError({
1535
+ if (_this9.isAppAttached()) {
1536
+ _this9.AMSSDK.logger.logError({
1515
1537
  title: 'sdk_error_appHeartBeatTimeout'
1516
1538
  });
1517
1539
  }
@@ -1525,8 +1547,8 @@ var ComponentApp = /*#__PURE__*/function () {
1525
1547
  window._webAppHeartBeatTimeoutId = setTimeout(this._webAppHeartBeatTimeoutFn, TIMEOUT_WEB_APP_HEART_BEAT);
1526
1548
  }
1527
1549
  setTimeout(function () {
1528
- if (_this8.isAppAttached()) {
1529
- _this8.dispatchToApp({
1550
+ if (_this9.isAppAttached()) {
1551
+ _this9.dispatchToApp({
1530
1552
  context: {
1531
1553
  event: 'sdkHeartBeat',
1532
1554
  data: {}
@@ -1719,7 +1741,7 @@ var ComponentApp = /*#__PURE__*/function () {
1719
1741
  key: "cleanContainer",
1720
1742
  value: function cleanContainer() {
1721
1743
  var _document$getElementB4,
1722
- _this9 = this;
1744
+ _this10 = this;
1723
1745
  var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1724
1746
  (_document$getElementB4 = document.getElementById(LOADING_ID)) === null || _document$getElementB4 === void 0 || _document$getElementB4.remove();
1725
1747
  this.hideComponentAnimation();
@@ -1731,7 +1753,7 @@ var ComponentApp = /*#__PURE__*/function () {
1731
1753
  this.app = null;
1732
1754
  if (immediately) this.cleanElement();else {
1733
1755
  setTimeout(function () {
1734
- _this9.cleanElement();
1756
+ _this10.cleanElement();
1735
1757
  }, 300);
1736
1758
  }
1737
1759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alipay/ams-checkout",
3
- "version": "1.22.0",
3
+ "version": "1.23.0",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "main": "esm/index.js",