ordering-ui-external 14.2.11 → 14.2.13
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/_bundles/{0.ordering-ui.99491aeaa7bd0c4a178e.js → 0.ordering-ui.ab0542c9c03a55329be6.js} +1 -1
- package/_bundles/{4.ordering-ui.99491aeaa7bd0c4a178e.js → 4.ordering-ui.ab0542c9c03a55329be6.js} +1 -1
- package/_bundles/{7.ordering-ui.99491aeaa7bd0c4a178e.js → 7.ordering-ui.ab0542c9c03a55329be6.js} +1 -1
- package/_bundles/{ordering-ui.99491aeaa7bd0c4a178e.js → ordering-ui.ab0542c9c03a55329be6.js} +2 -2
- package/_modules/components/StripeElementsForm/index.js +37 -9
- package/_modules/components/StripePaymentElementForm/index.js +204 -0
- package/_modules/components/StripePaymentElementForm/styles.js +15 -0
- package/_modules/index.js +7 -0
- package/_modules/themes/five/src/components/StripeElementsForm/index.js +34 -8
- package/package.json +2 -2
- package/src/components/StripeElementsForm/index.js +60 -32
- package/src/components/StripePaymentElementForm/index.js +174 -0
- package/src/components/StripePaymentElementForm/styles.js +31 -0
- package/src/index.js +2 -0
- package/src/themes/five/src/components/StripeElementsForm/index.js +60 -34
- /package/_bundles/{1.ordering-ui.99491aeaa7bd0c4a178e.js → 1.ordering-ui.ab0542c9c03a55329be6.js} +0 -0
- /package/_bundles/{2.ordering-ui.99491aeaa7bd0c4a178e.js → 2.ordering-ui.ab0542c9c03a55329be6.js} +0 -0
- /package/_bundles/{5.ordering-ui.99491aeaa7bd0c4a178e.js → 5.ordering-ui.ab0542c9c03a55329be6.js} +0 -0
- /package/_bundles/{6.ordering-ui.99491aeaa7bd0c4a178e.js → 6.ordering-ui.ab0542c9c03a55329be6.js} +0 -0
- /package/_bundles/{7.ordering-ui.99491aeaa7bd0c4a178e.js.LICENSE.txt → 7.ordering-ui.ab0542c9c03a55329be6.js.LICENSE.txt} +0 -0
- /package/_bundles/{8.ordering-ui.99491aeaa7bd0c4a178e.js → 8.ordering-ui.ab0542c9c03a55329be6.js} +0 -0
- /package/_bundles/{9.ordering-ui.99491aeaa7bd0c4a178e.js → 9.ordering-ui.ab0542c9c03a55329be6.js} +0 -0
- /package/_bundles/{ordering-ui.99491aeaa7bd0c4a178e.js.LICENSE.txt → ordering-ui.ab0542c9c03a55329be6.js.LICENSE.txt} +0 -0
|
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.StripeElementsForm = void 0;
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _orderingComponentsExternal = require("ordering-components-external");
|
|
10
10
|
var _pure = require("@stripe/stripe-js/pure");
|
|
11
11
|
var _reactStripeJs = require("@stripe/react-stripe-js");
|
|
12
|
-
var
|
|
12
|
+
var _StripePaymentElementForm = require("../StripePaymentElementForm");
|
|
13
13
|
var _styles = require("./styles");
|
|
14
14
|
var _CardForm = require("../CardForm");
|
|
15
|
-
function
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
16
|
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; }
|
|
17
17
|
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; }
|
|
18
18
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -25,8 +25,14 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
25
25
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
26
26
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
27
27
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
28
|
+
var getPaymentAmount = function getPaymentAmount(cart, cartGroup) {
|
|
29
|
+
var _ref, _ref2, _ref3, _cartGroup$balance;
|
|
30
|
+
var total = (_ref = (_ref2 = (_ref3 = (_cartGroup$balance = cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.balance) !== null && _cartGroup$balance !== void 0 ? _cartGroup$balance : cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.total) !== null && _ref3 !== void 0 ? _ref3 : cart === null || cart === void 0 ? void 0 : cart.balance) !== null && _ref2 !== void 0 ? _ref2 : cart === null || cart === void 0 ? void 0 : cart.total) !== null && _ref !== void 0 ? _ref : 0;
|
|
31
|
+
var amountInCents = Math.floor(Number(total) * 100);
|
|
32
|
+
return amountInCents > 0 ? amountInCents : 100;
|
|
33
|
+
};
|
|
28
34
|
var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
29
|
-
var _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
|
|
35
|
+
var _configs$stripe_curre3, _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
|
|
30
36
|
var publicKey = props.publicKey,
|
|
31
37
|
handleSource = props.handleSource,
|
|
32
38
|
businessId = props.businessId,
|
|
@@ -37,10 +43,28 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
|
37
43
|
paymethod = props.paymethod,
|
|
38
44
|
cart = props.cart,
|
|
39
45
|
handlePlaceOrder = props.handlePlaceOrder,
|
|
40
|
-
methodsPay = props.methodsPay
|
|
46
|
+
methodsPay = props.methodsPay,
|
|
47
|
+
cartGroup = props.cartGroup;
|
|
41
48
|
var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
|
|
42
49
|
_useLanguage2 = _slicedToArray(_useLanguage, 2),
|
|
43
50
|
t = _useLanguage2[1];
|
|
51
|
+
var _useConfig = (0, _orderingComponentsExternal.useConfig)(),
|
|
52
|
+
_useConfig2 = _slicedToArray(_useConfig, 1),
|
|
53
|
+
configs = _useConfig2[0].configs;
|
|
54
|
+
var isWalletPaymethod = methodsPay === null || methodsPay === void 0 ? void 0 : methodsPay.includes(paymethod);
|
|
55
|
+
var stripePromise = (0, _react.useMemo)(function () {
|
|
56
|
+
return publicKey ? (0, _pure.loadStripe)(publicKey) : null;
|
|
57
|
+
}, [publicKey]);
|
|
58
|
+
var walletElementsOptions = (0, _react.useMemo)(function () {
|
|
59
|
+
var _configs$stripe_curre, _configs$stripe_curre2;
|
|
60
|
+
if (!isWalletPaymethod) return null;
|
|
61
|
+
return {
|
|
62
|
+
mode: 'payment',
|
|
63
|
+
amount: getPaymentAmount(cart, cartGroup),
|
|
64
|
+
currency: (configs === null || configs === void 0 || (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre = _configs$stripe_curre.value) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre2 = _configs$stripe_curre.toLowerCase) === null || _configs$stripe_curre2 === void 0 ? void 0 : _configs$stripe_curre2.call(_configs$stripe_curre)) || 'usd',
|
|
65
|
+
paymentMethodCreation: 'manual'
|
|
66
|
+
};
|
|
67
|
+
}, [isWalletPaymethod, cart, cartGroup, configs === null || configs === void 0 || (_configs$stripe_curre3 = configs.stripe_currency) === null || _configs$stripe_curre3 === void 0 ? void 0 : _configs$stripe_curre3.value]);
|
|
44
68
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
|
|
45
69
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
46
70
|
key: i
|
|
@@ -49,10 +73,12 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
|
49
73
|
return /*#__PURE__*/_react.default.createElement(BeforeComponent, _extends({
|
|
50
74
|
key: i
|
|
51
75
|
}, props));
|
|
52
|
-
}), publicKey ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
53
|
-
stripe:
|
|
54
|
-
|
|
76
|
+
}), publicKey ? isWalletPaymethod ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
77
|
+
stripe: stripePromise,
|
|
78
|
+
options: walletElementsOptions
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement(_StripePaymentElementForm.StripePaymentElementForm, {
|
|
55
80
|
cart: cart,
|
|
81
|
+
cartGroup: cartGroup,
|
|
56
82
|
handleSource: handleSource,
|
|
57
83
|
onNewCard: onNewCard,
|
|
58
84
|
toSave: toSave,
|
|
@@ -61,7 +87,9 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
|
61
87
|
handleCancel: onCancel,
|
|
62
88
|
paymethod: paymethod,
|
|
63
89
|
handlePlaceOrder: handlePlaceOrder
|
|
64
|
-
}) : /*#__PURE__*/_react.default.createElement(
|
|
90
|
+
})) : /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
91
|
+
stripe: stripePromise
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_CardForm.CardForm, {
|
|
65
93
|
handleSource: handleSource,
|
|
66
94
|
onNewCard: onNewCard,
|
|
67
95
|
toSave: toSave,
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StripePaymentElementFormUI = exports.StripePaymentElementForm = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactStripeJs = require("@stripe/react-stripe-js");
|
|
9
|
+
var _orderingComponentsExternal = require("ordering-components-external");
|
|
10
|
+
var _Buttons = require("../../styles/Buttons");
|
|
11
|
+
var _styles = require("./styles");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
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); }
|
|
14
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
15
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
16
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
17
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
18
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
19
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
21
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
22
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
24
|
+
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; }
|
|
25
|
+
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; }
|
|
26
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
28
|
+
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); }
|
|
29
|
+
var googlePayMethods = ['google_pay', 'global_google_pay'];
|
|
30
|
+
var applePayMethods = ['apple_pay', 'global_apple_pay'];
|
|
31
|
+
var getPaymentAmount = function getPaymentAmount(cart, cartGroup) {
|
|
32
|
+
var _ref, _ref2, _ref3, _cartGroup$balance;
|
|
33
|
+
var total = (_ref = (_ref2 = (_ref3 = (_cartGroup$balance = cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.balance) !== null && _cartGroup$balance !== void 0 ? _cartGroup$balance : cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.total) !== null && _ref3 !== void 0 ? _ref3 : cart === null || cart === void 0 ? void 0 : cart.balance) !== null && _ref2 !== void 0 ? _ref2 : cart === null || cart === void 0 ? void 0 : cart.total) !== null && _ref !== void 0 ? _ref : 0;
|
|
34
|
+
var amountInCents = Math.floor(Number(total) * 100);
|
|
35
|
+
return amountInCents > 0 ? amountInCents : 100;
|
|
36
|
+
};
|
|
37
|
+
var buildPaymethodPayload = function buildPaymethodPayload(paymentMethod) {
|
|
38
|
+
var card = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.card;
|
|
39
|
+
return _objectSpread(_objectSpread({}, card || {}), {}, {
|
|
40
|
+
id: paymentMethod.id,
|
|
41
|
+
type: paymentMethod.type,
|
|
42
|
+
source_id: paymentMethod.id,
|
|
43
|
+
card: card ? {
|
|
44
|
+
brand: card.brand,
|
|
45
|
+
last4: card.last4
|
|
46
|
+
} : undefined
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
var StripePaymentElementFormUI = exports.StripePaymentElementFormUI = function StripePaymentElementFormUI(props) {
|
|
50
|
+
var _configs$stripe_curre3;
|
|
51
|
+
var cart = props.cart,
|
|
52
|
+
handleSource = props.handleSource,
|
|
53
|
+
handleCancel = props.handleCancel,
|
|
54
|
+
paymethod = props.paymethod,
|
|
55
|
+
cartGroup = props.cartGroup;
|
|
56
|
+
var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
|
|
57
|
+
_useLanguage2 = _slicedToArray(_useLanguage, 2),
|
|
58
|
+
t = _useLanguage2[1];
|
|
59
|
+
var _useConfig = (0, _orderingComponentsExternal.useConfig)(),
|
|
60
|
+
_useConfig2 = _slicedToArray(_useConfig, 1),
|
|
61
|
+
configs = _useConfig2[0].configs;
|
|
62
|
+
var stripe = (0, _reactStripeJs.useStripe)();
|
|
63
|
+
var elements = (0, _reactStripeJs.useElements)();
|
|
64
|
+
var _useState = (0, _react.useState)(null),
|
|
65
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
66
|
+
error = _useState2[0],
|
|
67
|
+
setError = _useState2[1];
|
|
68
|
+
var _useState3 = (0, _react.useState)(false),
|
|
69
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
70
|
+
loading = _useState4[0],
|
|
71
|
+
setLoading = _useState4[1];
|
|
72
|
+
var _useState5 = (0, _react.useState)(false),
|
|
73
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
74
|
+
isReady = _useState6[0],
|
|
75
|
+
setIsReady = _useState6[1];
|
|
76
|
+
var _useState7 = (0, _react.useState)(false),
|
|
77
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
78
|
+
isGooglePayUnavailable = _useState8[0],
|
|
79
|
+
setIsGooglePayUnavailable = _useState8[1];
|
|
80
|
+
var isGooglePayMethod = googlePayMethods.includes(paymethod);
|
|
81
|
+
(0, _react.useEffect)(function () {
|
|
82
|
+
var _configs$stripe_curre, _configs$stripe_curre2, _cart$business;
|
|
83
|
+
if (!stripe || !isGooglePayMethod) {
|
|
84
|
+
setIsGooglePayUnavailable(false);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
var cartNames = '';
|
|
88
|
+
if (cartGroup) {
|
|
89
|
+
var _cartGroup$carts;
|
|
90
|
+
cartGroup === null || cartGroup === void 0 || (_cartGroup$carts = cartGroup.carts) === null || _cartGroup$carts === void 0 || _cartGroup$carts.forEach(function (groupCart, i) {
|
|
91
|
+
var _groupCart$business;
|
|
92
|
+
cartNames = "".concat(groupCart === null || groupCart === void 0 || (_groupCart$business = groupCart.business) === null || _groupCart$business === void 0 ? void 0 : _groupCart$business.name).concat(i < cartGroup.carts.length - 1 ? ', ' : '');
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
var paymentRequest = stripe.paymentRequest({
|
|
96
|
+
country: 'US',
|
|
97
|
+
currency: (configs === null || configs === void 0 || (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre = _configs$stripe_curre.value) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre2 = _configs$stripe_curre.toLowerCase) === null || _configs$stripe_curre2 === void 0 ? void 0 : _configs$stripe_curre2.call(_configs$stripe_curre)) || 'usd',
|
|
98
|
+
total: {
|
|
99
|
+
label: cartNames || (cart === null || cart === void 0 || (_cart$business = cart.business) === null || _cart$business === void 0 ? void 0 : _cart$business.name) || 'Total',
|
|
100
|
+
amount: getPaymentAmount(cart, cartGroup)
|
|
101
|
+
},
|
|
102
|
+
requestPayerName: true,
|
|
103
|
+
requestPayerEmail: true
|
|
104
|
+
});
|
|
105
|
+
paymentRequest.canMakePayment().then(function (result) {
|
|
106
|
+
setIsGooglePayUnavailable(!(result !== null && result !== void 0 && result.googlePay));
|
|
107
|
+
});
|
|
108
|
+
}, [stripe, isGooglePayMethod, cart, cartGroup, configs === null || configs === void 0 || (_configs$stripe_curre3 = configs.stripe_currency) === null || _configs$stripe_curre3 === void 0 ? void 0 : _configs$stripe_curre3.value]);
|
|
109
|
+
var paymentElementOptions = (0, _react.useMemo)(function () {
|
|
110
|
+
var isGooglePay = googlePayMethods.includes(paymethod);
|
|
111
|
+
var isApplePay = applePayMethods.includes(paymethod);
|
|
112
|
+
return {
|
|
113
|
+
layout: 'tabs',
|
|
114
|
+
wallets: {
|
|
115
|
+
googlePay: isGooglePay ? 'auto' : 'never',
|
|
116
|
+
applePay: isApplePay ? 'auto' : 'never'
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
}, [paymethod]);
|
|
120
|
+
var handleSubmit = /*#__PURE__*/function () {
|
|
121
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event) {
|
|
122
|
+
var _yield$elements$submi, submitError, _yield$stripe$createP, createError, paymentMethod, data;
|
|
123
|
+
return _regenerator().w(function (_context) {
|
|
124
|
+
while (1) switch (_context.n) {
|
|
125
|
+
case 0:
|
|
126
|
+
event.preventDefault();
|
|
127
|
+
if (!(!stripe || !elements)) {
|
|
128
|
+
_context.n = 1;
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
setError(t('STRIPE_LOAD_ERROR', 'Failed to load Stripe properly'));
|
|
132
|
+
return _context.a(2);
|
|
133
|
+
case 1:
|
|
134
|
+
setLoading(true);
|
|
135
|
+
setError(null);
|
|
136
|
+
_context.n = 2;
|
|
137
|
+
return elements.submit();
|
|
138
|
+
case 2:
|
|
139
|
+
_yield$elements$submi = _context.v;
|
|
140
|
+
submitError = _yield$elements$submi.error;
|
|
141
|
+
if (!submitError) {
|
|
142
|
+
_context.n = 3;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
setError(submitError.message);
|
|
146
|
+
setLoading(false);
|
|
147
|
+
return _context.a(2);
|
|
148
|
+
case 3:
|
|
149
|
+
_context.n = 4;
|
|
150
|
+
return stripe.createPaymentMethod({
|
|
151
|
+
elements: elements
|
|
152
|
+
});
|
|
153
|
+
case 4:
|
|
154
|
+
_yield$stripe$createP = _context.v;
|
|
155
|
+
createError = _yield$stripe$createP.error;
|
|
156
|
+
paymentMethod = _yield$stripe$createP.paymentMethod;
|
|
157
|
+
if (!createError) {
|
|
158
|
+
_context.n = 5;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
setError(createError.message);
|
|
162
|
+
setLoading(false);
|
|
163
|
+
return _context.a(2);
|
|
164
|
+
case 5:
|
|
165
|
+
data = buildPaymethodPayload(paymentMethod);
|
|
166
|
+
handleCancel === null || handleCancel === void 0 || handleCancel();
|
|
167
|
+
handleSource(cartGroup ? JSON.stringify(data) : data);
|
|
168
|
+
setLoading(false);
|
|
169
|
+
case 6:
|
|
170
|
+
return _context.a(2);
|
|
171
|
+
}
|
|
172
|
+
}, _callee);
|
|
173
|
+
}));
|
|
174
|
+
return function handleSubmit(_x) {
|
|
175
|
+
return _ref4.apply(this, arguments);
|
|
176
|
+
};
|
|
177
|
+
}();
|
|
178
|
+
return /*#__PURE__*/_react.default.createElement(_styles.Container, {
|
|
179
|
+
onSubmit: handleSubmit
|
|
180
|
+
}, /*#__PURE__*/_react.default.createElement(_styles.PaymentElementWrapper, null, /*#__PURE__*/_react.default.createElement(_reactStripeJs.PaymentElement, {
|
|
181
|
+
options: paymentElementOptions,
|
|
182
|
+
onReady: function onReady() {
|
|
183
|
+
return setIsReady(true);
|
|
184
|
+
},
|
|
185
|
+
onLoadError: function onLoadError(event) {
|
|
186
|
+
var _event$error;
|
|
187
|
+
return setError(event === null || event === void 0 || (_event$error = event.error) === null || _event$error === void 0 ? void 0 : _event$error.message);
|
|
188
|
+
}
|
|
189
|
+
})), isGooglePayUnavailable && /*#__PURE__*/_react.default.createElement(_styles.InfoNote, {
|
|
190
|
+
role: "note"
|
|
191
|
+
}, t('GOOGLE_PAY_NOT_CONFIGURED_NOTE', 'Google Pay is not configured on this device. Add a card to complete your payment normally.')), error && /*#__PURE__*/_react.default.createElement(_styles.ErrorMessage, {
|
|
192
|
+
role: "alert"
|
|
193
|
+
}, error), /*#__PURE__*/_react.default.createElement(_styles.FormActions, null, /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
|
|
194
|
+
color: "primary",
|
|
195
|
+
type: "submit",
|
|
196
|
+
disabled: loading || !isReady || !stripe || !elements
|
|
197
|
+
}, loading ? t('LOADING', 'Loading...') : t('PLACE_ORDER', 'Place order'))));
|
|
198
|
+
};
|
|
199
|
+
var StripePaymentElementForm = exports.StripePaymentElementForm = function StripePaymentElementForm(props) {
|
|
200
|
+
var propsController = _objectSpread(_objectSpread({}, props), {}, {
|
|
201
|
+
UIComponent: StripePaymentElementFormUI
|
|
202
|
+
});
|
|
203
|
+
return /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.CardForm, propsController);
|
|
204
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PaymentElementWrapper = exports.InfoNote = exports.FormActions = exports.ErrorMessage = exports.Container = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
11
|
+
var Container = exports.Container = _styledComponents.default.form(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 16px;\n"])));
|
|
12
|
+
var PaymentElementWrapper = exports.PaymentElementWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n min-height: 44px;\n"])));
|
|
13
|
+
var ErrorMessage = exports.ErrorMessage = _styledComponents.default.p(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: #fa755a;\n margin: 0;\n font-size: 14px;\n"])));
|
|
14
|
+
var FormActions = exports.FormActions = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: flex-end;\n"])));
|
|
15
|
+
var InfoNote = exports.InfoNote = _styledComponents.default.p(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: #6b7280;\n margin: 0;\n font-size: 13px;\n line-height: 1.5;\n"])));
|
package/_modules/index.js
CHANGED
|
@@ -615,6 +615,12 @@ Object.defineProperty(exports, "StripeElementsForm", {
|
|
|
615
615
|
return _StripeElementsForm.StripeElementsForm;
|
|
616
616
|
}
|
|
617
617
|
});
|
|
618
|
+
Object.defineProperty(exports, "StripePaymentElementForm", {
|
|
619
|
+
enumerable: true,
|
|
620
|
+
get: function get() {
|
|
621
|
+
return _StripePaymentElementForm.StripePaymentElementForm;
|
|
622
|
+
}
|
|
623
|
+
});
|
|
618
624
|
Object.defineProperty(exports, "StripeRedirectForm", {
|
|
619
625
|
enumerable: true,
|
|
620
626
|
get: function get() {
|
|
@@ -951,6 +957,7 @@ var _SingleProductCard = require("./components/SingleProductCard");
|
|
|
951
957
|
var _SmartAppBanner = require("./components/SmartAppBanner");
|
|
952
958
|
var _SpinnerLoader = require("./components/SpinnerLoader");
|
|
953
959
|
var _StripeElementsForm = require("./components/StripeElementsForm");
|
|
960
|
+
var _StripePaymentElementForm = require("./components/StripePaymentElementForm");
|
|
954
961
|
var _StripeRedirectForm = require("./components/StripeRedirectForm");
|
|
955
962
|
var _TaxInformation = require("./components/TaxInformation");
|
|
956
963
|
var _UpsellingPage = require("./components/UpsellingPage");
|
|
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.StripeElementsForm = void 0;
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _orderingComponentsExternal = require("ordering-components-external");
|
|
10
10
|
var _pure = require("@stripe/stripe-js/pure");
|
|
11
11
|
var _reactStripeJs = require("@stripe/react-stripe-js");
|
|
12
|
+
var _StripePaymentElementForm = require("../../../../../components/StripePaymentElementForm");
|
|
12
13
|
var _styles = require("./styles");
|
|
13
14
|
var _CardForm = require("../CardForm");
|
|
14
|
-
var
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
16
|
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; }
|
|
17
17
|
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; }
|
|
18
18
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -25,8 +25,14 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
25
25
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
26
26
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
27
27
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
28
|
+
var getPaymentAmount = function getPaymentAmount(cart, cartGroup) {
|
|
29
|
+
var _ref, _ref2, _ref3, _cartGroup$balance;
|
|
30
|
+
var total = (_ref = (_ref2 = (_ref3 = (_cartGroup$balance = cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.balance) !== null && _cartGroup$balance !== void 0 ? _cartGroup$balance : cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.total) !== null && _ref3 !== void 0 ? _ref3 : cart === null || cart === void 0 ? void 0 : cart.balance) !== null && _ref2 !== void 0 ? _ref2 : cart === null || cart === void 0 ? void 0 : cart.total) !== null && _ref !== void 0 ? _ref : 0;
|
|
31
|
+
var amountInCents = Math.floor(Number(total) * 100);
|
|
32
|
+
return amountInCents > 0 ? amountInCents : 100;
|
|
33
|
+
};
|
|
28
34
|
var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
29
|
-
var _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
|
|
35
|
+
var _configs$stripe_curre3, _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
|
|
30
36
|
var publicKey = props.publicKey,
|
|
31
37
|
handleSource = props.handleSource,
|
|
32
38
|
businessId = props.businessId,
|
|
@@ -42,6 +48,23 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
|
42
48
|
var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
|
|
43
49
|
_useLanguage2 = _slicedToArray(_useLanguage, 2),
|
|
44
50
|
t = _useLanguage2[1];
|
|
51
|
+
var _useConfig = (0, _orderingComponentsExternal.useConfig)(),
|
|
52
|
+
_useConfig2 = _slicedToArray(_useConfig, 1),
|
|
53
|
+
configs = _useConfig2[0].configs;
|
|
54
|
+
var isWalletPaymethod = methodsPay === null || methodsPay === void 0 ? void 0 : methodsPay.includes(paymethod);
|
|
55
|
+
var stripePromise = (0, _react.useMemo)(function () {
|
|
56
|
+
return publicKey ? (0, _pure.loadStripe)(publicKey) : null;
|
|
57
|
+
}, [publicKey]);
|
|
58
|
+
var walletElementsOptions = (0, _react.useMemo)(function () {
|
|
59
|
+
var _configs$stripe_curre, _configs$stripe_curre2;
|
|
60
|
+
if (!isWalletPaymethod) return null;
|
|
61
|
+
return {
|
|
62
|
+
mode: 'payment',
|
|
63
|
+
amount: getPaymentAmount(cart, cartGroup),
|
|
64
|
+
currency: (configs === null || configs === void 0 || (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre = _configs$stripe_curre.value) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre2 = _configs$stripe_curre.toLowerCase) === null || _configs$stripe_curre2 === void 0 ? void 0 : _configs$stripe_curre2.call(_configs$stripe_curre)) || 'usd',
|
|
65
|
+
paymentMethodCreation: 'manual'
|
|
66
|
+
};
|
|
67
|
+
}, [isWalletPaymethod, cart, cartGroup, configs === null || configs === void 0 || (_configs$stripe_curre3 = configs.stripe_currency) === null || _configs$stripe_curre3 === void 0 ? void 0 : _configs$stripe_curre3.value]);
|
|
45
68
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
|
|
46
69
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
47
70
|
key: i
|
|
@@ -50,9 +73,10 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
|
50
73
|
return /*#__PURE__*/_react.default.createElement(BeforeComponent, _extends({
|
|
51
74
|
key: i
|
|
52
75
|
}, props));
|
|
53
|
-
}), publicKey ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
54
|
-
stripe:
|
|
55
|
-
|
|
76
|
+
}), publicKey ? isWalletPaymethod ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
77
|
+
stripe: stripePromise,
|
|
78
|
+
options: walletElementsOptions
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement(_StripePaymentElementForm.StripePaymentElementForm, {
|
|
56
80
|
cart: cart,
|
|
57
81
|
cartGroup: cartGroup,
|
|
58
82
|
handleSource: handleSource,
|
|
@@ -63,7 +87,9 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
|
|
|
63
87
|
handleCancel: onCancel,
|
|
64
88
|
paymethod: paymethod,
|
|
65
89
|
handlePlaceOrder: handlePlaceOrder
|
|
66
|
-
}) : /*#__PURE__*/_react.default.createElement(
|
|
90
|
+
})) : /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
91
|
+
stripe: stripePromise
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_CardForm.CardForm, {
|
|
67
93
|
handleSource: handleSource,
|
|
68
94
|
onNewCard: onNewCard,
|
|
69
95
|
toSave: toSave,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ordering-ui-external",
|
|
3
|
-
"version": "14.2.
|
|
3
|
+
"version": "14.2.13",
|
|
4
4
|
"description": "Ordering UI Components",
|
|
5
5
|
"main": "./_modules/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"lodash": "^4.17.19",
|
|
89
89
|
"moment": "^2.29.4",
|
|
90
90
|
"nanoid": "^4.0.0",
|
|
91
|
-
"ordering-components-external": "13.2.
|
|
91
|
+
"ordering-components-external": "13.2.35",
|
|
92
92
|
"payment": "^2.4.6",
|
|
93
93
|
"polished": "^3.6.6",
|
|
94
94
|
"react-bootstrap-icons": "^1.7.2",
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { StripeElementsForm as StripeElementsFormController, useLanguage } from 'ordering-components-external'
|
|
1
|
+
import React, { useMemo } from 'react'
|
|
2
|
+
import { StripeElementsForm as StripeElementsFormController, useConfig, useLanguage } from 'ordering-components-external'
|
|
3
3
|
import { loadStripe } from '@stripe/stripe-js/pure'
|
|
4
4
|
import { Elements } from '@stripe/react-stripe-js'
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
import { StripePaymentElementForm } from '../StripePaymentElementForm'
|
|
6
7
|
import {
|
|
7
8
|
ErrorMessage
|
|
8
9
|
} from './styles'
|
|
9
10
|
|
|
10
11
|
import { CardForm } from '../CardForm'
|
|
11
12
|
|
|
13
|
+
const getPaymentAmount = (cart, cartGroup) => {
|
|
14
|
+
const total = cartGroup?.balance ?? cartGroup?.total ?? cart?.balance ?? cart?.total ?? 0
|
|
15
|
+
const amountInCents = Math.floor(Number(total) * 100)
|
|
16
|
+
return amountInCents > 0 ? amountInCents : 100
|
|
17
|
+
}
|
|
18
|
+
|
|
12
19
|
const StripeElementsFormUI = (props) => {
|
|
13
20
|
const {
|
|
14
21
|
publicKey,
|
|
@@ -21,9 +28,23 @@ const StripeElementsFormUI = (props) => {
|
|
|
21
28
|
paymethod,
|
|
22
29
|
cart,
|
|
23
30
|
handlePlaceOrder,
|
|
24
|
-
methodsPay
|
|
31
|
+
methodsPay,
|
|
32
|
+
cartGroup
|
|
25
33
|
} = props
|
|
26
34
|
const [, t] = useLanguage()
|
|
35
|
+
const [{ configs }] = useConfig()
|
|
36
|
+
const isWalletPaymethod = methodsPay?.includes(paymethod)
|
|
37
|
+
const stripePromise = useMemo(() => (publicKey ? loadStripe(publicKey) : null), [publicKey])
|
|
38
|
+
|
|
39
|
+
const walletElementsOptions = useMemo(() => {
|
|
40
|
+
if (!isWalletPaymethod) return null
|
|
41
|
+
return {
|
|
42
|
+
mode: 'payment',
|
|
43
|
+
amount: getPaymentAmount(cart, cartGroup),
|
|
44
|
+
currency: configs?.stripe_currency?.value?.toLowerCase?.() || 'usd',
|
|
45
|
+
paymentMethodCreation: 'manual'
|
|
46
|
+
}
|
|
47
|
+
}, [isWalletPaymethod, cart, cartGroup, configs?.stripe_currency?.value])
|
|
27
48
|
|
|
28
49
|
return (
|
|
29
50
|
<>
|
|
@@ -33,34 +54,41 @@ const StripeElementsFormUI = (props) => {
|
|
|
33
54
|
</React.Fragment>))}
|
|
34
55
|
{props.beforeComponents?.map((BeforeComponent, i) => (
|
|
35
56
|
<BeforeComponent key={i} {...props} />))}
|
|
36
|
-
{publicKey
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
{publicKey
|
|
58
|
+
? (
|
|
59
|
+
isWalletPaymethod
|
|
60
|
+
? (
|
|
61
|
+
<Elements stripe={stripePromise} options={walletElementsOptions}>
|
|
62
|
+
<StripePaymentElementForm
|
|
63
|
+
cart={cart}
|
|
64
|
+
cartGroup={cartGroup}
|
|
65
|
+
handleSource={handleSource}
|
|
66
|
+
onNewCard={onNewCard}
|
|
67
|
+
toSave={toSave}
|
|
68
|
+
requirements={requirements}
|
|
69
|
+
businessId={businessId}
|
|
70
|
+
handleCancel={onCancel}
|
|
71
|
+
paymethod={paymethod}
|
|
72
|
+
handlePlaceOrder={handlePlaceOrder}
|
|
73
|
+
/>
|
|
74
|
+
</Elements>
|
|
75
|
+
)
|
|
76
|
+
: (
|
|
77
|
+
<Elements stripe={stripePromise}>
|
|
78
|
+
<CardForm
|
|
79
|
+
handleSource={handleSource}
|
|
80
|
+
onNewCard={onNewCard}
|
|
81
|
+
toSave={toSave}
|
|
82
|
+
requirements={requirements}
|
|
83
|
+
businessId={businessId}
|
|
84
|
+
handleCancel={onCancel}
|
|
85
|
+
/>
|
|
86
|
+
</Elements>
|
|
87
|
+
)
|
|
88
|
+
)
|
|
89
|
+
: (
|
|
90
|
+
<ErrorMessage>{t('SOMETHING_WRONG', 'Something is wrong!')}</ErrorMessage>
|
|
91
|
+
)}
|
|
64
92
|
{props.afterComponents?.map((AfterComponent, i) => (
|
|
65
93
|
<AfterComponent key={i} {...props} />))}
|
|
66
94
|
{props.afterElements?.map((AfterElement, i) => (
|