@paykka/card-checkout-ui 0.13.8 → 0.13.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/dist/card-checkout-ui.js +20 -20
- package/dist/card-checkout-ui.umd.cjs +21 -21
- package/dist/es/_commonjsHelpers.js +1 -82
- package/dist/es/api/index.js +2 -1
- package/dist/es/api/modules/checkout/map.js +1 -0
- package/dist/es/api/modules/get-browser-params.js +20 -8
- package/dist/es/api/modules/index.js +2 -1
- package/dist/es/api/modules/map.js +2 -1
- package/dist/es/api/modules/risk/index.js +21 -18
- package/dist/es/api/modules/threeDS/index.js +2 -1
- package/dist/es/api/modules/vietqr/index.js +2 -1
- package/dist/es/api/utils/index.js +4 -1
- package/dist/es/components/AccordionItem/AccordionItem.js +0 -1
- package/dist/es/components/AccountNameField/index.js +1 -1
- package/dist/es/components/AddressField/index.js +1 -2
- package/dist/es/components/AliPay/index.js +4 -2
- package/dist/es/components/ApplePay/index.js +201 -135
- package/dist/es/components/Boost/index.js +4 -2
- package/dist/es/components/CPFField/index.js +88 -0
- package/dist/es/components/Card/index.js +5 -11
- package/dist/es/components/CardBrands/index.js +0 -1
- package/dist/es/components/CardExpireDateField/index.js +1 -1
- package/dist/es/components/CardHolderNameField/index.js +1 -1
- package/dist/es/components/CardIBANField/index.js +1 -1
- package/dist/es/components/CardNo/index.js +0 -1
- package/dist/es/components/CardNumberField/index.js +1 -1
- package/dist/es/components/CardSecurityCodeField/index.js +1 -1
- package/dist/es/components/CardSelector/index.js +1 -1
- package/dist/es/components/CombinedCardInfo/index.js +1 -1
- package/dist/es/components/DropIn/index.js +0 -1
- package/dist/es/components/EmailField/EmailField.js +1 -1
- package/dist/es/components/EncryptedCard/index.js +12 -11
- package/dist/es/components/GooglePay/index.js +1 -0
- package/dist/es/components/GrabPay/index.js +4 -2
- package/dist/es/components/GuideCard/index.js +1 -1
- package/dist/es/components/LinePay/index.js +4 -2
- package/dist/es/components/MayBankQRPay/index.js +4 -2
- package/dist/es/components/NinePay/index.js +4 -2
- package/dist/es/components/RecurringTip/index.js +1 -2
- package/dist/es/components/SecuredFieldsProvider/index.js +20 -3
- package/dist/es/components/SecuredIframe/index.js +50 -22
- package/dist/es/components/Sepa/index.js +4 -2
- package/dist/es/components/ShopeePay/index.js +4 -2
- package/dist/es/components/SubmitButton/index.js +1 -1
- package/dist/es/components/TNGWallet/index.js +4 -2
- package/dist/es/components/ThreeDS/index.js +1 -2
- package/dist/es/components/Tip/index.js +18 -0
- package/dist/es/components/WechatPay/index.js +4 -2
- package/dist/es/components/business/QRCodeModal/QRCodeModal.js +1 -1
- package/dist/es/components/business/QRCodeModal/index.js +0 -1
- package/dist/es/components/business/index.js +0 -1
- package/dist/es/components/index.js +0 -1
- package/dist/es/components/internal/Accordion/index.js +0 -1
- package/dist/es/components/internal/Button/Button.js +0 -1
- package/dist/es/components/internal/Button/index.js +0 -1
- package/dist/es/components/internal/CheckBox/CheckBox.js +0 -1
- package/dist/es/components/internal/CheckBox/index.js +0 -1
- package/dist/es/components/internal/Form/type.js +0 -1
- package/dist/es/components/internal/Info/Info.js +0 -1
- package/dist/es/components/internal/Info/index.js +0 -1
- package/dist/es/components/internal/Input/Input.js +1 -1
- package/dist/es/components/internal/Input/type.js +0 -1
- package/dist/es/components/internal/LoadingCheck/LoadingCheck.js +0 -1
- package/dist/es/components/internal/LoadingCheck/index.js +0 -1
- package/dist/es/components/internal/Modal/Modal.js +1 -1
- package/dist/es/components/internal/QRCode/QRCode.js +0 -1
- package/dist/es/components/internal/QRCode/index.js +0 -1
- package/dist/es/components/internal/Select/Select.js +14 -17
- package/dist/es/components/internal/Select/SelectMenu.js +2 -3
- package/dist/es/components/internal/Select/SelectMenuItem.js +0 -1
- package/dist/es/components/wallets/GCash/GCash.js +4 -2
- package/dist/es/components/wallets/OpayWallet/OpayWallet.js +8 -9
- package/dist/es/components/wallets/PagaWallet/PagaWallet.js +8 -9
- package/dist/es/components/wallets/Paymaya/Paymaya.js +4 -2
- package/dist/es/components/wallets/PicPay/PicPay.js +136 -72
- package/dist/es/components/wallets/Pix/Pix.js +136 -72
- package/dist/es/components/wallets/Vietqr/Vietqr.js +4 -2
- package/dist/es/components/wallets/Zalopay/Zalopay.js +4 -2
- package/dist/es/config.js +1 -1
- package/dist/es/constant.js +2 -0
- package/dist/es/core/checkout.js +15 -3
- package/dist/es/core/environment.js +10 -2
- package/dist/es/core/index.js +0 -1
- package/dist/es/core/query.js +2 -1
- package/dist/es/core/session.js +6 -2
- package/dist/es/core/theme.js +0 -1
- package/dist/es/core.js +585 -4
- package/dist/es/hooks/index.js +0 -1
- package/dist/es/hooks/useI18n.js +0 -1
- package/dist/es/hooks/usePayState.js +13 -6
- package/dist/es/i18n/locales/de-DE.js +6 -1
- package/dist/es/i18n/locales/en-GB.js +6 -1
- package/dist/es/i18n/locales/es-ES.js +6 -1
- package/dist/es/i18n/locales/fr-FR.js +7 -2
- package/dist/es/i18n/locales/ja-JP.js +6 -1
- package/dist/es/i18n/locales/ko-KR.js +6 -1
- package/dist/es/i18n/locales/nl-NL.js +6 -1
- package/dist/es/i18n/locales/pt-PT.js +6 -1
- package/dist/es/i18n/locales/ru-RU.js +6 -1
- package/dist/es/i18n/locales/zh-CN.js +6 -1
- package/dist/es/i18n/locales/zh-HK.js +7 -2
- package/dist/es/i18n/locales/zh-TW.js +7 -2
- package/dist/es/index.js +6 -3
- package/dist/es/out/base-fraud-detection.js +134 -0
- package/dist/es/out/config.js +16 -0
- package/dist/es/out/fraud-detection.js +118 -27
- package/dist/es/out/paykka-detection.js +63 -0
- package/dist/es/out/stripe-radar.js +25 -51
- package/dist/es/out/worldpay-ddc.js +52 -99
- package/dist/es/out/worldpay-jsc-origin.js +0 -1
- package/dist/es/out/worldpay-jsc.js +21 -43
- package/dist/es/style.css +1 -1
- package/dist/es/types/event.js +33 -13
- package/dist/es/types/index.js +14 -0
- package/dist/es/utils/cpf.js +48 -0
- package/dist/es/utils/encrypt.js +18 -0
- package/dist/es/utils/iframe.js +1 -1
- package/dist/es/utils/location.js +4 -2
- package/dist/es/utils/redirect.js +8 -5
- package/dist/es/utils/system-info/index.js +1 -3
- package/dist/style.css +1 -1
- package/dist/types/api/modules/checkout/type.d.ts +2 -0
- package/dist/types/api/modules/get-browser-params.d.ts +25 -1
- package/dist/types/api/modules/risk/index.d.ts +28 -12
- package/dist/types/api/modules/type.d.ts +5 -0
- package/dist/types/api/utils/index.d.ts +3 -0
- package/dist/types/components/ApplePay/config.d.ts +9 -0
- package/dist/types/components/ApplePay/hooks/useApplePay.d.ts +15 -0
- package/dist/types/components/ApplePay/type.d.ts +53 -10
- package/dist/types/components/ApplePay/utils.d.ts +8 -2
- package/dist/types/components/CPFField/CPFField.d.ts +4 -0
- package/dist/types/components/CPFField/index.d.ts +2 -0
- package/dist/types/components/CPFField/type.d.ts +21 -0
- package/dist/types/components/SecuredFieldsProvider/type.d.ts +8 -3
- package/dist/types/components/SecuredIframe/useSecuredInput.d.ts +2 -5
- package/dist/types/components/ThreeDS/components/ThreeDSIframe/ThreeDSIframe.d.ts +6 -0
- package/dist/types/components/Tip/Tip.d.ts +3 -0
- package/dist/types/components/Tip/index.d.ts +2 -0
- package/dist/types/components/Tip/type.d.ts +12 -0
- package/dist/types/constant.d.ts +3 -1
- package/dist/types/core/checkout.d.ts +1 -1
- package/dist/types/core/environment.d.ts +12 -0
- package/dist/types/core/session.d.ts +1 -0
- package/dist/types/i18n/locales/de-DE.d.ts +4 -0
- package/dist/types/i18n/locales/en-GB.d.ts +4 -0
- package/dist/types/i18n/locales/es-ES.d.ts +4 -0
- package/dist/types/i18n/locales/fr-FR.d.ts +4 -0
- package/dist/types/i18n/locales/ja-JP.d.ts +4 -0
- package/dist/types/i18n/locales/ko-KR.d.ts +4 -0
- package/dist/types/i18n/locales/nl-NL.d.ts +4 -0
- package/dist/types/i18n/locales/pt-PT.d.ts +4 -0
- package/dist/types/i18n/locales/ru-RU.d.ts +4 -0
- package/dist/types/i18n/locales/zh-CN.d.ts +4 -0
- package/dist/types/i18n/locales/zh-HK.d.ts +4 -0
- package/dist/types/i18n/locales/zh-TW.d.ts +4 -0
- package/dist/types/out/base-fraud-detection.d.ts +53 -0
- package/dist/types/out/config.d.ts +11 -0
- package/dist/types/out/fraud-detection.d.ts +14 -3
- package/dist/types/out/paykka-detection.d.ts +20 -0
- package/dist/types/out/stripe-radar.d.ts +7 -9
- package/dist/types/out/types.d.ts +8 -2
- package/dist/types/out/worldpay-ddc.d.ts +7 -19
- package/dist/types/out/worldpay-jsc.d.ts +8 -18
- package/dist/types/types/event.d.ts +86 -39
- package/dist/types/types/fraud-detection.d.ts +1 -1
- package/dist/types/types/index.d.ts +22 -2
- package/dist/types/types/message.d.ts +12 -12
- package/dist/types/utils/app-payment.d.ts +2 -0
- package/dist/types/utils/cpf.d.ts +32 -0
- package/dist/types/utils/encrypt.d.ts +9 -0
- package/dist/types/utils/location.d.ts +1 -0
- package/dist/types/utils/system-info/index.d.ts +0 -1
- package/package.json +5 -4
- package/dist/types/components/ThreeDS/components/ThreeDSStatus/ThreeDSStatus.d.ts +0 -3
- package/dist/types/components/ThreeDS/components/ThreeDSStatus/type.d.ts +0 -6
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { limitedToNumber } from "./format.js";
|
|
2
|
+
const CPF_LENGTH = 11;
|
|
3
|
+
const CPF_FULL_LENGTH = 14;
|
|
4
|
+
const CNPJ_FULL_LENGTH = 18;
|
|
5
|
+
const formatCPF = (val) => {
|
|
6
|
+
if (val.length <= CPF_LENGTH) {
|
|
7
|
+
return val.replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d{1,2})$/, "$1-$2");
|
|
8
|
+
} else {
|
|
9
|
+
return val.replace(/^(\d{2})(\d)/, "$1.$2").replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3").replace(/\.(\d{3})(\d)/, ".$1/$2").replace(/(\d{4})(\d{1,2})$/, "$1-$2");
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const formatCPFOnInsert = (event) => {
|
|
13
|
+
const { currentTarget } = event;
|
|
14
|
+
const input = currentTarget;
|
|
15
|
+
const selectionStart = input.selectionStart;
|
|
16
|
+
const rawValue = input.value;
|
|
17
|
+
const digits = limitedToNumber(rawValue).slice(0, CPF_FULL_LENGTH);
|
|
18
|
+
const digitPos = getDigitPosition(rawValue, selectionStart);
|
|
19
|
+
const formattedValue = formatCPF(digits);
|
|
20
|
+
const cursorPosition = getFormattedPosition(formattedValue, digitPos);
|
|
21
|
+
return { value: formattedValue, cursorPosition };
|
|
22
|
+
};
|
|
23
|
+
const getDigitPosition = (formatted, pos) => {
|
|
24
|
+
let digitPos = 0;
|
|
25
|
+
for (let i = 0; i < pos && i < formatted.length; i++) {
|
|
26
|
+
if (/\d/.test(formatted[i])) {
|
|
27
|
+
digitPos++;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return digitPos;
|
|
31
|
+
};
|
|
32
|
+
const getFormattedPosition = (formatted, digitPos) => {
|
|
33
|
+
let count = 0;
|
|
34
|
+
for (let i = 0; i < formatted.length; i++) {
|
|
35
|
+
if (/\d/.test(formatted[i])) {
|
|
36
|
+
if (count === digitPos) {
|
|
37
|
+
return i;
|
|
38
|
+
}
|
|
39
|
+
count++;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return formatted.length;
|
|
43
|
+
};
|
|
44
|
+
export {
|
|
45
|
+
CNPJ_FULL_LENGTH,
|
|
46
|
+
CPF_FULL_LENGTH,
|
|
47
|
+
formatCPFOnInsert
|
|
48
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { managedNonce, gcm } from "../core.js";
|
|
2
|
+
const sha256 = async (data) => {
|
|
3
|
+
const bytes = typeof data === "string" ? new TextEncoder().encode(data) : data;
|
|
4
|
+
const buf = await crypto.subtle.digest("SHA-256", bytes);
|
|
5
|
+
return new Uint8Array(buf);
|
|
6
|
+
};
|
|
7
|
+
const toBase64 = (bytes) => {
|
|
8
|
+
return btoa(String.fromCharCode(...bytes));
|
|
9
|
+
};
|
|
10
|
+
const encryptAES = async (key, data) => {
|
|
11
|
+
const raw = managedNonce(gcm)(await sha256(key)).encrypt(
|
|
12
|
+
new TextEncoder().encode(data)
|
|
13
|
+
);
|
|
14
|
+
return toBase64(raw);
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
encryptAES
|
|
18
|
+
};
|
package/dist/es/utils/iframe.js
CHANGED
|
@@ -11,7 +11,7 @@ const createIframe = (src) => {
|
|
|
11
11
|
return iframeEl;
|
|
12
12
|
};
|
|
13
13
|
const postMessageToIframe = (data, iframe, targetOrigin = "*") => {
|
|
14
|
-
if (!iframe) {
|
|
14
|
+
if (!iframe || iframe === window) {
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
const dataStr = typeof data === "string" ? data : JSON.stringify(data);
|
|
@@ -21,12 +21,14 @@ const parseUrl = (url) => {
|
|
|
21
21
|
const baseUrl = urlObj.origin + urlObj.pathname;
|
|
22
22
|
return {
|
|
23
23
|
baseUrl,
|
|
24
|
-
params
|
|
24
|
+
params,
|
|
25
|
+
origin: urlObj.origin
|
|
25
26
|
};
|
|
26
27
|
} catch (error) {
|
|
27
28
|
return {
|
|
28
29
|
baseUrl: url,
|
|
29
|
-
params: {}
|
|
30
|
+
params: {},
|
|
31
|
+
origin: ""
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
34
|
};
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { parseUrl, createUrlWithParams } from "./location.js";
|
|
2
2
|
const redirectToPayment = (payInfo) => {
|
|
3
|
-
const {
|
|
4
|
-
if (
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
3
|
+
const { requestMethod, targetUrl } = payInfo;
|
|
4
|
+
if (!targetUrl) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
if (requestMethod === "GET") {
|
|
8
|
+
redirectByGet(targetUrl, {});
|
|
9
|
+
} else {
|
|
10
|
+
const { baseUrl, params } = parseUrl(targetUrl);
|
|
8
11
|
redirectByPost(baseUrl, params);
|
|
9
12
|
}
|
|
10
13
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getFingerprint } from "./finger-print.js";
|
|
2
1
|
import "./get-browser-info.js";
|
|
3
2
|
import { getSystemInfo } from "./get-system-info.js";
|
|
4
3
|
const getTimeZoneOffset = () => {
|
|
@@ -23,8 +22,7 @@ const getBrowser = async () => {
|
|
|
23
22
|
screenHeight,
|
|
24
23
|
screenWidth,
|
|
25
24
|
cookies: document.cookie,
|
|
26
|
-
osName
|
|
27
|
-
deviceFingerprintId: await getFingerprint()
|
|
25
|
+
osName
|
|
28
26
|
};
|
|
29
27
|
};
|
|
30
28
|
export {
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.paykka-card-checkout,.paykka-card-checkout *{box-sizing:border-box}.paykka-card-checkout-ali-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-ali-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-ali-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-address-field__first-item .paykka-card-checkout-input__input-wrapper{padding:var(--paykka-field-padding)}.paykka-card-checkout-address-field__first-item--no-bottom-radius .paykka-card-checkout-input__input-wrapper{border-bottom-right-radius:0;border-bottom-left-radius:0}.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper{padding:var(--paykka-field-padding);border-radius:0;border-top:0}.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper:active,.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper--focus,.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper:focus{border-top:1px solid var(--paykka-primary-color);box-shadow:var(--paykka-field-box-shadow)}.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper{padding:var(--paykka-field-padding);border-top-right-radius:0;border-top-left-radius:0;border-top:0}.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper:active,.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper--focus,.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper:focus{border-top:1px solid var(--paykka-primary-color);box-shadow:var(--paykka-field-box-shadow)}.paykka-card-checkout-form-item{font-size:var(--paykka-font-size-base)}.paykka-card-checkout-form-item__label{margin-bottom:var(--paykka-spacing-small-2);transition:margin-bottom .1s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;line-height:23px}@media (min-width: 480px){.paykka-card-checkout-form-item__label{margin-bottom:var(--paykka-spacing-small-3)}}.paykka-card-checkout-form-item__error-text{margin-top:var(--paykka-spacing-small-1);color:var(--paykka-error-color);font-size:var(--paykka-font-size-small)}.paykka-card-checkout-input{position:relative;box-sizing:border-box;font-size:var(--paykka-font-size-base)}.paykka-card-checkout-input__input-wrapper{display:flex;align-items:center;height:var(--paykka-field-item-height);width:100%;border-radius:var(--paykka-border-radius-base);border:1px solid var(--paykka-border-color);transition:border .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);background-color:var(--paykka-field-bg-color);caret-color:var(--paykka-card-checkout-input-color, #4F43DF) .paykka-card-checkout-input__input-wrapper --error;caret-color-border:1px solid var(--paykka-error-color)}.paykka-card-checkout-input__input-wrapper:active,.paykka-card-checkout-input__input-wrapper--focus,.paykka-card-checkout-input__input-wrapper:focus{border:1px solid var(--paykka-primary-color);box-shadow:0 0 0 1px var(--paykka-primary-color)}.paykka-card-checkout-input__input-wrapper-disabled{cursor:not-allowed;background:var(--paykka-field-disabled-bg-color)}.paykka-card-checkout-input__input-wrapper-disabled:active,.paykka-card-checkout-input__input-wrapper-disabled--focus,.paykka-card-checkout-input__input-wrapper-disabled:focus{border:1px solid var(--paykka-field-disabled-bg-color);box-shadow:0 0 0 2px var(--paykka-field-disabled-bg-color)}.paykka-card-checkout-input__input{outline:none;border:none;height:100%;width:100%;border-radius:var(--paykka-border-radius-base);caret-color:var(--paykka-primary-color);font-size:var(--paykka-font-size-base);padding-left:var(--paykka-spacing-small-3);background-color:transparent}.paykka-card-checkout-input__input::placeholder{color:var(--paykka-placeholder-color)}.paykka-card-checkout-input__input:-webkit-autofill,.paykka-card-checkout-input__input:-internal-autofill-selected{background-color:transparent!important}.paykka-card-checkout-input__right-icon{padding-right:var(--paykka-spacing-small-3);display:flex;align-items:center;flex-shrink:0;margin-left:var(--paykka-spacing-small-3)}.paykka-card-checkout-input__left-icon{padding-left:var(--paykka-spacing-small-3);display:flex;align-items:center;flex-shrink:0;margin-right:var(--paykka-spacing-small-3)}.paykka-card-checkout-select{color:var(--paykka-field-font-color)}.paykka-card-checkout-select__wrapper{width:100%;position:relative;cursor:pointer}.paykka-card-checkout-select__render-label{position:absolute;top:0;line-height:var(--paykka-field-item-height);height:var(--paykka-field-item-height);padding:0 var(--paykka-spacing-small-3);display:flex;color:var(--paykka-field-font-color)}.paykka-card-checkout-select__render-label--placeholder{color:#c2c2c2}.paykka-card-checkout-select__render-label--hidden{visibility:hidden}.paykka-card-checkout-select__menu{margin-top:4px;width:100%;max-height:260px;background:var(--paykka-field-bg-color);box-shadow:0 4px 14px #0000001a;border-radius:var(--paykka-border-radius-base);border:1px solid var(--paykka-border-color);overflow-y:auto;z-index:999;position:absolute}.paykka-card-checkout-select__menu-item{padding:6px 12px;line-height:32px;color:#626266;cursor:pointer;display:flex;justify-content:space-between}.paykka-card-checkout-select__menu-item:hover,.paykka-card-checkout-select__menu-item:active,.paykka-card-checkout-select__menu-item--selected,.paykka-card-checkout-select__menu-item:focus{color:var(--paykka-font-color);background:#f3f3f5}.paykka-card-checkout-select__menu-item-icon{margin-left:10px;display:flex;align-items:center}.paykka-card-checkout-select__menu-no-data{height:200px;display:flex;justify-content:center;align-items:center;color:#c2c2c2}.paykka-card-checkout-info{display:flex;align-items:center;padding:var(--paykka-spacing-small-3) var(--paykka-spacing-small-5);border-radius:var(--paykka-border-radius-base)}.paykka-card-checkout-info--error{background-color:#ffece8}.paykka-card-checkout-info__icon{margin-right:var(--paykka-spacing-small-2);height:1.3em;display:flex;align-items:center}.paykka-card-checkout-info__content{text-align:justify;word-break:break-all}.paykka-card-checkout-recurring-tip{display:flex;color:var(--paykka-gray2-color)}.paykka-card-checkout-recurring-tip__icon{width:20px;display:flex;padding-top:var(--paykka-spacing-small-1);padding-right:var(--paykka-spacing-small-1)}.paykka-card-checkout-submit-button--success{opacity:1!important;background-color:var(--paykka-success-color)!important}.paykka-card-checkout-submit-button__text{line-height:1}.paykka-card-checkout-submit-button__text--not-verified{opacity:.6;color:var(--paykka-button-font-color)}.paykka-card-checkout-button{display:flex;align-items:center;justify-content:center;width:100%;height:var(--paykka-field-item-height);padding:0 var(--paykka-spacing-small-3);border-radius:var(--paykka-border-radius-base);border:0;background-color:var(--paykka-button-bg-color);color:var(--paykka-button-font-color);font-size:var(--paykka-font-size-base);cursor:pointer;text-decoration:none;transition:background-color .3s cubic-bezier(.4,0,.2,1)}.paykka-card-checkout-button:not(.paykka-card-checkout-button--loading).paykka-card-checkout-button:not(.paykka-card-checkout-button--disabled).paykka-card-checkout-button:not(.paykka-card-checkout-button--dashed):hover{background-color:var(--paykka-button-bg-color-hover)}.paykka-card-checkout-button:not(.paykka-card-checkout-button--loading).paykka-card-checkout-button:not(.paykka-card-checkout-button--disabled).paykka-card-checkout-button:not(.paykka-card-checkout-button--dashed):active{background-color:var(--paykka-button-bg-color-active)}.paykka-card-checkout-button--loading{cursor:wait}.paykka-card-checkout-button--disabled{cursor:not-allowed;opacity:.5}.paykka-card-checkout-button--dashed{border:1px dashed var(--paykka-border-color);color:var(--paykka-font-color);background-color:transparent}.paykka-card-checkout-button__icon{display:flex;align-items:center;margin-right:var(--paykka-spacing-small-3)}.paykka-card-checkout-loading-check{display:inline-flex;align-items:center;overflow:hidden;--circle-transition-time: .3s;--check-dashoffset: 50}.paykka-card-checkout-loading-check__circle{transition:stroke-dasharray var(--circle-transition-time) linear}.paykka-card-checkout-loading-check__circle--loading{animation:spin 1s infinite linear;transform-origin:center}.paykka-card-checkout-loading-check__check{stroke-dasharray:var(--check-dashoffset);stroke-dashoffset:var(--check-dashoffset);animation:tick .5s ease-out;animation-fill-mode:forwards;animation-delay:var(--circle-transition-time)}@keyframes tick{0%{stroke-dashoffset:var(--check-dashoffset)}to{stroke-dashoffset:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.paykka-card-checkout-card{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-card{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-card__center{display:flex;justify-content:space-between}.paykka-card-checkout-card__center>div{width:calc((100% - var(--paykka-spacing-small-5)) / 2);transition:width .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-card__center>div{width:calc((100% - var(--paykka-spacing-large-3)) / 2)}}.paykka-card-checkout-card__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-card__card-brands{margin-top:var(--paykka-spacing-small-2)}.paykka-card-checkout-card__card-number-wrapper{position:relative}.paykka-card-checkout-card__change-box{display:flex;align-items:center;color:#4f43df;font-size:var(--paykka-font-size-small);position:absolute;top:0;right:0;cursor:pointer}.paykka-card-checkout-card__card-selector-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap;row-gap:var(--paykka-spacing-base);column-gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-card__card-selector-wrapper{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-card__card-selector{flex:2;min-width:250px}.paykka-card-checkout-card__card-security-code{flex:1}.paykka-card-checkout-card-brands{display:flex;flex-wrap:wrap;gap:6px}.paykka-card-checkout-card-brands__more{line-height:32px;font-size:13px;color:var(--paykka-sub-font-color-1)}.paykka-card-checkout-card-selector{color:var(--paykka-font-color)}.paykka-card-checkout-card-selector__action{padding:var(--paykka-spacing-small-2) var(--paykka-spacing-small-3)}.paykka-card-checkout-card-selector__label{display:flex;align-items:center}.paykka-card-checkout-card-selector__card-no{margin-left:var(--paykka-spacing-small-3);color:var(--paykka-font-color)}.paykka-card-checkout-card-selector__change{display:flex;align-items:center;color:var(--paykka-primary-color);font-size:var(--paykka-font-size-small)}.paykka-card-checkout-card-no{color:var(--paykka-font-color)}.paykka-card-checkout-card-no__wrapper{display:flex;align-items:center}.paykka-card-checkout-card-no__dot{width:4px;height:4px;background:currentColor;margin-right:var(--paykka-spacing-small-1);border-radius:50%}.paykka-card-checkout-card-no__card-no{margin-left:var(--paykka-spacing-small-1)}.paykka-card-checkout-check-box{display:inline-flex;align-items:center;font-size:var(--paykka-font-size-small);background-color:transparent;cursor:pointer}.paykka-card-checkout-check-box:hover .paykka-card-checkout-check-box__inner{border-color:var(--paykka-primary-color)}.paykka-card-checkout-check-box--checked .paykka-card-checkout-check-box__inner{border-color:var(--paykka-primary-color);background-color:var(--paykka-primary-color)}.paykka-card-checkout-check-box__inner{width:14px;height:14px;border:1px solid var(--paykka-border-color);border-radius:var(--paykka-border-radius-mini);margin-right:var(--paykka-spacing-small-2);transition:border-color .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.paykka-card-checkout-modal{position:fixed;left:0;right:0;top:0;bottom:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center}.paykka-card-checkout-modal__mask{position:fixed;left:0;right:0;top:0;bottom:0;background-color:var(--paykka-modal-mask-bg-color)}.paykka-card-checkout-modal__content{position:relative;z-index:9999;border-radius:var(--paykka-border-radius-base);background-color:#fff;box-shadow:0 8px 16px -8px #00000014,0 12px 32px #0000000f,0 16px 48px 16px #0000000a;display:flex;flex-direction:column}.paykka-card-checkout-modal__close{cursor:pointer;right:0;position:absolute;transform:translateY(-150%);color:var(--paykka-gray4-color)}.paykka-card-checkout-modal__close:hover{color:#fff}.paykka-card-checkout-modal__body{flex:1;padding:var(--paykka-spacing-small-5);overflow-y:hidden}@media (min-width: 480px){.paykka-card-checkout-modal__body{padding:var(--paykka-spacing-large-1)}}.paykka-card-checkout-three-ds-auth__content{height:100%}.paykka-card-checkout-three-ds-auth__last-three-ds{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow-y:auto}.paykka-card-checkout-three-ds-auth__last-three-ds-title{margin-top:var(--paykka-spacing-base);margin-bottom:var(--paykka-spacing-large-5);color:var(--paykka-font-color);font-size:var(--paykka-font-size-large-2);font-weight:700;text-align:center}.paykka-card-checkout-three-ds-auth__last-three-ds-icon{flex-shrink:0}.paykka-card-checkout-three-ds-auth__three-ds-iframe{display:block;border-radius:var(--paykka-border-radius-base)}.paykka-card-checkout-combined-card-info{width:100%;height:100%;display:flex}.paykka-card-checkout-combined-card-info__card-number{flex:1}.paykka-card-checkout-combined-card-info__expire-date{width:100px}.paykka-card-checkout-combined-card-info__cvv{width:60px}.paykka-card-checkout-combined-card-info__blank-icon{width:16px;height:16px}.paykka-card-checkout-wechat-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-wechat-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-wechat-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-apple-pay__error{margin-bottom:var(--paykka-spacing-small-5);transition:margin-bottom .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-apple-pay__error{margin-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-apple-pay__button{width:100%;display:flex;align-items:center;justify-content:center;height:var(--paykka-field-item-height)}.paykka-card-checkout-google-pay__error{margin-bottom:var(--paykka-spacing-small-5);transition:margin-bottom .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-google-pay__error{margin-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-sepa{min-width:var(--paykka-form-min-width)}.paykka-card-checkout-sepa__field{margin-bottom:var(--paykka-spacing-large-1)}.paykka-card-checkout-sepa__holder-name{padding-bottom:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-sepa__holder-name{padding-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-sepa__button{margin-top:var(--paykka-spacing-small-5);transition:margin-top .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-sepa__button{margin-top:var(--paykka-spacing-base)}}.paykka-card-checkout-boost{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-boost{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-boost__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-guide-card{border:1px solid var(--paykka-border-color);border-radius:var(--paykka-border-radius-large);padding:var(--paykka-spacing-small-5);margin-bottom:var(--paykka-spacing-large-1)}@media (min-width: 480px){.paykka-card-checkout-guide-card{padding:var(--paykka-spacing-small-5);margin-bottom:var(--paykka-spacing-large-3)}}.paykka-card-checkout-guide-card__content{display:flex;align-items:center}.paykka-card-checkout-guide-card__icon{flex-shrink:0}.paykka-card-checkout-guide-card__description{color:var(--paykka-gray2-color);font-size:var(--paykka-font-size-small);margin-left:var(--paykka-spacing-small-3)}.paykka-card-checkout-guide-card svg{display:block}.paykka-card-checkout-nine-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-nine-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-nine-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-line-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-line-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-line-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-tng-wallet{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-tng-wallet{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-tng-wallet__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-may-bank-qr-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-may-bank-qr-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-may-bank-qr-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-shopee-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-shopee-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-shopee-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-grab-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-grab-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-grab-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-qr-code-modal{padding-top:var(--paykka-spacing-base);display:flex;flex-direction:column;align-items:center;justify-content:center}.paykka-card-checkout-qr-code-modal__container{width:208px}.paykka-card-checkout-qr-code-modal__title{font-size:var(--paykka-font-size-large);font-weight:550;text-align:center}.paykka-card-checkout-qr-code-modal__body{margin:var(--paykka-spacing-base) 0;padding:var(--paykka-spacing-small-5);border-radius:var(--paykka-border-radius-base);display:flex;flex-direction:column;align-items:center;justify-content:center}.paykka-card-checkout-qr-code-modal__icon{height:22px}.paykka-card-checkout-qr-code-modal__qr-code{margin-top:var(--paykka-spacing-small-5);width:180px;height:180px;border-radius:var(--paykka-border-radius-small);background-color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.paykka-card-checkout-qr-code-modal__expired-time{margin-top:var(--paykka-spacing-small-5);font-size:var(--paykka-font-size-small);text-align:center}.paykka-card-checkout-qr-code-modal__expired-time-text{font-size:var(--paykka-font-size-small);text-align:center}.paykka-card-checkout-qr-code-modal__amount{font-size:var(--paykka-font-size-large-3);color:var(--paykka-font-color);font-weight:550}.paykka-card-checkout-qr-code-modal__qr-code-container{position:relative}.paykka-card-checkout-qr-code-modal__round-border{margin-top:var(--paykka-spacing-small-5);width:180px;height:180px;position:absolute;top:0;left:0}.paykka-card-checkout-qr-code-modal__round-border-item{width:20px;height:20px;border-top:2px solid #000000;border-left:2px solid #000000;position:absolute}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(1){top:0;left:0}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(2){transform:rotate(90deg);top:0;right:0}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(3){transform:rotate(180deg);bottom:0;right:0}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(4){transform:rotate(270deg);bottom:0;left:0}.paykka-card-checkout-gcash{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-gcash{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-gcash__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-paymaya{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-paymaya{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-paymaya__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-zalopay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-zalopay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-zalopay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-vietqr{min-width:var(--paykka-form-min-width)}.paykka-card-checkout-vietqr__field{margin-bottom:var(--paykka-spacing-small-4)}@media (min-width: 480px){.paykka-card-checkout-vietqr__field{margin-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-vietqr__button{margin-top:var(--paykka-spacing-small-4);transition:margin-top .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-vietqr__button{margin-top:var(--paykka-spacing-base)}}.paykka-card-checkout-pix{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-pix{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-pix__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-pic-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-pic-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-pic-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-opay-wallet{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-opay-wallet{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-opay-wallet__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-paga-wallet{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-paga-wallet{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-paga-wallet__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-payment-tabs{display:flex;flex-wrap:nowrap;justify-content:flex-start;column-gap:6px}.paykka-card-checkout-payment-tabs__tab{border:2px solid #E1E1E5;padding:12px;border-radius:12px;width:calc((100% - 12px) / 3)}@media (min-width: 480px){.paykka-card-checkout-payment-tabs__tab{padding:16px}}.paykka-card-checkout-payment-tabs__name{color:#626266}.paykka-card-checkout-drop-in__header-payment{margin-bottom:var(--paykka-field-label-spacing)}.paykka-card-checkout-drop-in__other{display:flex;justify-content:center;align-items:center;margin-top:var(--paykka-spacing-large-1);margin-bottom:var(--paykka-spacing-large-1)}@media (min-width: 480px){.paykka-card-checkout-drop-in__other{margin-top:var(--paykka-spacing-large-5);margin-bottom:var(--paykka-spacing-large-5)}}.paykka-card-checkout-drop-in__accordion-icon{display:flex;align-items:center}.paykka-card-checkout-drop-in__other-text{margin:0 var(--paykka-spacing-small-5);color:var(--paykka-sub-font-color-2)}.paykka-card-checkout-drop-in__other-line{background-color:var(--paykka-border-color);flex-grow:.5;height:1px}.paykka-card-checkout-drop-in__tabs-wrapper{margin-bottom:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-drop-in__tabs-wrapper{margin-bottom:var(--paykka-spacing-large-1)}}.paykka-card-checkout-drop-in__accordion-icon{margin-right:var(--paykka-spacing-small-3)}:root{--paykka-primary-color: #4F43DF;--paykka-primary-color-hover: #3f33bb;--paykka-primary-color-active: #312498;--paykka-success-color: #00B42A;--paykka-error-color: #F53F3F;--paykka-error-bg-color: #FFECE8;--paykka-gray1-color: #E1E1E5;--paykka-gray2-color: #A9A9A9;--paykka-gray3-color: #626266;--paykka-gray4-color: #D9D9D9;--paykka-border-radius-mini: 2px;--paykka-border-radius-small: 4px;--paykka-border-radius-base: 8px;--paykka-border-radius-large: 12px;--paykka-font-size-mini: 12px;--paykka-font-size-small: 14px;--paykka-font-size-base: 16px;--paykka-font-size-large: 18px;--paykka-font-size-large-2: 20px;--paykka-font-size-large-3: 22px;--paykka-font-color: #1F1F1F;--paykka-sub-font-color-1: #626266;--paykka-sub-font-color-2: #6E6E7E;--paykka-placeholder-color: #C2C2C2;--paykka-border-color: var(--paykka-gray1-color);--paykka-spacing-small-1: 4px;--paykka-spacing-small-2: 8px;--paykka-spacing-small-3: 12px;--paykka-spacing-small-4: 14px;--paykka-spacing-small-5: 16px;--paykka-spacing-base: 20px;--paykka-spacing-large-1: 24px;--paykka-spacing-large-2: 28px;--paykka-spacing-large-3: 32px;--paykka-spacing-large-4: 36px;--paykka-spacing-large-5: 40px;--paykka-button-bg-color: var(--paykka-primary-color);--paykka-button-bg-color-hover: var(--paykka-primary-color-hover);--paykka-button-bg-color-active: var(--paykka-primary-color-active);--paykka-button-font-color: #FFFFFF;--paykka-field-label-spacing: 10px;--paykka-field-padding: var(--paykka-spacing-small-2) 0;--paykka-field-box-shadow: 0 0 0 1px var(--paykka-primary-color);--paykka-field-item-height: 44px;--paykka-field-bg-color: #FFFFFF;--paykka-field-disabled-bg-color: #F5F5F7;--paykka-field-font-color: var(--paykka-font-color);--apple-pay-button-width: 100%;--apple-pay-button-height: var(--paykka-field-item-height);--apple-pay-button-border-radius: var(--paykka-border-radius-base);--apple-pay-button-padding: 0px 0px;--apple-pay-button-box-sizing: border-box;--paykka-drop-in-title-color: var(--paykka-gray3-color);--paykka-modal-mask-bg-color: rgba(0, 0, 0, .4);--paykka-form-min-width: 250px}.paykka-card-checkout ::-webkit-scrollbar{height:6px;width:6px}.paykka-card-checkout ::-webkit-scrollbar-thumb{background-color:#00000040;border-radius:4px}.paykka-card-checkout ::-webkit-scrollbar-button{display:none!important}.paykka-card-checkout ::-moz-scrollbar-button{display:none!important}.paykka-card-checkout-accordion-item{border:1px solid var(--paykka-border-color);border-radius:var(--paykka-border-radius-base);margin-bottom:var(--paykka-spacing-small-4);padding:0 var(--paykka-spacing-small-4);transition:all .3s linear}@media (min-width: 480px){.paykka-card-checkout-accordion-item{padding:0 var(--paykka-spacing-small-5)}}.paykka-card-checkout-accordion-item--disabled{cursor:not-allowed;opacity:.4}.paykka-card-checkout-accordion-item__header{cursor:pointer;display:flex;align-items:center;padding-top:var(--paykka-spacing-small-4);padding-bottom:var(--paykka-spacing-small-4);font-size:var(--paykka-font-size-small);line-height:20px;transition:all .3s linear}@media (min-width: 480px){.paykka-card-checkout-accordion-item__header{padding-top:var(--paykka-spacing-small-5);padding-bottom:var(--paykka-spacing-small-5);font-size:var(--paykka-font-size-base);line-height:22px}}.paykka-card-checkout-accordion-item__title{font-size:var(--paykka-font-size-base);line-height:22px;color:var(--paykka-drop-in-title-color)}.paykka-card-checkout-accordion-item__title--active{color:var(--paykka-primary-color)}.paykka-card-checkout-accordion-item__content{max-height:0;opacity:0;overflow:hidden}.paykka-card-checkout-accordion-item__content--active{opacity:1;padding-bottom:var(--paykka-spacing-small-3)}@media (min-width: 480px){.paykka-card-checkout-accordion-item__content--active{padding-bottom:var(--paykka-spacing-small-5)}}
|
|
1
|
+
@charset "UTF-8";.paykka-card-checkout,.paykka-card-checkout *{box-sizing:border-box}.paykka-card-checkout-ali-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-ali-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-ali-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-address-field__first-item .paykka-card-checkout-input__input-wrapper{padding:var(--paykka-field-padding)}.paykka-card-checkout-address-field__first-item .paykka-card-checkout-input__input-wrapper:active,.paykka-card-checkout-address-field__first-item .paykka-card-checkout-input__input-wrapper--focus,.paykka-card-checkout-address-field__first-item .paykka-card-checkout-input__input-wrapper:focus{position:relative;z-index:1}.paykka-card-checkout-address-field__first-item--no-bottom-radius .paykka-card-checkout-input__input-wrapper{border-bottom-right-radius:0;border-bottom-left-radius:0}.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper{padding:var(--paykka-field-padding);border-radius:0;border-top:0}.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper:active,.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper--focus,.paykka-card-checkout-address-field__mid-item .paykka-card-checkout-input__input-wrapper:focus{position:relative;z-index:1;border-top:1px solid var(--paykka-primary-color);box-shadow:var(--paykka-field-box-shadow)}.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper{padding:var(--paykka-field-padding);border-top-right-radius:0;border-top-left-radius:0;border-top:0}.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper:active,.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper--focus,.paykka-card-checkout-address-field__last-item .paykka-card-checkout-input__input-wrapper:focus{position:relative;z-index:1;border-top:1px solid var(--paykka-primary-color);box-shadow:var(--paykka-field-box-shadow)}.paykka-card-checkout-form-item{font-size:var(--paykka-font-size-base)}.paykka-card-checkout-form-item__label{margin-bottom:var(--paykka-spacing-small-2);transition:margin-bottom .1s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;line-height:23px}@media (min-width: 480px){.paykka-card-checkout-form-item__label{margin-bottom:var(--paykka-spacing-small-3)}}.paykka-card-checkout-form-item__error-text{margin-top:var(--paykka-spacing-small-1);color:var(--paykka-error-color);font-size:var(--paykka-font-size-small)}.paykka-card-checkout-input{position:relative;box-sizing:border-box;font-size:var(--paykka-font-size-base)}.paykka-card-checkout-input__input-wrapper{display:flex;align-items:center;height:var(--paykka-field-item-height);width:100%;border-radius:var(--paykka-border-radius-base);border:1px solid var(--paykka-border-color);transition:border .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);background-color:var(--paykka-field-bg-color);caret-color:var(--paykka-card-checkout-input-color, #4F43DF)}.paykka-card-checkout-input__input-wrapper--error{border:1px solid var(--paykka-error-color)}.paykka-card-checkout-input__input-wrapper:active,.paykka-card-checkout-input__input-wrapper--focus,.paykka-card-checkout-input__input-wrapper:focus{border:1px solid var(--paykka-primary-color);box-shadow:0 0 0 1px var(--paykka-primary-color)}.paykka-card-checkout-input__input-wrapper-disabled{cursor:not-allowed;background:var(--paykka-field-disabled-bg-color)}.paykka-card-checkout-input__input-wrapper-disabled:active,.paykka-card-checkout-input__input-wrapper-disabled--focus,.paykka-card-checkout-input__input-wrapper-disabled:focus{border:1px solid var(--paykka-field-disabled-bg-color);box-shadow:0 0 0 2px var(--paykka-field-disabled-bg-color)}.paykka-card-checkout-input__input{outline:none;border:none;height:100%;width:100%;border-radius:var(--paykka-border-radius-base);caret-color:var(--paykka-primary-color);font-size:var(--paykka-font-size-base);padding-left:var(--paykka-spacing-small-3);background-color:transparent}.paykka-card-checkout-input__input::placeholder{color:var(--paykka-placeholder-color)}.paykka-card-checkout-input__input:-webkit-autofill,.paykka-card-checkout-input__input:-internal-autofill-selected{background-color:transparent!important}.paykka-card-checkout-input__right-icon{padding-right:var(--paykka-spacing-small-3);display:flex;align-items:center;flex-shrink:0;margin-left:var(--paykka-spacing-small-3)}.paykka-card-checkout-input__left-icon{padding-left:var(--paykka-spacing-small-3);display:flex;align-items:center;flex-shrink:0;margin-right:var(--paykka-spacing-small-3)}.paykka-card-checkout-select{color:var(--paykka-field-font-color)}.paykka-card-checkout-select__wrapper{width:100%;position:relative;cursor:pointer}.paykka-card-checkout-select__render-label{position:absolute;top:0;z-index:2;line-height:var(--paykka-field-item-height);height:var(--paykka-field-item-height);padding:0 var(--paykka-spacing-small-3);display:flex;color:var(--paykka-field-font-color)}.paykka-card-checkout-select__render-label--placeholder{color:#c2c2c2}.paykka-card-checkout-select__render-label--hidden{visibility:hidden}.paykka-card-checkout-select__menu{margin-top:4px;width:100%;max-height:260px;background:var(--paykka-field-bg-color);box-shadow:0 4px 14px #0000001a;border-radius:var(--paykka-border-radius-base);border:1px solid var(--paykka-border-color);overflow-y:auto;z-index:999;position:absolute}.paykka-card-checkout-select__menu-item{padding:6px 12px;line-height:32px;color:#626266;cursor:pointer;display:flex;justify-content:space-between}.paykka-card-checkout-select__menu-item:hover,.paykka-card-checkout-select__menu-item:active,.paykka-card-checkout-select__menu-item--selected,.paykka-card-checkout-select__menu-item:focus{color:var(--paykka-font-color);background:#f3f3f5}.paykka-card-checkout-select__menu-item-icon{margin-left:10px;display:flex;align-items:center}.paykka-card-checkout-select__menu-no-data{height:200px;display:flex;justify-content:center;align-items:center;color:#c2c2c2}.paykka-card-checkout-info{display:flex;align-items:center;padding:var(--paykka-spacing-small-3) var(--paykka-spacing-small-5);border-radius:var(--paykka-border-radius-base)}.paykka-card-checkout-info--error{background-color:#ffece8}.paykka-card-checkout-info__icon{margin-right:var(--paykka-spacing-small-2);height:1.3em;display:flex;align-items:center}.paykka-card-checkout-info__content{text-align:justify;word-break:break-all}.paykka-card-checkout-recurring-tip{display:flex;align-items:center;color:var(--paykka-gray2-color)}.paykka-card-checkout-recurring-tip__icon{width:20px;display:flex;padding-top:var(--paykka-spacing-small-1);padding-right:var(--paykka-spacing-small-1)}.paykka-card-checkout-recurring-tip__text{font-size:var(--paykka-font-size-small)}.paykka-card-checkout-submit-button--success{opacity:1!important;background-color:var(--paykka-success-color)!important}.paykka-card-checkout-submit-button__text{line-height:1}.paykka-card-checkout-submit-button__text--not-verified{opacity:.6;color:var(--paykka-button-font-color)}.paykka-card-checkout-button{display:flex;align-items:center;justify-content:center;width:100%;height:var(--paykka-field-item-height);padding:0 var(--paykka-spacing-small-3);border-radius:var(--paykka-border-radius-base);border:0;background-color:var(--paykka-button-bg-color);color:var(--paykka-button-font-color);font-size:var(--paykka-font-size-base);cursor:pointer;text-decoration:none;transition:background-color .3s cubic-bezier(.4,0,.2,1)}.paykka-card-checkout-button:not(.paykka-card-checkout-button--loading).paykka-card-checkout-button:not(.paykka-card-checkout-button--disabled).paykka-card-checkout-button:not(.paykka-card-checkout-button--dashed):hover{background-color:var(--paykka-button-bg-color-hover)}.paykka-card-checkout-button:not(.paykka-card-checkout-button--loading).paykka-card-checkout-button:not(.paykka-card-checkout-button--disabled).paykka-card-checkout-button:not(.paykka-card-checkout-button--dashed):active{background-color:var(--paykka-button-bg-color-active)}.paykka-card-checkout-button--loading{cursor:wait}.paykka-card-checkout-button--disabled{cursor:not-allowed;opacity:.5}.paykka-card-checkout-button--dashed{border:1px dashed var(--paykka-border-color);color:var(--paykka-font-color);background-color:transparent}.paykka-card-checkout-button__icon{display:flex;align-items:center;margin-right:var(--paykka-spacing-small-3)}.paykka-card-checkout-loading-check{display:inline-flex;align-items:center;overflow:hidden;--circle-transition-time: .3s;--check-dashoffset: 50}.paykka-card-checkout-loading-check__circle{transition:stroke-dasharray var(--circle-transition-time) linear}.paykka-card-checkout-loading-check__circle--loading{animation:spin 1s infinite linear;transform-origin:center}.paykka-card-checkout-loading-check__check{stroke-dasharray:var(--check-dashoffset);stroke-dashoffset:var(--check-dashoffset);animation:tick .5s ease-out;animation-fill-mode:forwards;animation-delay:var(--circle-transition-time)}@keyframes tick{0%{stroke-dashoffset:var(--check-dashoffset)}to{stroke-dashoffset:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.paykka-card-checkout-card{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-card{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-card__center{display:flex;justify-content:space-between}.paykka-card-checkout-card__center>div{width:calc((100% - var(--paykka-spacing-small-5)) / 2);transition:width .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-card__center>div{width:calc((100% - var(--paykka-spacing-large-3)) / 2)}}.paykka-card-checkout-card__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-card__card-brands{margin-top:var(--paykka-spacing-small-2)}.paykka-card-checkout-card__card-number-wrapper{position:relative}.paykka-card-checkout-card__change-box{display:flex;align-items:center;color:#4f43df;font-size:var(--paykka-font-size-small);position:absolute;top:0;right:0;cursor:pointer}.paykka-card-checkout-card__card-selector-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap;row-gap:var(--paykka-spacing-base);column-gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-card__card-selector-wrapper{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-card__card-selector{flex:2;min-width:250px}.paykka-card-checkout-card__card-security-code{flex:1}.paykka-card-checkout-card-brands{display:flex;flex-wrap:wrap;gap:6px}.paykka-card-checkout-card-brands__more{line-height:32px;font-size:13px;color:var(--paykka-sub-font-color-1)}.paykka-card-checkout-card-selector{color:var(--paykka-font-color)}.paykka-card-checkout-card-selector__action{padding:var(--paykka-spacing-small-2) var(--paykka-spacing-small-3)}.paykka-card-checkout-card-selector__label{display:flex;align-items:center}.paykka-card-checkout-card-selector__card-no{margin-left:var(--paykka-spacing-small-3);color:var(--paykka-font-color)}.paykka-card-checkout-card-selector__change{display:flex;align-items:center;color:var(--paykka-primary-color);font-size:var(--paykka-font-size-small)}.paykka-card-checkout-card-no{color:var(--paykka-font-color)}.paykka-card-checkout-card-no__wrapper{display:flex;align-items:center}.paykka-card-checkout-card-no__dot{width:4px;height:4px;background:currentColor;margin-right:var(--paykka-spacing-small-1);border-radius:50%}.paykka-card-checkout-card-no__card-no{margin-left:var(--paykka-spacing-small-1)}.paykka-card-checkout-check-box{display:inline-flex;align-items:center;font-size:var(--paykka-font-size-small);background-color:transparent;cursor:pointer}.paykka-card-checkout-check-box:hover .paykka-card-checkout-check-box__inner{border-color:var(--paykka-primary-color)}.paykka-card-checkout-check-box--checked .paykka-card-checkout-check-box__inner{border-color:var(--paykka-primary-color);background-color:var(--paykka-primary-color)}.paykka-card-checkout-check-box__inner{width:14px;height:14px;border:1px solid var(--paykka-border-color);border-radius:var(--paykka-border-radius-mini);margin-right:var(--paykka-spacing-small-2);transition:border-color .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.paykka-card-checkout-modal{position:fixed;left:0;right:0;top:0;bottom:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center}.paykka-card-checkout-modal__mask{position:fixed;left:0;right:0;top:0;bottom:0;background-color:var(--paykka-modal-mask-bg-color)}.paykka-card-checkout-modal__content{position:relative;z-index:9999;border-radius:var(--paykka-border-radius-base);background-color:#fff;box-shadow:0 8px 16px -8px #00000014,0 12px 32px #0000000f,0 16px 48px 16px #0000000a;display:flex;flex-direction:column}.paykka-card-checkout-modal__close{cursor:pointer;right:0;position:absolute;transform:translateY(-150%);color:var(--paykka-gray4-color)}.paykka-card-checkout-modal__close:hover{color:#fff}.paykka-card-checkout-modal__body{flex:1;padding:var(--paykka-spacing-small-5);overflow-y:hidden}@media (min-width: 480px){.paykka-card-checkout-modal__body{padding:var(--paykka-spacing-large-1)}}.paykka-card-checkout-three-ds-auth__content{height:100%}.paykka-card-checkout-three-ds-auth__last-three-ds{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow-y:auto}.paykka-card-checkout-three-ds-auth__last-three-ds-title{margin-top:var(--paykka-spacing-base);margin-bottom:var(--paykka-spacing-large-5);color:var(--paykka-font-color);font-size:var(--paykka-font-size-large-2);font-weight:700;text-align:center}.paykka-card-checkout-three-ds-auth__last-three-ds-icon{flex-shrink:0}.paykka-card-checkout-three-ds-auth__three-ds-iframe{display:block;border-radius:var(--paykka-border-radius-base)}.paykka-card-checkout-combined-card-info{width:100%;height:100%;display:flex}.paykka-card-checkout-combined-card-info__card-number{flex:1}.paykka-card-checkout-combined-card-info__expire-date{width:100px}.paykka-card-checkout-combined-card-info__cvv{width:60px}.paykka-card-checkout-combined-card-info__blank-icon{width:16px;height:16px}.paykka-card-checkout-wechat-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-wechat-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-wechat-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-apple-pay__error{margin-bottom:var(--paykka-spacing-small-5);transition:margin-bottom .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-apple-pay__error{margin-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-apple-pay__button{width:100%;display:flex;align-items:center;justify-content:center;height:var(--paykka-field-item-height)}.paykka-card-checkout-google-pay__error{margin-bottom:var(--paykka-spacing-small-5);transition:margin-bottom .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-google-pay__error{margin-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-sepa{min-width:var(--paykka-form-min-width)}.paykka-card-checkout-sepa__field{margin-bottom:var(--paykka-spacing-large-1)}.paykka-card-checkout-sepa__holder-name{padding-bottom:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-sepa__holder-name{padding-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-sepa__button{margin-top:var(--paykka-spacing-small-5);transition:margin-top .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-sepa__button{margin-top:var(--paykka-spacing-base)}}.paykka-card-checkout-boost{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-boost{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-boost__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-guide-card{border:1px solid var(--paykka-border-color);border-radius:var(--paykka-border-radius-large);padding:var(--paykka-spacing-small-5);margin-bottom:var(--paykka-spacing-large-1)}@media (min-width: 480px){.paykka-card-checkout-guide-card{padding:var(--paykka-spacing-small-5);margin-bottom:var(--paykka-spacing-large-3)}}.paykka-card-checkout-guide-card__content{display:flex;align-items:center}.paykka-card-checkout-guide-card__icon{flex-shrink:0}.paykka-card-checkout-guide-card__description{color:var(--paykka-gray2-color);font-size:var(--paykka-font-size-small);margin-left:var(--paykka-spacing-small-3)}.paykka-card-checkout-guide-card svg{display:block}.paykka-card-checkout-nine-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-nine-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-nine-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-line-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-line-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-line-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-tng-wallet{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-tng-wallet{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-tng-wallet__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-may-bank-qr-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-may-bank-qr-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-may-bank-qr-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-shopee-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-shopee-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-shopee-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-grab-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-grab-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-grab-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-qr-code-modal{padding-top:var(--paykka-spacing-base);display:flex;flex-direction:column;align-items:center;justify-content:center}.paykka-card-checkout-qr-code-modal__container{width:208px}.paykka-card-checkout-qr-code-modal__title{font-size:var(--paykka-font-size-large);font-weight:550;text-align:center}.paykka-card-checkout-qr-code-modal__body{margin:var(--paykka-spacing-base) 0;padding:var(--paykka-spacing-small-5);border-radius:var(--paykka-border-radius-base);display:flex;flex-direction:column;align-items:center;justify-content:center}.paykka-card-checkout-qr-code-modal__icon{height:22px}.paykka-card-checkout-qr-code-modal__qr-code{margin-top:var(--paykka-spacing-small-5);width:180px;height:180px;border-radius:var(--paykka-border-radius-small);background-color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.paykka-card-checkout-qr-code-modal__expired-time{margin-top:var(--paykka-spacing-small-5);font-size:var(--paykka-font-size-small);text-align:center}.paykka-card-checkout-qr-code-modal__expired-time-text{font-size:var(--paykka-font-size-small);text-align:center}.paykka-card-checkout-qr-code-modal__amount{font-size:var(--paykka-font-size-large-3);color:var(--paykka-font-color);font-weight:550}.paykka-card-checkout-qr-code-modal__qr-code-container{position:relative}.paykka-card-checkout-qr-code-modal__round-border{margin-top:var(--paykka-spacing-small-5);width:180px;height:180px;position:absolute;top:0;left:0}.paykka-card-checkout-qr-code-modal__round-border-item{width:20px;height:20px;border-top:2px solid #000000;border-left:2px solid #000000;position:absolute}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(1){top:0;left:0}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(2){transform:rotate(90deg);top:0;right:0}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(3){transform:rotate(180deg);bottom:0;right:0}.paykka-card-checkout-qr-code-modal__round-border-item:nth-child(4){transform:rotate(270deg);bottom:0;left:0}.paykka-card-checkout-gcash{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-gcash{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-gcash__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-paymaya{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-paymaya{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-paymaya__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-zalopay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-zalopay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-zalopay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-vietqr{min-width:var(--paykka-form-min-width)}.paykka-card-checkout-vietqr__field{margin-bottom:var(--paykka-spacing-small-4)}@media (min-width: 480px){.paykka-card-checkout-vietqr__field{margin-bottom:var(--paykka-spacing-base)}}.paykka-card-checkout-vietqr__button{margin-top:var(--paykka-spacing-small-4);transition:margin-top .1s cubic-bezier(.4,0,.2,1)}@media (min-width: 480px){.paykka-card-checkout-vietqr__button{margin-top:var(--paykka-spacing-base)}}.paykka-card-checkout-pix{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-pix{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-pix__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-tip{display:flex;color:var(--paykka-gray2-color);align-items:center;gap:var(--paykka-spacing-small-1)}.paykka-card-checkout-tip__icon{display:flex}.paykka-card-checkout-tip__text{font-size:var(--paykka-font-size-small)}.paykka-card-checkout-pic-pay{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-pic-pay{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-pic-pay__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-opay-wallet{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-opay-wallet{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-opay-wallet__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-paga-wallet{min-width:var(--paykka-form-min-width);display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-paga-wallet{gap:var(--paykka-spacing-base)}}.paykka-card-checkout-paga-wallet__footer-wrapper{display:flex;flex-direction:column;gap:var(--paykka-spacing-small-5);margin-top:var(--paykka-spacing-small-5)}.paykka-card-checkout-payment-tabs{display:flex;flex-wrap:nowrap;justify-content:flex-start;column-gap:6px}.paykka-card-checkout-payment-tabs__tab{border:2px solid #E1E1E5;padding:12px;border-radius:12px;width:calc((100% - 12px) / 3)}@media (min-width: 480px){.paykka-card-checkout-payment-tabs__tab{padding:16px}}.paykka-card-checkout-payment-tabs__name{color:#626266}.paykka-card-checkout-drop-in__header-payment{margin-bottom:var(--paykka-field-label-spacing)}.paykka-card-checkout-drop-in__other{display:flex;justify-content:center;align-items:center;margin-top:var(--paykka-spacing-large-1);margin-bottom:var(--paykka-spacing-large-1)}@media (min-width: 480px){.paykka-card-checkout-drop-in__other{margin-top:var(--paykka-spacing-large-5);margin-bottom:var(--paykka-spacing-large-5)}}.paykka-card-checkout-drop-in__accordion-icon{display:flex;align-items:center}.paykka-card-checkout-drop-in__other-text{margin:0 var(--paykka-spacing-small-5);color:var(--paykka-sub-font-color-2)}.paykka-card-checkout-drop-in__other-line{background-color:var(--paykka-border-color);flex-grow:.5;height:1px}.paykka-card-checkout-drop-in__tabs-wrapper{margin-bottom:var(--paykka-spacing-small-5)}@media (min-width: 480px){.paykka-card-checkout-drop-in__tabs-wrapper{margin-bottom:var(--paykka-spacing-large-1)}}.paykka-card-checkout-drop-in__accordion-icon{margin-right:var(--paykka-spacing-small-3)}:root{--paykka-primary-color: #4F43DF;--paykka-primary-color-hover: #3f33bb;--paykka-primary-color-active: #312498;--paykka-success-color: #00B42A;--paykka-error-color: #F53F3F;--paykka-error-bg-color: #FFECE8;--paykka-gray1-color: #E1E1E5;--paykka-gray2-color: #A9A9A9;--paykka-gray3-color: #626266;--paykka-gray4-color: #D9D9D9;--paykka-border-radius-mini: 2px;--paykka-border-radius-small: 4px;--paykka-border-radius-base: 8px;--paykka-border-radius-large: 12px;--paykka-font-size-mini: 12px;--paykka-font-size-small: 14px;--paykka-font-size-base: 16px;--paykka-font-size-large: 18px;--paykka-font-size-large-2: 20px;--paykka-font-size-large-3: 22px;--paykka-font-color: #1F1F1F;--paykka-sub-font-color-1: #626266;--paykka-sub-font-color-2: #6E6E7E;--paykka-placeholder-color: #C2C2C2;--paykka-border-color: var(--paykka-gray1-color);--paykka-spacing-small-1: 4px;--paykka-spacing-small-2: 8px;--paykka-spacing-small-3: 12px;--paykka-spacing-small-4: 14px;--paykka-spacing-small-5: 16px;--paykka-spacing-base: 20px;--paykka-spacing-large-1: 24px;--paykka-spacing-large-2: 28px;--paykka-spacing-large-3: 32px;--paykka-spacing-large-4: 36px;--paykka-spacing-large-5: 40px;--paykka-button-bg-color: var(--paykka-primary-color);--paykka-button-bg-color-hover: var(--paykka-primary-color-hover);--paykka-button-bg-color-active: var(--paykka-primary-color-active);--paykka-button-font-color: #FFFFFF;--paykka-field-label-spacing: 10px;--paykka-field-padding: var(--paykka-spacing-small-2) 0;--paykka-field-box-shadow: 0 0 0 1px var(--paykka-primary-color);--paykka-field-item-height: 44px;--paykka-field-bg-color: #FFFFFF;--paykka-field-disabled-bg-color: #F5F5F7;--paykka-field-font-color: var(--paykka-font-color);--apple-pay-button-width: 100%;--apple-pay-button-height: var(--paykka-field-item-height);--apple-pay-button-border-radius: var(--paykka-border-radius-base);--apple-pay-button-padding: 0px 0px;--apple-pay-button-box-sizing: border-box;--paykka-drop-in-title-color: var(--paykka-gray3-color);--paykka-modal-mask-bg-color: rgba(0, 0, 0, .4);--paykka-form-min-width: 250px}.paykka-card-checkout ::-webkit-scrollbar{height:6px;width:6px}.paykka-card-checkout ::-webkit-scrollbar-thumb{background-color:#00000040;border-radius:4px}.paykka-card-checkout ::-webkit-scrollbar-button{display:none!important}.paykka-card-checkout ::-moz-scrollbar-button{display:none!important}.paykka-card-checkout-accordion-item{border:1px solid var(--paykka-border-color);border-radius:var(--paykka-border-radius-base);margin-bottom:var(--paykka-spacing-small-4);padding:0 var(--paykka-spacing-small-4);transition:all .3s linear}@media (min-width: 480px){.paykka-card-checkout-accordion-item{padding:0 var(--paykka-spacing-small-5)}}.paykka-card-checkout-accordion-item--disabled{cursor:not-allowed;opacity:.4}.paykka-card-checkout-accordion-item__header{cursor:pointer;display:flex;align-items:center;padding-top:var(--paykka-spacing-small-4);padding-bottom:var(--paykka-spacing-small-4);font-size:var(--paykka-font-size-small);line-height:20px;transition:all .3s linear}@media (min-width: 480px){.paykka-card-checkout-accordion-item__header{padding-top:var(--paykka-spacing-small-5);padding-bottom:var(--paykka-spacing-small-5);font-size:var(--paykka-font-size-base);line-height:22px}}.paykka-card-checkout-accordion-item__title{font-size:var(--paykka-font-size-base);line-height:22px;color:var(--paykka-drop-in-title-color)}.paykka-card-checkout-accordion-item__title--active{color:var(--paykka-primary-color)}.paykka-card-checkout-accordion-item__content{max-height:0;opacity:0;overflow:hidden}.paykka-card-checkout-accordion-item__content--active{opacity:1;padding-bottom:var(--paykka-spacing-small-3)}@media (min-width: 480px){.paykka-card-checkout-accordion-item__content--active{padding-bottom:var(--paykka-spacing-small-5)}}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const getTerminalType: (deviceType: string) => string;
|
|
2
|
+
export declare const getBaseBrowserParams: (params?: {
|
|
2
3
|
fraudDetectionId?: string;
|
|
4
|
+
origin?: string;
|
|
3
5
|
}) => Promise<{
|
|
6
|
+
origin: string;
|
|
7
|
+
referer: string;
|
|
4
8
|
user_agent: string;
|
|
5
9
|
color_depth: number;
|
|
6
10
|
language: string;
|
|
@@ -11,7 +15,27 @@ export declare const getBrowserParams: (params?: {
|
|
|
11
15
|
screen_width: number;
|
|
12
16
|
cookies: string;
|
|
13
17
|
device_os: string;
|
|
18
|
+
terminal_type: string;
|
|
19
|
+
fraud_detection_id: string | undefined;
|
|
20
|
+
app_version: string;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const getBrowserParams: (params?: {
|
|
23
|
+
fraudDetectionId?: string;
|
|
24
|
+
origin?: string;
|
|
25
|
+
}) => Promise<{
|
|
14
26
|
device_finger_print_id: string;
|
|
27
|
+
origin: string;
|
|
28
|
+
referer: string;
|
|
29
|
+
user_agent: string;
|
|
30
|
+
color_depth: number;
|
|
31
|
+
language: string;
|
|
32
|
+
java_enabled: boolean;
|
|
33
|
+
device_type: StringUnion<"PC" | "OTHER" | "MOBILE" | "TABLET" | "POS">;
|
|
34
|
+
timezone_offset: string;
|
|
35
|
+
screen_height: number;
|
|
36
|
+
screen_width: number;
|
|
37
|
+
cookies: string;
|
|
38
|
+
device_os: string;
|
|
15
39
|
terminal_type: string;
|
|
16
40
|
fraud_detection_id: string | undefined;
|
|
17
41
|
app_version: string;
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
import { type RequestOptions } from '../../http';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
export interface ChannelSDKConfig {
|
|
3
|
+
stripe?: {
|
|
4
|
+
key?: string;
|
|
5
|
+
};
|
|
6
|
+
worldPay?: {
|
|
7
|
+
authCode?: string;
|
|
8
|
+
ddcCollectUrl?: string;
|
|
9
|
+
ddcOrigin?: string;
|
|
10
|
+
};
|
|
11
|
+
worldPayJSC?: {
|
|
12
|
+
organizationId?: string;
|
|
13
|
+
profilingDomain?: string;
|
|
14
|
+
};
|
|
15
|
+
paykka?: {
|
|
16
|
+
clientKey?: string;
|
|
17
|
+
sessionMode?: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const getChannelSDKConfig: (params: {
|
|
21
|
+
channel: string[];
|
|
22
|
+
browser?: Recordable;
|
|
23
|
+
}, options?: RequestOptions) => Promise<ChannelSDKConfig>;
|
|
24
|
+
/** 上报环境 url */
|
|
25
|
+
export declare const reportUrls: (params: {
|
|
26
|
+
clientKey: string;
|
|
27
|
+
fraudDetectionMode?: string;
|
|
28
|
+
data: string;
|
|
29
|
+
}) => Promise<any>;
|
|
@@ -22,6 +22,9 @@ export declare const buildPaymentParams: (params: CheckoutPaymentParams, extraPa
|
|
|
22
22
|
cvv: string | undefined;
|
|
23
23
|
holder_name: string | undefined;
|
|
24
24
|
};
|
|
25
|
+
customer: {
|
|
26
|
+
document: string | undefined;
|
|
27
|
+
};
|
|
25
28
|
browser: Recordable<any>;
|
|
26
29
|
bill: {
|
|
27
30
|
first_name: string | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ApplePayProps } from './type';
|
|
2
|
+
export declare const DEFAULT_APPLE_PAY_CONFIG: ApplePayProps['config'];
|
|
3
|
+
export declare const APPLE_SDK_URL = "https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js";
|
|
4
|
+
export declare const APPLE_PAY_CAPABILITIES: string[];
|
|
5
|
+
/**
|
|
6
|
+
* Apple Pay Api 版本
|
|
7
|
+
* 我们现在固定使用 3 版本,能兼容到 Safari 11
|
|
8
|
+
*/
|
|
9
|
+
export declare const APPLE_PAY_VERSION = 3;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apple Pay Session 实例
|
|
3
|
+
* @see {@link https://developer.apple.com/documentation/applepayontheweb}
|
|
4
|
+
*/
|
|
5
|
+
export declare const useApplePaySession: () => {
|
|
6
|
+
applePaySession: import("preact/hooks").MutableRef<ApplePaySession | null>;
|
|
7
|
+
initApplePaySession: (options: {
|
|
8
|
+
request: ApplePayJS.ApplePayPaymentRequest;
|
|
9
|
+
onValidate: (event: ApplePayJS.ApplePayValidateMerchantEvent) => Promise<void>;
|
|
10
|
+
onAuthorized: (event: ApplePayJS.ApplePayPaymentAuthorizedEvent) => Promise<void>;
|
|
11
|
+
onCancel: () => void;
|
|
12
|
+
}) => void;
|
|
13
|
+
reportSuccess2ApplePay: () => void;
|
|
14
|
+
reportFailure2ApplePay: (errorMessage?: string) => void;
|
|
15
|
+
};
|
|
@@ -1,28 +1,71 @@
|
|
|
1
1
|
import type { PayKKaError } from '../../core';
|
|
2
2
|
import type { PayKKaCommonConfig, PaymentInfo } from '../../types';
|
|
3
3
|
export interface ApplePayProps extends PayKKaCommonConfig {
|
|
4
|
-
/** 支付授权成功后触发 */
|
|
4
|
+
/** Apple Pay 支付授权成功后触发 */
|
|
5
5
|
onSubmit?: () => void;
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* 支付成功后触发
|
|
8
|
+
* @param data 支付成功后的数据,包含支付方式、支付金额、支付时间等信息
|
|
9
|
+
*/
|
|
7
10
|
onSuccess?: (data: PaymentInfo) => void;
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
12
|
+
* Apple Pay SDK 加载回调
|
|
13
|
+
* @param status 是否加载成功
|
|
14
|
+
* @remark
|
|
15
|
+
* 该回调在 Apple Pay SDK 加载成功后触发,但不一定表示 Apple Pay 可用
|
|
16
|
+
* 需要通过 `onCanUse` 回调判断 Apple Pay 是否可用
|
|
17
|
+
* Safari 14.0 及以前的版本无法使用 JS SDK,会使用 safari 的内置 API,并且返回 true
|
|
11
18
|
*/
|
|
12
19
|
onLoad?: (status: boolean) => void;
|
|
13
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* 支付失败时触发,可再次支付
|
|
22
|
+
* @param error 支付失败后的错误信息
|
|
23
|
+
*/
|
|
14
24
|
onError?: (error: PayKKaError) => void;
|
|
15
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* 支付超时时触发,可再次支付
|
|
27
|
+
* @param source 支付超时来源
|
|
28
|
+
* - `'retry'` - 重试超时
|
|
29
|
+
* - `'channel'` - 渠道超时
|
|
30
|
+
*/
|
|
16
31
|
onTimeout?: (source: 'retry' | 'channel') => void;
|
|
17
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* 收银台已过期时触发,无法再支付
|
|
34
|
+
*/
|
|
18
35
|
onExpired?: () => void;
|
|
19
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* 取消支付时触发,可再次支付
|
|
38
|
+
* @remark
|
|
39
|
+
* 取消支付并不代表用户主动关闭,也有可能是其他异常原因导致 ApplePay 自动关闭
|
|
40
|
+
*/
|
|
20
41
|
onCancel?: () => void;
|
|
21
42
|
/**
|
|
22
|
-
* Apple Pay
|
|
23
|
-
*
|
|
43
|
+
* 当前设备环境是否可用于 Apple Pay 支付
|
|
44
|
+
* @param canUse 是否可用
|
|
45
|
+
* @remark
|
|
46
|
+
* 在 `onLoad` 返回 `false` 的情况下不会触发该回调
|
|
24
47
|
*/
|
|
25
48
|
onCanUse?: (canUse: boolean) => void;
|
|
26
49
|
}
|
|
27
50
|
export interface ApplePayRef {
|
|
28
51
|
}
|
|
52
|
+
export interface ApplePayConfig {
|
|
53
|
+
request?: {
|
|
54
|
+
/**
|
|
55
|
+
* 必填的账单联系人字段
|
|
56
|
+
* @defaultValue ['name', 'email']
|
|
57
|
+
*/
|
|
58
|
+
requiredBillingContactFields?: ApplePayJS.ApplePayContactField[];
|
|
59
|
+
requiredShippingContactFields?: ApplePayJS.ApplePayContactField[];
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* ApplePay 按钮的配置信息
|
|
63
|
+
* @param buttonStyle 按钮样式
|
|
64
|
+
* @param buttonType 按钮类型
|
|
65
|
+
* @see {@link https://applepaydemo.apple.com}
|
|
66
|
+
*/
|
|
67
|
+
button?: {
|
|
68
|
+
buttonStyle?: string;
|
|
69
|
+
buttonType?: string;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* 判断 Apple Pay SDK 是否可用
|
|
3
|
+
* iOS 15 以下使用原生 API,iOS 15+ 使用 SDK
|
|
4
|
+
*/
|
|
5
|
+
export declare const isApplePaySDKAvailable: () => boolean;
|
|
6
|
+
/** 动态加载 Apple Pay SDK */
|
|
2
7
|
export declare const loadApplePayJS: (onload?: () => void, onerror?: () => void) => void;
|
|
3
|
-
|
|
8
|
+
/** 判断支付环境是否支持 Apple Pay */
|
|
9
|
+
export declare const getApplePayEnvSupported: (id?: string) => Promise<boolean>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FormItemProps, FormValidationStatus } from '../internal/Form';
|
|
2
|
+
import type { InputProps } from '../internal/Input';
|
|
3
|
+
export interface CPFFieldProps extends Pick<FormItemProps, 'onValidationStatusChange' | 'className' | 'style'>, Pick<InputProps, 'onInput'> {
|
|
4
|
+
/**
|
|
5
|
+
* 是否使用安全模式(iframe)
|
|
6
|
+
* @defaultValue false
|
|
7
|
+
*/
|
|
8
|
+
security: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface CPFFieldRef {
|
|
11
|
+
/** 聚焦 */
|
|
12
|
+
focus: () => void;
|
|
13
|
+
/** 失去焦点 */
|
|
14
|
+
blur: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* 重置验证状态
|
|
17
|
+
* @param status 状态
|
|
18
|
+
* @param errorTip 错误提示
|
|
19
|
+
*/
|
|
20
|
+
resetValidation: (status: FormValidationStatus, errorTip?: string) => void;
|
|
21
|
+
}
|
|
@@ -2,9 +2,10 @@ import type { ReactNode } from 'preact/compat';
|
|
|
2
2
|
import type { SessionMode } from '../../constant';
|
|
3
3
|
import type { I18n } from '../../i18n';
|
|
4
4
|
import type { EncryptCardMessage, InputStylesConfig, Message, MessageAction } from '../../types';
|
|
5
|
+
import type { CheckoutPaymentParams } from '../../api';
|
|
5
6
|
export interface SecuredFieldsProviderProps extends SecuredFieldsCallback {
|
|
6
7
|
i18n: I18n;
|
|
7
|
-
supportedCardBrands
|
|
8
|
+
supportedCardBrands?: string[];
|
|
8
9
|
sessionMode?: SessionMode;
|
|
9
10
|
/** 包裹的子元素,如果传了targetElement,就不需要传这个 */
|
|
10
11
|
children?: ReactNode;
|
|
@@ -13,9 +14,13 @@ export interface SecuredFieldsProviderProps extends SecuredFieldsCallback {
|
|
|
13
14
|
checkoutId: string;
|
|
14
15
|
}
|
|
15
16
|
export interface SecuredFieldsProviderRef {
|
|
16
|
-
payment: (formData:
|
|
17
|
+
payment: (formData: CheckoutPaymentParams, extraParams?: Recordable) => void;
|
|
17
18
|
encryptCard: (encryptInfo: EncryptCardMessage) => void;
|
|
18
19
|
reload: () => void;
|
|
20
|
+
/**
|
|
21
|
+
* 校验表单项
|
|
22
|
+
* 只有合并卡信息的情况下需要校验,单个表单项不需要校验
|
|
23
|
+
*/
|
|
19
24
|
validate: () => void;
|
|
20
25
|
setConfig: (config: {
|
|
21
26
|
style?: InputStylesConfig;
|
|
@@ -50,7 +55,7 @@ export interface SecuredFieldConfig extends FieldIframeConfig, SecuredFieldsCall
|
|
|
50
55
|
hiddenIframe: HTMLIFrameElement;
|
|
51
56
|
}
|
|
52
57
|
export interface FieldIframeConfig {
|
|
53
|
-
fieldType:
|
|
58
|
+
fieldType: AllFieldType;
|
|
54
59
|
placeholder: string;
|
|
55
60
|
hiddenIframeName: string;
|
|
56
61
|
supportedCardBrands: string[];
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { Message, MessageAction } from '../../types';
|
|
1
|
+
import { type AllFieldType } from '../SecuredFieldsProvider/type';
|
|
3
2
|
export declare const useSecuredInput: () => {
|
|
4
3
|
value: import("preact/hooks").MutableRef<string>;
|
|
5
4
|
cardBin: string;
|
|
6
5
|
initSecuredInput: (options: {
|
|
7
|
-
fieldType:
|
|
6
|
+
fieldType: AllFieldType;
|
|
8
7
|
supportedCardBrands: string[];
|
|
9
|
-
sendMessage: (message: Message<MessageAction>) => void;
|
|
10
8
|
}) => void;
|
|
11
9
|
getConfigByFieldType: () => {
|
|
12
10
|
maxLength: number;
|
|
@@ -16,5 +14,4 @@ export declare const useSecuredInput: () => {
|
|
|
16
14
|
};
|
|
17
15
|
getCurrCardBrand: (realValue: string) => import("../../utils/card-brand/brands").CardBrandConfig | undefined;
|
|
18
16
|
brand: "VISA" | "MASTER_CARD" | "JCB" | "AMEX" | "DINERS_CLUB" | "DISCOVER" | "CHINA_UNION_PAY" | undefined;
|
|
19
|
-
validate: () => boolean | void;
|
|
20
17
|
};
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { ThreeDSIframeProps } from './type';
|
|
2
2
|
import './three-ds-iframe.scss';
|
|
3
|
+
/**
|
|
4
|
+
* 解析 checkoutId,为 window.name 的倒数第二个值
|
|
5
|
+
* 这是为了让里面的 iframe 最后跳转到我们的成功页时能拿到 checkoutId,防止页面通信错乱
|
|
6
|
+
* 如果不用 window.name 做间接传递,则需要在 iframe 加载完之后进行 postMessage 通信传递 checkoutId
|
|
7
|
+
* 我们这个 3ds 弹窗是 iframe1 嵌套 iframe2,外层传递 checkoutId 给 iframe1,iframe1 再传递给 iframe2,用 postMessage 需要四次交互,过于复杂
|
|
8
|
+
*/
|
|
3
9
|
export declare const ThreeDSIframe: (props: ThreeDSIframeProps) => import("preact").JSX.Element;
|