@alipay/ams-checkout 1.23.0 → 1.24.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.
Files changed (124) hide show
  1. package/dist/umd/ams-checkout.min.js +1 -1
  2. package/esm/config/index.d.ts +7 -7
  3. package/esm/config/index.js +10 -10
  4. package/esm/constant/index.d.ts +6 -0
  5. package/esm/constant/index.js +8 -0
  6. package/esm/core/bus/ability/globalData.d.ts +10 -0
  7. package/esm/core/bus/ability/globalData.js +89 -0
  8. package/esm/core/bus/ability/request.d.ts +10 -0
  9. package/esm/core/bus/ability/request.js +151 -0
  10. package/esm/core/bus/interface.d.ts +12 -0
  11. package/esm/core/bus/interface.js +16 -2
  12. package/esm/core/component/address.d.ts +2 -2
  13. package/esm/core/component/appPreloadProcessing.js +2 -0
  14. package/esm/core/component/ckp/index.d.ts +3 -3
  15. package/esm/core/component/ckp/index.js +6 -5
  16. package/esm/core/component/element/components/address.d.ts +19 -0
  17. package/esm/core/component/element/components/address.js +68 -0
  18. package/esm/core/component/element/components/auth.d.ts +17 -0
  19. package/esm/core/component/element/components/auth.js +60 -0
  20. package/esm/core/component/element/components/payment.d.ts +19 -0
  21. package/esm/core/component/element/components/payment.js +74 -0
  22. package/esm/core/component/element/index.d.ts +47 -0
  23. package/esm/core/component/element/index.js +816 -0
  24. package/esm/core/component/element/mock.d.ts +4 -0
  25. package/esm/core/component/element/mock.js +491 -0
  26. package/esm/core/component/element/type.d.ts +184 -0
  27. package/esm/core/component/element/type.js +35 -0
  28. package/esm/core/component/element/utils.d.ts +13 -0
  29. package/esm/core/component/element/utils.js +6 -0
  30. package/esm/core/component/index.d.ts +5 -5
  31. package/esm/core/component/index.js +20 -16
  32. package/esm/core/drop-in/index.d.ts +2 -2
  33. package/esm/core/drop-in/index.js +2 -2
  34. package/esm/core/instance/index.d.ts +5 -5
  35. package/esm/core/instance/index.js +11 -10
  36. package/esm/foundation/core/index.d.ts +26 -0
  37. package/esm/foundation/core/index.js +301 -0
  38. package/esm/foundation/index.d.ts +72 -0
  39. package/esm/foundation/index.js +42 -0
  40. package/esm/foundation/product-processor/easysafepay/deps.d.ts +15 -0
  41. package/esm/foundation/product-processor/easysafepay/deps.js +9 -0
  42. package/esm/foundation/product-processor/easysafepay/index.d.ts +26 -0
  43. package/esm/foundation/product-processor/easysafepay/index.js +536 -0
  44. package/esm/foundation/service/container/index.d.ts +28 -0
  45. package/esm/foundation/service/container/index.js +256 -0
  46. package/esm/foundation/service/container/popup.d.ts +17 -0
  47. package/esm/foundation/service/container/popup.js +103 -0
  48. package/esm/foundation/service/container/utils.d.ts +7 -0
  49. package/esm/foundation/service/container/utils.js +48 -0
  50. package/esm/foundation/service/event-bus/ability/callback.d.ts +9 -0
  51. package/esm/foundation/service/event-bus/ability/callback.js +55 -0
  52. package/esm/foundation/service/event-bus/ability/globalData.d.ts +10 -0
  53. package/esm/foundation/service/event-bus/ability/globalData.js +89 -0
  54. package/esm/foundation/service/event-bus/ability/request.d.ts +10 -0
  55. package/esm/foundation/service/event-bus/ability/request.js +151 -0
  56. package/esm/foundation/service/event-bus/ability/security.d.ts +12 -0
  57. package/esm/foundation/service/event-bus/ability/security.js +151 -0
  58. package/esm/foundation/service/event-bus/ability/tracker.d.ts +9 -0
  59. package/esm/foundation/service/event-bus/ability/tracker.js +80 -0
  60. package/esm/foundation/service/event-bus/busManager.d.ts +127 -0
  61. package/esm/foundation/service/event-bus/busManager.js +398 -0
  62. package/esm/foundation/service/event-bus/index.d.ts +20 -0
  63. package/esm/foundation/service/event-bus/index.js +88 -0
  64. package/esm/foundation/service/event-center.d.ts +75 -0
  65. package/esm/foundation/service/event-center.js +244 -0
  66. package/esm/foundation/service/global-data/index.d.ts +11 -0
  67. package/esm/foundation/service/global-data/index.js +69 -0
  68. package/esm/foundation/service/index.d.ts +19 -0
  69. package/esm/foundation/service/index.js +82 -0
  70. package/esm/foundation/service/log/index.d.ts +43 -0
  71. package/esm/foundation/service/log/index.js +235 -0
  72. package/esm/foundation/service/log/types.d.ts +32 -0
  73. package/esm/foundation/service/log/types.js +1 -0
  74. package/esm/foundation/service/requester/deps.d.ts +17 -0
  75. package/esm/foundation/service/requester/deps.js +11 -0
  76. package/esm/foundation/service/requester/requester.d.ts +22 -0
  77. package/esm/foundation/service/requester/requester.js +211 -0
  78. package/esm/foundation/service/security/index.d.ts +26 -0
  79. package/esm/foundation/service/security/index.js +216 -0
  80. package/esm/{util → foundation/service/security}/security.d.ts +2 -2
  81. package/esm/{util → foundation/service/security}/security.js +3 -3
  82. package/esm/foundation/types/index.d.ts +4 -0
  83. package/esm/foundation/types/index.js +4 -0
  84. package/esm/foundation/utils/gray_scale_utils.d.ts +7 -0
  85. package/esm/foundation/utils/gray_scale_utils.js +40 -0
  86. package/esm/foundation/utils/payment_context_utils.d.ts +13 -0
  87. package/esm/foundation/utils/payment_context_utils.js +57 -0
  88. package/esm/foundation/utils/redirect_utils.d.ts +6 -0
  89. package/esm/foundation/utils/redirect_utils.js +99 -0
  90. package/esm/foundation/utils/system_events.d.ts +4 -0
  91. package/esm/foundation/utils/system_events.js +71 -0
  92. package/esm/foundation/utils/web_app_url_utils.d.ts +37 -0
  93. package/esm/foundation/utils/web_app_url_utils.js +97 -0
  94. package/esm/index.d.ts +16 -10
  95. package/esm/index.js +70 -59
  96. package/esm/plugin/applepay/component.js +3 -3
  97. package/esm/plugin/applepay/service.d.ts +2 -2
  98. package/esm/plugin/applepay/service.js +2 -2
  99. package/esm/plugin/component/cashierApp.d.ts +7 -5
  100. package/esm/plugin/component/cashierApp.js +16 -8
  101. package/esm/plugin/component/channel.d.ts +4 -4
  102. package/esm/plugin/component/component.inline.style.d.ts +4 -4
  103. package/esm/plugin/component/component.inline.style.js +10 -7
  104. package/esm/plugin/component/component.popup.style.d.ts +15 -6
  105. package/esm/plugin/component/component.popup.style.js +33 -15
  106. package/esm/plugin/component/index.d.ts +8 -7
  107. package/esm/plugin/component/index.js +153 -98
  108. package/esm/plugin/const.js +5 -5
  109. package/esm/plugin/drop-in/index.d.ts +5 -5
  110. package/esm/plugin/drop-in/index.js +7 -7
  111. package/esm/plugin/payment-element/utils.d.ts +1 -1
  112. package/esm/plugin/payment-element/utils.js +2 -1
  113. package/esm/plugin/type.d.ts +4 -4
  114. package/esm/service/element.d.ts +4 -0
  115. package/esm/service/element.js +51 -0
  116. package/esm/service/index.d.ts +1 -0
  117. package/esm/service/index.js +2 -0
  118. package/esm/types/index.d.ts +240 -38
  119. package/esm/types/index.js +103 -59
  120. package/esm/util/createIframeNode.d.ts +2 -2
  121. package/esm/util/createIframeNode.js +3 -3
  122. package/esm/util/index.d.ts +1 -1
  123. package/esm/util/index.js +3 -4
  124. package/package.json +2 -1
