@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.
Files changed (175) hide show
  1. package/dist/card-checkout-ui.js +20 -20
  2. package/dist/card-checkout-ui.umd.cjs +21 -21
  3. package/dist/es/_commonjsHelpers.js +1 -82
  4. package/dist/es/api/index.js +2 -1
  5. package/dist/es/api/modules/checkout/map.js +1 -0
  6. package/dist/es/api/modules/get-browser-params.js +20 -8
  7. package/dist/es/api/modules/index.js +2 -1
  8. package/dist/es/api/modules/map.js +2 -1
  9. package/dist/es/api/modules/risk/index.js +21 -18
  10. package/dist/es/api/modules/threeDS/index.js +2 -1
  11. package/dist/es/api/modules/vietqr/index.js +2 -1
  12. package/dist/es/api/utils/index.js +4 -1
  13. package/dist/es/components/AccordionItem/AccordionItem.js +0 -1
  14. package/dist/es/components/AccountNameField/index.js +1 -1
  15. package/dist/es/components/AddressField/index.js +1 -2
  16. package/dist/es/components/AliPay/index.js +4 -2
  17. package/dist/es/components/ApplePay/index.js +201 -135
  18. package/dist/es/components/Boost/index.js +4 -2
  19. package/dist/es/components/CPFField/index.js +88 -0
  20. package/dist/es/components/Card/index.js +5 -11
  21. package/dist/es/components/CardBrands/index.js +0 -1
  22. package/dist/es/components/CardExpireDateField/index.js +1 -1
  23. package/dist/es/components/CardHolderNameField/index.js +1 -1
  24. package/dist/es/components/CardIBANField/index.js +1 -1
  25. package/dist/es/components/CardNo/index.js +0 -1
  26. package/dist/es/components/CardNumberField/index.js +1 -1
  27. package/dist/es/components/CardSecurityCodeField/index.js +1 -1
  28. package/dist/es/components/CardSelector/index.js +1 -1
  29. package/dist/es/components/CombinedCardInfo/index.js +1 -1
  30. package/dist/es/components/DropIn/index.js +0 -1
  31. package/dist/es/components/EmailField/EmailField.js +1 -1
  32. package/dist/es/components/EncryptedCard/index.js +12 -11
  33. package/dist/es/components/GooglePay/index.js +1 -0
  34. package/dist/es/components/GrabPay/index.js +4 -2
  35. package/dist/es/components/GuideCard/index.js +1 -1
  36. package/dist/es/components/LinePay/index.js +4 -2
  37. package/dist/es/components/MayBankQRPay/index.js +4 -2
  38. package/dist/es/components/NinePay/index.js +4 -2
  39. package/dist/es/components/RecurringTip/index.js +1 -2
  40. package/dist/es/components/SecuredFieldsProvider/index.js +20 -3
  41. package/dist/es/components/SecuredIframe/index.js +50 -22
  42. package/dist/es/components/Sepa/index.js +4 -2
  43. package/dist/es/components/ShopeePay/index.js +4 -2
  44. package/dist/es/components/SubmitButton/index.js +1 -1
  45. package/dist/es/components/TNGWallet/index.js +4 -2
  46. package/dist/es/components/ThreeDS/index.js +1 -2
  47. package/dist/es/components/Tip/index.js +18 -0
  48. package/dist/es/components/WechatPay/index.js +4 -2
  49. package/dist/es/components/business/QRCodeModal/QRCodeModal.js +1 -1
  50. package/dist/es/components/business/QRCodeModal/index.js +0 -1
  51. package/dist/es/components/business/index.js +0 -1
  52. package/dist/es/components/index.js +0 -1
  53. package/dist/es/components/internal/Accordion/index.js +0 -1
  54. package/dist/es/components/internal/Button/Button.js +0 -1
  55. package/dist/es/components/internal/Button/index.js +0 -1
  56. package/dist/es/components/internal/CheckBox/CheckBox.js +0 -1
  57. package/dist/es/components/internal/CheckBox/index.js +0 -1
  58. package/dist/es/components/internal/Form/type.js +0 -1
  59. package/dist/es/components/internal/Info/Info.js +0 -1
  60. package/dist/es/components/internal/Info/index.js +0 -1
  61. package/dist/es/components/internal/Input/Input.js +1 -1
  62. package/dist/es/components/internal/Input/type.js +0 -1
  63. package/dist/es/components/internal/LoadingCheck/LoadingCheck.js +0 -1
  64. package/dist/es/components/internal/LoadingCheck/index.js +0 -1
  65. package/dist/es/components/internal/Modal/Modal.js +1 -1
  66. package/dist/es/components/internal/QRCode/QRCode.js +0 -1
  67. package/dist/es/components/internal/QRCode/index.js +0 -1
  68. package/dist/es/components/internal/Select/Select.js +14 -17
  69. package/dist/es/components/internal/Select/SelectMenu.js +2 -3
  70. package/dist/es/components/internal/Select/SelectMenuItem.js +0 -1
  71. package/dist/es/components/wallets/GCash/GCash.js +4 -2
  72. package/dist/es/components/wallets/OpayWallet/OpayWallet.js +8 -9
  73. package/dist/es/components/wallets/PagaWallet/PagaWallet.js +8 -9
  74. package/dist/es/components/wallets/Paymaya/Paymaya.js +4 -2
  75. package/dist/es/components/wallets/PicPay/PicPay.js +136 -72
  76. package/dist/es/components/wallets/Pix/Pix.js +136 -72
  77. package/dist/es/components/wallets/Vietqr/Vietqr.js +4 -2
  78. package/dist/es/components/wallets/Zalopay/Zalopay.js +4 -2
  79. package/dist/es/config.js +1 -1
  80. package/dist/es/constant.js +2 -0
  81. package/dist/es/core/checkout.js +15 -3
  82. package/dist/es/core/environment.js +10 -2
  83. package/dist/es/core/index.js +0 -1
  84. package/dist/es/core/query.js +2 -1
  85. package/dist/es/core/session.js +6 -2
  86. package/dist/es/core/theme.js +0 -1
  87. package/dist/es/core.js +585 -4
  88. package/dist/es/hooks/index.js +0 -1
  89. package/dist/es/hooks/useI18n.js +0 -1
  90. package/dist/es/hooks/usePayState.js +13 -6
  91. package/dist/es/i18n/locales/de-DE.js +6 -1
  92. package/dist/es/i18n/locales/en-GB.js +6 -1
  93. package/dist/es/i18n/locales/es-ES.js +6 -1
  94. package/dist/es/i18n/locales/fr-FR.js +7 -2
  95. package/dist/es/i18n/locales/ja-JP.js +6 -1
  96. package/dist/es/i18n/locales/ko-KR.js +6 -1
  97. package/dist/es/i18n/locales/nl-NL.js +6 -1
  98. package/dist/es/i18n/locales/pt-PT.js +6 -1
  99. package/dist/es/i18n/locales/ru-RU.js +6 -1
  100. package/dist/es/i18n/locales/zh-CN.js +6 -1
  101. package/dist/es/i18n/locales/zh-HK.js +7 -2
  102. package/dist/es/i18n/locales/zh-TW.js +7 -2
  103. package/dist/es/index.js +6 -3
  104. package/dist/es/out/base-fraud-detection.js +134 -0
  105. package/dist/es/out/config.js +16 -0
  106. package/dist/es/out/fraud-detection.js +118 -27
  107. package/dist/es/out/paykka-detection.js +63 -0
  108. package/dist/es/out/stripe-radar.js +25 -51
  109. package/dist/es/out/worldpay-ddc.js +52 -99
  110. package/dist/es/out/worldpay-jsc-origin.js +0 -1
  111. package/dist/es/out/worldpay-jsc.js +21 -43
  112. package/dist/es/style.css +1 -1
  113. package/dist/es/types/event.js +33 -13
  114. package/dist/es/types/index.js +14 -0
  115. package/dist/es/utils/cpf.js +48 -0
  116. package/dist/es/utils/encrypt.js +18 -0
  117. package/dist/es/utils/iframe.js +1 -1
  118. package/dist/es/utils/location.js +4 -2
  119. package/dist/es/utils/redirect.js +8 -5
  120. package/dist/es/utils/system-info/index.js +1 -3
  121. package/dist/style.css +1 -1
  122. package/dist/types/api/modules/checkout/type.d.ts +2 -0
  123. package/dist/types/api/modules/get-browser-params.d.ts +25 -1
  124. package/dist/types/api/modules/risk/index.d.ts +28 -12
  125. package/dist/types/api/modules/type.d.ts +5 -0
  126. package/dist/types/api/utils/index.d.ts +3 -0
  127. package/dist/types/components/ApplePay/config.d.ts +9 -0
  128. package/dist/types/components/ApplePay/hooks/useApplePay.d.ts +15 -0
  129. package/dist/types/components/ApplePay/type.d.ts +53 -10
  130. package/dist/types/components/ApplePay/utils.d.ts +8 -2
  131. package/dist/types/components/CPFField/CPFField.d.ts +4 -0
  132. package/dist/types/components/CPFField/index.d.ts +2 -0
  133. package/dist/types/components/CPFField/type.d.ts +21 -0
  134. package/dist/types/components/SecuredFieldsProvider/type.d.ts +8 -3
  135. package/dist/types/components/SecuredIframe/useSecuredInput.d.ts +2 -5
  136. package/dist/types/components/ThreeDS/components/ThreeDSIframe/ThreeDSIframe.d.ts +6 -0
  137. package/dist/types/components/Tip/Tip.d.ts +3 -0
  138. package/dist/types/components/Tip/index.d.ts +2 -0
  139. package/dist/types/components/Tip/type.d.ts +12 -0
  140. package/dist/types/constant.d.ts +3 -1
  141. package/dist/types/core/checkout.d.ts +1 -1
  142. package/dist/types/core/environment.d.ts +12 -0
  143. package/dist/types/core/session.d.ts +1 -0
  144. package/dist/types/i18n/locales/de-DE.d.ts +4 -0
  145. package/dist/types/i18n/locales/en-GB.d.ts +4 -0
  146. package/dist/types/i18n/locales/es-ES.d.ts +4 -0
  147. package/dist/types/i18n/locales/fr-FR.d.ts +4 -0
  148. package/dist/types/i18n/locales/ja-JP.d.ts +4 -0
  149. package/dist/types/i18n/locales/ko-KR.d.ts +4 -0
  150. package/dist/types/i18n/locales/nl-NL.d.ts +4 -0
  151. package/dist/types/i18n/locales/pt-PT.d.ts +4 -0
  152. package/dist/types/i18n/locales/ru-RU.d.ts +4 -0
  153. package/dist/types/i18n/locales/zh-CN.d.ts +4 -0
  154. package/dist/types/i18n/locales/zh-HK.d.ts +4 -0
  155. package/dist/types/i18n/locales/zh-TW.d.ts +4 -0
  156. package/dist/types/out/base-fraud-detection.d.ts +53 -0
  157. package/dist/types/out/config.d.ts +11 -0
  158. package/dist/types/out/fraud-detection.d.ts +14 -3
  159. package/dist/types/out/paykka-detection.d.ts +20 -0
  160. package/dist/types/out/stripe-radar.d.ts +7 -9
  161. package/dist/types/out/types.d.ts +8 -2
  162. package/dist/types/out/worldpay-ddc.d.ts +7 -19
  163. package/dist/types/out/worldpay-jsc.d.ts +8 -18
  164. package/dist/types/types/event.d.ts +86 -39
  165. package/dist/types/types/fraud-detection.d.ts +1 -1
  166. package/dist/types/types/index.d.ts +22 -2
  167. package/dist/types/types/message.d.ts +12 -12
  168. package/dist/types/utils/app-payment.d.ts +2 -0
  169. package/dist/types/utils/cpf.d.ts +32 -0
  170. package/dist/types/utils/encrypt.d.ts +9 -0
  171. package/dist/types/utils/location.d.ts +1 -0
  172. package/dist/types/utils/system-info/index.d.ts +0 -1
  173. package/package.json +5 -4
  174. package/dist/types/components/ThreeDS/components/ThreeDSStatus/ThreeDSStatus.d.ts +0 -3
  175. package/dist/types/components/ThreeDS/components/ThreeDSStatus/type.d.ts +0 -6
