@alipay/ams-checkout 0.0.1747907034-dev.1 → 0.0.1747907034-dev.3

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.
@@ -18,6 +18,8 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
18
18
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
19
  import PreloadHelper from "../../../foundation/utils/preload_helper";
20
20
  import { ChannelCustomize, DisplayTypeEnum, getBackScheme, isPC, PaymentMethodCategoryTypeEnum, ProductInfoCacheUtil, ProductSceneEnum, RiskSdkInfoEnum, ServiceProvider, uuid, WebAppUrlUtil, EVENT, eventCodeEnum } from "./deps";
21
+ import { isEmpty } from "../../../util";
22
+ import { getDoubleFaUrlFromSession } from "../../utils/web_app_url_utils";
21
23
  export var EasySafePayProcessor = /*#__PURE__*/function () {
22
24
  function EasySafePayProcessor() {
23
25
  _classCallCheck(this, EasySafePayProcessor);
@@ -29,10 +31,11 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
29
31
  _defineProperty(this, "instanceId", void 0);
30
32
  // 服务端接口区域信息,请求时决定API域名
31
33
  _defineProperty(this, "hostSign", void 0);
34
+ _defineProperty(this, "allowQueryCall", void 0);
32
35
  // 是否允许submitPay提前调用,在ESP非首次的性能优化场景使用
33
36
  _defineProperty(this, "allowSubmitPayCallAhead", void 0);
34
37
  _defineProperty(this, "channelBehavior", void 0);
35
- _defineProperty(this, "SECURITY_SDK_INIT_TIMEOUT", 18000);
38
+ _defineProperty(this, "SECURITY_SDK_INIT_TIMEOUT", 1500);
36
39
  _defineProperty(this, "SDK_REQUEST_TIMEOUT", 15000);
37
40
  _defineProperty(this, "LOAD_APP_RESOURCES_TIMEOUT", 15000);
38
41
  }
@@ -46,13 +49,13 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
46
49
  this.eventCenter = ServiceProvider.getInstance(this.instanceId).getService('EventCenter');
47
50
 
48
51
  // preload web app
49
- PreloadHelper.preloadWebApp(ProductSceneEnum.EASY_PAY, PaymentMethodCategoryTypeEnum.WALLET, this.initConfig.environment);
52
+ PreloadHelper.preloadWebApp(ProductSceneEnum.EASY_PAY, PaymentMethodCategoryTypeEnum.WALLET, this.initConfig.environment, true);
50
53
  }
