@alipay/ams-checkout 1.29.0 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/umd/ams-checkout.min.js +1 -1
- package/esm/config/index.d.ts +7 -7
- package/esm/config/index.js +7 -7
- package/esm/core/component/element/index.d.ts +2 -0
- package/esm/core/component/element/index.js +76 -10
- package/esm/plugin/component/channel.d.ts +20 -26
- package/esm/plugin/component/channel.js +392 -428
- package/esm/plugin/component/index.js +31 -13
- package/esm/plugin/const.js +1 -1
- package/esm/types/index.d.ts +5 -1
- package/esm/types/index.js +2 -0
- package/esm/util/index.d.ts +2 -1
- package/esm/util/index.js +16 -1
- package/esm/util/versionCompare.d.ts +1 -1
- package/package.json +1 -1
@@ -1,6 +1,4 @@
|
|
1
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 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; }
|
3
|
-
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; }
|
4
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; }
|
5
3
|
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
4
|
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); }); }; }
|
@@ -14,7 +12,8 @@ import { BusManager, BusMessage } from "../../core/bus";
|
|
14
12
|
import { SecuritySDKActionEnum } from "../../core/bus/interface";
|
15
13
|
import { getApplePayPaymentSession, submitPayInfo } from "../../service";
|
16
14
|
import { EnvironmentEnum } from "../../types";
|
17
|
-
import { device } from "../../util";
|
15
|
+
import { device, isEmpty } from "../../util";
|
16
|
+
import { APPLE_PAY_RECURRING_VERSION, APPLE_PAY_VERSION } from "../applepay/interface";
|
18
17
|
var APPLEPAYERRORENUM = /*#__PURE__*/function (APPLEPAYERRORENUM) {
|
19
18
|
APPLEPAYERRORENUM["APPLE_PAY_MISSING_DATA"] = "APPLE_PAY_MISSING_DATA";
|
20
19
|
APPLEPAYERRORENUM["APPLE_PAY_NOT_SUPPORTED"] = "APPLE_PAY_NOT_SUPPORTED";
|
@@ -117,418 +116,332 @@ export var handleGooglePay = function handleGooglePay(data) {
|
|
117
116
|
};
|
118
117
|
});
|
119
118
|
};
|
120
|
-
export var
|
121
|
-
function
|
122
|
-
var
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
logger = _ref.logger,
|
127
|
-
dispatchToApp = _ref.dispatchToApp;
|
128
|
-
_classCallCheck(this, ApplePayService);
|
119
|
+
export var ApplePaySdk = /*#__PURE__*/function () {
|
120
|
+
function ApplePaySdk(_ref) {
|
121
|
+
var paymentSessionData = _ref.paymentSessionData,
|
122
|
+
parseData = _ref.parseData,
|
123
|
+
logger = _ref.logger;
|
124
|
+
_classCallCheck(this, ApplePaySdk);
|
129
125
|
_defineProperty(this, "APPLESDKURL", 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js');
|
130
|
-
_defineProperty(this, "
|
126
|
+
_defineProperty(this, "session", null);
|
131
127
|
_defineProperty(this, "paymentSessionData", void 0);
|
132
|
-
_defineProperty(this, "
|
128
|
+
_defineProperty(this, "parseData", void 0);
|
133
129
|
/**
|
134
130
|
* @description 支付状态,pending:支付中,normal:正常
|
135
131
|
*/
|
136
132
|
_defineProperty(this, "paymentStatus", void 0);
|
137
|
-
/**
|
138
|
-
* @description paymentRequest
|
139
|
-
*/
|
140
|
-
_defineProperty(this, "paymentRequest", void 0);
|
141
133
|
_defineProperty(this, "logger", void 0);
|
142
|
-
|
143
|
-
|
144
|
-
this.paymentMethod = paymentMethod;
|
145
|
-
this.dispatchToApp = dispatchToApp;
|
134
|
+
this.paymentSessionData = paymentSessionData;
|
135
|
+
this.parseData = parseData;
|
146
136
|
this.logger = logger;
|
147
|
-
this.paymentSessionData = sessionData;
|
148
|
-
this.sessionResult = paymentSessionMetaData;
|
149
|
-
this.paymentRequest = paymentMethod === null || paymentMethod === void 0 || (_paymentMethod$paymen = paymentMethod.paymentMethodDetail) === null || _paymentMethod$paymen === void 0 || (_paymentMethod$paymen = _paymentMethod$paymen.applePayProps) === null || _paymentMethod$paymen === void 0 ? void 0 : _paymentMethod$paymen.paymentRequest;
|
150
137
|
}
|
151
|
-
_createClass(
|
138
|
+
_createClass(ApplePaySdk, [{
|
152
139
|
key: "startPay",
|
153
140
|
value: function () {
|
154
|
-
var _startPay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
155
|
-
|
156
|
-
|
157
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
158
|
-
while (1) switch (_context2.prev = _context2.next) {
|
141
|
+
var _startPay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
142
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
143
|
+
while (1) switch (_context.prev = _context.next) {
|
159
144
|
case 0:
|
160
|
-
|
161
|
-
|
162
|
-
_context2.next = 3;
|
163
|
-
break;
|
164
|
-
}
|
165
|
-
return _context2.abrupt("return");
|
166
|
-
case 3:
|
167
|
-
if (this.isRequiredParameters) {
|
168
|
-
_context2.next = 7;
|
169
|
-
break;
|
170
|
-
}
|
171
|
-
(_this$logger = this.logger) === null || _this$logger === void 0 || _this$logger.logError({
|
172
|
-
code: 'a3753.b103030.c386485.d507448'
|
173
|
-
}, {
|
174
|
-
paymentRequest: JSON.stringify(this.paymentRequest)
|
175
|
-
});
|
176
|
-
this.paymentStatus = PAYMENT_STATUS.NORMAL;
|
177
|
-
return _context2.abrupt("return", Promise.reject({
|
178
|
-
errorCode: APPLEPAYERRORENUM.APPLE_PAY_MISSING_DATA
|
179
|
-
}));
|
180
|
-
case 7:
|
181
|
-
(_this$logger2 = this.logger) === null || _this$logger2 === void 0 || _this$logger2.logInfo({
|
182
|
-
code: 'a3753.b103030.c386485.d507459'
|
183
|
-
}, {
|
184
|
-
paymentRequest: JSON.stringify(this.paymentRequest)
|
185
|
-
});
|
186
|
-
_context2.next = 10;
|
145
|
+
_context.prev = 0;
|
146
|
+
_context.next = 3;
|
187
147
|
return this.initApplePaySession();
|
188
|
-
case
|
189
|
-
return
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
148
|
+
case 3:
|
149
|
+
return _context.abrupt("return", this.begin());
|
150
|
+
case 6:
|
151
|
+
_context.prev = 6;
|
152
|
+
_context.t0 = _context["catch"](0);
|
153
|
+
return _context.abrupt("return", Promise.reject(_context.t0));
|
154
|
+
case 9:
|
155
|
+
case "end":
|
156
|
+
return _context.stop();
|
157
|
+
}
|
158
|
+
}, _callee, this, [[0, 6]]);
|
159
|
+
}));
|
160
|
+
function startPay() {
|
161
|
+
return _startPay.apply(this, arguments);
|
162
|
+
}
|
163
|
+
return startPay;
|
164
|
+
}()
|
165
|
+
}, {
|
166
|
+
key: "begin",
|
167
|
+
value: function begin() {
|
168
|
+
var _this = this;
|
169
|
+
return new Promise(function (resolve, reject) {
|
170
|
+
try {
|
171
|
+
if (!_this.session) return;
|
172
|
+
_this.paymentStatus = PAYMENT_STATUS.PENDING;
|
173
|
+
_this.session.onvalidatemerchant = /*#__PURE__*/function () {
|
174
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(event) {
|
175
|
+
var requestParams, res, merchantSession, _this$logger, _this$logger2;
|
176
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
177
|
+
while (1) switch (_context2.prev = _context2.next) {
|
178
|
+
case 0:
|
179
|
+
_context2.prev = 0;
|
180
|
+
requestParams = {
|
181
|
+
validateUrl: event === null || event === void 0 ? void 0 : event.validationURL,
|
182
|
+
paymentSessionData: _this.paymentSessionData
|
183
|
+
};
|
184
|
+
_context2.t0 = getApplePayPaymentSession;
|
185
|
+
_context2.t1 = _this.paymentSessionData;
|
186
|
+
_context2.t2 = requestParams;
|
187
|
+
_context2.t3 = EnvironmentEnum.prod;
|
188
|
+
_context2.next = 8;
|
189
|
+
return _this.getDeviceId();
|
190
|
+
case 8:
|
191
|
+
_context2.t4 = _context2.sent;
|
192
|
+
_context2.t5 = {
|
193
|
+
deviceId: _context2.t4
|
194
|
+
};
|
195
|
+
_context2.t6 = {
|
196
|
+
env: _context2.t3,
|
197
|
+
envInfo: _context2.t5
|
198
|
+
};
|
199
|
+
_context2.t7 = _this.logger;
|
200
|
+
_context2.next = 14;
|
201
|
+
return (0, _context2.t0)(_context2.t1, _context2.t2, _context2.t6, _context2.t7);
|
202
|
+
case 14:
|
203
|
+
res = _context2.sent;
|
204
|
+
if (res !== null && res !== void 0 && res.success && res.merchantSessionObject) {
|
205
|
+
merchantSession = JSON.parse(res.merchantSessionObject);
|
206
|
+
_this.session.completeMerchantValidation(merchantSession);
|
207
|
+
} else {
|
208
|
+
(_this$logger = _this.logger) === null || _this$logger === void 0 || _this$logger.logError({
|
209
|
+
title: 'a3753.b103030.c386485.d507483'
|
210
|
+
});
|
211
|
+
_this.abortSession();
|
212
|
+
reject({
|
213
|
+
errorCode: APPLEPAYERRORENUM.APPLE_PAY_PAYMENT_SESSION_REQUEST_FAILED
|
214
|
+
});
|
215
|
+
}
|
216
|
+
_context2.next = 23;
|
217
|
+
break;
|
218
|
+
case 18:
|
219
|
+
_context2.prev = 18;
|
220
|
+
_context2.t8 = _context2["catch"](0);
|
221
|
+
(_this$logger2 = _this.logger) === null || _this$logger2 === void 0 || _this$logger2.logError({
|
222
|
+
title: 'a3753.b103030.c386485.d507483'
|
223
|
+
});
|
224
|
+
_this.abortSession();
|
260
225
|
reject({
|
261
|
-
errorCode: APPLEPAYERRORENUM.
|
226
|
+
errorCode: APPLEPAYERRORENUM.APPLE_PAY_PAYMENT_SESSION_REQUEST_FAILED
|
262
227
|
});
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
228
|
+
case 23:
|
229
|
+
case "end":
|
230
|
+
return _context2.stop();
|
231
|
+
}
|
232
|
+
}, _callee2, null, [[0, 18]]);
|
233
|
+
}));
|
234
|
+
return function (_x) {
|
235
|
+
return _ref2.apply(this, arguments);
|
236
|
+
};
|
237
|
+
}();
|
238
|
+
_this.session.onpaymentauthorized = /*#__PURE__*/function () {
|
239
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(event) {
|
240
|
+
var exception, _event$payment, token, billingContact, shippingContact, _this$parseData, obj, _this$parseData$payme, requiredBillingContactFields, requiredShippingContactFields, res, _this$logger3;
|
241
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
242
|
+
while (1) switch (_context3.prev = _context3.next) {
|
243
|
+
case 0:
|
244
|
+
exception = function exception() {
|
245
|
+
var _this$session, _this$session$complet;
|
246
|
+
(_this$session = _this.session) === null || _this$session === void 0 || (_this$session$complet = _this$session.completePayment) === null || _this$session$complet === void 0 || _this$session$complet.call(_this$session, window.ApplePaySession.STATUS_FAILURE);
|
247
|
+
_this.abortSession();
|
248
|
+
return Promise.reject({
|
249
|
+
errorCode: APPLEPAYERRORENUM.APPLE_PAY_TOKEN_ERROR
|
250
|
+
});
|
251
|
+
};
|
252
|
+
_event$payment = event === null || event === void 0 ? void 0 : event.payment, token = _event$payment.token, billingContact = _event$payment.billingContact, shippingContact = _event$payment.shippingContact;
|
253
|
+
if (!token) {
|
254
|
+
_context3.next = 14;
|
255
|
+
break;
|
256
|
+
}
|
257
|
+
obj = {
|
271
258
|
instPaymentToken: JSON.stringify(token)
|
272
259
|
};
|
273
|
-
|
260
|
+
_this$parseData$payme = (_this$parseData = _this.parseData) === null || _this$parseData === void 0 || (_this$parseData = _this$parseData.paymentSessionFactor) === null || _this$parseData === void 0 ? void 0 : _this$parseData.extendInfo, requiredBillingContactFields = _this$parseData$payme.requiredBillingContactFields, requiredShippingContactFields = _this$parseData$payme.requiredShippingContactFields;
|
261
|
+
if (!isEmpty(requiredBillingContactFields) && billingContact) {
|
274
262
|
obj['applePayBillingContact'] = JSON.stringify(billingContact);
|
275
263
|
}
|
276
|
-
if ((
|
264
|
+
if (!isEmpty(requiredShippingContactFields) && shippingContact) {
|
277
265
|
obj['applePayShippingContact'] = JSON.stringify(shippingContact);
|
278
266
|
}
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
267
|
+
_context3.next = 9;
|
268
|
+
return _this.submitPay(obj);
|
269
|
+
case 9:
|
270
|
+
res = _context3.sent;
|
271
|
+
_this.setPayStatus(res);
|
272
|
+
resolve(res);
|
273
|
+
_context3.next = 16;
|
274
|
+
break;
|
275
|
+
case 14:
|
276
|
+
(_this$logger3 = _this.logger) === null || _this$logger3 === void 0 || _this$logger3.logError({
|
277
|
+
title: 'a3753.b103030.c386485.d507486'
|
287
278
|
});
|
288
279
|
exception();
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
return _startPay.apply(this, arguments);
|
323
|
-
}
|
324
|
-
return startPay;
|
325
|
-
}()
|
326
|
-
}, {
|
327
|
-
key: "setApplePayStatus",
|
328
|
-
value: function setApplePayStatus(result) {
|
329
|
-
var _this$applePaySession3, _this$applePaySession4;
|
330
|
-
var payStatus = {
|
331
|
-
success: window.ApplePaySession.STATUS_SUCCESS,
|
332
|
-
fail: window.ApplePaySession.STATUS_FAILURE
|
333
|
-
};
|
334
|
-
var status;
|
335
|
-
if (result !== null && result !== void 0 && result.success || (result === null || result === void 0 ? void 0 : result.errorStatus) === 'U') {
|
336
|
-
status = 'success';
|
337
|
-
} else {
|
338
|
-
status = 'fail';
|
339
|
-
}
|
340
|
-
this.paymentStatus = PAYMENT_STATUS.NORMAL;
|
341
|
-
(_this$applePaySession3 = this.applePaySession) === null || _this$applePaySession3 === void 0 || (_this$applePaySession4 = _this$applePaySession3.completePayment) === null || _this$applePaySession4 === void 0 || _this$applePaySession4.call(_this$applePaySession3, payStatus[status]);
|
280
|
+
case 16:
|
281
|
+
case "end":
|
282
|
+
return _context3.stop();
|
283
|
+
}
|
284
|
+
}, _callee3);
|
285
|
+
}));
|
286
|
+
return function (_x2) {
|
287
|
+
return _ref3.apply(this, arguments);
|
288
|
+
};
|
289
|
+
}();
|
290
|
+
_this.session.oncancel = function () {
|
291
|
+
if (_this.paymentStatus === PAYMENT_STATUS.PENDING) {
|
292
|
+
var _this$logger4;
|
293
|
+
(_this$logger4 = _this.logger) === null || _this$logger4 === void 0 || _this$logger4.logError({
|
294
|
+
title: 'a3753.b103030.c386485.d507497'
|
295
|
+
});
|
296
|
+
} else {
|
297
|
+
var _this$logger5;
|
298
|
+
(_this$logger5 = _this.logger) === null || _this$logger5 === void 0 || _this$logger5.logInfo({
|
299
|
+
title: 'a3753.b103030.c386485.d507498'
|
300
|
+
});
|
301
|
+
}
|
302
|
+
_this.abortSession();
|
303
|
+
reject({
|
304
|
+
errorCode: APPLEPAYERRORENUM.APPLE_PAY_CANCEL
|
305
|
+
});
|
306
|
+
};
|
307
|
+
_this.session.begin();
|
308
|
+
_this.addEventListener(reject);
|
309
|
+
} catch (e) {
|
310
|
+
return Promise.reject(e);
|
311
|
+
}
|
312
|
+
});
|
342
313
|
}
|
343
314
|
}, {
|
344
315
|
key: "submitPay",
|
345
316
|
value: function () {
|
346
|
-
var _submitPay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
347
|
-
var _this$
|
348
|
-
return _regeneratorRuntime().wrap(function
|
349
|
-
while (1) switch (
|
317
|
+
var _submitPay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(params) {
|
318
|
+
var _this$parseData2;
|
319
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
320
|
+
while (1) switch (_context4.prev = _context4.next) {
|
350
321
|
case 0:
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
paymentSessionConfig: (_this$
|
322
|
+
_context4.prev = 0;
|
323
|
+
_context4.t0 = submitPayInfo;
|
324
|
+
_context4.t1 = {
|
325
|
+
paymentSessionConfig: (_this$parseData2 = this.parseData) === null || _this$parseData2 === void 0 ? void 0 : _this$parseData2.paymentSessionConfig,
|
355
326
|
paymentSessionData: this.paymentSessionData,
|
356
327
|
paymentFactors: params,
|
357
328
|
paymentMethod: {
|
358
|
-
paymentMethodType:
|
359
|
-
category: (_this$paymentMethod2 = this.paymentMethod) === null || _this$paymentMethod2 === void 0 ? void 0 : _this$paymentMethod2.category,
|
360
|
-
paymentMethodDetail: (_this$paymentMethod3 = this.paymentMethod) === null || _this$paymentMethod3 === void 0 ? void 0 : _this$paymentMethod3.paymentMethodDetail
|
329
|
+
paymentMethodType: 'APPLEPAY'
|
361
330
|
}
|
362
331
|
};
|
363
|
-
|
364
|
-
|
332
|
+
_context4.t2 = EnvironmentEnum.prod;
|
333
|
+
_context4.next = 6;
|
365
334
|
return this.getDeviceId();
|
366
335
|
case 6:
|
367
|
-
|
368
|
-
|
369
|
-
deviceId:
|
336
|
+
_context4.t3 = _context4.sent;
|
337
|
+
_context4.t4 = {
|
338
|
+
deviceId: _context4.t3
|
370
339
|
};
|
371
|
-
|
372
|
-
env:
|
373
|
-
envInfo:
|
340
|
+
_context4.t5 = {
|
341
|
+
env: _context4.t2,
|
342
|
+
envInfo: _context4.t4
|
374
343
|
};
|
375
|
-
|
376
|
-
|
377
|
-
return (0,
|
344
|
+
_context4.t6 = this.logger;
|
345
|
+
_context4.next = 12;
|
346
|
+
return (0, _context4.t0)(_context4.t1, _context4.t5, _context4.t6);
|
378
347
|
case 12:
|
379
|
-
return
|
348
|
+
return _context4.abrupt("return", _context4.sent);
|
380
349
|
case 15:
|
381
|
-
|
382
|
-
|
383
|
-
|
350
|
+
_context4.prev = 15;
|
351
|
+
_context4.t7 = _context4["catch"](0);
|
352
|
+
return _context4.abrupt("return", Promise.resolve(_context4.t7));
|
353
|
+
case 18:
|
384
354
|
case "end":
|
385
|
-
return
|
355
|
+
return _context4.stop();
|
386
356
|
}
|
387
|
-
},
|
357
|
+
}, _callee4, this, [[0, 15]]);
|
388
358
|
}));
|
389
|
-
function submitPay(
|
359
|
+
function submitPay(_x3) {
|
390
360
|
return _submitPay.apply(this, arguments);
|
391
361
|
}
|
392
362
|
return submitPay;
|
393
363
|
}()
|
394
364
|
}, {
|
395
|
-
key: "
|
396
|
-
value: function () {
|
397
|
-
var
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
this.dispatchToApp({
|
408
|
-
context: {
|
409
|
-
event: 'getApplePayToken',
|
410
|
-
data: {
|
411
|
-
success: true,
|
412
|
-
result: result
|
413
|
-
}
|
414
|
-
}
|
415
|
-
});
|
416
|
-
_context4.next = 10;
|
417
|
-
break;
|
418
|
-
case 7:
|
419
|
-
_context4.prev = 7;
|
420
|
-
_context4.t0 = _context4["catch"](0);
|
421
|
-
this.dispatchToApp({
|
422
|
-
context: {
|
423
|
-
event: 'getApplePayToken',
|
424
|
-
data: {
|
425
|
-
success: false,
|
426
|
-
result: _context4.t0
|
427
|
-
}
|
428
|
-
}
|
429
|
-
});
|
430
|
-
case 10:
|
431
|
-
case "end":
|
432
|
-
return _context4.stop();
|
433
|
-
}
|
434
|
-
}, _callee4, this, [[0, 7]]);
|
435
|
-
}));
|
436
|
-
function submit() {
|
437
|
-
return _submit.apply(this, arguments);
|
365
|
+
key: "setPayStatus",
|
366
|
+
value: function setPayStatus(result) {
|
367
|
+
var _this$session2, _this$session2$comple;
|
368
|
+
var payStatus = {
|
369
|
+
success: window.ApplePaySession.STATUS_SUCCESS,
|
370
|
+
fail: window.ApplePaySession.STATUS_FAILURE
|
371
|
+
};
|
372
|
+
var status;
|
373
|
+
if (result !== null && result !== void 0 && result.success || (result === null || result === void 0 ? void 0 : result.errorStatus) === 'U') {
|
374
|
+
status = 'success';
|
375
|
+
} else {
|
376
|
+
status = 'fail';
|
438
377
|
}
|
439
|
-
|
440
|
-
|
378
|
+
this.paymentStatus = PAYMENT_STATUS.NORMAL;
|
379
|
+
(_this$session2 = this.session) === null || _this$session2 === void 0 || (_this$session2$comple = _this$session2.completePayment) === null || _this$session2$comple === void 0 || _this$session2$comple.call(_this$session2, payStatus[status]);
|
380
|
+
}
|
441
381
|
}, {
|
442
|
-
key: "
|
382
|
+
key: "initApplePaySession",
|
443
383
|
value: function () {
|
444
|
-
var
|
445
|
-
var
|
384
|
+
var _initApplePaySession = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
385
|
+
var _this$logger7, _this$parseData3, _this$logger6, _this$parseData$payme2, recurringInfo, version, _this$logger8;
|
446
386
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
447
387
|
while (1) switch (_context5.prev = _context5.next) {
|
448
388
|
case 0:
|
449
|
-
_context5.
|
450
|
-
|
451
|
-
|
452
|
-
productScene: (_this$sessionResult2 = this.sessionResult) === null || _this$sessionResult2 === void 0 || (_this$sessionResult2 = _this$sessionResult2.paymentSessionConfig) === null || _this$sessionResult2 === void 0 ? void 0 : _this$sessionResult2.productScene
|
453
|
-
}
|
454
|
-
})), {
|
455
|
-
fallback: ''
|
456
|
-
});
|
457
|
-
case 2:
|
458
|
-
_context5.t1 = _yield$BusManager$pub = _context5.sent;
|
459
|
-
_context5.t0 = _context5.t1 === null;
|
460
|
-
if (_context5.t0) {
|
461
|
-
_context5.next = 6;
|
389
|
+
_context5.prev = 0;
|
390
|
+
if (!(this.paymentStatus === PAYMENT_STATUS.PENDING)) {
|
391
|
+
_context5.next = 3;
|
462
392
|
break;
|
463
393
|
}
|
464
|
-
_context5.
|
465
|
-
case
|
466
|
-
if (
|
467
|
-
_context5.next =
|
394
|
+
return _context5.abrupt("return");
|
395
|
+
case 3:
|
396
|
+
if (this.isRequiredParameters) {
|
397
|
+
_context5.next = 7;
|
468
398
|
break;
|
469
399
|
}
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
_context5.
|
475
|
-
|
476
|
-
|
477
|
-
case
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
}));
|
483
|
-
function getDeviceId() {
|
484
|
-
return _getDeviceId.apply(this, arguments);
|
485
|
-
}
|
486
|
-
return getDeviceId;
|
487
|
-
}()
|
488
|
-
}, {
|
489
|
-
key: "initApplePaySession",
|
490
|
-
value: function () {
|
491
|
-
var _initApplePaySession = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
492
|
-
var version, _this$logger8;
|
493
|
-
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
494
|
-
while (1) switch (_context6.prev = _context6.next) {
|
495
|
-
case 0:
|
496
|
-
_context6.prev = 0;
|
497
|
-
_context6.next = 3;
|
400
|
+
(_this$logger6 = this.logger) === null || _this$logger6 === void 0 || _this$logger6.logError({
|
401
|
+
title: 'a3753.b103030.c386485.d507448'
|
402
|
+
});
|
403
|
+
this.paymentStatus = PAYMENT_STATUS.NORMAL;
|
404
|
+
return _context5.abrupt("return", Promise.reject({
|
405
|
+
errorCode: APPLEPAYERRORENUM.APPLE_PAY_MISSING_DATA
|
406
|
+
}));
|
407
|
+
case 7:
|
408
|
+
(_this$logger7 = this.logger) === null || _this$logger7 === void 0 || _this$logger7.logInfo({
|
409
|
+
title: 'a3753.b103030.c386485.d507459'
|
410
|
+
});
|
411
|
+
_context5.next = 10;
|
498
412
|
return this.loadApplePaySdk();
|
499
|
-
case
|
413
|
+
case 10:
|
500
414
|
if ('ApplePaySession' in window) {
|
501
|
-
|
415
|
+
_context5.next = 12;
|
502
416
|
break;
|
503
417
|
}
|
504
418
|
throw new Error('Apple Pay not supported');
|
505
|
-
case
|
506
|
-
|
419
|
+
case 12:
|
420
|
+
_this$parseData$payme2 = (_this$parseData3 = this.parseData) === null || _this$parseData3 === void 0 ? void 0 : _this$parseData3.paymentSessionFactor, recurringInfo = _this$parseData$payme2.recurringInfo;
|
421
|
+
version = recurringInfo ? APPLE_PAY_RECURRING_VERSION : APPLE_PAY_VERSION;
|
507
422
|
if (this.isCanMakePayments(version)) {
|
508
|
-
|
423
|
+
_context5.next = 16;
|
509
424
|
break;
|
510
425
|
}
|
511
426
|
throw new Error('Apple Pay not supported');
|
512
|
-
case
|
513
|
-
this.
|
514
|
-
|
427
|
+
case 16:
|
428
|
+
this.session = new window.ApplePaySession(version, this.initSessionParams);
|
429
|
+
_context5.next = 23;
|
515
430
|
break;
|
516
|
-
case
|
517
|
-
|
518
|
-
|
431
|
+
case 19:
|
432
|
+
_context5.prev = 19;
|
433
|
+
_context5.t0 = _context5["catch"](0);
|
519
434
|
(_this$logger8 = this.logger) === null || _this$logger8 === void 0 || _this$logger8.logError({
|
520
|
-
|
521
|
-
}, {
|
522
|
-
paymentRequest: JSON.stringify(this.paymentRequest)
|
435
|
+
title: 'a3753.b103030.c386485.d507471'
|
523
436
|
});
|
524
|
-
return
|
437
|
+
return _context5.abrupt("return", Promise.reject({
|
525
438
|
errorCode: APPLEPAYERRORENUM.APPLE_PAY_NOT_SUPPORTED
|
526
439
|
}));
|
527
|
-
case
|
440
|
+
case 23:
|
528
441
|
case "end":
|
529
|
-
return
|
442
|
+
return _context5.stop();
|
530
443
|
}
|
531
|
-
},
|
444
|
+
}, _callee5, this, [[0, 19]]);
|
532
445
|
}));
|
533
446
|
function initApplePaySession() {
|
534
447
|
return _initApplePaySession.apply(this, arguments);
|
@@ -536,93 +449,41 @@ export var ApplePayService = /*#__PURE__*/function () {
|
|
536
449
|
return initApplePaySession;
|
537
450
|
}()
|
538
451
|
}, {
|
539
|
-
key: "
|
540
|
-
value: function
|
541
|
-
var _window$ApplePaySessi, _window$ApplePaySessi2;
|
542
|
-
var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
543
|
-
return ((_window$ApplePaySessi = window.ApplePaySession) === null || _window$ApplePaySessi === void 0 ? void 0 : _window$ApplePaySessi.canMakePayments()) && ((_window$ApplePaySessi2 = window.ApplePaySession) === null || _window$ApplePaySessi2 === void 0 ? void 0 : _window$ApplePaySessi2.supportsVersion(version));
|
544
|
-
}
|
545
|
-
}, {
|
546
|
-
key: "loadApplePaySdk",
|
547
|
-
value: function loadApplePaySdk() {
|
548
|
-
var _this2 = this;
|
549
|
-
if (device.Android) {
|
550
|
-
return Promise.reject('APPLE_PAY_NOT_SUPPORTED');
|
551
|
-
}
|
552
|
-
// 如果支持或者已经加载sdk直接返回
|
553
|
-
if (this.checkScriptIsLoaded || this.isCanMakePayments()) {
|
554
|
-
return Promise.resolve(true);
|
555
|
-
}
|
556
|
-
return new Promise(function (resolve, reject) {
|
557
|
-
var script = document.createElement('script');
|
558
|
-
script.src = _this2.APPLESDKURL;
|
559
|
-
script.onload = function () {
|
560
|
-
resolve(true);
|
561
|
-
};
|
562
|
-
script.onerror = function () {
|
563
|
-
reject(false);
|
564
|
-
};
|
565
|
-
document.body.appendChild(script);
|
566
|
-
});
|
567
|
-
}
|
568
|
-
}, {
|
569
|
-
key: "abortPaySession",
|
570
|
-
value: function abortPaySession() {
|
452
|
+
key: "abortSession",
|
453
|
+
value: function abortSession() {
|
571
454
|
try {
|
572
|
-
var _this$
|
455
|
+
var _this$session$abort, _this$session3;
|
573
456
|
this.paymentStatus = PAYMENT_STATUS.NORMAL;
|
574
|
-
this.
|
457
|
+
this.session && ((_this$session$abort = (_this$session3 = this.session).abort) === null || _this$session$abort === void 0 ? void 0 : _this$session$abort.call(_this$session3));
|
575
458
|
} catch (e) {
|
576
459
|
console.error('abortPaySession error', e);
|
460
|
+
} finally {
|
461
|
+
this.session = null;
|
577
462
|
}
|
578
463
|
}
|
579
|
-
}, {
|
580
|
-
key: "addEventListener",
|
581
|
-
value: function addEventListener(reject) {
|
582
|
-
var _this3 = this;
|
583
|
-
var appleModal = document.querySelector('apple-pay-modal');
|
584
|
-
var shadowRoot = appleModal === null || appleModal === void 0 ? void 0 : appleModal.shadowRoot;
|
585
|
-
var closeButton = (shadowRoot === null || shadowRoot === void 0 ? void 0 : shadowRoot.querySelector('.modal-close-button')) || null;
|
586
|
-
var callFn = function callFn() {
|
587
|
-
var _this3$logger;
|
588
|
-
(_this3$logger = _this3.logger) === null || _this3$logger === void 0 || _this3$logger.logInfo({
|
589
|
-
code: 'a3753.b103030.c386485.d507470'
|
590
|
-
});
|
591
|
-
_this3.abortPaySession();
|
592
|
-
closeButton === null || closeButton === void 0 || closeButton.removeEventListener('click', callFn);
|
593
|
-
return reject === null || reject === void 0 ? void 0 : reject({
|
594
|
-
errorCode: APPLEPAYERRORENUM.APPLE_PAY_CANCEL
|
595
|
-
});
|
596
|
-
};
|
597
|
-
closeButton === null || closeButton === void 0 || closeButton.addEventListener('click', callFn, {
|
598
|
-
once: true
|
599
|
-
});
|
600
|
-
}
|
601
464
|
}, {
|
602
465
|
key: "initSessionParams",
|
603
466
|
get: function get() {
|
604
|
-
var _this$
|
605
|
-
var _this$
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
order = _ref3.order,
|
613
|
-
paymentAmount = _ref3.paymentAmount,
|
614
|
-
recurringInfo = _ref3.recurringInfo;
|
615
|
-
var request = _objectSpread(_objectSpread({
|
467
|
+
var _this$parseData4;
|
468
|
+
var _ref4 = ((_this$parseData4 = this.parseData) === null || _this$parseData4 === void 0 ? void 0 : _this$parseData4.paymentSessionFactor) || {},
|
469
|
+
merchantInfo = _ref4.merchantInfo,
|
470
|
+
order = _ref4.order,
|
471
|
+
paymentAmount = _ref4.paymentAmount,
|
472
|
+
recurringInfo = _ref4.recurringInfo,
|
473
|
+
extendInfo = _ref4.extendInfo;
|
474
|
+
var request = {
|
616
475
|
countryCode: merchantInfo === null || merchantInfo === void 0 ? void 0 : merchantInfo.registeredCountry,
|
617
476
|
currencyCode: paymentAmount === null || paymentAmount === void 0 ? void 0 : paymentAmount.currency,
|
618
|
-
merchantCapabilities: merchantCapabilities,
|
619
|
-
supportedNetworks: supportedNetworks,
|
477
|
+
merchantCapabilities: extendInfo === null || extendInfo === void 0 ? void 0 : extendInfo.merchantCapabilities,
|
478
|
+
supportedNetworks: extendInfo === null || extendInfo === void 0 ? void 0 : extendInfo.supportedNetworks,
|
620
479
|
total: {
|
621
480
|
label: merchantInfo === null || merchantInfo === void 0 ? void 0 : merchantInfo.merchantName,
|
622
481
|
type: 'final',
|
623
482
|
amount: paymentAmount === null || paymentAmount === void 0 ? void 0 : paymentAmount.value
|
624
|
-
}
|
625
|
-
|
483
|
+
},
|
484
|
+
requiredBillingContactFields: extendInfo === null || extendInfo === void 0 ? void 0 : extendInfo.requiredBillingContactFields,
|
485
|
+
requiredShippingContactFields: extendInfo === null || extendInfo === void 0 ? void 0 : extendInfo.requiredShippingContactFields
|
486
|
+
};
|
626
487
|
if (recurringInfo) {
|
627
488
|
var _recurringInfo$interv;
|
628
489
|
if (!(order !== null && order !== void 0 && order.orderDescription) || !(recurringInfo !== null && recurringInfo !== void 0 && recurringInfo.managementURL)) {
|
@@ -654,24 +515,127 @@ export var ApplePayService = /*#__PURE__*/function () {
|
|
654
515
|
}, {
|
655
516
|
key: "isRequiredParameters",
|
656
517
|
get: function get() {
|
657
|
-
|
658
|
-
var _this$
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
var
|
668
|
-
|
518
|
+
var _this$parseData5;
|
519
|
+
var _ref5 = ((_this$parseData5 = this.parseData) === null || _this$parseData5 === void 0 ? void 0 : _this$parseData5.paymentSessionFactor) || {},
|
520
|
+
merchantInfo = _ref5.merchantInfo,
|
521
|
+
extendInfo = _ref5.extendInfo,
|
522
|
+
paymentAmount = _ref5.paymentAmount;
|
523
|
+
return !isEmpty(merchantInfo) && !isEmpty(paymentAmount) && !isEmpty(extendInfo === null || extendInfo === void 0 ? void 0 : extendInfo.supportedNetworks) && !isEmpty(extendInfo === null || extendInfo === void 0 ? void 0 : extendInfo.merchantCapabilities);
|
524
|
+
}
|
525
|
+
}, {
|
526
|
+
key: "isCanMakePayments",
|
527
|
+
value: function isCanMakePayments() {
|
528
|
+
var _window$ApplePaySessi, _window$ApplePaySessi2;
|
529
|
+
var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
530
|
+
return ((_window$ApplePaySessi = window.ApplePaySession) === null || _window$ApplePaySessi === void 0 ? void 0 : _window$ApplePaySessi.canMakePayments()) && ((_window$ApplePaySessi2 = window.ApplePaySession) === null || _window$ApplePaySessi2 === void 0 ? void 0 : _window$ApplePaySessi2.supportsVersion(version));
|
531
|
+
}
|
532
|
+
}, {
|
533
|
+
key: "loadApplePaySdk",
|
534
|
+
value: function loadApplePaySdk() {
|
535
|
+
var _this2 = this;
|
536
|
+
if (device.Android) {
|
537
|
+
return Promise.reject('APPLE_PAY_NOT_SUPPORTED');
|
538
|
+
}
|
539
|
+
// 如果支持或者已经加载sdk直接返回
|
540
|
+
if (this.checkScriptIsLoaded || this.isCanMakePayments()) {
|
541
|
+
return Promise.resolve(true);
|
542
|
+
}
|
543
|
+
return new Promise(function (resolve, reject) {
|
544
|
+
var script = document.createElement('script');
|
545
|
+
script.src = _this2.APPLESDKURL;
|
546
|
+
script.onload = function () {
|
547
|
+
resolve(true);
|
548
|
+
};
|
549
|
+
script.onerror = function () {
|
550
|
+
reject(false);
|
551
|
+
};
|
552
|
+
document.body.appendChild(script);
|
553
|
+
});
|
669
554
|
}
|
670
555
|
}, {
|
671
556
|
key: "checkScriptIsLoaded",
|
672
557
|
get: function get() {
|
673
558
|
return !!document.querySelector("script[src=\"".concat(this.APPLESDKURL, "\"]"));
|
674
559
|
}
|
560
|
+
/**
|
561
|
+
* @description 非标方案,sdk目前无法直接监听国内不支持弹窗的关闭操作
|
562
|
+
*/
|
563
|
+
}, {
|
564
|
+
key: "addEventListener",
|
565
|
+
value: function addEventListener(reject) {
|
566
|
+
var _this3 = this;
|
567
|
+
var appleModal = document.querySelector('apple-pay-modal');
|
568
|
+
var shadowRoot = appleModal === null || appleModal === void 0 ? void 0 : appleModal.shadowRoot;
|
569
|
+
var closeButton = (shadowRoot === null || shadowRoot === void 0 ? void 0 : shadowRoot.querySelector('.modal-close-button')) || null;
|
570
|
+
if (!closeButton) {
|
571
|
+
this.logger.logInfo({
|
572
|
+
title: 'a3753.b103030.c386485.d533112'
|
573
|
+
});
|
574
|
+
}
|
575
|
+
var callFn = function callFn() {
|
576
|
+
var _this3$logger;
|
577
|
+
(_this3$logger = _this3.logger) === null || _this3$logger === void 0 || _this3$logger.logInfo({
|
578
|
+
title: 'a3753.b103030.c386485.d507470'
|
579
|
+
});
|
580
|
+
_this3.abortSession();
|
581
|
+
closeButton === null || closeButton === void 0 || closeButton.removeEventListener('click', callFn);
|
582
|
+
reject === null || reject === void 0 || reject();
|
583
|
+
};
|
584
|
+
closeButton === null || closeButton === void 0 || closeButton.addEventListener('click', callFn, {
|
585
|
+
once: true
|
586
|
+
});
|
587
|
+
}
|
588
|
+
}, {
|
589
|
+
key: "getDeviceId",
|
590
|
+
value: function () {
|
591
|
+
var _getDeviceId = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
592
|
+
var _yield$BusManager$pub, _this$parseData6;
|
593
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
594
|
+
while (1) switch (_context6.prev = _context6.next) {
|
595
|
+
case 0:
|
596
|
+
_context6.next = 2;
|
597
|
+
return BusManager.publishForResult(new BusMessage(SecuritySDKActionEnum.getSecurityDeviceId, JSON.stringify({
|
598
|
+
deviceIdParameter: {
|
599
|
+
productScene: (_this$parseData6 = this.parseData) === null || _this$parseData6 === void 0 || (_this$parseData6 = _this$parseData6.paymentSessionConfig) === null || _this$parseData6 === void 0 ? void 0 : _this$parseData6.productScene
|
600
|
+
}
|
601
|
+
})), {
|
602
|
+
fallback: ''
|
603
|
+
});
|
604
|
+
case 2:
|
605
|
+
_context6.t1 = _yield$BusManager$pub = _context6.sent;
|
606
|
+
_context6.t0 = _context6.t1 === null;
|
607
|
+
if (_context6.t0) {
|
608
|
+
_context6.next = 6;
|
609
|
+
break;
|
610
|
+
}
|
611
|
+
_context6.t0 = _yield$BusManager$pub === void 0;
|
612
|
+
case 6:
|
613
|
+
if (!_context6.t0) {
|
614
|
+
_context6.next = 10;
|
615
|
+
break;
|
616
|
+
}
|
617
|
+
_context6.t2 = void 0;
|
618
|
+
_context6.next = 11;
|
619
|
+
break;
|
620
|
+
case 10:
|
621
|
+
_context6.t2 = _yield$BusManager$pub.getJSONObject();
|
622
|
+
case 11:
|
623
|
+
return _context6.abrupt("return", _context6.t2);
|
624
|
+
case 12:
|
625
|
+
case "end":
|
626
|
+
return _context6.stop();
|
627
|
+
}
|
628
|
+
}, _callee6, this);
|
629
|
+
}));
|
630
|
+
function getDeviceId() {
|
631
|
+
return _getDeviceId.apply(this, arguments);
|
632
|
+
}
|
633
|
+
return getDeviceId;
|
634
|
+
}()
|
675
635
|
}]);
|
676
|
-
return
|
677
|
-
}();
|
636
|
+
return ApplePaySdk;
|
637
|
+
}();
|
638
|
+
export var isSkipRenderPaymentMethod = function isSkipRenderPaymentMethod(parseData) {
|
639
|
+
var _parseData$paymentSes;
|
640
|
+
return (parseData === null || parseData === void 0 ? void 0 : parseData.skipRenderPaymentMethod) && (parseData === null || parseData === void 0 || (_parseData$paymentSes = parseData.paymentSessionFactor) === null || _parseData$paymentSes === void 0 || (_parseData$paymentSes = _parseData$paymentSes.paymentMethodInfo) === null || _parseData$paymentSes === void 0 ? void 0 : _parseData$paymentSes.paymentMethodType) === 'APPLEPAY';
|
641
|
+
};
|