@mirai/core 0.4.330 → 0.4.332
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/build/components/Booking/partials/Booking.Payment.js +4 -4
- package/build/components/Booking/partials/Booking.Payment.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +17 -13
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/ButtonPayment.js +15 -7
- package/build/components/__shared__/ButtonPayment/ButtonPayment.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.js +2 -2
- package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/helpers/constants.js +15 -0
- package/build/components/__shared__/ButtonPayment/helpers/constants.js.map +1 -0
- package/build/components/__shared__/ButtonPayment/helpers/getComponent.js +3 -1
- package/build/components/__shared__/ButtonPayment/helpers/getComponent.js.map +1 -1
- package/build/components/__shared__/Payment/Payment.js +9 -4
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/components/__shared__/Payment/Payment.module.css +5 -1
- package/build/components/__shared__/Payment/components/Card/Card.js +1 -1
- package/build/components/__shared__/Payment/components/Card/Card.js.map +1 -1
- package/build/components/__shared__/Payment/components/Card/helpers/formatValues.js +2 -2
- package/build/components/__shared__/Payment/components/Card/helpers/formatValues.js.map +1 -1
- package/build/components/__shared__/Payment/components/Openpay/Openpay.constants.js +14 -0
- package/build/components/__shared__/Payment/components/Openpay/Openpay.constants.js.map +1 -0
- package/build/components/__shared__/Payment/components/Openpay/Openpay.js +170 -0
- package/build/components/__shared__/Payment/components/Openpay/Openpay.js.map +1 -0
- package/build/components/__shared__/Payment/components/Openpay/Openpay.l10n.js +12 -0
- package/build/components/__shared__/Payment/components/Openpay/Openpay.l10n.js.map +1 -0
- package/build/components/__shared__/Payment/components/Openpay/index.js +17 -0
- package/build/components/__shared__/Payment/components/Openpay/index.js.map +1 -0
- package/build/components/__shared__/Payment/components/PCI/PCI.js +2 -2
- package/build/components/__shared__/Payment/components/PCI/PCI.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/helpers/formatValues.js +2 -2
- package/build/components/__shared__/Payment/components/PCI/helpers/formatValues.js.map +1 -1
- package/build/components/__shared__/Payment/components/index.js +11 -0
- package/build/components/__shared__/Payment/components/index.js.map +1 -1
- package/build/components/__shared__/Payment/helpers/constants.js +16 -0
- package/build/components/__shared__/Payment/helpers/constants.js.map +1 -0
- package/build/components/__shared__/Payment/helpers/getCaption.js +2 -1
- package/build/components/__shared__/Payment/helpers/getCaption.js.map +1 -1
- package/build/components/__shared__/Payment/helpers/getComponent.js +4 -1
- package/build/components/__shared__/Payment/helpers/getComponent.js.map +1 -1
- package/build/components/__shared__/Payment/helpers/getImage.js +3 -2
- package/build/components/__shared__/Payment/helpers/getImage.js.map +1 -1
- package/build/components/helpers/constants.js +1 -0
- package/build/components/helpers/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,7 +21,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
22
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
23
|
const BookingPayment = _ref => {
|
|
24
|
-
var _payment$config, _payment$info, _payment$info2, _payment$config2;
|
|
24
|
+
var _payment$methods, _payment$methods$meth, _payment$config, _payment$config$publi, _payment$info, _payment$info2, _payment$config2, _payment$config2$publ;
|
|
25
25
|
let {
|
|
26
26
|
dataSource: {
|
|
27
27
|
state,
|
|
@@ -133,7 +133,7 @@ const BookingPayment = _ref => {
|
|
|
133
133
|
const {
|
|
134
134
|
currency: paymentCurrency,
|
|
135
135
|
value
|
|
136
|
-
} = prepayment[method] || {};
|
|
136
|
+
} = prepayment[method] || ((_payment$methods = payment.methods) === null || _payment$methods === void 0 ? void 0 : (_payment$methods$meth = _payment$methods[method]) === null || _payment$methods$meth === void 0 ? void 0 : _payment$methods$meth.prepayment) || {};
|
|
137
137
|
const {
|
|
138
138
|
days
|
|
139
139
|
} = (0, _locale.dateDiff)(new Date(), new Date(time === null || time === void 0 ? void 0 : time.value));
|
|
@@ -167,7 +167,7 @@ const BookingPayment = _ref => {
|
|
|
167
167
|
}), visiblePayment && /*#__PURE__*/_react.default.createElement(_shared__.Payment, _extends({}, payment, {
|
|
168
168
|
config: {
|
|
169
169
|
...payment.config,
|
|
170
|
-
publicKey: (_payment$config = payment.config) === null || _payment$config === void 0 ? void 0 : _payment$config.publicKey[method]
|
|
170
|
+
publicKey: (_payment$config = payment.config) === null || _payment$config === void 0 ? void 0 : (_payment$config$publi = _payment$config.publicKey) === null || _payment$config$publi === void 0 ? void 0 : _payment$config$publi[method]
|
|
171
171
|
},
|
|
172
172
|
info: {
|
|
173
173
|
...payment.info,
|
|
@@ -182,7 +182,7 @@ const BookingPayment = _ref => {
|
|
|
182
182
|
}), /*#__PURE__*/_react.default.createElement(_shared__.ButtonPayment, _extends({}, payment, {
|
|
183
183
|
config: {
|
|
184
184
|
...payment.config,
|
|
185
|
-
publicKey: (_payment$config2 = payment.config) === null || _payment$config2 === void 0 ? void 0 : _payment$config2.publicKey[method]
|
|
185
|
+
publicKey: (_payment$config2 = payment.config) === null || _payment$config2 === void 0 ? void 0 : (_payment$config2$publ = _payment$config2.publicKey) === null || _payment$config2$publ === void 0 ? void 0 : _payment$config2$publ[method]
|
|
186
186
|
},
|
|
187
187
|
busy: busy,
|
|
188
188
|
hotel: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Booking.Payment.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Booking","_Booking2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BookingPayment","_ref","_payment$config","_payment$info","_payment$info2","_payment$config2","dataSource","state","onError","others","isMobile","useDevice","locale","translate","useLocale","value","hotel","payment","storePayment","urlParams","code","idHotel","id","tracking","utm_medium","utm_source","useStore","method","busy","setBusy","useState","error","setError","visiblePayment","setVisiblePayment","requiredFields","setRequiredFields","useEffect","interval","setInterval","info","time","now","Date","getTime","window","IS_PLAYWRIGHT","location","reload","clearInterval","isPayLater","STATE","POS_ERROR","Event","publish","EVENT","PAY_LATER","handleError","scrollTo","top","behavior","handleSubmit","hasErrors","ServiceBooking","update","catch","handlePress","currency","price","prepayment","hasRequiredFields","keys","paymentCurrency","days","dateDiff","amount","isPOSError","l10n","L10N","NOTIFICATION_POS_ERROR","NOTIFICATION_PAY_LATER_PREPAY","NOTIFICATION_PAY_LATER_GUARANTEE","createElement","Fragment","Notification","title","NOTIFICATION_POS_TITLE_ERROR","undefined","warning","wide","View","row","className","notificationPayment","React","Text","Countdown","action","timestamp","date","toLocaleDateString","FORMAT_PAY_LATER_DATE","Action","onPress","noPrint","ACTION_COMPLETE_NOW","NotificationRequiredFields","form","values","Payment","config","publicKey","parseDate","requiredText","LABEL_REQUIRED","showErrors","onChange","ButtonPayment","promise","getButtonPaymentKey","payLater","currencyFormat","exports","displayName","propTypes","PropTypes","any","func"],"sources":["../../../../src/components/Booking/partials/Booking.Payment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Text, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonPayment, Countdown, NotificationRequiredFields, Payment } from '../../__shared__';\nimport { EVENT } from '../../helpers';\nimport { FORMAT_PAY_LATER_DATE, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst BookingPayment = ({ dataSource: { state, ...dataSource } = {}, onError = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel = {},\n payment: storePayment = {},\n urlParams: { code, idHotel: id, tracking, utm_medium, utm_source } = {},\n },\n } = useStore();\n\n const { method } = storePayment;\n\n const [busy, setBusy] = useState(false);\n const [error, setError] = useState({});\n const [visiblePayment, setVisiblePayment] = useState(false);\n const [requiredFields, setRequiredFields] = useState();\n\n useEffect(() => {\n const interval = setInterval(() => {\n const { payment: { info: { time: { value } = {} } = {} } = {} } = dataSource || {};\n const now = new Date().getTime();\n\n if (value < now && !window.IS_PLAYWRIGHT) window.location.reload();\n }, 1000);\n\n return () => clearInterval(interval);\n }, [dataSource]);\n\n useEffect(() => {\n const isPayLater = (utm_medium === 'email' && utm_source === 'confirmation') || state === STATE.POS_ERROR;\n\n setVisiblePayment(isPayLater);\n isPayLater && Event.publish(EVENT.PAY_LATER, { utm_medium, utm_source });\n }, [utm_source, utm_medium, state]);\n\n const handleError = () => {\n setBusy(false);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleSubmit = (value) => {\n if (hasErrors) return handleError();\n\n setRequiredFields();\n onError();\n const { id } = dataSource;\n return ServiceBooking.update({ code, id, payment: { ...storePayment, ...value }, tracking }).catch((error) => {\n setBusy(false);\n onError(error);\n });\n };\n\n const handlePress = () => {\n if (hasErrors) {\n handleError();\n return false;\n }\n\n setBusy(true);\n };\n\n const { currency, payment = {}, price: { prepayment = {} } = {} } = dataSource || {};\n const { info: { time = {} } = {} } = payment;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n const hasErrors = Object.keys(error || {}).length > 0;\n const { currency: paymentCurrency, value } = prepayment[method] || {};\n const { days } = dateDiff(new Date(), new Date(time?.value));\n const { info: { amount } = {} } = payment;\n const isPOSError = state === STATE.POS_ERROR;\n const l10n = isPOSError\n ? L10N.NOTIFICATION_POS_ERROR\n : amount\n ? L10N.NOTIFICATION_PAY_LATER_PREPAY\n : L10N.NOTIFICATION_PAY_LATER_GUARANTEE;\n\n return (\n <>\n <Notification\n {...others}\n error={isPOSError}\n title={isPOSError ? translate(L10N.NOTIFICATION_POS_TITLE_ERROR) : undefined}\n warning\n wide\n >\n <View row={!isMobile} className={style.notificationPayment}>\n {React.createElement(\n days >= 3 ? Text : Countdown,\n { action: true, l10n, timestamp: time?.value },\n translate(l10n, {\n date: new Date(time?.value).toLocaleDateString(locale, FORMAT_PAY_LATER_DATE),\n }),\n )}\n {!visiblePayment && (\n <Action onPress={() => setVisiblePayment(true)} className={[style.action, style.noPrint]}>\n {translate(L10N.ACTION_COMPLETE_NOW)}\n </Action>\n )}\n </View>\n </Notification>\n\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n\n {visiblePayment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n }}\n currency={currency}\n requiredText={translate(L10N.LABEL_REQUIRED)}\n showErrors={hasRequiredFields}\n onChange={() => setRequiredFields()}\n onError={setError}\n className={style.noPrint}\n >\n <ButtonPayment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n }}\n busy={busy}\n hotel={{ ...hotel, id }}\n wide={isMobile}\n promise={handleSubmit}\n onError={handleError}\n onPress={handlePress}\n >\n {translate(getButtonPaymentKey({ ...payment.config, ...payment.info, method, payLater: true }), {\n amount: currencyFormat({ currency: paymentCurrency, locale, value }),\n })}\n </ButtonPayment>\n </Payment>\n )}\n </>\n );\n};\n\nBookingPayment.displayName = 'Mirai:Core:Booking:BookingPayment';\n\nBookingPayment.propTypes = {\n dataSource: PropTypes.any,\n onError: PropTypes.func,\n};\n\nexport { BookingPayment };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Booking.Payment.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Booking","_Booking2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BookingPayment","_ref","_payment$methods","_payment$methods$meth","_payment$config","_payment$config$publi","_payment$info","_payment$info2","_payment$config2","_payment$config2$publ","dataSource","state","onError","others","isMobile","useDevice","locale","translate","useLocale","value","hotel","payment","storePayment","urlParams","code","idHotel","id","tracking","utm_medium","utm_source","useStore","method","busy","setBusy","useState","error","setError","visiblePayment","setVisiblePayment","requiredFields","setRequiredFields","useEffect","interval","setInterval","info","time","now","Date","getTime","window","IS_PLAYWRIGHT","location","reload","clearInterval","isPayLater","STATE","POS_ERROR","Event","publish","EVENT","PAY_LATER","handleError","scrollTo","top","behavior","handleSubmit","hasErrors","ServiceBooking","update","catch","handlePress","currency","price","prepayment","hasRequiredFields","keys","paymentCurrency","methods","days","dateDiff","amount","isPOSError","l10n","L10N","NOTIFICATION_POS_ERROR","NOTIFICATION_PAY_LATER_PREPAY","NOTIFICATION_PAY_LATER_GUARANTEE","createElement","Fragment","Notification","title","NOTIFICATION_POS_TITLE_ERROR","undefined","warning","wide","View","row","className","notificationPayment","React","Text","Countdown","action","timestamp","date","toLocaleDateString","FORMAT_PAY_LATER_DATE","Action","onPress","noPrint","ACTION_COMPLETE_NOW","NotificationRequiredFields","form","values","Payment","config","publicKey","parseDate","requiredText","LABEL_REQUIRED","showErrors","onChange","ButtonPayment","promise","getButtonPaymentKey","payLater","currencyFormat","exports","displayName","propTypes","PropTypes","any","func"],"sources":["../../../../src/components/Booking/partials/Booking.Payment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Text, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonPayment, Countdown, NotificationRequiredFields, Payment } from '../../__shared__';\nimport { EVENT } from '../../helpers';\nimport { FORMAT_PAY_LATER_DATE, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst BookingPayment = ({ dataSource: { state, ...dataSource } = {}, onError = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel = {},\n payment: storePayment = {},\n urlParams: { code, idHotel: id, tracking, utm_medium, utm_source } = {},\n },\n } = useStore();\n\n const { method } = storePayment;\n\n const [busy, setBusy] = useState(false);\n const [error, setError] = useState({});\n const [visiblePayment, setVisiblePayment] = useState(false);\n const [requiredFields, setRequiredFields] = useState();\n\n useEffect(() => {\n const interval = setInterval(() => {\n const { payment: { info: { time: { value } = {} } = {} } = {} } = dataSource || {};\n const now = new Date().getTime();\n\n if (value < now && !window.IS_PLAYWRIGHT) window.location.reload();\n }, 1000);\n\n return () => clearInterval(interval);\n }, [dataSource]);\n\n useEffect(() => {\n const isPayLater = (utm_medium === 'email' && utm_source === 'confirmation') || state === STATE.POS_ERROR;\n\n setVisiblePayment(isPayLater);\n isPayLater && Event.publish(EVENT.PAY_LATER, { utm_medium, utm_source });\n }, [utm_source, utm_medium, state]);\n\n const handleError = () => {\n setBusy(false);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleSubmit = (value) => {\n if (hasErrors) return handleError();\n\n setRequiredFields();\n onError();\n const { id } = dataSource;\n return ServiceBooking.update({ code, id, payment: { ...storePayment, ...value }, tracking }).catch((error) => {\n setBusy(false);\n onError(error);\n });\n };\n\n const handlePress = () => {\n if (hasErrors) {\n handleError();\n return false;\n }\n\n setBusy(true);\n };\n\n const { currency, payment = {}, price: { prepayment = {} } = {} } = dataSource || {};\n const { info: { time = {} } = {} } = payment;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n const hasErrors = Object.keys(error || {}).length > 0;\n const { currency: paymentCurrency, value } = prepayment[method] || payment.methods?.[method]?.prepayment || {};\n const { days } = dateDiff(new Date(), new Date(time?.value));\n const { info: { amount } = {} } = payment;\n const isPOSError = state === STATE.POS_ERROR;\n const l10n = isPOSError\n ? L10N.NOTIFICATION_POS_ERROR\n : amount\n ? L10N.NOTIFICATION_PAY_LATER_PREPAY\n : L10N.NOTIFICATION_PAY_LATER_GUARANTEE;\n\n return (\n <>\n <Notification\n {...others}\n error={isPOSError}\n title={isPOSError ? translate(L10N.NOTIFICATION_POS_TITLE_ERROR) : undefined}\n warning\n wide\n >\n <View row={!isMobile} className={style.notificationPayment}>\n {React.createElement(\n days >= 3 ? Text : Countdown,\n { action: true, l10n, timestamp: time?.value },\n translate(l10n, {\n date: new Date(time?.value).toLocaleDateString(locale, FORMAT_PAY_LATER_DATE),\n }),\n )}\n {!visiblePayment && (\n <Action onPress={() => setVisiblePayment(true)} className={[style.action, style.noPrint]}>\n {translate(L10N.ACTION_COMPLETE_NOW)}\n </Action>\n )}\n </View>\n </Notification>\n\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n\n {visiblePayment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n }}\n currency={currency}\n requiredText={translate(L10N.LABEL_REQUIRED)}\n showErrors={hasRequiredFields}\n onChange={() => setRequiredFields()}\n onError={setError}\n className={style.noPrint}\n >\n <ButtonPayment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n }}\n busy={busy}\n hotel={{ ...hotel, id }}\n wide={isMobile}\n promise={handleSubmit}\n onError={handleError}\n onPress={handlePress}\n >\n {translate(getButtonPaymentKey({ ...payment.config, ...payment.info, method, payLater: true }), {\n amount: currencyFormat({ currency: paymentCurrency, locale, value }),\n })}\n </ButtonPayment>\n </Payment>\n )}\n </>\n );\n};\n\nBookingPayment.displayName = 'Mirai:Core:Booking:BookingPayment';\n\nBookingPayment.propTypes = {\n dataSource: PropTypes.any,\n onError: PropTypes.func,\n};\n\nexport { BookingPayment };\n"],"mappings":"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"}
|
|
@@ -11,18 +11,19 @@ var _ui = require("@mirai/ui");
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _Core = require("../../../Core.constants");
|
|
14
|
+
var _helpers = require("../../../helpers");
|
|
14
15
|
var _shared__ = require("../../__shared__");
|
|
15
|
-
var
|
|
16
|
-
var _helpers = require("../../helpers");
|
|
16
|
+
var _helpers2 = require("../../helpers");
|
|
17
17
|
var _Checkout = require("../Checkout.constants");
|
|
18
18
|
var _Checkout2 = require("../Checkout.l10n");
|
|
19
19
|
var style = _interopRequireWildcard(require("../Checkout.module.css"));
|
|
20
|
-
var
|
|
20
|
+
var _helpers3 = require("../helpers");
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
24
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
25
|
const Confirmation = _ref => {
|
|
26
|
+
var _methods$payment$meth;
|
|
26
27
|
let {
|
|
27
28
|
dataSource = {},
|
|
28
29
|
error = false,
|
|
@@ -44,21 +45,23 @@ const Confirmation = _ref => {
|
|
|
44
45
|
language,
|
|
45
46
|
locale,
|
|
46
47
|
payment,
|
|
47
|
-
session = {}
|
|
48
|
-
urlParams = {}
|
|
48
|
+
session = {}
|
|
49
49
|
} = {}
|
|
50
50
|
} = (0, _dataSources.useStore)();
|
|
51
51
|
const refContainer = (0, _react.useRef)();
|
|
52
52
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
53
53
|
const [responseError, setResponseError] = (0, _react.useState)();
|
|
54
54
|
(0, _react.useEffect)(() => {
|
|
55
|
-
!isDesktop && (refContainer === null || refContainer === void 0 ? void 0 : refContainer.current) && _dataSources.Event.publish(
|
|
55
|
+
!isDesktop && (refContainer === null || refContainer === void 0 ? void 0 : refContainer.current) && _dataSources.Event.publish(_helpers2.EVENT.FOOTER_HEIGHT_CHANGE, {
|
|
56
56
|
height: refContainer === null || refContainer === void 0 ? void 0 : refContainer.current.offsetHeight
|
|
57
57
|
});
|
|
58
58
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
59
|
}, []);
|
|
60
60
|
(0, _react.useEffect)(() => setResponseError(), [checkout, payment]);
|
|
61
61
|
const {
|
|
62
|
+
payment: {
|
|
63
|
+
methods = {}
|
|
64
|
+
} = {},
|
|
62
65
|
price: {
|
|
63
66
|
prepayment = {}
|
|
64
67
|
} = {}
|
|
@@ -66,11 +69,11 @@ const Confirmation = _ref => {
|
|
|
66
69
|
const {
|
|
67
70
|
currency: hotelCurrency,
|
|
68
71
|
value
|
|
69
|
-
} = prepayment[payment === null || payment === void 0 ? void 0 : payment.method] || {};
|
|
72
|
+
} = prepayment[payment === null || payment === void 0 ? void 0 : payment.method] || ((_methods$payment$meth = methods[payment === null || payment === void 0 ? void 0 : payment.method]) === null || _methods$payment$meth === void 0 ? void 0 : _methods$payment$meth.prepayment) || {};
|
|
70
73
|
const handleError = () => setBusy(false);
|
|
71
74
|
const handlePress = () => {
|
|
72
75
|
if (error) {
|
|
73
|
-
_dataSources.Event.publish(
|
|
76
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
74
77
|
id: "".concat(_Checkout.METRIC, ":SUBMIT_WITH_ERROR"),
|
|
75
78
|
...getPaymentMetrics()
|
|
76
79
|
});
|
|
@@ -81,7 +84,7 @@ const Confirmation = _ref => {
|
|
|
81
84
|
};
|
|
82
85
|
const handleSubmit = async value => {
|
|
83
86
|
if (error) {
|
|
84
|
-
_dataSources.Event.publish(
|
|
87
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
85
88
|
id: "".concat(_Checkout.METRIC, ":SUBMIT_WITH_ERROR_PAYMENT"),
|
|
86
89
|
...getPaymentMetrics()
|
|
87
90
|
});
|
|
@@ -119,7 +122,7 @@ const Confirmation = _ref => {
|
|
|
119
122
|
promocode: !!promocode,
|
|
120
123
|
session: !!session
|
|
121
124
|
};
|
|
122
|
-
_dataSources.Event.publish(
|
|
125
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
123
126
|
id: "".concat(_Checkout.METRIC, ":SUBMIT"),
|
|
124
127
|
...metrics
|
|
125
128
|
});
|
|
@@ -142,7 +145,7 @@ const Confirmation = _ref => {
|
|
|
142
145
|
}).catch(error => {
|
|
143
146
|
setBusy(false);
|
|
144
147
|
setResponseError(error);
|
|
145
|
-
_dataSources.Event.publish(
|
|
148
|
+
_dataSources.Event.publish(_helpers2.EVENT.NOTIFICATION, {
|
|
146
149
|
error: true,
|
|
147
150
|
small: true,
|
|
148
151
|
defaultMessage: translate(_Checkout2.L10N.NOTIFICATION_ERROR[(error === null || error === void 0 ? void 0 : error.code) || _Core.ERROR.UNKNOWN])
|
|
@@ -189,7 +192,7 @@ const Confirmation = _ref => {
|
|
|
189
192
|
onError: handleError,
|
|
190
193
|
onPress: handlePress,
|
|
191
194
|
testId: "checkout-button"
|
|
192
|
-
}), translate((0,
|
|
195
|
+
}), translate((0, _helpers3.getButtonPaymentKey)({
|
|
193
196
|
...config,
|
|
194
197
|
...(dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$payment = dataSource.payment) === null || _dataSource$payment === void 0 ? void 0 : _dataSource$payment.info),
|
|
195
198
|
method: payment === null || payment === void 0 ? void 0 : payment.method
|
|
@@ -201,7 +204,7 @@ const Confirmation = _ref => {
|
|
|
201
204
|
})
|
|
202
205
|
}));
|
|
203
206
|
};
|
|
204
|
-
const content = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
207
|
+
const content = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_shared__.BookingSummary, {
|
|
205
208
|
dataSource: dataSource
|
|
206
209
|
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
207
210
|
className: style.section
|
|
@@ -215,6 +218,7 @@ const Confirmation = _ref => {
|
|
|
215
218
|
wide: true,
|
|
216
219
|
className: style.footer
|
|
217
220
|
}, translate(_Checkout2.L10N.NOTIFICATION_SSL_ENCRYPTION))));
|
|
221
|
+
const urlParams = (0, _helpers.fetchUrlParams)(location.search) || {};
|
|
218
222
|
return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({
|
|
219
223
|
ref: refContainer
|
|
220
224
|
}, others, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","finder","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","concat","METRIC","getPaymentMetrics","handleSubmit","place","promocode","meta","applyClubDiscount","extras","nights","rooms","form","metrics","required","values","filter","field","undefined","chain","parseInt","split","loyalty","console","log","response","ServiceBooking","confirm","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","config","provider","CTA","_config$publicKey","_dataSource$payment","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, finder = {}, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR`, ...getPaymentMetrics() });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR_PAYMENT`, ...getPaymentMetrics() });\n return onError();\n }\n\n try {\n const { place, promocode } = finder;\n const { meta, applyClubDiscount, extras, nights, rooms = '' } = urlParams;\n const { form = {} } = dataSource || {};\n\n const metrics = {\n ...getPaymentMetrics(),\n // -- type\n meta: meta === 'true',\n required: Object.values(form).filter((field = {}) => field.required).length,\n // -- selection\n chain: !!place,\n nights: parseInt(nights),\n rooms: rooms.split(',').length || 1,\n loyalty: !!applyClubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT`, ...metrics });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Metrics.error', error);\n }\n\n onValid();\n setResponseError();\n\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const getPaymentMetrics = () => {\n const { payment: { config: { provider } = {} } = {} } = dataSource || {};\n return { method: payment?.method, provider };\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_helpers","_shared__","_helpers2","_Checkout","_Checkout2","style","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Confirmation","_ref","_methods$payment$meth","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","finder","hotel","language","locale","payment","session","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","methods","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","concat","METRIC","getPaymentMetrics","handleSubmit","place","promocode","meta","applyClubDiscount","extras","nights","rooms","urlParams","form","metrics","required","values","filter","field","undefined","chain","parseInt","split","loyalty","console","log","response","ServiceBooking","confirm","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","config","provider","CTA","_config$publicKey","_dataSource$payment","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","fetchUrlParams","location","search","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { fetchUrlParams } from '../../../helpers';\nimport { BookingSummary, ButtonPayment } from '../../__shared__';\nimport { EVENT } from '../../helpers';\nimport { METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, finder = {}, hotel = {}, language, locale, payment, session = {} } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { payment: { methods = {} } = {}, price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || methods[payment?.method]?.prepayment || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR`, ...getPaymentMetrics() });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR_PAYMENT`, ...getPaymentMetrics() });\n return onError();\n }\n\n try {\n const { place, promocode } = finder;\n const { meta, applyClubDiscount, extras, nights, rooms = '' } = urlParams;\n const { form = {} } = dataSource || {};\n\n const metrics = {\n ...getPaymentMetrics(),\n // -- type\n meta: meta === 'true',\n required: Object.values(form).filter((field = {}) => field.required).length,\n // -- selection\n chain: !!place,\n nights: parseInt(nights),\n rooms: rooms.split(',').length || 1,\n loyalty: !!applyClubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT`, ...metrics });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Metrics.error', error);\n }\n\n onValid();\n setResponseError();\n\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const getPaymentMetrics = () => {\n const { payment: { config: { provider } = {} } = {} } = dataSource || {};\n return { method: payment?.method, provider };\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n const urlParams = fetchUrlParams(location.search) || {};\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _ButtonPayment = require("./ButtonPayment.constants");
|
|
13
13
|
var _ButtonPayment2 = require("./ButtonPayment.l10n");
|
|
14
14
|
var style = _interopRequireWildcard(require("./ButtonPayment.module.css"));
|
|
15
|
-
var
|
|
15
|
+
var _Form = require("./components/Form");
|
|
16
16
|
var _helpers = require("./helpers");
|
|
17
17
|
var _Payment = require("../Payment");
|
|
18
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -31,16 +31,17 @@ const {
|
|
|
31
31
|
ADYEN,
|
|
32
32
|
CHECKOUT,
|
|
33
33
|
SIPAY,
|
|
34
|
+
OPENPAY,
|
|
34
35
|
PAYCOMET
|
|
35
36
|
} = _Payment.PAYMENT_PROVIDER;
|
|
36
37
|
const PROVIDERS_WITH_MODAL = [ADDON, ADYEN, CHECKOUT, SIPAY, PAYCOMET];
|
|
37
38
|
const ButtonPayment = _ref => {
|
|
39
|
+
var _methods$method;
|
|
38
40
|
let {
|
|
39
41
|
children,
|
|
40
42
|
config: {
|
|
41
43
|
currencyDecimals,
|
|
42
44
|
provider,
|
|
43
|
-
publicKey,
|
|
44
45
|
...config
|
|
45
46
|
} = {},
|
|
46
47
|
dataSource = {},
|
|
@@ -49,6 +50,7 @@ const ButtonPayment = _ref => {
|
|
|
49
50
|
...propHotel
|
|
50
51
|
} = {},
|
|
51
52
|
info = {},
|
|
53
|
+
methods = [],
|
|
52
54
|
promise = () => new Promise(resolve => resolve({})),
|
|
53
55
|
tracking,
|
|
54
56
|
onError = () => {},
|
|
@@ -78,9 +80,10 @@ const ButtonPayment = _ref => {
|
|
|
78
80
|
const {
|
|
79
81
|
error,
|
|
80
82
|
orderReference,
|
|
83
|
+
token,
|
|
81
84
|
transactionId
|
|
82
85
|
} = payment;
|
|
83
|
-
if (orderReference || transactionId) handleSuccess();else if (error) onError(error);
|
|
86
|
+
if (orderReference || token || transactionId) handleSuccess();else if (error) onError(error);
|
|
84
87
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
85
88
|
}, [payment]);
|
|
86
89
|
const handlePress = async () => {
|
|
@@ -88,7 +91,9 @@ const ButtonPayment = _ref => {
|
|
|
88
91
|
const {
|
|
89
92
|
method
|
|
90
93
|
} = payment || {};
|
|
91
|
-
if ([AMAZON_PAY, PCIPROXY].includes(method)
|
|
94
|
+
if ([AMAZON_PAY, PCIPROXY].includes(method) || method === TPV && provider === OPENPAY) {
|
|
95
|
+
return document.dispatchEvent(new window.Event(_ButtonPayment.EVENT.CTA_PRESS));
|
|
96
|
+
}
|
|
92
97
|
const requireCardValidation = [CARD, PCIPROXY].includes(method) && cardValidation;
|
|
93
98
|
const withModal = PROVIDERS_WITH_MODAL.includes(provider) && (method === TPV || requireCardValidation);
|
|
94
99
|
const response = !withModal || isModalResponse || method === APLAZAME ? await promise().catch(onError) : true;
|
|
@@ -110,11 +115,11 @@ const ButtonPayment = _ref => {
|
|
|
110
115
|
}));
|
|
111
116
|
} else {
|
|
112
117
|
const url = (0, _helpers.getUrl)({
|
|
113
|
-
response,
|
|
114
118
|
...hotel,
|
|
115
119
|
id,
|
|
116
120
|
forwarder,
|
|
117
121
|
locale,
|
|
122
|
+
response,
|
|
118
123
|
tracking,
|
|
119
124
|
urlParams
|
|
120
125
|
});
|
|
@@ -132,11 +137,11 @@ const ButtonPayment = _ref => {
|
|
|
132
137
|
}));
|
|
133
138
|
if (response) {
|
|
134
139
|
const url = (0, _helpers.getUrl)({
|
|
135
|
-
...response,
|
|
136
140
|
...hotel,
|
|
137
141
|
id,
|
|
138
142
|
forwarder,
|
|
139
143
|
locale,
|
|
144
|
+
response,
|
|
140
145
|
tracking,
|
|
141
146
|
urlParams
|
|
142
147
|
});
|
|
@@ -152,15 +157,17 @@ const ButtonPayment = _ref => {
|
|
|
152
157
|
const {
|
|
153
158
|
cardValidation
|
|
154
159
|
} = info || {};
|
|
160
|
+
const publicKey = ((_methods$method = methods[method]) === null || _methods$method === void 0 ? void 0 : _methods$method.publicKey) || (config === null || config === void 0 ? void 0 : config.publicKey);
|
|
155
161
|
const component = (0, _helpers.getComponent)({
|
|
156
162
|
cardValidation,
|
|
157
163
|
method,
|
|
164
|
+
methodConfig: methods[method],
|
|
158
165
|
provider
|
|
159
166
|
});
|
|
160
167
|
const isModalResponse = [ADDON, ADYEN].includes(provider);
|
|
161
168
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, others, {
|
|
162
169
|
onPress: handlePress
|
|
163
|
-
}), children || translate(_ButtonPayment2.L10N.ACTION_PAY_NOW)), (response === null || response === void 0 ? void 0 : response.type) === _ButtonPayment.TYPE.SUBMIT && /*#__PURE__*/_react.default.createElement(
|
|
170
|
+
}), children || translate(_ButtonPayment2.L10N.ACTION_PAY_NOW)), (response === null || response === void 0 ? void 0 : response.type) === _ButtonPayment.TYPE.SUBMIT && /*#__PURE__*/_react.default.createElement(_Form.Form, response), /*#__PURE__*/_react.default.createElement(_ui.Modal, {
|
|
164
171
|
portal: isModalResponse,
|
|
165
172
|
title: method,
|
|
166
173
|
visible: modal,
|
|
@@ -200,6 +207,7 @@ ButtonPayment.propTypes = {
|
|
|
200
207
|
cardValidation: _propTypes.default.bool,
|
|
201
208
|
date: _propTypes.default.instanceOf(Date)
|
|
202
209
|
}),
|
|
210
|
+
methods: _propTypes.default.array,
|
|
203
211
|
promise: _propTypes.default.func,
|
|
204
212
|
tracking: _propTypes.default.string,
|
|
205
213
|
onError: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonPayment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_ButtonPayment","_ButtonPayment2","style","_components","_helpers","_Payment","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","AMAZON_PAY","APLAZAME","CARD","PCIPROXY","TPV","PAYMENT_METHOD","ADDON","ADYEN","CHECKOUT","SIPAY","PAYCOMET","PAYMENT_PROVIDER","PROVIDERS_WITH_MODAL","ButtonPayment","_ref","children","config","currencyDecimals","provider","publicKey","dataSource","hotel","id","propHotel","info","promise","Promise","resolve","tracking","onError","onPress","onSuccess","others","locale","translate","useLocale","value","forwarder","payment","urlParams","useStore","modal","setModal","useState","response","setResponse","handleClose","useEffect","error","orderReference","transactionId","handleSuccess","handlePress","method","includes","document","dispatchEvent","window","Event","EVENT","CTA_PRESS","requireCardValidation","cardValidation","withModal","isModalResponse","catch","type","TYPE","SUBMIT","publish","OPEN_MODAL","CustomEvent","APLAZAME_RESPONSE","detail","url","getUrl","location","href","AMAZON_PAY_RESPONSE","component","getComponent","createElement","Fragment","Button","L10N","ACTION_PAY_NOW","Form","Modal","portal","title","visible","onClose","React","className","modalContent","exports","displayName","propTypes","PropTypes","oneOfType","string","node","shape","number","oneOf","values","showCVV","bool","amount","date","instanceOf","Date","func"],"sources":["../../../../src/components/__shared__/ButtonPayment/ButtonPayment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Modal } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { EVENT, TYPE } from './ButtonPayment.constants';\nimport { L10N } from './ButtonPayment.l10n';\nimport * as style from './ButtonPayment.module.css';\nimport { Form } from './components';\nimport { getComponent, getUrl } from './helpers';\nimport { PAYMENT_METHOD, PAYMENT_PROVIDER } from '../Payment';\n\nconst { AMAZON_PAY, APLAZAME, CARD, PCIPROXY, TPV } = PAYMENT_METHOD;\nconst { ADDON, ADYEN, CHECKOUT, SIPAY, PAYCOMET } = PAYMENT_PROVIDER;\n\nconst PROVIDERS_WITH_MODAL = [ADDON, ADYEN, CHECKOUT, SIPAY, PAYCOMET];\n\nconst ButtonPayment = ({\n children,\n config: { currencyDecimals, provider, publicKey, ...config } = {},\n dataSource = {},\n hotel: { id, ...propHotel } = {},\n info = {},\n promise = () => new Promise((resolve) => resolve({})),\n tracking,\n onError = () => {},\n onPress = () => {},\n onSuccess = () => {},\n ...others\n}) => {\n const { locale, translate } = useLocale();\n const { value: { forwarder, payment = dataSource || {}, hotel = propHotel || {}, urlParams } = {} } = useStore();\n\n const [modal, setModal] = useState(false);\n const [response, setResponse] = useState();\n\n const handleClose = () => {\n setModal(false);\n onError();\n };\n\n useEffect(() => {\n const { error, orderReference, transactionId } = payment;\n if (orderReference || transactionId) handleSuccess();\n else if (error) onError(error);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [payment]);\n\n const handlePress = async () => {\n if (onPress() === false) return;\n\n const { method } = payment || {};\n if ([AMAZON_PAY, PCIPROXY].includes(method)) return document.dispatchEvent(new window.Event(EVENT.CTA_PRESS));\n\n const requireCardValidation = [CARD, PCIPROXY].includes(method) && cardValidation;\n const withModal = PROVIDERS_WITH_MODAL.includes(provider) && (method === TPV || requireCardValidation);\n const response = !withModal || isModalResponse || method === APLAZAME ? await promise().catch(onError) : true;\n if (!response) return;\n\n if (withModal || response.type === TYPE.SUBMIT) setResponse(response);\n\n if (withModal) {\n try {\n Event.publish(EVENT.OPEN_MODAL);\n } catch {\n //123 compare is failed when capture this event.\n }\n setModal(true);\n } else if (method === APLAZAME) {\n document.dispatchEvent(new CustomEvent(EVENT.APLAZAME_RESPONSE, { detail: { ...response, publicKey } }));\n } else {\n const url = getUrl({ response, ...hotel, id, forwarder, locale, tracking, urlParams });\n if (url) window.location.href = url;\n }\n };\n\n const handleSuccess = async (value) => {\n setModal(false);\n\n const response = await promise(value).catch(onError);\n if (!response) return;\n\n if (payment.method === AMAZON_PAY)\n return document.dispatchEvent(new CustomEvent(EVENT.AMAZON_PAY_RESPONSE, { detail: { response } }));\n\n if (response) {\n const url = getUrl({ ...response, ...hotel, id, forwarder, locale, tracking, urlParams });\n if (url) {\n onSuccess(url);\n window.location.href = url;\n }\n }\n };\n\n const { method } = payment || {};\n const { cardValidation } = info || {};\n const component = getComponent({ cardValidation, method, provider });\n const isModalResponse = [ADDON, ADYEN].includes(provider);\n\n return (\n <>\n <Button {...others} onPress={handlePress}>\n {children || translate(L10N.ACTION_PAY_NOW)}\n </Button>\n\n {response?.type === TYPE.SUBMIT && <Form {...response} />}\n\n <Modal portal={isModalResponse} title={method} visible={modal} onClose={handleClose}>\n {component &&\n React.createElement(component, {\n ...config,\n currencyDecimals,\n info,\n method,\n provider,\n publicKey,\n response,\n onError,\n onSuccess: handleSuccess,\n className: style.modalContent,\n })}\n </Modal>\n </>\n );\n};\n\nButtonPayment.displayName = 'Mirai:Core:ButtonPayment';\n\nButtonPayment.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n config: PropTypes.shape({\n currencyDecimals: PropTypes.number,\n provider: PropTypes.oneOf(Object.values(PAYMENT_PROVIDER)),\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n }),\n dataSource: PropTypes.shape({\n method: PropTypes.oneOf(Object.values(PAYMENT_METHOD)),\n }),\n hotel: PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n }),\n info: PropTypes.shape({\n amount: PropTypes.number,\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n }),\n promise: PropTypes.func,\n tracking: PropTypes.string,\n onError: PropTypes.func,\n onPress: PropTypes.func,\n onSuccess: PropTypes.func,\n};\n\nexport { ButtonPayment };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ButtonPayment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_ButtonPayment","_ButtonPayment2","style","_Form","_helpers","_Payment","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","AMAZON_PAY","APLAZAME","CARD","PCIPROXY","TPV","PAYMENT_METHOD","ADDON","ADYEN","CHECKOUT","SIPAY","OPENPAY","PAYCOMET","PAYMENT_PROVIDER","PROVIDERS_WITH_MODAL","ButtonPayment","_ref","_methods$method","children","config","currencyDecimals","provider","dataSource","hotel","id","propHotel","info","methods","promise","Promise","resolve","tracking","onError","onPress","onSuccess","others","locale","translate","useLocale","value","forwarder","payment","urlParams","useStore","modal","setModal","useState","response","setResponse","handleClose","useEffect","error","orderReference","token","transactionId","handleSuccess","handlePress","method","includes","document","dispatchEvent","window","Event","EVENT","CTA_PRESS","requireCardValidation","cardValidation","withModal","isModalResponse","catch","type","TYPE","SUBMIT","publish","OPEN_MODAL","CustomEvent","APLAZAME_RESPONSE","detail","publicKey","url","getUrl","location","href","AMAZON_PAY_RESPONSE","component","getComponent","methodConfig","createElement","Fragment","Button","L10N","ACTION_PAY_NOW","Form","Modal","portal","title","visible","onClose","React","className","modalContent","exports","displayName","propTypes","PropTypes","oneOfType","string","node","shape","number","oneOf","values","showCVV","bool","amount","date","instanceOf","Date","array","func"],"sources":["../../../../src/components/__shared__/ButtonPayment/ButtonPayment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Modal } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { EVENT, TYPE } from './ButtonPayment.constants';\nimport { L10N } from './ButtonPayment.l10n';\nimport * as style from './ButtonPayment.module.css';\nimport { Form } from './components/Form';\nimport { getComponent, getUrl } from './helpers';\nimport { PAYMENT_METHOD, PAYMENT_PROVIDER } from '../Payment';\n\nconst { AMAZON_PAY, APLAZAME, CARD, PCIPROXY, TPV } = PAYMENT_METHOD;\nconst { ADDON, ADYEN, CHECKOUT, SIPAY, OPENPAY, PAYCOMET } = PAYMENT_PROVIDER;\n\nconst PROVIDERS_WITH_MODAL = [ADDON, ADYEN, CHECKOUT, SIPAY, PAYCOMET];\n\nconst ButtonPayment = ({\n children,\n config: { currencyDecimals, provider, ...config } = {},\n dataSource = {},\n hotel: { id, ...propHotel } = {},\n info = {},\n methods = [],\n promise = () => new Promise((resolve) => resolve({})),\n tracking,\n onError = () => {},\n onPress = () => {},\n onSuccess = () => {},\n ...others\n}) => {\n const { locale, translate } = useLocale();\n const { value: { forwarder, payment = dataSource || {}, hotel = propHotel || {}, urlParams } = {} } = useStore();\n\n const [modal, setModal] = useState(false);\n const [response, setResponse] = useState();\n\n const handleClose = () => {\n setModal(false);\n onError();\n };\n\n useEffect(() => {\n const { error, orderReference, token, transactionId } = payment;\n if (orderReference || token || transactionId) handleSuccess();\n else if (error) onError(error);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [payment]);\n\n const handlePress = async () => {\n if (onPress() === false) return;\n\n const { method } = payment || {};\n if ([AMAZON_PAY, PCIPROXY].includes(method) || (method === TPV && provider === OPENPAY)) {\n return document.dispatchEvent(new window.Event(EVENT.CTA_PRESS));\n }\n\n const requireCardValidation = [CARD, PCIPROXY].includes(method) && cardValidation;\n const withModal = PROVIDERS_WITH_MODAL.includes(provider) && (method === TPV || requireCardValidation);\n const response = !withModal || isModalResponse || method === APLAZAME ? await promise().catch(onError) : true;\n if (!response) return;\n\n if (withModal || response.type === TYPE.SUBMIT) setResponse(response);\n\n if (withModal) {\n try {\n Event.publish(EVENT.OPEN_MODAL);\n } catch {\n //123 compare is failed when capture this event.\n }\n setModal(true);\n } else if (method === APLAZAME) {\n document.dispatchEvent(new CustomEvent(EVENT.APLAZAME_RESPONSE, { detail: { ...response, publicKey } }));\n } else {\n const url = getUrl({ ...hotel, id, forwarder, locale, response, tracking, urlParams });\n if (url) window.location.href = url;\n }\n };\n\n const handleSuccess = async (value) => {\n setModal(false);\n\n const response = await promise(value).catch(onError);\n if (!response) return;\n\n if (payment.method === AMAZON_PAY)\n return document.dispatchEvent(new CustomEvent(EVENT.AMAZON_PAY_RESPONSE, { detail: { response } }));\n\n if (response) {\n const url = getUrl({ ...hotel, id, forwarder, locale, response, tracking, urlParams });\n if (url) {\n onSuccess(url);\n window.location.href = url;\n }\n }\n };\n\n const { method } = payment || {};\n const { cardValidation } = info || {};\n const publicKey = methods[method]?.publicKey || config?.publicKey;\n const component = getComponent({ cardValidation, method, methodConfig: methods[method], provider });\n const isModalResponse = [ADDON, ADYEN].includes(provider);\n\n return (\n <>\n <Button {...others} onPress={handlePress}>\n {children || translate(L10N.ACTION_PAY_NOW)}\n </Button>\n\n {response?.type === TYPE.SUBMIT && <Form {...response} />}\n\n <Modal portal={isModalResponse} title={method} visible={modal} onClose={handleClose}>\n {component &&\n React.createElement(component, {\n ...config,\n currencyDecimals,\n info,\n method,\n provider,\n publicKey,\n response,\n onError,\n onSuccess: handleSuccess,\n className: style.modalContent,\n })}\n </Modal>\n </>\n );\n};\n\nButtonPayment.displayName = 'Mirai:Core:ButtonPayment';\n\nButtonPayment.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n config: PropTypes.shape({\n currencyDecimals: PropTypes.number,\n provider: PropTypes.oneOf(Object.values(PAYMENT_PROVIDER)),\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n }),\n dataSource: PropTypes.shape({\n method: PropTypes.oneOf(Object.values(PAYMENT_METHOD)),\n }),\n hotel: PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n }),\n info: PropTypes.shape({\n amount: PropTypes.number,\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n }),\n methods: PropTypes.array,\n promise: PropTypes.func,\n tracking: PropTypes.string,\n onError: PropTypes.func,\n onPress: PropTypes.func,\n onSuccess: PropTypes.func,\n};\n\nexport { ButtonPayment };\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _FormAddon = require("./FormAddon.l10n");
|
|
12
12
|
var style = _interopRequireWildcard(require("./FormAddon.module.css"));
|
|
13
13
|
var _helpers = require("./helpers");
|
|
14
|
-
var
|
|
14
|
+
var _loadScript = require("../../helpers/loadScript");
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -32,7 +32,7 @@ const FormAddon = _ref => {
|
|
|
32
32
|
} = (0, _locale.useLocale)();
|
|
33
33
|
const el = (0, _react.useRef)();
|
|
34
34
|
const [ready, setReady] = (0, _react.useState)();
|
|
35
|
-
(0, _react.useEffect)(() => (0,
|
|
35
|
+
(0, _react.useEffect)(() => (0, _loadScript.loadScript)({
|
|
36
36
|
id: 'addonScript',
|
|
37
37
|
name: 'rxp-hpp.js',
|
|
38
38
|
onLoad: handleLoad
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAddon.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_FormAddon","style","_helpers","
|
|
1
|
+
{"version":3,"file":"FormAddon.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_FormAddon","style","_helpers","_loadScript","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","BUTTON","IFRAME","FormAddon","_ref","info","date","method","provider","response","others","translate","useLocale","el","useRef","ready","setReady","useState","useEffect","loadScript","id","name","onLoad","handleLoad","_window$RealexHpp","_el$current","window","RealexHpp","embedded","init","MERCHANT_RESPONSE_URL","CARD_PAYMENT_BUTTON","getCtaKey","current","click","_window$RealexHpp2","setHppUrl","process","env","PROVIDER_ADDON_SCRIPT","createElement","View","Text","action","className","description","L10N","LABEL_SECURE_PAGE","hidden","ref","type","iframe","exports","displayName","propTypes","PropTypes","shape","cardValidation","bool","instanceOf","Date","amount","number","string","object"],"sources":["../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './FormAddon.l10n';\nimport * as style from './FormAddon.module.css';\nimport { getCtaKey } from './helpers';\nimport { loadScript } from '../../helpers/loadScript';\n\nconst BUTTON = 'addonInitButton';\nconst IFRAME = 'addonIframe';\n\nexport const FormAddon = ({ info: { date } = {}, method, provider, response, ...others }) => {\n const { translate } = useLocale();\n\n const el = useRef();\n\n const [ready, setReady] = useState();\n\n useEffect(() => loadScript({ id: 'addonScript', name: 'rxp-hpp.js', onLoad: handleLoad }), []);\n\n useEffect(() => {\n if (!response || !ready) return;\n\n window.RealexHpp?.embedded.init(BUTTON, IFRAME, response.MERCHANT_RESPONSE_URL, {\n ...response,\n CARD_PAYMENT_BUTTON: translate(getCtaKey(date, method, provider)),\n });\n el.current?.click();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready, response]);\n\n const handleLoad = () => {\n window.RealexHpp?.setHppUrl(process.env.PROVIDER_ADDON_SCRIPT);\n setReady(true);\n };\n\n return (\n <View {...others}>\n <Text action className={style.description}>\n {translate(L10N.LABEL_SECURE_PAGE)}\n </Text>\n\n <input hidden id={BUTTON} ref={el} type=\"submit\" />\n <iframe id={IFRAME} className={style.iframe} />\n </View>\n );\n};\n\nFormAddon.displayName = 'Mirai:Payments:ButtonPayment:FormAddon';\n\nFormAddon.propTypes = {\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n }),\n method: PropTypes.string,\n provider: PropTypes.string,\n response: PropTypes.object,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MODALS = void 0;
|
|
7
|
+
var _components = require("../components");
|
|
8
|
+
const MODALS = exports.MODALS = {
|
|
9
|
+
1: _components.FormAddon,
|
|
10
|
+
2: _components.FormCheckout,
|
|
11
|
+
3: _components.FormPaycomet,
|
|
12
|
+
4: _components.FormSipay,
|
|
13
|
+
5: _components.FormAdyen
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["_components","require","MODALS","exports","FormAddon","FormCheckout","FormPaycomet","FormSipay","FormAdyen"],"sources":["../../../../../src/components/__shared__/ButtonPayment/helpers/constants.js"],"sourcesContent":["import { FormAddon, FormAdyen, FormCheckout, FormPaycomet, FormSipay } from '../components';\n\nconst MODALS = {\n 1: FormAddon,\n 2: FormCheckout,\n 3: FormPaycomet,\n 4: FormSipay,\n 5: FormAdyen,\n};\n\nexport { MODALS };\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEA,MAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACb,CAAC,EAAEE,qBAAS;EACZ,CAAC,EAAEC,wBAAY;EACf,CAAC,EAAEC,wBAAY;EACf,CAAC,EAAEC,qBAAS;EACZ,CAAC,EAAEC;AACL,CAAC"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getComponent = void 0;
|
|
7
|
+
var _constants = require("./constants");
|
|
7
8
|
var _Payment = require("../../Payment/Payment.constants");
|
|
8
9
|
var _components = require("../components");
|
|
9
10
|
const {
|
|
@@ -22,11 +23,12 @@ const getComponent = function () {
|
|
|
22
23
|
let {
|
|
23
24
|
cardValidation = false,
|
|
24
25
|
method,
|
|
26
|
+
methodConfig,
|
|
25
27
|
provider
|
|
26
28
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
27
29
|
let component;
|
|
28
30
|
const isValidPayment = method === TPV || [CARD, PCIPROXY].includes(method) && cardValidation;
|
|
29
|
-
if (provider === ADDON && isValidPayment) component = _components.FormAddon;else if (provider === ADYEN && isValidPayment) component = _components.FormAdyen;else if (provider === CHECKOUT && isValidPayment) component = _components.FormCheckout;else if (provider === SIPAY && isValidPayment) component = _components.FormSipay;else if (provider === PAYCOMET && isValidPayment) component = _components.FormPaycomet;
|
|
31
|
+
if (methodConfig && isValidPayment) component = _constants.MODALS[methodConfig.modal];else if (provider === ADDON && isValidPayment) component = _components.FormAddon;else if (provider === ADYEN && isValidPayment) component = _components.FormAdyen;else if (provider === CHECKOUT && isValidPayment) component = _components.FormCheckout;else if (provider === SIPAY && isValidPayment) component = _components.FormSipay;else if (provider === PAYCOMET && isValidPayment) component = _components.FormPaycomet;
|
|
30
32
|
return component;
|
|
31
33
|
};
|
|
32
34
|
exports.getComponent = getComponent;
|