51
54
  }, {
52
55
  key: "startBizFlow",
53
56
  value: function () {
54
57
  var _startBizFlow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(paymentContext) {
55
- var _paymentContext$payme2, _this$channelBehavior;
58
+ var _paymentContext$payme2, _paymentContext$start, _this$channelBehavior;
56
59
  var _paymentContext$payme, productSceneVersion, paymentMethodCategoryType, autoDebitWithToken, requireFastSdk, authUrlInfo, isFirstTimeToPay, webAppUrl, resultPayload;
57
60
  return _regeneratorRuntime().wrap(function _callee$(_context) {
58
61
  while (1) switch (_context.prev = _context.next) {
@@ -60,9 +63,10 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
60
63
  // 放在最前面的逻辑
61
64
  // 在PC场景下,几乎所有渠道都是没有拉端的逻辑的,所以需要改成1.0, 这个是历史原因
62
65
  if (isPC()) {
63
- // 非TOSS渠道,在PC场景需要改成1.0
66
+ // 非TOSS渠道,在PC场景需要改成1.0/needAccountConfirmPage=false
64
67
  if ('BANKTRANSFER_QUICKPAY' !== ((_paymentContext$payme = paymentContext.paymentSessionObj) === null || _paymentContext$payme === void 0 || (_paymentContext$payme = _paymentContext$payme.paymentMethodInfoView) === null || _paymentContext$payme === void 0 ? void 0 : _paymentContext$payme.paymentMethodType)) {
65
68
  paymentContext.paymentSessionObj.paymentSessionConfig.productSceneVersion = '1.0';
69
+ paymentContext.paymentSessionObj.needAccountConfirmPage = false;
66
70
  }
67
71
  }
68
72
  this.paymentContext = paymentContext;
@@ -72,17 +76,18 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
72
76
  autoDebitWithToken = paymentContext.paymentSessionObj.action.autoDebitWithToken;
73
77
  requireFastSdk = paymentContext.paymentSessionObj.action.requireFastSdk;
74
78
  authUrlInfo = ((_paymentContext$payme2 = paymentContext.paymentSessionObj) === null || _paymentContext$payme2 === void 0 ? void 0 : _paymentContext$payme2.authUrlInfo) || {};
75
- this.channelBehavior = ChannelCustomize.getChannelBehavior(paymentContext.paymentSessionObj);
79
+ this.channelBehavior = ChannelCustomize.getChannelBehavior(((_paymentContext$start = paymentContext.startBizFlowOptions.submitPayRequestExtra) === null || _paymentContext$start === void 0 ? void 0 : _paymentContext$start.notRedirectAfterComplete) === true, paymentContext.paymentSessionObj);
80
+
76
81
  // 首次支付
77
- isFirstTimeToPay = !autoDebitWithToken; // 处理ESP1.0极速外跳支付场景
78
- if (!(productSceneVersion === '1.0' && isFirstTimeToPay && requireFastSdk)) {
82
+ isFirstTimeToPay = !autoDebitWithToken; // 处理ESP极速外跳支付场景
83
+ if (!(isFirstTimeToPay && requireFastSdk)) {
79
84
  _context.next = 12;
80
85
  break;
81
86
  }
82
87
  return _context.abrupt("return", this.buildRedirectResult(authUrlInfo));
83
88
  case 12:
84
89
  // 下面的场景是需要渲染UI的渠道, 打开WebUrl
85
- webAppUrl = this.buildWebAppUrl(); // const webAppUrl = 'http://svc-9kvjxwjf68cptha8.cloudide.svc.et15-sqa.alipay.net:5173/src/component-app/index.html';
90
+ webAppUrl = this.buildWebAppUrl();
86
91
  resultPayload = {
87
92
  url: webAppUrl,
88
93
  allowClickPopupOutsideClose: (_this$channelBehavior = this.channelBehavior) === null || _this$channelBehavior === void 0 ? void 0 : _this$channelBehavior.allowClickOutsideClose
@@ -113,15 +118,19 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
113
118
  }, {
114
119
  key: "buildWebAppUrl",
115
120
  value: function buildWebAppUrl() {
116
- var _paymentContext$payme3, _paymentContext$payme4, _this$initConfig$anal;
121
+ var _paymentContext$payme3, _paymentContext$payme4, _paymentContext$payme5, _this$initConfig$anal;
117
122
  var paymentContext = this.paymentContext;
118
123
  var paymentMethodCategoryType = (_paymentContext$payme3 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme3 === void 0 ? void 0 : _paymentContext$payme3.paymentMethodCategoryType;
119
- var productSceneVersion = (_paymentContext$payme4 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme4 === void 0 ? void 0 : _paymentContext$payme4.productSceneVersion;
124
+ var productScene = (_paymentContext$payme4 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme4 === void 0 ? void 0 : _paymentContext$payme4.productScene;
125
+ var productSceneVersion = (_paymentContext$payme5 = paymentContext.paymentSessionObj.paymentSessionConfig) === null || _paymentContext$payme5 === void 0 ? void 0 : _paymentContext$payme5.productSceneVersion;
120
126
  var hostSign = this.hostSign;
121
- var webAppUrl = WebAppUrlUtil.getWebAppUrl({
127
+ var mid = paymentContext.paymentSessionObj.clientId;
128
+ var extendInfo = paymentContext.paymentSessionObj.extendInfo;
129
+ var webAppUrl = WebAppUrlUtil.getWebAppV2Url({
122
130
  environment: this.initConfig.environment,
123
131
  paymentMethodCategoryType: paymentMethodCategoryType,
124
132
  sdkMetaData: paymentContext.sdkMetaData,
133
+ productScene: productScene,
125
134
  productSceneVersion: productSceneVersion,
126
135
  isPreload: false,
127
136
  query: {
@@ -130,7 +139,9 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
130
139
  instanceId: this.instanceId,
131
140
  locale: this.initConfig.locale,
132
141
  hostSign: hostSign
133
- }
142
+ },
143
+ mid: mid,
144
+ extendInfo: extendInfo
134
145
  });
135
146
  return webAppUrl;
136
147
  }
@@ -177,42 +188,48 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
177
188
  });
178
189
 
179
190
  // 等请求和 Web启动都Ready之后,发送renderComponent
180
- Promise.all([this.initSecuritySDK(), this.processSubmitPay(), webLaunchPromise]).then(function (_ref) {
181
- var _this$paymentContext, _this$paymentContext2, _this$paymentContext$, _this$paymentContext$2, _this$paymentContext$3, _this$paymentContext$4;
182
- var _ref2 = _slicedToArray(_ref, 3),
191
+ Promise.all([this.initSecuritySDK(), this.processQuery(), this.processSubmitPay(), webLaunchPromise]).then(function (_ref) {
192
+ var _this$paymentContext, _this$paymentContext2, _this$paymentContext$, _this$paymentContext$2, _this$paymentContext$3, _this$paymentContext3, _this$paymentContext$4;
193
+ var _ref2 = _slicedToArray(_ref, 4),
183
194
  _initSecurityRes = _ref2[0],
184
- submitRes = _ref2[1],
185
- _webLaunchRes = _ref2[2];
195
+ queryRes = _ref2[1],
196
+ submitRes = _ref2[2],
197
+ _webLaunchRes = _ref2[3];
186
198
  var logMetaData = _this.logger.getLogConfig().mdata;
199
+ var data = {
200
+ sessionResult: (_this$paymentContext = _this.paymentContext) === null || _this$paymentContext === void 0 ? void 0 : _this$paymentContext.paymentSessionObj,
201
+ submitResult: submitRes,
202
+ paymentSessionData: (_this$paymentContext2 = _this.paymentContext) === null || _this$paymentContext2 === void 0 ? void 0 : _this$paymentContext2.paymentSessionId,
203
+ heightOfVisible: Math.max(window.changingPageHeight, window.innerHeight),
204
+ renderDisplayType: _this.paymentContext.displayInfo.type,
205
+ appearance: (_this$paymentContext$ = _this.paymentContext.displayInfo) === null || _this$paymentContext$ === void 0 ? void 0 : _this$paymentContext$.appearance,
206
+ notRedirectAfterComplete: ((_this$paymentContext$2 = _this.paymentContext.startBizFlowOptions.submitPayRequestExtra) === null || _this$paymentContext$2 === void 0 ? void 0 : _this$paymentContext$2.notRedirectAfterComplete) === true,
207
+ isAppWebview: _this.paymentContext.startBizFlowOptions.isAppWebview,
208
+ merchantAppointParam: (_this$paymentContext$3 = _this.paymentContext.startBizFlowOptions.submitPayRequestExtra) === null || _this$paymentContext$3 === void 0 ? void 0 : _this$paymentContext$3.merchantAppointParam,
209
+ allowSubmitPayCallAhead: _this.allowSubmitPayCallAhead,
210
+ doubleFaUrl: getDoubleFaUrlFromSession((_this$paymentContext3 = _this.paymentContext) === null || _this$paymentContext3 === void 0 ? void 0 : _this$paymentContext3.paymentSessionObj, _this.initConfig.environment),
211
+ envInfo: {
212
+ screenHeight: screen.height,
213
+ screenWidth: screen.width
214
+ },
215
+ logMetaData: _objectSpread(_objectSpread({
216
+ trackId: logMetaData.requestSeq,
217
+ platform: logMetaData.platform,
218
+ firstLogTime: logMetaData.firstLogTime
219
+ }, ((_this$paymentContext$4 = _this.paymentContext.paymentSessionObj) === null || _this$paymentContext$4 === void 0 ? void 0 : _this$paymentContext$4.paymentSessionConfig) || {}), {}, {
220
+ renderDisplayType: logMetaData.renderDisplayType,
221
+ sdkVersion: logMetaData.sdkVersion,
222
+ merchantId: logMetaData.merchantId,
223
+ instanceId: logMetaData.instanceId,
224
+ paymentMethodType: logMetaData.paymentMethodType
225
+ })
226
+ };
227
+ if (queryRes) {
228
+ data.queryResult = queryRes;
229
+ }
187
230
  _this.eventCenter.dispatchToApp({
188
231
  event: 'renderComponent',
189
- data: {
190
- sessionResult: (_this$paymentContext = _this.paymentContext) === null || _this$paymentContext === void 0 ? void 0 : _this$paymentContext.paymentSessionObj,
191
- submitResult: submitRes,
192
- paymentSessionData: (_this$paymentContext2 = _this.paymentContext) === null || _this$paymentContext2 === void 0 ? void 0 : _this$paymentContext2.paymentSessionId,
193
- heightOfVisible: Math.max(window.changingPageHeight, window.innerHeight),
194
- renderDisplayType: _this.paymentContext.displayInfo.type,
195
- appearance: (_this$paymentContext$ = _this.paymentContext.displayInfo) === null || _this$paymentContext$ === void 0 ? void 0 : _this$paymentContext$.appearance,
196
- notRedirectAfterComplete: ((_this$paymentContext$2 = _this.paymentContext.startBizFlowOptions.submitPayRequestExtra) === null || _this$paymentContext$2 === void 0 ? void 0 : _this$paymentContext$2.notRedirectAfterComplete) === true,
197
- isAppWebview: _this.paymentContext.startBizFlowOptions.isAppWebview,
198
- merchantAppointParam: (_this$paymentContext$3 = _this.paymentContext.startBizFlowOptions.submitPayRequestExtra) === null || _this$paymentContext$3 === void 0 ? void 0 : _this$paymentContext$3.merchantAppointParam,
199
- allowSubmitPayCallAhead: _this.allowSubmitPayCallAhead,
200
- envInfo: {
201
- screenHeight: screen.height,
202
- screenWidth: screen.width
203
- },
204
- logMetaData: _objectSpread(_objectSpread({
205
- trackId: logMetaData.requestSeq,
206
- platform: logMetaData.platform,
207
- firstLogTime: logMetaData.firstLogTime
208
- }, ((_this$paymentContext$4 = _this.paymentContext.paymentSessionObj) === null || _this$paymentContext$4 === void 0 ? void 0 : _this$paymentContext$4.paymentSessionConfig) || {}), {}, {
209
- renderDisplayType: logMetaData.renderDisplayType,
210
- sdkVersion: logMetaData.sdkVersion,
211
- merchantId: logMetaData.merchantId,
212
- instanceId: logMetaData.instanceId,
213
- paymentMethodType: logMetaData.paymentMethodType
214
- })
215
- }
232
+ data: data
216
233
  });
217
234
  }).catch(function (error) {
218
235
  _this.eventCenter.emit(EVENT.destroy.name, {});
@@ -225,24 +242,122 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
225
242
  });
226
243
  }
227
244
  }, {
228
- key: "processSubmitPay",
245
+ key: "processQuery",
229
246
  value: function () {
230
- var _processSubmitPay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
231
- var _this$paymentContext3, _this$paymentContext4, _this$paymentContext5, _this$channelBehavior2, _this$channelBehavior3, _this$paymentContext$6;
232
- var submitParams, _ref3, _ref3$productSceneVer, productSceneVersion, _ref4, _ref4$action, _ref4$action2, _ref4$action2$enableS, enableSignAgreement, _ref4$action2$autoDeb, autoDebitWithToken, _this$paymentContext$5, paymentMethodType, isAppWebview, backScheme, requestBizId, extParams, requester, res;
247
+ var _processQuery = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
248
+ var _this$paymentContext4, _this$paymentContext5, _this$paymentContext6, _this$paymentContext$5, _this$paymentContext7, _this$paymentContext8;
249
+ var queryParams, extendInfo, needAccountConfirmPage, isFirstTimeToPay, needQueryRender, extendInfoData, requestBizId, requester, _this$paymentContext$6, res;
233
250
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
234
251
  while (1) switch (_context2.prev = _context2.next) {
252
+ case 0:
253
+ queryParams = {
254
+ paymentSessionData: ((_this$paymentContext4 = this.paymentContext) === null || _this$paymentContext4 === void 0 ? void 0 : _this$paymentContext4.paymentSessionId) || '',
255
+ paymentSessionConfig: (_this$paymentContext5 = this.paymentContext) === null || _this$paymentContext5 === void 0 || (_this$paymentContext5 = _this$paymentContext5.paymentSessionObj) === null || _this$paymentContext5 === void 0 ? void 0 : _this$paymentContext5.paymentSessionConfig
256
+ };
257
+ extendInfo = (_this$paymentContext6 = this.paymentContext) === null || _this$paymentContext6 === void 0 ? void 0 : _this$paymentContext6.paymentSessionObj.extendInfo;
258
+ needAccountConfirmPage = (_this$paymentContext$5 = (_this$paymentContext7 = this.paymentContext) === null || _this$paymentContext7 === void 0 ? void 0 : _this$paymentContext7.paymentSessionObj.needAccountConfirmPage) !== null && _this$paymentContext$5 !== void 0 ? _this$paymentContext$5 : true;
259
+ isFirstTimeToPay = !((_this$paymentContext8 = this.paymentContext) !== null && _this$paymentContext8 !== void 0 && (_this$paymentContext8 = _this$paymentContext8.paymentSessionObj.action) !== null && _this$paymentContext8 !== void 0 && _this$paymentContext8.autoDebitWithToken);
260
+ needQueryRender = true;
261
+ try {
262
+ extendInfoData = JSON.parse(extendInfo);
263
+ needQueryRender = isEmpty(extendInfoData.needQueryRender) || extendInfoData.needQueryRender === true;
264
+ } catch (error) {
265
+ console.log(error);
266
+ }
267
+ this.allowQueryCall = needQueryRender && isFirstTimeToPay && needAccountConfirmPage;
268
+ if (this.allowQueryCall) {
269
+ _context2.next = 9;
270
+ break;
271
+ }
272
+ return _context2.abrupt("return", null);
273
+ case 9:
274
+ requestBizId = uuid();
275
+ this.logger.logInfo({
276
+ title: 'sdk_event_sdkQuery'
277
+ }, {
278
+ config: JSON.stringify(queryParams.paymentSessionConfig),
279
+ requestId: requestBizId
280
+ });
281
+ requester = ServiceProvider.getInstance(this.instanceId).getService('Requester');
282
+ _context2.prev = 12;
283
+ _context2.t0 = requester;
284
+ _context2.t1 = _objectSpread(_objectSpread({}, queryParams), {}, {
285
+ actionType: 'init',
286
+ integrationType: 'SDK',
287
+ sdkVersion: (_this$paymentContext$6 = this.paymentContext.sdkMetaData.sdkVersion) !== null && _this$paymentContext$6 !== void 0 ? _this$paymentContext$6 : '1.0.0'
288
+ });
289
+ _context2.t2 = this.initConfig.environment;
290
+ _context2.t3 = this.SDK_REQUEST_TIMEOUT;
291
+ _context2.next = 19;
292
+ return this.acquireApdidToken();
293
+ case 19:
294
+ _context2.t4 = _context2.sent;
295
+ _context2.t5 = {
296
+ deviceId: _context2.t4
297
+ };
298
+ _context2.t6 = this.hostSign;
299
+ _context2.t7 = {
300
+ env: _context2.t2,
301
+ timeout: _context2.t3,
302
+ envInfo: _context2.t5,
303
+ hostSign: _context2.t6,
304
+ needEnvInfo: true,
305
+ 'Operation-Type': 'com.ipay.iexpcashier.sdkAction.query'
306
+ };
307
+ _context2.next = 25;
308
+ return _context2.t0.request.call(_context2.t0, _context2.t1, _context2.t7);
309
+ case 25:
310
+ res = _context2.sent;
311
+ this.logger.logInfo({
312
+ title: 'sdk_event_sdkQueryEnd'
313
+ }, {
314
+ config: JSON.stringify(queryParams.paymentSessionConfig),
315
+ requestId: requestBizId,
316
+ rpcTraceId: res.traceId
317
+ });
318
+ return _context2.abrupt("return", res);
319
+ case 30:
320
+ _context2.prev = 30;
321
+ _context2.t8 = _context2["catch"](12);
322
+ this.logger.logError({
323
+ title: 'sdk_event_sdkQuery_failed'
324
+ }, {
325
+ config: JSON.stringify(queryParams.paymentSessionConfig),
326
+ errorMessage: JSON.stringify(_context2.t8),
327
+ requestId: requestBizId,
328
+ rpcTraceId: _context2.t8 === null || _context2.t8 === void 0 ? void 0 : _context2.t8.traceId
329
+ });
330
+ return _context2.abrupt("return", null);
331
+ case 34:
332
+ case "end":
333
+ return _context2.stop();
334
+ }
335
+ }, _callee2, this, [[12, 30]]);
336
+ }));
337
+ function processQuery() {
338
+ return _processQuery.apply(this, arguments);
339
+ }
340
+ return processQuery;
341
+ }()
342
+ }, {
343
+ key: "processSubmitPay",
344
+ value: function () {
345
+ var _processSubmitPay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
346
+ var _this$paymentContext9, _this$paymentContext10, _this$paymentContext11, _this$channelBehavior2, _this$channelBehavior3, _this$paymentContext$8, _this$paymentContext12;
347
+ var submitParams, _ref3, _ref3$productSceneVer, productSceneVersion, _ref4, _ref4$action, _ref4$action2, _ref4$action2$enableS, enableSignAgreement, _ref4$action2$autoDeb, autoDebitWithToken, _this$paymentContext$7, paymentMethodType, isAppWebview, backScheme, requestBizId, extParams, requester, _this$paymentContext$9, res;
348
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
349
+ while (1) switch (_context3.prev = _context3.next) {
235
350
  case 0:
236
351
  submitParams = {
237
- paymentSessionData: ((_this$paymentContext3 = this.paymentContext) === null || _this$paymentContext3 === void 0 ? void 0 : _this$paymentContext3.paymentSessionId) || '',
238
- paymentSessionConfig: (_this$paymentContext4 = this.paymentContext) === null || _this$paymentContext4 === void 0 || (_this$paymentContext4 = _this$paymentContext4.paymentSessionObj) === null || _this$paymentContext4 === void 0 ? void 0 : _this$paymentContext4.paymentSessionConfig
352
+ paymentSessionData: ((_this$paymentContext9 = this.paymentContext) === null || _this$paymentContext9 === void 0 ? void 0 : _this$paymentContext9.paymentSessionId) || '',
353
+ paymentSessionConfig: (_this$paymentContext10 = this.paymentContext) === null || _this$paymentContext10 === void 0 || (_this$paymentContext10 = _this$paymentContext10.paymentSessionObj) === null || _this$paymentContext10 === void 0 ? void 0 : _this$paymentContext10.paymentSessionConfig
239
354
  };
240
355
  _ref3 = submitParams.paymentSessionConfig || {}, _ref3$productSceneVer = _ref3.productSceneVersion, productSceneVersion = _ref3$productSceneVer === void 0 ? '' : _ref3$productSceneVer;
241
- _ref4 = ((_this$paymentContext5 = this.paymentContext) === null || _this$paymentContext5 === void 0 ? void 0 : _this$paymentContext5.paymentSessionObj) || {}, _ref4$action = _ref4.action, _ref4$action2 = _ref4$action === void 0 ? {} : _ref4$action, _ref4$action2$enableS = _ref4$action2.enableSignAgreement, enableSignAgreement = _ref4$action2$enableS === void 0 ? false : _ref4$action2$enableS, _ref4$action2$autoDeb = _ref4$action2.autoDebitWithToken, autoDebitWithToken = _ref4$action2$autoDeb === void 0 ? false : _ref4$action2$autoDeb;
356
+ _ref4 = ((_this$paymentContext11 = this.paymentContext) === null || _this$paymentContext11 === void 0 ? void 0 : _this$paymentContext11.paymentSessionObj) || {}, _ref4$action = _ref4.action, _ref4$action2 = _ref4$action === void 0 ? {} : _ref4$action, _ref4$action2$enableS = _ref4$action2.enableSignAgreement, enableSignAgreement = _ref4$action2$enableS === void 0 ? false : _ref4$action2$enableS, _ref4$action2$autoDeb = _ref4$action2.autoDebitWithToken, autoDebitWithToken = _ref4$action2$autoDeb === void 0 ? false : _ref4$action2$autoDeb;
242
357
  if (productSceneVersion === '2.0' && !autoDebitWithToken) {
243
358
  ///EasyPay 2.0 首次传signAgreement字段
244
359
  submitParams['signAgreement'] = enableSignAgreement;
245
- paymentMethodType = (_this$paymentContext$5 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$5 === void 0 || (_this$paymentContext$5 = _this$paymentContext$5.paymentMethodInfoView) === null || _this$paymentContext$5 === void 0 ? void 0 : _this$paymentContext$5.paymentMethodType;
360
+ paymentMethodType = (_this$paymentContext$7 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$7 === void 0 || (_this$paymentContext$7 = _this$paymentContext$7.paymentMethodInfoView) === null || _this$paymentContext$7 === void 0 ? void 0 : _this$paymentContext$7.paymentMethodType;
246
361
  isAppWebview = this.paymentContext.startBizFlowOptions.isAppWebview;
247
362
  if (paymentMethodType == 'ALIPAY_CN' && !isAppWebview) {
248
363
  backScheme = getBackScheme(undefined, this.logger);
@@ -254,10 +369,10 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
254
369
  this.allowSubmitPayCallAhead = this.channelBehavior.allowSubmitPayCallAhead;
255
370
  //console.log('[web-sdk] allowSubmitPayCallAhead =', this.allowSubmitPayCallAhead);
256
371
  if (this.allowSubmitPayCallAhead) {
257
- _context2.next = 7;
372
+ _context3.next = 7;
258
373
  break;
259
374
  }
260
- return _context2.abrupt("return", {
375
+ return _context3.abrupt("return", {
261
376
  message: 'sdk no need to make submitPay request',
262
377
  success: true
263
378
  });
@@ -273,39 +388,46 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
273
388
  extParams = ((_this$channelBehavior2 = this.channelBehavior) === null || _this$channelBehavior2 === void 0 || (_this$channelBehavior3 = _this$channelBehavior2.buildSubmitPayExtParams) === null || _this$channelBehavior3 === void 0 ? void 0 : _this$channelBehavior3.call(_this$channelBehavior2, {
274
389
  instanceId: this.instanceId,
275
390
  locale: this.initConfig.locale,
276
- paymentMethodType: (_this$paymentContext$6 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$6 === void 0 || (_this$paymentContext$6 = _this$paymentContext$6.paymentMethodInfoView) === null || _this$paymentContext$6 === void 0 ? void 0 : _this$paymentContext$6.paymentMethodType,
391
+ paymentMethodType: (_this$paymentContext$8 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$8 === void 0 || (_this$paymentContext$8 = _this$paymentContext$8.paymentMethodInfoView) === null || _this$paymentContext$8 === void 0 ? void 0 : _this$paymentContext$8.paymentMethodType,
277
392
  paymentSessionData: this.paymentContext.paymentSessionId,
393
+ paymentSessionObj: this.paymentContext.paymentSessionObj,
278
394
  env: this.initConfig.environment,
279
- sdkVersion: this.paymentContext.sdkMetaData.sdkVersion
280
- })) || {};
281
- extParams.complianceSDK = true;
395
+ sdkVersion: this.paymentContext.sdkMetaData.sdkVersion,
396
+ notRedirectAfterComplete: ((_this$paymentContext12 = this.paymentContext) === null || _this$paymentContext12 === void 0 || (_this$paymentContext12 = _this$paymentContext12.startBizFlowOptions) === null || _this$paymentContext12 === void 0 || (_this$paymentContext12 = _this$paymentContext12.submitPayRequestExtra) === null || _this$paymentContext12 === void 0 ? void 0 : _this$paymentContext12.notRedirectAfterComplete) === true
397
+ })) || {}; // 二次支付不再需要该参数
398
+ if (!autoDebitWithToken) {
399
+ extParams.complianceSDK = true;
400
+ }
282
401
  submitParams.extParams = extParams;
283
402
  requester = ServiceProvider.getInstance(this.instanceId).getService('Requester');
284
- _context2.prev = 13;
285
- _context2.t0 = requester;
286
- _context2.t1 = submitParams;
287
- _context2.t2 = this.initConfig.environment;
288
- _context2.t3 = this.SDK_REQUEST_TIMEOUT;
289
- _context2.next = 20;
403
+ _context3.prev = 13;
404
+ _context3.t0 = requester;
405
+ _context3.t1 = _objectSpread(_objectSpread({}, submitParams), {}, {
406
+ integrationType: 'SDK',
407
+ sdkVersion: (_this$paymentContext$9 = this.paymentContext.sdkMetaData.sdkVersion) !== null && _this$paymentContext$9 !== void 0 ? _this$paymentContext$9 : '1.0.0'
408
+ });
409
+ _context3.t2 = this.initConfig.environment;
410
+ _context3.t3 = this.SDK_REQUEST_TIMEOUT;
411
+ _context3.next = 20;
290
412
  return this.acquireApdidToken();
291
413
  case 20:
292
- _context2.t4 = _context2.sent;
293
- _context2.t5 = {
294
- deviceId: _context2.t4
414
+ _context3.t4 = _context3.sent;
415
+ _context3.t5 = {
416
+ deviceId: _context3.t4
295
417
  };
296
- _context2.t6 = this.hostSign;
297
- _context2.t7 = {
298
- env: _context2.t2,
299
- timeout: _context2.t3,
300
- envInfo: _context2.t5,
301
- hostSign: _context2.t6,
418
+ _context3.t6 = this.hostSign;
419
+ _context3.t7 = {
420
+ env: _context3.t2,
421
+ timeout: _context3.t3,
422
+ envInfo: _context3.t5,
423
+ hostSign: _context3.t6,
302
424
  needEnvInfo: true,
303
425
  'Operation-Type': 'com.ipay.iexpcashier.cashier.submitPayByPaymentSession'
304
426
  };
305
- _context2.next = 26;
306
- return _context2.t0.request.call(_context2.t0, _context2.t1, _context2.t7);
427
+ _context3.next = 26;
428
+ return _context3.t0.request.call(_context3.t0, _context3.t1, _context3.t7);
307
429
  case 26:
308
- res = _context2.sent;
430
+ res = _context3.sent;
309
431
  this.logger.logInfo({
310
432
  title: 'sdk_event_submitPayEnd'
311
433
  }, {
@@ -313,24 +435,24 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
313
435
  requestId: requestBizId,
314
436
  rpcTraceId: res.traceId
315
437
  });
316
- return _context2.abrupt("return", res);
438
+ return _context3.abrupt("return", res);
317
439
  case 31:
318
- _context2.prev = 31;
319
- _context2.t8 = _context2["catch"](13);
440
+ _context3.prev = 31;
441
+ _context3.t8 = _context3["catch"](13);
320
442
  this.logger.logError({
321
443
  title: 'sdk_event_submitPay_failed'
322
444
  }, {
323
445
  config: JSON.stringify(submitParams.paymentSessionConfig),
324
- errorMessage: JSON.stringify(_context2.t8),
446
+ errorMessage: JSON.stringify(_context3.t8),
325
447
  requestId: requestBizId,
326
- rpcTraceId: _context2.t8 === null || _context2.t8 === void 0 ? void 0 : _context2.t8.traceId
448
+ rpcTraceId: _context3.t8 === null || _context3.t8 === void 0 ? void 0 : _context3.t8.traceId
327
449
  });
328
- return _context2.abrupt("return", null);
450
+ return _context3.abrupt("return", null);
329
451
  case 35:
330
452
  case "end":
331
- return _context2.stop();
453
+ return _context3.stop();
332
454
  }
333
- }, _callee2, this, [[13, 31]]);
455
+ }, _callee3, this, [[13, 31]]);
334
456
  }));
335
457
  function processSubmitPay() {
336
458
  return _processSubmitPay.apply(this, arguments);
@@ -340,23 +462,23 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
340
462
  }, {
341
463
  key: "acquireApdidToken",
342
464
  value: function () {
343
- var _acquireApdidToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
344
- var _this$paymentContext$7;
465
+ var _acquireApdidToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
466
+ var _this$paymentContext$10;
345
467
  var securityService, productScene, deviceId;
346
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
347
- while (1) switch (_context3.prev = _context3.next) {
468
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
469
+ while (1) switch (_context4.prev = _context4.next) {
348
470
  case 0:
349
471
  securityService = ServiceProvider.getInstance(this.instanceId).getService('Security');
350
- productScene = (_this$paymentContext$7 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$7 === void 0 || (_this$paymentContext$7 = _this$paymentContext$7.paymentSessionConfig) === null || _this$paymentContext$7 === void 0 ? void 0 : _this$paymentContext$7.productScene;
472
+ productScene = (_this$paymentContext$10 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$10 === void 0 || (_this$paymentContext$10 = _this$paymentContext$10.paymentSessionConfig) === null || _this$paymentContext$10 === void 0 ? void 0 : _this$paymentContext$10.productScene;
351
473
  deviceId = securityService.getDeviceId({
352
474
  productScene: productScene
353
475
  });
354
- return _context3.abrupt("return", deviceId);
476
+ return _context4.abrupt("return", deviceId);
355
477
  case 4:
356
478
  case "end":
357
- return _context3.stop();
479
+ return _context4.stop();
358
480
  }
359
- }, _callee3, this);
481
+ }, _callee4, this);
360
482
  }));
361
483
  function acquireApdidToken() {
362
484
  return _acquireApdidToken.apply(this, arguments);
@@ -366,15 +488,16 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
366
488
  }, {
367
489
  key: "initSecuritySDK",
368
490
  value: function () {
369
- var _initSecuritySDK = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
370
- var _this$paymentContext$8, _this$paymentContext$9, productSceneVersion, nonCompliant, nonInitSecuritySDK, isFirstTimeToPay, shouldInitSecuritySDK;
371
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
372
- while (1) switch (_context4.prev = _context4.next) {
491
+ var _initSecuritySDK = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
492
+ var _this$paymentContext$11, _this$paymentContext$12, _this$paymentContext$13, _this$paymentContext$14, _this$paymentContext$15, _this$paymentContext$16, productSceneVersion, nonInitSecuritySDK, signButtonDisplay, userSignAgreement, isFirstTimeToPay, shouldInitSecuritySDK;
493
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
494
+ while (1) switch (_context5.prev = _context5.next) {
373
495
  case 0:
374
- _context4.prev = 0;
496
+ _context5.prev = 0;
375
497
  productSceneVersion = this.paymentContext.paymentSessionObj.paymentSessionConfig.productSceneVersion;
376
- nonCompliant = (_this$paymentContext$8 = this.paymentContext.paymentSessionObj.action) === null || _this$paymentContext$8 === void 0 ? void 0 : _this$paymentContext$8.nonCompliant;
377
- nonInitSecuritySDK = (_this$paymentContext$9 = this.paymentContext.paymentSessionObj.action) === null || _this$paymentContext$9 === void 0 ? void 0 : _this$paymentContext$9.nonInitSecuritySDK;
498
+ nonInitSecuritySDK = (_this$paymentContext$11 = (_this$paymentContext$12 = this.paymentContext.paymentSessionObj.action) === null || _this$paymentContext$12 === void 0 ? void 0 : _this$paymentContext$12.nonInitSecuritySDK) !== null && _this$paymentContext$11 !== void 0 ? _this$paymentContext$11 : false;
499
+ signButtonDisplay = (_this$paymentContext$13 = (_this$paymentContext$14 = this.paymentContext.paymentSessionObj.action) === null || _this$paymentContext$14 === void 0 ? void 0 : _this$paymentContext$14.signButtonDisplay) !== null && _this$paymentContext$13 !== void 0 ? _this$paymentContext$13 : false;
500
+ userSignAgreement = (_this$paymentContext$15 = (_this$paymentContext$16 = this.paymentContext.paymentSessionObj.action) === null || _this$paymentContext$16 === void 0 ? void 0 : _this$paymentContext$16.userSignAgreement) !== null && _this$paymentContext$15 !== void 0 ? _this$paymentContext$15 : false;
378
501
  isFirstTimeToPay = !this.paymentContext.paymentSessionObj.action.autoDebitWithToken;
379
502
  shouldInitSecuritySDK = false;
380
503
  if (nonInitSecuritySDK) {
@@ -387,44 +510,38 @@ export var EasySafePayProcessor = /*#__PURE__*/function () {
387
510
  // console.log('[web-sdk][security-sdk] DO NOT init security sdk for easypay 1.0');
388
511
  shouldInitSecuritySDK = false;
389
512
  } else if (productSceneVersion === '2.0') {
390
- if (nonCompliant === true) {
391
- // 未切流「隐私合规」
392
- // console.log('[web-sdk][security-sdk] DO init security sdk for easypay 2.0 and nonCompliant is true');
393
- shouldInitSecuritySDK = true;
513
+ if (isFirstTimeToPay) {
514
+ // console.log((signButtonDisplay && userSignAgreement) ? '[web-sdk][security-sdk] DO init security sdk for easypay 2.0, first time to pay and user agreeement signing from merchant' : '[web-sdk][security-sdk] DO NOT init security sdk for easypay 2.0, first time to pay and user agreeement has not been signed from merchant');
515
+ shouldInitSecuritySDK = signButtonDisplay && userSignAgreement;
394
516
  } else {
395
- if (isFirstTimeToPay) {
396
- // console.log('[web-sdk][security-sdk] DO NOT init security sdk for easypay 2.0 and when first time to pay');
397
- shouldInitSecuritySDK = false;
398
- } else {
399
- // 切流「隐私合规」且非首次支付
400
- // console.log('[web-sdk][security-sdk] DO init security sdk for easypay 2.0 and when not first time to pay');
401
- shouldInitSecuritySDK = true;
402
- }
517
+ // 切流「隐私合规」且非首次支付
518
+ // console.log('[web-sdk][security-sdk] DO init security sdk for easypay 2.0 and when not first time to pay');
519
+ shouldInitSecuritySDK = true;
403
520
  }
404
521
  }
405
522
  }
406
523
  if (!shouldInitSecuritySDK) {
407
- _context4.next = 10;
524
+ _context5.next = 11;
408
525
  break;
409
526
  }
410
- _context4.next = 10;
527
+ _context5.next = 11;
411
528
  return this.securityService.initSecurity(this.SECURITY_SDK_INIT_TIMEOUT);
412
- case 10:
529
+ case 11:
413
530
  this.logger.logInfo({
414
531
  title: 'a3753.b101271.c388193.d514078'
415
532
  }, {
416
533
  riskSdkInfo: shouldInitSecuritySDK ? RiskSdkInfoEnum.NEED : RiskSdkInfoEnum.NO_NEED
417
534
  });
418
- _context4.next = 15;
535
+ _context5.next = 16;
419
536
  break;
420
- case 13:
421
- _context4.prev = 13;
422
- _context4.t0 = _context4["catch"](0);
423
- case 15:
537
+ case 14:
538
+ _context5.prev = 14;
539
+ _context5.t0 = _context5["catch"](0);
540
+ case 16:
424
541
  case "end":
425
- return _context4.stop();
542
+ return _context5.stop();
426
543
  }
427
- }, _callee4, this, [[0, 13]]);
544
+ }, _callee5, this, [[0, 14]]);
428
545
  }));
429
546
  function initSecuritySDK() {
430
547
  return _initSecuritySDK.apply(this, arguments);
@@ -29,5 +29,6 @@ export declare class ContainerService implements Service {
29
29
  private handleAppHeartBeat;
30
30
  private changeCloseBtnVisibility;
31
31
  private handleMaskCloseBtnShow;
32
+ private handleCloseButtonTheme;
32
33
  getWebApp(): HTMLIFrameElement;
33
34
  }
@@ -11,7 +11,7 @@ import { isEmpty } from "../../../util";
11
11
  import { addInlineLoading, createInlineBaseElement } from "../../../component/component.inline.style";
12
12
  import { addPopupLoading, createBaseElement } from "../../../component/component.popup.style";
13
13
  import { insertStyleSheet } from "../../../component/popupWindow.style";
14
- import { COMPONENT_CLOSE_BLOCK_ID, COMPONENT_CLOSE_MASK_BLOCK_ID, COMPONENT_CONTAINER_ID, ERRORMESSAGE, EVENT, LOADING_ID, MOCKUP_ID, TIMEOUT_WEB_APP_HEART_BEAT, TIME_DELAY_SEND_HEART_BEAT } from "../../../constant";
14
+ import { COMPONENT_CLOSE_BLOCK_ID, COMPONENT_CLOSE_MASK_BLOCK_ID, COMPONENT_CONTAINER_ID, ERRORMESSAGE, EVENT, LOADING_ID, MOCKUP_ID, TIMEOUT_WEB_APP_HEART_BEAT, TIME_DELAY_SEND_HEART_BEAT, closeImg, closeImgLight } from "../../../constant";
15
15
  import { DisplayTypeEnum, ProductSceneEnum } from "../../../types";
16
16
  import { ServiceProvider } from "../index";
17
17
  import { PopupManager } from "./popup";
@@ -194,7 +194,8 @@ export var ContainerService = /*#__PURE__*/function () {
194
194
  this.eventCenter.listen(EVENT.sizeChanged.name, function (data) {
195
195
  _this.handleSizeChanged(_objectSpread({}, data));
196
196
  });
197
- this.eventCenter.listen(EVENT.showCloseButton.name, function () {
197
+ this.eventCenter.listen(EVENT.showCloseButton.name, function (data) {
198
+ _this.handleCloseButtonTheme(data.theme);
198
199
  _this.changeCloseBtnVisibility(true);
199
200
  });
200
201
  this.eventCenter.listen(EVENT.hideCloseButton.name, function () {
@@ -323,6 +324,23 @@ export var ContainerService = /*#__PURE__*/function () {
323
324
  closeBlock === null || closeBlock === void 0 || closeBlock.classList.add("".concat(COMPONENT_CLOSE_MASK_BLOCK_ID, "-hidden"));
324
325
  }
325
326
  }
327
+ }, {
328
+ key: "handleCloseButtonTheme",
329
+ value: function handleCloseButtonTheme(theme) {
330
+ if (!theme) return;
331
+ var closeBlock = document.getElementById(COMPONENT_CLOSE_BLOCK_ID);
332
+ var closeButtonImg = closeBlock === null || closeBlock === void 0 ? void 0 : closeBlock.querySelector('img');
333
+ var maskCloseBlock = document.getElementById(COMPONENT_CLOSE_MASK_BLOCK_ID);
334
+ if (theme === 'light') {
335
+ closeButtonImg === null || closeButtonImg === void 0 || closeButtonImg.setAttribute('src', closeImgLight);
336
+ closeBlock === null || closeBlock === void 0 || closeBlock.classList.add("".concat(COMPONENT_CLOSE_BLOCK_ID, "-light"));
337
+ maskCloseBlock === null || maskCloseBlock === void 0 || maskCloseBlock.classList.add("".concat(COMPONENT_CLOSE_MASK_BLOCK_ID, "-light"));
338
+ } else {
339
+ closeButtonImg === null || closeButtonImg === void 0 || closeButtonImg.setAttribute('src', closeImg);
340
+ closeBlock === null || closeBlock === void 0 || closeBlock.classList.remove("".concat(COMPONENT_CLOSE_BLOCK_ID, "-light"));
341
+ maskCloseBlock === null || maskCloseBlock === void 0 || maskCloseBlock.classList.remove("".concat(COMPONENT_CLOSE_MASK_BLOCK_ID, "-light"));
342
+ }
343
+ }
326
344
  }, {
327
345
  key: "getWebApp",
328
346
  value: function getWebApp() {
@@ -4,10 +4,10 @@ export default class PreloadHelper {
4
4
  static isWebAppPreloaded: boolean;
5
5
  static isSecuritySDKPreloaded: boolean;
6
6
  private static securitySdkMap;
7
- static preloadWebApp(productScene: ProductSceneEnum, paymentMethodCategoryType: PaymentMethodCategoryTypeEnum, environment?: string): void;
7
+ static preloadWebApp(productScene: ProductSceneEnum, paymentMethodCategoryType: PaymentMethodCategoryTypeEnum, environment?: string, useV2?: boolean): void;
8
8
  static preloadSecuritySDK(product: ProductSceneEnum, securityRegion?: string): void;
9
9
  static getSecuritySdk(scene: any): Security;
10
- static buildWebAppPreloadUrl(productScene: ProductSceneEnum, paymentMethodCategoryType: PaymentMethodCategoryTypeEnum, environment: string): {
10
+ static buildWebAppPreloadUrl(productScene: ProductSceneEnum, paymentMethodCategoryType: PaymentMethodCategoryTypeEnum, environment: string, useV2?: boolean): {
11
11
  preloadUrl: string;
12
12
  containerId: string;
13
13
  };