@@ -1,7 +1,7 @@
1
1
  import type { CardBrand, InputStylesConfig } from '.';
2
- import type { PayRes } from '../api';
2
+ import type { CheckoutPaymentParams, PayRes } from '../api';
3
3
  import type { EncryptCardRes } from '../api/modules/encrypted-card/type';
4
- import type { EFieldType, FieldIframeConfig } from '../components/SecuredFieldsProvider';
4
+ import type { AllFieldType, FieldIframeConfig } from '../components/SecuredFieldsProvider';
5
5
  import type { FormValidationStatus } from '../components/internal/Form';
6
6
  import type { LocaleKeyType } from '../i18n';
7
7
  export declare const enum MessageAction {
@@ -109,26 +109,26 @@ export interface InitMessage extends BaseMessage {
109
109
  }
110
110
  export interface FocusMessage extends BaseMessage {
111
111
  focus: boolean;
112
- fieldType: EFieldType;
112
+ fieldType: AllFieldType;
113
113
  }
114
114
  export interface InvalidMessage extends BaseMessage {
115
115
  errorTip: string;
116
- fieldType: EFieldType;
116
+ fieldType: AllFieldType;
117
117
  }
118
118
  export interface ValidMessage extends BaseMessage {
119
- fieldType: EFieldType;
119
+ fieldType: AllFieldType;
120
120
  }
121
121
  export interface BinValueMessage extends BaseMessage {
122
122
  binValue: string;
123
- fieldType: EFieldType;
123
+ fieldType: AllFieldType;
124
124
  brand?: CardBrand;
125
125
  }
126
126
  export interface ValidWithValueMessage extends BaseMessage {
127
127
  value: string;
128
- fieldType: EFieldType;
128
+ fieldType: AllFieldType;
129
129
  }
130
130
  export interface PaymentMessage extends BaseMessage {
131
- formData: any;
131
+ formData: CheckoutPaymentParams;
132
132
  locale: string;
133
133
  extraParams?: Recordable;
134
134
  }
@@ -144,7 +144,7 @@ export interface PaymentErrorMessage extends BaseMessage {
144
144
  export interface ValidStatusChangedMessage extends BaseMessage {
145
145
  status: FormValidationStatus;
146
146
  errorTip?: string;
147
- fieldType: EFieldType;
147
+ fieldType: AllFieldType;
148
148
  }
149
149
  export interface PaymentTimeoutMessage extends BaseMessage {
150
150
  message?: string;
@@ -163,18 +163,18 @@ export interface AuthorizedMessage extends BaseMessage {
163
163
  }
164
164
  export interface BrandMessage extends BaseMessage {
165
165
  brand?: CardBrand;
166
- fieldType: EFieldType;
166
+ fieldType: AllFieldType;
167
167
  }
168
168
  export interface EncryptCardMessage extends BaseMessage {
169
169
  merchantId: string;
170
170
  clientKey: string;
171
171
  }
172
172
  export interface ActivatedMessage extends BaseMessage {
173
- fieldType: EFieldType;
173
+ fieldType: AllFieldType;
174
174
  }
175
175
  export interface ValidatedMessage extends BaseMessage {
176
176
  status: FormValidationStatus;
177
- fieldType: EFieldType;
177
+ fieldType: AllFieldType;
178
178
  }
179
179
  export interface SetConfigMessage extends BaseMessage {
180
180
  style?: InputStylesConfig;
@@ -0,0 +1,2 @@
1
+ export declare const isApp3DSWebView: boolean;
2
+ export declare const report3DSFinished2App: () => void;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 处理 CPF/CNPJ 的格式和校验
3
+ */
4
+ /** CPF 长度(不算分隔符) */
5
+ export declare const CPF_LENGTH = 11;
6
+ /** CNPJ 长度(不算分隔符) */
7
+ export declare const CPF_FULL_LENGTH = 14;
8
+ /** CNPJ 长度(算分隔符) */
9
+ export declare const CNPJ_FULL_LENGTH = 18;
10
+ /**
11
+ * 格式化 CPF/CNPJ - 手动输入/粘贴
12
+ * * CPF: 000.000.000-00
13
+ * * CNPJ: 00.000.000/0000-00
14
+ *
15
+ * @remarks
16
+ * 处理规则:
17
+ * 1. 过滤非数字字符
18
+ * 2. 根据长度判断是 CPF 还是 CNPJ
19
+ * 3. 根据长度添加分隔符
20
+ * 4. 返回格式化后的值和光标位置
21
+ *
22
+ * @example
23
+ * "123456789" → "123.456.789"
24
+ * "1234567890" → "123.456.789-0"
25
+ * "12345678901" → "123.456.789-01"
26
+ * "12345678901234" → "12.345.678/9012-34"
27
+ * "123456789012345" → "12.345.678/9012-34"
28
+ */
29
+ export declare const formatCPFOnInsert: (event: InputEvent) => {
30
+ value: string;
31
+ cursorPosition: number;
32
+ };
@@ -0,0 +1,9 @@
1
+ /** 将数据转为 SHA-256 哈希,使用浏览器 Web Crypto API */
2
+ export declare const sha256: (data: string | Uint8Array) => Promise<Uint8Array>;
3
+ /**
4
+ * AES-256-GCM 加密,返回 Base64 字符串
5
+ * key 经 SHA256 转为 32 字节;nonce 随机,不幂等
6
+ * @params key 加密密钥
7
+ * @params data 加密数据
8
+ */
9
+ export declare const encryptAES: (key: string, data: string) => Promise<string>;
@@ -4,4 +4,5 @@ export declare const createUrlWithParams: (baseUrl: string, params: Record<strin
4
4
  export declare const parseUrl: (url: string) => {
5
5
  baseUrl: string;
6
6
  params: Record<string, string>;
7
+ origin: string;
7
8
  };
@@ -14,6 +14,5 @@ export interface Browser {
14
14
  screenWidth: number;
15
15
  cookies: string;
16
16
  osName: string;
17
- deviceFingerprintId: string;
18
17
  }
19
18
  export declare const getBrowser: () => Promise<Browser>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paykka/card-checkout-ui",
3
- "version": "0.13.8",
3
+ "version": "0.13.13",
4
4
  "type": "module",
5
5
  "main": "dist/paykka-card-checkout-ui.umd.js",
6
6
  "module": "dist/es/index.js",
@@ -30,10 +30,10 @@
30
30
  "changeset:version": "changeset version",
31
31
  "changeset:release": "changeset publish",
32
32
  "changeset:prelease": "changeset publish --tag beta",
33
- "release:prod": "pnpm build && pnpm changeset:release",
34
- "release:noprod": "pnpm build && pnpm changeset:pre-exit && pnpm changeset:prelease",
35
33
  "type-check": "tsc --noEmit -p tsconfig.json --composite false",
36
- "release:npm": "node scripts/release-npm.cjs"
34
+ "release:npm": "node scripts/release.cjs npm",
35
+ "release:prod": "node scripts/release.cjs prod",
36
+ "release:noprod": "node scripts/release.cjs noprod"
37
37
  },
38
38
  "publishConfig": {
39
39
  "registry": "https://packages.aliyun.com/640edee5a84870ae9d591e48/npm/npm-registry/"
@@ -41,6 +41,7 @@
41
41
  "dependencies": {
42
42
  "@ctrl/tinycolor": "^4.0.3",
43
43
  "@fingerprintjs/fingerprintjs": "^4.2.2",
44
+ "@noble/ciphers": "^2.1.1",
44
45
  "@preact/signals": "^1.3.0",
45
46
  "@types/applepayjs": "^14.0.9",
46
47
  "@types/googlepay": "^0.7.7",
@@ -1,3 +0,0 @@
1
- import type { ThreeDSStatusProps } from './type';
2
- import './three-ds-status.scss';
3
- export declare const ThreeDSStatus: (props: ThreeDSStatusProps) => import("preact").JSX.Element;
@@ -1,6 +0,0 @@
1
- import type { LocaleKeyType } from "../../../../i18n";
2
- export type ThreeDSStatusType = 'success' | 'fail';
3
- export type ThreeDSStatusProps = {
4
- status: ThreeDSStatusType;
5
- locale: LocaleKeyType;
6
- };