@@ -0,0 +1,301 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
6
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
7
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
9
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ 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); }
13
+ import { DisplayTypeEnum } from "../../types";
14
+ import { DisplayInfo } from "../index";
15
+ import { v4 as uuid } from 'uuid';
16
+ import { ServiceProvider } from "../service";
17
+ import { convertPaymentSession, getWebAppVersion, saveWebAppVersion } from "../utils/payment_context_utils";
18
+ import { getGrayscaleId } from "../utils/gray_scale_utils";
19
+ import { sdkVersion } from "../../config";
20
+ import { parseWebAppMatchConfig } from "../utils/web_app_url_utils";
21
+ import { redirect } from "../utils/redirect_utils";
22
+ import { insertStyleSheet } from "../../plugin/component/popupWindow.style";
23
+ import { hideMockup, createMockup, createRetentionPopup, hideRetentionPopup, showRetentionPopup, cleanMockup, removeRetentionPopup } from "../../plugin/component/component.popup.style";
24
+ import { EVENT, LOADING_ID } from "../../constant";
25
+ /**
26
+ * @author 谦彧 <zhangmian.zm@alipay.com>
27
+ * @date 2024/9/17
28
+ */
29
+ export var AntomSDKCore = /*#__PURE__*/function () {
30
+ function AntomSDKCore() {
31
+ _classCallCheck(this, AntomSDKCore);
32
+ _defineProperty(this, "bizFlowResult", void 0);
33
+ _defineProperty(this, "initOptions", void 0);
34
+ _defineProperty(this, "paymentContext", void 0);
35
+ _defineProperty(this, "instanceId", void 0);
36
+ _defineProperty(this, "sdkMetaData", void 0);
37
+ _defineProperty(this, "productProcessors", {});
38
+ }
39
+ _createClass(AntomSDKCore, [{
40
+ key: "registerProcessor",
41
+ value: function registerProcessor(productScene) {
42
+ var paymentMethod = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
43
+ var processor = arguments.length > 2 ? arguments[2] : undefined;
44
+ var processorId = paymentMethod ? "".concat(productScene, "|").concat(paymentMethod) : productScene;
45
+ this.productProcessors[processorId] = processor;
46
+ }
47
+ }, {
48
+ key: "init",
49
+ value: function init(options, productScene) {
50
+ this.instanceId = uuid();
51
+ this.sdkMetaData = {
52
+ webAppVersion: '',
53
+ greyscaleId: getGrayscaleId(),
54
+ productScene: productScene,
55
+ sdkVersion: sdkVersion
56
+ };
57
+ this.sdkMetaData.webAppVersion = getWebAppVersion(this.sdkMetaData);
58
+ ServiceProvider.getInstance(this.instanceId).init(options, this.sdkMetaData);
59
+ this.prepare(options, this.sdkMetaData);
60
+ }
61
+ }, {
62
+ key: "prepare",
63
+ value: function prepare(options, sdkMetaData) {
64
+ var _this = this;
65
+ // TODO register biz subscriber
66
+ // TODO add event listener to EventCenter
67
+ var eventCenter = ServiceProvider.getInstance(this.instanceId).getService('EventCenter');
68
+ eventCenter.listen(EVENT.redirect.name, function (data) {
69
+ var _data$isDestroy;
70
+ if (!data) {
71
+ return;
72
+ }
73
+ var needCleanContainer = (_data$isDestroy = data.isDestroy) !== null && _data$isDestroy !== void 0 ? _data$isDestroy : true;
74
+ var redirectBehavior = typeof data === 'string' ? {
75
+ url: data
76
+ } : {
77
+ applinkUrl: (data === null || data === void 0 ? void 0 : data.applinkUrl) || '',
78
+ schemeUrl: (data === null || data === void 0 ? void 0 : data.schemeUrl) || '',
79
+ url: (data === null || data === void 0 ? void 0 : data.normalUrl) || '',
80
+ browserLinkTarget: data === null || data === void 0 ? void 0 : data.target
81
+ };
82
+ redirect(redirectBehavior, _this.instanceId);
83
+ if (needCleanContainer) {
84
+ _this.cleanRender();
85
+ }
86
+ });
87
+
88
+ // execute additional logic from specified product
89
+ if (this.productProcessors[sdkMetaData.productScene]) {
90
+ this.productProcessors[sdkMetaData.productScene].init(options, this.instanceId, sdkMetaData);
91
+ }
92
+ }
93
+ }, {
94
+ key: "startBizFlow",
95
+ value: function () {
96
+ var _startBizFlow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
97
+ var _this$paymentContext$, _this$paymentContext$2;
98
+ var paymentSession, displayInfo, _convertPaymentSessio, paymentSessionId, paymentSessionMetaData, mid, webAppMatchConfig, webAppVersion, productScene, paymentMethod, _this$bizFlowResult, payload;
99
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
100
+ while (1) switch (_context.prev = _context.next) {
101
+ case 0:
102
+ if (!(!options || !options.paymentSession)) {
103
+ _context.next = 2;
104
+ break;
105
+ }
106
+ throw new Error('paymentSession is empty');
107
+ case 2:
108
+ paymentSession = options.paymentSession, displayInfo = options.displayInfo;
109
+ _convertPaymentSessio = convertPaymentSession(paymentSession), paymentSessionId = _convertPaymentSessio.id, paymentSessionMetaData = _convertPaymentSessio.data;
110
+ this.paymentContext = {
111
+ initOptions: this.initOptions,
112
+ startBizFlowOptions: options,
113
+ paymentSession: paymentSession,
114
+ paymentSessionId: paymentSessionId,
115
+ paymentSessionObj: paymentSessionMetaData,
116
+ displayInfo: _objectSpread(_objectSpread({}, new DisplayInfo()), displayInfo),
117
+ sdkMetaData: this.sdkMetaData
118
+ };
119
+ // upgrade WebApp version
120
+ mid = this.paymentContext.paymentSessionObj.clientId;
121
+ webAppMatchConfig = parseWebAppMatchConfig(this.paymentContext.paymentSessionObj.extendInfo);
122
+ webAppVersion = getWebAppVersion(this.sdkMetaData, mid, webAppMatchConfig);
123
+ this.sdkMetaData.webAppVersion = webAppVersion;
124
+ saveWebAppVersion(webAppVersion, this.sdkMetaData);
125
+
126
+ // Call service to update via payment context
127
+ ServiceProvider.getInstance(this.instanceId).update(this.paymentContext);
128
+
129
+ // Invoke processor
130
+ productScene = (_this$paymentContext$ = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$ === void 0 || (_this$paymentContext$ = _this$paymentContext$.paymentSessionConfig) === null || _this$paymentContext$ === void 0 ? void 0 : _this$paymentContext$.productScene;
131
+ paymentMethod = (_this$paymentContext$2 = this.paymentContext.paymentSessionObj) === null || _this$paymentContext$2 === void 0 || (_this$paymentContext$2 = _this$paymentContext$2.paymentMethodInfoView) === null || _this$paymentContext$2 === void 0 ? void 0 : _this$paymentContext$2.paymentMethodType;
132
+ _context.prev = 13;
133
+ if (!this.productProcessors["".concat(productScene, "|").concat(paymentMethod)]) {
134
+ _context.next = 20;
135
+ break;
136
+ }
137
+ _context.next = 17;
138
+ return this.productProcessors["".concat(productScene, "|").concat(paymentMethod)].startBizFlow(this.paymentContext);
139
+ case 17:
140
+ this.bizFlowResult = _context.sent;
141
+ _context.next = 24;
142
+ break;
143
+ case 20:
144
+ if (!this.productProcessors["".concat(productScene)]) {
145
+ _context.next = 24;
146
+ break;
147
+ }
148
+ _context.next = 23;
149
+ return this.productProcessors["".concat(productScene)].startBizFlow(this.paymentContext);
150
+ case 23:
151
+ this.bizFlowResult = _context.sent;
152
+ case 24:
153
+ _context.next = 29;
154
+ break;
155
+ case 26:
156
+ _context.prev = 26;
157
+ _context.t0 = _context["catch"](13);
158
+ console.error('Invoke processor failed', _context.t0);
159
+ case 29:
160
+ if (!(!this.bizFlowResult || this.bizFlowResult.behaviorType === 'NONE' || !this.bizFlowResult.payload)) {
161
+ _context.next = 31;
162
+ break;
163
+ }
164
+ return _context.abrupt("return");
165
+ case 31:
166
+ if (!(this.bizFlowResult.behaviorType === 'RENDER')) {
167
+ _context.next = 34;
168
+ break;
169
+ }
170
+ this.handleBehaviorRender();
171
+ return _context.abrupt("return");
172
+ case 34:
173
+ if (!(this.bizFlowResult.behaviorType === 'REDIRECT')) {
174
+ _context.next = 38;
175
+ break;
176
+ }
177
+ payload = (_this$bizFlowResult = this.bizFlowResult) === null || _this$bizFlowResult === void 0 ? void 0 : _this$bizFlowResult.payload;
178
+ redirect(payload, this.instanceId);
179
+ return _context.abrupt("return");
180
+ case 38:
181
+ case "end":
182
+ return _context.stop();
183
+ }
184
+ }, _callee, this, [[13, 26]]);
185
+ }));
186
+ function startBizFlow(_x) {
187
+ return _startBizFlow.apply(this, arguments);
188
+ }
189
+ return startBizFlow;
190
+ }()
191
+ }, {
192
+ key: "getServiceProvider",
193
+ value: function getServiceProvider() {
194
+ return ServiceProvider.getInstance(this.instanceId);
195
+ }
196
+ }, {
197
+ key: "getBizFlowResult",
198
+ value: function getBizFlowResult() {
199
+ return this.bizFlowResult;
200
+ }
201
+ }, {
202
+ key: "getPaymentContext",
203
+ value: function getPaymentContext() {
204
+ return this.paymentContext;
205
+ }
206
+ }, {
207
+ key: "destroy",
208
+ value: function destroy() {
209
+ this.cleanRender(true);
210
+ }
211
+ }, {
212
+ key: "handleBehaviorRender",
213
+ value: function handleBehaviorRender() {
214
+ var _this2 = this;
215
+ var eventCenter = ServiceProvider.getInstance(this.instanceId).getService('EventCenter');
216
+ var containerService = ServiceProvider.getInstance(this.instanceId).getService('Container');
217
+ var displayType = this.paymentContext.displayInfo.type;
218
+ var platform = this.paymentContext.displayInfo.platform;
219
+ var payload = this.bizFlowResult.payload;
220
+ var closeBtnCallbackForPopup = function closeBtnCallbackForPopup() {
221
+ if (displayType === DisplayTypeEnum.inline) {
222
+ return;
223
+ }
224
+ if (_this2.paymentContext.displayInfo.isRetention) {
225
+ showRetentionPopup();
226
+ return;
227
+ } else {
228
+ _this2.cleanRender();
229
+ eventCenter.dispatchToApp({
230
+ event: EVENT.close.name,
231
+ data: {}
232
+ });
233
+ // this.handleDeclarePopWindowCallback();
234
+ }
235
+ };
236
+
237
+ // TODO 感觉有死循环
238
+ eventCenter.listen(EVENT.close.name, function () {
239
+ closeBtnCallbackForPopup();
240
+ });
241
+ eventCenter.listen(EVENT.setAllowRetention.name, function (data) {
242
+ if (data === undefined || typeof data !== 'boolean') {
243
+ return;
244
+ }
245
+ _this2.paymentContext.displayInfo.isRetention = data;
246
+ });
247
+ var container = containerService.load(this.paymentContext.displayInfo, payload.url, closeBtnCallbackForPopup);
248
+ if (displayType === DisplayTypeEnum.inline) {
249
+ containerService.showLoading(container, this.paymentContext.displayInfo);
250
+ insertStyleSheet();
251
+ return;
252
+ }
253
+ if (displayType == DisplayTypeEnum.popup) {
254
+ createRetentionPopup(platform, function () {
255
+ hideRetentionPopup();
256
+ }, function () {
257
+ eventCenter.dispatchToApp({
258
+ event: EVENT.close.name,
259
+ data: {}
260
+ });
261
+ hideRetentionPopup();
262
+ containerService.cleanContainer(_this2.paymentContext.displayInfo);
263
+ // this.handleDeclarePopWindowCallback();
264
+ });
265
+ if (payload.allowClickPopupOutsideClose) {
266
+ createMockup({
267
+ platform: platform,
268
+ onClickOutside: closeBtnCallbackForPopup
269
+ });
270
+ }
271
+ containerService.showLoading(container, this.paymentContext.displayInfo);
272
+ return;
273
+ }
274
+ }
275
+ }, {
276
+ key: "cleanRender",
277
+ value: function cleanRender() {
278
+ var _this3 = this,
279
+ _document$getElementB;
280
+ var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
281
+ var containerService = ServiceProvider.getInstance(this.instanceId).getService('Container');
282
+ var cleanElement = function cleanElement() {
283
+ containerService.cleanContainer(_this3.paymentContext.displayInfo);
284
+ cleanMockup();
285
+ removeRetentionPopup();
286
+ // TODO plugin/component this.removeEventListener();
287
+ };
288
+ (_document$getElementB = document.getElementById(LOADING_ID)) === null || _document$getElementB === void 0 || _document$getElementB.remove();
289
+ containerService.startHideAnim();
290
+ hideMockup();
291
+ if (immediately) {
292
+ cleanElement();
293
+ return;
294
+ }
295
+ setTimeout(function () {
296
+ cleanElement();
297
+ }, 300);
298
+ }
299
+ }]);
300
+ return AntomSDKCore;
301
+ }();
@@ -0,0 +1,72 @@
1
+ import { DisplayTypeEnum, IOptionsParams, IPaymentSessionMetaData, PlatformEnum, ProductSceneEnum, TargetEnum } from '../types';
2
+ /**
3
+ * @author 谦彧 <zhangmian.zm@alipay.com>
4
+ * @date 2024/9/17
5
+ */
6
+ /**
7
+ * Represent one transaction, each transaction has its own instance.
8
+ */
9
+ export interface PaymentContext {
10
+ initOptions: IOptionsParams;
11
+ startBizFlowOptions: StartBizFlowOptions;
12
+ displayInfo: DisplayInfo;
13
+ paymentSession: string;
14
+ paymentSessionId: string;
15
+ paymentSessionObj: IPaymentSessionMetaData;
16
+ sdkMetaData: SDKMetaData;
17
+ }
18
+ export interface StartBizFlowOptions {
19
+ paymentSession: string;
20
+ displayInfo?: Partial<DisplayInfo>;
21
+ submitPayRequestExtra?: any;
22
+ }
23
+ export declare class DisplayInfo {
24
+ type: DisplayTypeEnum;
25
+ platform: PlatformEnum;
26
+ isRetention: boolean;
27
+ selector: string;
28
+ appearance?: Record<string, any>;
29
+ appendAliasContainerId?: boolean;
30
+ constructor();
31
+ }
32
+ /**
33
+ * Provide unique logic for specified product, or specified product and its payment method.
34
+ * Such as: EasySafePay, PayPal in Cashier
35
+ */
36
+ export interface ProductProcessor {
37
+ init(config: IOptionsParams, instanceId: string, sdkMetaData: SDKMetaData): any;
38
+ startBizFlow(paymentContext: PaymentContext): Promise<BizFlowResult>;
39
+ }
40
+ export interface BizFlowResult {
41
+ behaviorType: 'RENDER' | 'REDIRECT' | 'NONE';
42
+ payload: RenderBehaviorPayload | RedirectBehaviorPayload;
43
+ data?: any;
44
+ }
45
+ export interface RenderBehaviorPayload {
46
+ url: string;
47
+ allowClickPopupOutsideClose?: boolean;
48
+ }
49
+ export interface RedirectBehaviorPayload {
50
+ url?: string;
51
+ schemeUrl?: string;
52
+ applinkUrl?: string;
53
+ browserLinkTarget?: TargetEnum;
54
+ }
55
+ /**
56
+ * Provide some capability, such as MonitorService, EventBusService, SecurityService
57
+ */
58
+ export interface Service {
59
+ init(initOptions: IOptionsParams, instanceId: string, sdkMetaData: SDKMetaData): any;
60
+ update(paymentContext: PaymentContext): any;
61
+ destroy(): any;
62
+ }
63
+ export interface SDKMetaData {
64
+ productScene: ProductSceneEnum;
65
+ sdkVersion: string;
66
+ webAppVersion: string;
67
+ greyscaleId: number;
68
+ }
69
+ export interface InitContext {
70
+ initOptions: IOptionsParams;
71
+ sdkMetaData: SDKMetaData;
72
+ }
@@ -0,0 +1,42 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
3
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
4
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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); }
8
+ import { DisplayTypeEnum, PlatformEnum } from "../types";
9
+ import { isPC } from "../util";
10
+
11
+ /**
12
+ * @author 谦彧 <zhangmian.zm@alipay.com>
13
+ * @date 2024/9/17
14
+ */
15
+
16
+ /**
17
+ * Represent one transaction, each transaction has its own instance.
18
+ */
19
+
20
+ export var DisplayInfo = /*#__PURE__*/_createClass(function DisplayInfo() {
21
+ _classCallCheck(this, DisplayInfo);
22
+ _defineProperty(this, "type", void 0);
23
+ _defineProperty(this, "platform", void 0);
24
+ // whether show retention popup when user leave cashier
25
+ _defineProperty(this, "isRetention", void 0);
26
+ _defineProperty(this, "selector", void 0);
27
+ _defineProperty(this, "appearance", void 0);
28
+ // append selector name to containerId
29
+ _defineProperty(this, "appendAliasContainerId", void 0);
30
+ this.platform = isPC() ? PlatformEnum.desktop : PlatformEnum.mobile;
31
+ this.isRetention = true;
32
+ this.type = DisplayTypeEnum.popup;
33
+ this.selector = '';
34
+ });
35
+ /**
36
+ * Provide unique logic for specified product, or specified product and its payment method.
37
+ * Such as: EasySafePay, PayPal in Cashier
38
+ */
39
+
40
+ /**
41
+ * Provide some capability, such as MonitorService, EventBusService, SecurityService
42
+ */
@@ -0,0 +1,15 @@
1
+ export type { SDKMetaData } from "../..";
2
+ export * as ChannelCustomize from '../../../plugin/component/channel';
3
+ export type { IChannelBehavior } from '../../../plugin/component/channel';
4
+ export { DisplayTypeEnum } from '../../../types';
5
+ export type { CashierSdkActionQueryRequest, CashierSdkActionQueryResult, CashierSubmitPayRequest, CashierSubmitPayResult, IOptionsParams, } from '../../../types';
6
+ export { isPC } from '../../../util';
7
+ export { isLocalMock } from '../../../util/mock';
8
+ export type { BizFlowResult, PaymentContext, ProductProcessor, RedirectBehaviorPayload, RenderBehaviorPayload } from '../..';
9
+ export { ServiceProvider } from '../../service';
10
+ export type { ContainerService } from '../../service/container';
11
+ export type { EventCenter } from '../../service/event-center';
12
+ export { LogService } from '../../service/log';
13
+ export type { RequesterService } from '../../service/requester/requester';
14
+ export type { SecurityService } from '../../service/security';
15
+ export * as WebAppUrlUtil from '../../utils/web_app_url_utils';
@@ -0,0 +1,9 @@
1
+ import * as _ChannelCustomize from "../../../plugin/component/channel";
2
+ export { _ChannelCustomize as ChannelCustomize };
3
+ export { DisplayTypeEnum } from "../../../types";
4
+ export { isPC } from "../../../util";
5
+ export { isLocalMock } from "../../../util/mock";
6
+ export { ServiceProvider } from "../../service";
7
+ export { LogService } from "../../service/log";
8
+ import * as _WebAppUrlUtil from "../../utils/web_app_url_utils";
9
+ export { _WebAppUrlUtil as WebAppUrlUtil };
@@ -0,0 +1,26 @@
1
+ import type { BizFlowResult, IOptionsParams, PaymentContext, ProductProcessor, SDKMetaData } from './deps';
2
+ export declare class EasySafePayProcessor implements ProductProcessor {
3
+ private paymentContext?;
4
+ private initConfig;
5
+ private logger;
6
+ private instanceId;
7
+ private hostSign;
8
+ private allowSubmitPayCallAhead;
9
+ private channelBehavior?;
10
+ init(config: IOptionsParams, instanceId: string, sdkMetaData: SDKMetaData): void;
11
+ startBizFlow(paymentContext: PaymentContext): Promise<BizFlowResult>;
12
+ private preloadWebApp;
13
+ private buildWebAppPreloadUrl;
14
+ private buildWebAppUrl;
15
+ private buildRedirectResult;
16
+ /**
17
+ * 等待Web应用启动,然后发送renderComponent事件
18
+ * start waiting web launch, then send renderComponent event
19
+ * */
20
+ private sendRequestAndWaitWebLaunch;
21
+ private processPaymentQuery;
22
+ private processSubmitPay;
23
+ private acquireApdidToken;
24
+ private savePreviousProductInfo;
25
+ private getPreviousProductInfo;
26
+ }