@paykka/card-checkout-ui 0.14.0 → 0.15.1

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 (292) hide show
  1. package/README.md +1 -1
  2. package/dist/card-checkout-ui.js +20 -20
  3. package/dist/card-checkout-ui.umd.cjs +20 -20
  4. package/dist/es/api/http.js +1 -1
  5. package/dist/es/api/index.js +1 -1
  6. package/dist/es/api/modules/checkout/index.js +1 -3
  7. package/dist/es/api/modules/checkout/map.js +12 -4
  8. package/dist/es/api/modules/encrypted-card/index.js +3 -2
  9. package/dist/es/api/modules/get-browser-params.js +4 -5
  10. package/dist/es/api/modules/index.js +1 -1
  11. package/dist/es/api/modules/map.js +4 -1
  12. package/dist/es/components/AccordionItem/AccordionItem.js +1 -1
  13. package/dist/es/components/AccountNameField/index.js +1 -1
  14. package/dist/es/components/AddressField/index.js +1 -1
  15. package/dist/es/components/ApplePay/index.js +34 -21
  16. package/dist/es/components/CPFField/index.js +1 -1
  17. package/dist/es/components/Card/index.js +38 -30
  18. package/dist/es/components/CardBrands/index.js +1 -1
  19. package/dist/es/components/CardExpireDateField/index.js +1 -1
  20. package/dist/es/components/CardHolderNameField/index.js +1 -1
  21. package/dist/es/components/CardIBANField/index.js +1 -1
  22. package/dist/es/components/CardNo/index.js +1 -1
  23. package/dist/es/components/CardNumberField/index.js +1 -1
  24. package/dist/es/components/CardSecurityCodeField/index.js +1 -1
  25. package/dist/es/components/CardSelector/index.js +2 -2
  26. package/dist/es/components/CombinedCardInfo/index.js +1 -1
  27. package/dist/es/components/DropIn/index.js +117 -123
  28. package/dist/es/components/EmailField/EmailField.js +1 -1
  29. package/dist/es/components/EncryptedCard/index.js +5 -5
  30. package/dist/es/components/GooglePay/index.js +32 -29
  31. package/dist/es/components/GuideCard/index.js +2 -2
  32. package/dist/es/components/PaymentButton/index.js +22 -7
  33. package/dist/es/components/RecurringTip/index.js +1 -1
  34. package/dist/es/components/SecuredIframe/index.js +3 -4
  35. package/dist/es/components/Sepa/index.js +15 -7
  36. package/dist/es/components/SubmitButton/index.js +2 -2
  37. package/dist/es/components/ThreeDS/index.js +32 -20
  38. package/dist/es/components/Tip/index.js +1 -1
  39. package/dist/es/components/business/BlikCodeField/BlikCodeField.js +1 -1
  40. package/dist/es/components/business/BlikCodeField/index.js +1 -1
  41. package/dist/es/components/business/BlikConfirmModal/BlikConfirmModal.js +3 -3
  42. package/dist/es/components/business/BlikConfirmModal/index.js +2 -2
  43. package/dist/es/components/business/NameField/NameField.js +1 -1
  44. package/dist/es/components/business/NameField/index.js +1 -1
  45. package/dist/es/components/business/PhoneField/PhoneField.js +1 -1
  46. package/dist/es/components/business/PhoneField/index.js +1 -1
  47. package/dist/es/components/business/QRCodeModal/QRCodeModal.js +2 -2
  48. package/dist/es/components/business/QRCodeModal/index.js +1 -1
  49. package/dist/es/components/business/Tooltip/Tooltip.js +1 -1
  50. package/dist/es/components/business/Tooltip/index.js +1 -1
  51. package/dist/es/components/business/index.js +2 -2
  52. package/dist/es/components/index.js +4 -4
  53. package/dist/es/components/internal/Accordion/index.js +1 -1
  54. package/dist/es/components/internal/Button/{Button.js → Button2.js} +2 -2
  55. package/dist/es/components/internal/Button/index.js +2 -2
  56. package/dist/es/components/internal/CheckBox/CheckBox.js +1 -1
  57. package/dist/es/components/internal/CheckBox/index.js +1 -1
  58. package/dist/es/components/internal/Form/type.js +1 -1
  59. package/dist/es/components/internal/Info/Info.js +1 -1
  60. package/dist/es/components/internal/Info/index.js +1 -1
  61. package/dist/es/components/internal/Input/type.js +1 -1
  62. package/dist/es/components/internal/Loading/Loading2.js +20 -0
  63. package/dist/es/{api/modules/line-pay → components/internal/Loading}/index.js +3 -2
  64. package/dist/es/components/internal/Loading/loading.js +1 -0
  65. package/dist/es/components/internal/LoadingCheck/LoadingCheck.js +1 -1
  66. package/dist/es/components/internal/LoadingCheck/index.js +1 -1
  67. package/dist/es/components/internal/Modal/Modal.js +1 -1
  68. package/dist/es/components/internal/QRCode/QRCode.js +1 -1
  69. package/dist/es/components/internal/QRCode/index.js +1 -1
  70. package/dist/es/components/internal/Select/Select.js +1 -1
  71. package/dist/es/components/internal/Select/SelectMenu.js +1 -1
  72. package/dist/es/components/internal/Select/SelectMenuItem.js +1 -1
  73. package/dist/es/components/internal/icons/IconAlipayPlus.js +116 -0
  74. package/dist/es/components/internal/icons/IconError.js +2 -2
  75. package/dist/es/components/internal/icons/IconSuccess.js +2 -2
  76. package/dist/es/components/internal/icons/IconWechatPayGlobal.js +45 -0
  77. package/dist/es/components/internal/icons/IconWechatPayGlobalComplete.js +107 -0
  78. package/dist/es/components/wallets/AliPay/AliPay.js +186 -0
  79. package/dist/es/components/wallets/AliPay/ali-pay.js +1 -0
  80. package/dist/es/components/wallets/AliPay/index.js +1 -0
  81. package/dist/es/components/wallets/AliPay/type.js +1 -0
  82. package/dist/es/components/wallets/Bancontact/Bancontact.js +7 -10
  83. package/dist/es/components/wallets/Blik/Blik.js +14 -11
  84. package/dist/es/components/wallets/Boost/Boost.js +6 -9
  85. package/dist/es/components/wallets/GCash/GCash.js +7 -10
  86. package/dist/es/components/wallets/GrabPay/GrabPay.js +7 -14
  87. package/dist/es/components/wallets/IDeal/IDeal.js +7 -10
  88. package/dist/es/components/wallets/LinePay/LinePay.js +6 -9
  89. package/dist/es/components/wallets/MayBankQRPay/MayBankQRPay.js +6 -9
  90. package/dist/es/components/wallets/NinePay/NinePay.js +6 -9
  91. package/dist/es/components/wallets/OVO/OVO.js +7 -10
  92. package/dist/es/components/wallets/OpayWallet/OpayWallet.js +6 -9
  93. package/dist/es/components/wallets/P24/P24.js +7 -10
  94. package/dist/es/components/wallets/PagaWallet/PagaWallet.js +6 -9
  95. package/dist/es/components/wallets/Paymaya/Paymaya.js +6 -9
  96. package/dist/es/components/wallets/PicPay/PicPay.js +54 -217
  97. package/dist/es/components/wallets/Pix/Pix.js +54 -217
  98. package/dist/es/components/wallets/ShopeePay/ShopeePay.js +6 -9
  99. package/dist/es/components/wallets/Skrill/Skrill.js +7 -10
  100. package/dist/es/components/wallets/TNGWallet/TNGWallet.js +6 -9
  101. package/dist/es/components/wallets/Trustly/Trustly.js +7 -10
  102. package/dist/es/components/wallets/Vietqr/Vietqr.js +14 -15
  103. package/dist/es/components/wallets/WechatPay/WechatPay.js +250 -0
  104. package/dist/es/components/wallets/WechatPay/index.js +1 -0
  105. package/dist/es/components/wallets/WechatPay/type.js +1 -0
  106. package/dist/es/components/wallets/WechatPay/util.js +47 -0
  107. package/dist/es/components/wallets/WechatPay/wechat-pay.js +1 -0
  108. package/dist/es/components/wallets/Zalopay/Zalopay.js +10 -13
  109. package/dist/es/components/wallets/index.js +2 -0
  110. package/dist/es/constant.js +7 -0
  111. package/dist/es/core/checkout.js +36 -9
  112. package/dist/es/core/create-child.js +5 -4
  113. package/dist/es/core/index.js +1 -1
  114. package/dist/es/core/logger.js +1 -1
  115. package/dist/es/core/payment.js +13 -0
  116. package/dist/es/core/preview.js +29 -0
  117. package/dist/es/core/query.js +12 -3
  118. package/dist/es/core/session.js +36 -6
  119. package/dist/es/core/theme.js +1 -1
  120. package/dist/es/hooks/index.js +1 -1
  121. package/dist/es/hooks/useBaseWallet.js +121 -52
  122. package/dist/es/hooks/useI18n.js +3 -3
  123. package/dist/es/i18n/locales/de-DE.js +7 -0
  124. package/dist/es/i18n/locales/en-GB.js +7 -0
  125. package/dist/es/i18n/locales/es-ES.js +7 -0
  126. package/dist/es/i18n/locales/fr-FR.js +7 -0
  127. package/dist/es/i18n/locales/ja-JP.js +7 -0
  128. package/dist/es/i18n/locales/ko-KR.js +7 -0
  129. package/dist/es/i18n/locales/nl-NL.js +7 -0
  130. package/dist/es/i18n/locales/pt-PT.js +7 -0
  131. package/dist/es/i18n/locales/ru-RU.js +7 -0
  132. package/dist/es/i18n/locales/zh-CN.js +7 -0
  133. package/dist/es/i18n/locales/zh-HK.js +7 -0
  134. package/dist/es/i18n/locales/zh-TW.js +7 -0
  135. package/dist/es/i18n/util.js +10 -10
  136. package/dist/es/index.js +7 -5
  137. package/dist/es/out/base-fraud-detection.js +1 -1
  138. package/dist/es/out/fraud-detection.js +59 -44
  139. package/dist/es/out/paykka-detection.js +5 -7
  140. package/dist/es/out/stripe-radar.js +1 -1
  141. package/dist/es/out/worldpay-ddc-manager.js +3 -0
  142. package/dist/es/out/worldpay-ddc.js +1 -1
  143. package/dist/es/style.css +1 -1
  144. package/dist/es/types/event.js +10 -1
  145. package/dist/es/types/index.js +7 -0
  146. package/dist/es/utils/array.js +19 -5
  147. package/dist/es/utils/business/amount.js +15 -0
  148. package/dist/es/utils/business/index.js +1 -0
  149. package/dist/es/utils/detect.js +8 -0
  150. package/dist/es/utils/index.js +7 -9
  151. package/dist/es/utils/location.js +8 -0
  152. package/dist/es/utils/number.js +19 -0
  153. package/dist/es/utils/redirect.js +2 -0
  154. package/dist/style.css +1 -1
  155. package/dist/types/api/modules/checkout/type.d.ts +1 -1
  156. package/dist/types/api/modules/index.d.ts +0 -17
  157. package/dist/types/api/modules/threeDS/index.d.ts +13 -5
  158. package/dist/types/components/ApplePay/type.d.ts +6 -2
  159. package/dist/types/components/Card/type.d.ts +2 -18
  160. package/dist/types/components/DropIn/layout.d.ts +33 -0
  161. package/dist/types/components/DropIn/type.d.ts +6 -6
  162. package/dist/types/components/GooglePay/createGooglePay.d.ts +1 -1
  163. package/dist/types/components/GooglePay/type.d.ts +6 -2
  164. package/dist/types/components/PaymentButton/type.d.ts +2 -0
  165. package/dist/types/components/Sepa/type.d.ts +3 -4
  166. package/dist/types/components/business/QRCodeModal/type.d.ts +12 -3
  167. package/dist/types/components/index.d.ts +0 -2
  168. package/dist/types/components/internal/Loading/Loading.d.ts +2 -1
  169. package/dist/types/components/internal/Loading/type.d.ts +8 -0
  170. package/dist/types/components/internal/ResultMessage/ResultMessage.d.ts +3 -0
  171. package/dist/types/components/internal/ResultMessage/index.d.ts +2 -0
  172. package/dist/types/components/internal/ResultMessage/type.d.ts +13 -0
  173. package/dist/types/components/internal/icons/IconAlipayPlus.d.ts +2 -0
  174. package/dist/types/components/internal/icons/IconError.d.ts +1 -1
  175. package/dist/types/components/internal/icons/IconSuccess.d.ts +1 -1
  176. package/dist/types/components/internal/icons/IconWechatPayGlobal.d.ts +2 -0
  177. package/dist/types/components/internal/icons/IconWechatPayGlobalComplete.d.ts +2 -0
  178. package/dist/types/components/internal/icons/index.d.ts +3 -0
  179. package/dist/types/components/{AliPay → wallets/AliPay}/AliPay.d.ts +9 -4
  180. package/dist/types/components/wallets/AliPay/type.d.ts +7 -0
  181. package/dist/types/components/wallets/Bancontact/type.d.ts +2 -24
  182. package/dist/types/components/wallets/Blik/type.d.ts +2 -24
  183. package/dist/types/components/wallets/Boost/type.d.ts +2 -24
  184. package/dist/types/components/wallets/GCash/type.d.ts +2 -24
  185. package/dist/types/components/wallets/GrabPay/type.d.ts +2 -12
  186. package/dist/types/components/wallets/IDeal/type.d.ts +2 -24
  187. package/dist/types/components/wallets/LinePay/type.d.ts +2 -24
  188. package/dist/types/components/wallets/MayBankQRPay/type.d.ts +2 -24
  189. package/dist/types/components/wallets/NinePay/type.d.ts +2 -24
  190. package/dist/types/components/wallets/OVO/type.d.ts +2 -24
  191. package/dist/types/components/wallets/OpayWallet/type.d.ts +2 -24
  192. package/dist/types/components/wallets/P24/type.d.ts +2 -24
  193. package/dist/types/components/wallets/PagaWallet/type.d.ts +2 -24
  194. package/dist/types/components/wallets/Paymaya/type.d.ts +2 -24
  195. package/dist/types/components/wallets/PicPay/type.d.ts +2 -24
  196. package/dist/types/components/wallets/Pix/type.d.ts +2 -24
  197. package/dist/types/components/wallets/ShopeePay/type.d.ts +2 -24
  198. package/dist/types/components/wallets/Skrill/type.d.ts +2 -12
  199. package/dist/types/components/wallets/TNGWallet/type.d.ts +2 -24
  200. package/dist/types/components/wallets/Trustly/type.d.ts +2 -16
  201. package/dist/types/components/wallets/Vietqr/type.d.ts +2 -24
  202. package/dist/types/components/wallets/WechatPay/WechatPay.d.ts +16 -0
  203. package/dist/types/components/wallets/WechatPay/type.d.ts +12 -0
  204. package/dist/types/components/wallets/WechatPay/util.d.ts +13 -0
  205. package/dist/types/components/wallets/Zalopay/type.d.ts +2 -24
  206. package/dist/types/components/wallets/index.d.ts +2 -0
  207. package/dist/types/components/wallets/type.d.ts +0 -14
  208. package/dist/types/constant.d.ts +8 -0
  209. package/dist/types/core/index.d.ts +1 -0
  210. package/dist/types/core/preview.d.ts +1 -0
  211. package/dist/types/core/session.d.ts +2 -2
  212. package/dist/types/hooks/index.d.ts +0 -1
  213. package/dist/types/hooks/useBaseWallet.d.ts +27 -5
  214. package/dist/types/hooks/useI18n.d.ts +1 -1
  215. package/dist/types/hooks/usePayState.d.ts +1 -4
  216. package/dist/types/i18n/I18n.d.ts +1 -0
  217. package/dist/types/i18n/locales/de-DE.d.ts +7 -0
  218. package/dist/types/i18n/locales/en-GB.d.ts +7 -0
  219. package/dist/types/i18n/locales/es-ES.d.ts +7 -0
  220. package/dist/types/i18n/locales/fr-FR.d.ts +7 -0
  221. package/dist/types/i18n/locales/ja-JP.d.ts +7 -0
  222. package/dist/types/i18n/locales/ko-KR.d.ts +7 -0
  223. package/dist/types/i18n/locales/nl-NL.d.ts +7 -0
  224. package/dist/types/i18n/locales/pt-PT.d.ts +7 -0
  225. package/dist/types/i18n/locales/ru-RU.d.ts +7 -0
  226. package/dist/types/i18n/locales/zh-CN.d.ts +7 -0
  227. package/dist/types/i18n/locales/zh-HK.d.ts +7 -0
  228. package/dist/types/i18n/locales/zh-TW.d.ts +7 -0
  229. package/dist/types/i18n/util.d.ts +8 -1
  230. package/dist/types/index.d.ts +2 -1
  231. package/dist/types/out/fraud-detection.d.ts +2 -5
  232. package/dist/types/out/types.d.ts +5 -6
  233. package/dist/types/out/worldpay-ddc-manager.d.ts +1 -0
  234. package/dist/types/types/event.d.ts +24 -2
  235. package/dist/types/types/index.d.ts +14 -0
  236. package/dist/types/types/message.d.ts +3 -1
  237. package/dist/types/types/payment.d.ts +26 -3
  238. package/dist/types/utils/app-payment.d.ts +1 -0
  239. package/dist/types/utils/array.d.ts +17 -0
  240. package/dist/types/utils/business/amount.d.ts +7 -0
  241. package/dist/types/utils/business/index.d.ts +1 -0
  242. package/dist/types/utils/detect.d.ts +3 -0
  243. package/dist/types/utils/index.d.ts +1 -6
  244. package/dist/types/utils/number.d.ts +4 -0
  245. package/dist/types/utils/redirect.d.ts +10 -0
  246. package/dist/types/utils/system-info/get-browser-info.d.ts +4 -0
  247. package/package.json +4 -2
  248. package/dist/es/api/modules/ali-pay/index.js +0 -16
  249. package/dist/es/api/modules/boost/index.js +0 -5
  250. package/dist/es/api/modules/gcash/index.js +0 -5
  251. package/dist/es/api/modules/grab-pay/index.js +0 -5
  252. package/dist/es/api/modules/may-bank-qr-pay/index.js +0 -5
  253. package/dist/es/api/modules/nine-pay/index.js +0 -5
  254. package/dist/es/api/modules/opay-wallet/index.js +0 -5
  255. package/dist/es/api/modules/paga-wallet/index.js +0 -5
  256. package/dist/es/api/modules/paymaya/index.js +0 -5
  257. package/dist/es/api/modules/pic-pay/index.js +0 -16
  258. package/dist/es/api/modules/pix/index.js +0 -16
  259. package/dist/es/api/modules/shopee-pay/index.js +0 -5
  260. package/dist/es/api/modules/tng-wallet/index.js +0 -5
  261. package/dist/es/api/modules/vietqr/index.js +0 -5
  262. package/dist/es/api/modules/wechat-pay/index.js +0 -16
  263. package/dist/es/api/modules/zalopay/index.js +0 -5
  264. package/dist/es/components/AliPay/index.js +0 -332
  265. package/dist/es/components/WechatPay/index.js +0 -340
  266. package/dist/es/hooks/usePayment.js +0 -1
  267. package/dist/types/api/modules/ali-pay/index.d.ts +0 -4
  268. package/dist/types/api/modules/boost/index.d.ts +0 -4
  269. package/dist/types/api/modules/gcash/index.d.ts +0 -4
  270. package/dist/types/api/modules/grab-pay/index.d.ts +0 -4
  271. package/dist/types/api/modules/line-pay/index.d.ts +0 -4
  272. package/dist/types/api/modules/may-bank-qr-pay/index.d.ts +0 -4
  273. package/dist/types/api/modules/nine-pay/index.d.ts +0 -4
  274. package/dist/types/api/modules/opay-wallet/index.d.ts +0 -4
  275. package/dist/types/api/modules/paga-wallet/index.d.ts +0 -4
  276. package/dist/types/api/modules/paymaya/index.d.ts +0 -4
  277. package/dist/types/api/modules/pic-pay/index.d.ts +0 -4
  278. package/dist/types/api/modules/pix/index.d.ts +0 -4
  279. package/dist/types/api/modules/shopee-pay/index.d.ts +0 -4
  280. package/dist/types/api/modules/tng-wallet/index.d.ts +0 -4
  281. package/dist/types/api/modules/vietqr/index.d.ts +0 -4
  282. package/dist/types/api/modules/wechat-pay/index.d.ts +0 -4
  283. package/dist/types/api/modules/zalopay/index.d.ts +0 -4
  284. package/dist/types/components/AliPay/type.d.ts +0 -26
  285. package/dist/types/components/WechatPay/WechatPay.d.ts +0 -10
  286. package/dist/types/components/WechatPay/type.d.ts +0 -28
  287. package/dist/types/hooks/usePayment.d.ts +0 -8
  288. package/dist/types/hooks/useRetry.console-tests.d.ts +0 -41
  289. package/dist/types/utils/behavior-tracker.d.ts +0 -36
  290. /package/dist/es/components/internal/Button/{button2.js → button.js} +0 -0
  291. /package/dist/types/components/{AliPay → wallets/AliPay}/index.d.ts +0 -0
  292. /package/dist/types/components/{WechatPay → wallets/WechatPay}/index.d.ts +0 -0
@@ -1,22 +1,15 @@
1
- import { w, F, A, h, y, q, u, b } from "../../../core.js";
1
+ import { w, F, h, A, y, u, b } from "../../../core.js";
2
2
  import { useBEM } from "../../../hooks/useBEM.js";
3
3
  import { CoreContext } from "../../../core/context.js";
4
4
  import "../../../utils/card-brand/brands.js";
5
5
  import "../../../utils/system-info/get-browser-info.js";
6
- import { normalizedClass, formatAmount, limitedToNumber } from "../../../utils/format.js";
6
+ import { normalizedClass, limitedToNumber } from "../../../utils/format.js";
7
7
  import { defaultInputStyleConfig } from "../../../types/index.js";
8
- import { redirectToPayment } from "../../../utils/redirect.js";
9
- import { processPaymentStatus, formatPaymentResult } from "../../../utils/payment.js";
10
- import { isTimeoutError } from "../../../api/http.js";
11
- import { getBrowserParams } from "../../../api/modules/get-browser-params.js";
12
8
  import { PaymentMethod, PaymentCategory, COMMON_CLASS_NAME, SessionMode } from "../../../constant.js";
13
- import { getPicPayInfo, picPay } from "../../../api/modules/pic-pay/index.js";
14
- import { PayKKaError } from "../../../core/error.js";
15
- import "../../../out/worldpay-jsc-origin.js";
9
+ import "../../../out/fraud-detection.js";
16
10
  import { usePayState } from "../../../hooks/usePayState.js";
17
- import { useRetry } from "../../../hooks/useRetry.js";
11
+ import { useBaseWallet } from "../../../hooks/useBaseWallet.js";
18
12
  import { createEmailCore, EmailField } from "../../EmailField/EmailField.js";
19
- import { SubmitButton } from "../../SubmitButton/index.js";
20
13
  import { GuideCard } from "../../GuideCard/index.js";
21
14
  import { DEFAULT_ADDRESS, AddressField } from "../../AddressField/index.js";
22
15
  import { Info } from "../../internal/Info/Info.js";
@@ -26,6 +19,7 @@ import "../../internal/Form/FormItem.js";
26
19
  import { Form } from "../../internal/Form/Form.js";
27
20
  import "./pic-pay.js";
28
21
  import { SecuredFieldsProvider } from "../../SecuredFieldsProvider/index.js";
22
+ import { PaymentButton } from "../../PaymentButton/index.js";
29
23
  import { CPFField } from "../../CPFField/index.js";
30
24
  import { Tip } from "../../Tip/index.js";
31
25
  const { bem } = useBEM("pic-pay");
@@ -35,23 +29,13 @@ const PicPay = w((props, ref) => {
35
29
  var _a;
36
30
  const {
37
31
  session,
38
- showEmail = false,
39
- showAddress = false,
40
32
  core,
41
- redirectMode = "auto",
42
- autoQuery = true,
43
33
  showGuideCard = true,
44
34
  hidePaymentButton = false
45
35
  } = props;
46
36
  F(ref, () => ({
47
- stopRetry: () => {
48
- setSubmitButtonStatus("unSubmit");
49
- stopReFetchPayInfo();
50
- },
51
- startRetry: (timeout) => {
52
- setSubmitButtonStatus("loading");
53
- startReFetchPayInfo({ timeout });
54
- },
37
+ stopRetry: () => stopRetry(),
38
+ startRetry: (timeout) => startRetry(timeout),
55
39
  updateAddress: () => {
56
40
  var _a2;
57
41
  if (!(fieldStatus == null ? void 0 : fieldStatus.address.show))
@@ -75,16 +59,42 @@ const PicPay = w((props, ref) => {
75
59
  hidePaymentButton && onSubmit();
76
60
  }
77
61
  }));
62
+ const [security, setSecurity] = h(false);
63
+ const {
64
+ isEnabled,
65
+ fieldStatus,
66
+ paymentButtonStatus,
67
+ setPaymentButtonStatus,
68
+ errorMessage,
69
+ setErrorMessage,
70
+ payment,
71
+ startRetry,
72
+ stopRetry,
73
+ getPaymentMethodContext,
74
+ processAfterPayment,
75
+ processOnError,
76
+ processOnTimeout
77
+ } = useBaseWallet(CURR_PAYMENT_METHOD, props, {
78
+ getFormData: () => form,
79
+ getExtraPaymentParams: () => {
80
+ return {
81
+ customer: {
82
+ document: limitedToNumber(form.cpf)
83
+ }
84
+ };
85
+ },
86
+ executePayment: security ? (params, extraParams) => {
87
+ var _a2;
88
+ (_a2 = SFPRef.current) == null ? void 0 : _a2.payment(params, extraParams);
89
+ } : void 0
90
+ });
78
91
  const addressCore = core.getAddressCore();
79
92
  const emailState = createEmailCore();
80
93
  const addressFieldRef = A(null);
81
94
  const emailFieldRef = A(null);
82
95
  const SFPRef = A(null);
83
96
  const cpfFieldRef = A(null);
84
- const [isCheckoutEnabled, setIsCheckoutEnabled] = h(false);
85
- const { setErrorMsg, fraudDetection, i18n, errorMsg, sessionReady, disabled } = usePayState(session, props.core);
86
- const [submitButtonStatus, setSubmitButtonStatus] = h("unSubmit");
87
- const [security, setSecurity] = h(false);
97
+ const { i18n, sessionReady, disabled } = usePayState(session, props.core);
88
98
  const formRef = A(null);
89
99
  const [form, setForm] = h({
90
100
  email: "",
@@ -92,184 +102,17 @@ const PicPay = w((props, ref) => {
92
102
  cpf: ""
93
103
  });
94
104
  const [validated, setValidated] = h(false);
95
- const [fieldStatus, setFieldStatus] = h();
96
- const getPaymentMethodContext = () => ({
97
- paymentMethod: CURR_PAYMENT_METHOD
98
- });
99
- const initFieldStatus = () => {
100
- const { field, sessionMode } = session.checkout;
101
- const { email, address } = field;
102
- if (sessionMode === SessionMode.COMPONENT) {
103
- if (email.disabled) {
104
- email.show = showEmail;
105
- }
106
- if (showAddress && !(address == null ? void 0 : address.show)) {
107
- address.show = true;
108
- }
109
- }
110
- setFieldStatus({ ...field });
111
- };
112
- const processOnSuccess = (res) => {
113
- var _a2, _b;
114
- setSubmitButtonStatus("success");
115
- (_b = props.onSuccess) == null ? void 0 : _b.call(props, formatPaymentResult({
116
- ...res,
117
- returnUrl: (_a2 = session == null ? void 0 : session.checkout) == null ? void 0 : _a2.returnUrl
118
- }), getPaymentMethodContext());
119
- };
120
105
  y(() => {
121
- var _a2, _b;
122
- if (!sessionReady) {
123
- return;
124
- }
125
- const { bill = {}, supportMethods = [], country, sessionMode } = (session == null ? void 0 : session.checkout) || {};
126
- if (!supportMethods.includes(CURR_PAYMENT_METHOD)) {
106
+ var _a2;
107
+ if (!sessionReady)
127
108
  return;
128
- }
129
- initFieldStatus();
109
+ const { bill = {}, country, sessionMode } = (session == null ? void 0 : session.checkout) || {};
130
110
  setSecurity(sessionMode !== SessionMode.HOSTED);
131
111
  (_a2 = SFPRef.current) == null ? void 0 : _a2.reload();
132
- setIsCheckoutEnabled(true);
133
112
  country && addressCore.setCountry(country);
134
113
  form.email = bill.email ?? "";
135
114
  form.address.country = country;
136
- if (autoQuery && ((_b = core.payment) == null ? void 0 : _b.currPaymentMethod.value) === CURR_PAYMENT_METHOD) {
137
- setSubmitButtonStatus("loading");
138
- startReFetchPayInfo();
139
- }
140
115
  }, [sessionReady]);
141
- const processOnError = (error) => {
142
- var _a2, _b;
143
- (_a2 = props.onError) == null ? void 0 : _a2.call(props, error, getPaymentMethodContext());
144
- (_b = core.payment) == null ? void 0 : _b.resetCurrPaymentMethod();
145
- };
146
- const onTimeout = q(
147
- (message) => {
148
- var _a2, _b;
149
- setErrorMsg(message || i18n.get("common.payTimeout"));
150
- setSubmitButtonStatus("unSubmit");
151
- (_a2 = props.onTimeout) == null ? void 0 : _a2.call(props, "retry", getPaymentMethodContext());
152
- (_b = core.payment) == null ? void 0 : _b.resetCurrPaymentMethod();
153
- },
154
- [i18n, props.onTimeout]
155
- );
156
- const { start: startReFetchPayInfo, stop: stopReFetchPayInfo } = useRetry(
157
- (timeout) => pay(true, timeout),
158
- { onTimeout: () => onTimeout(i18n.get("common.queryTimeout")) }
159
- );
160
- const getPaymentParams = async () => {
161
- return {
162
- sessionId: session.sessionId,
163
- clientKey: session.clientKey,
164
- payment: {
165
- paymentMethod: CURR_PAYMENT_METHOD
166
- },
167
- customer: {
168
- document: limitedToNumber(form.cpf)
169
- },
170
- bill: {
171
- email: form.email,
172
- addressLine1: form.address.address1,
173
- addressLine2: form.address.address2,
174
- postalCode: form.address.postCode,
175
- country: form.address.country,
176
- district: form.address.area,
177
- state: form.address.province ? addressCore.getLabel(form.address.province, addressCore.getProvinceOption()) ?? form.address.province : void 0,
178
- city: form.address.city ? addressCore.getLabel(form.address.city, addressCore.getCityOptions()) ?? form.address.city : void 0
179
- },
180
- browser: await getBrowserParams({
181
- fraudDetectionId: await (fraudDetection == null ? void 0 : fraudDetection.getFraudDetectionId())
182
- })
183
- };
184
- };
185
- const pay = async (search = false, timeout) => {
186
- var _a2, _b, _c, _d, _e;
187
- try {
188
- core.payment.currPaymentMethod.value = CURR_PAYMENT_METHOD;
189
- const requestOptions = { locale: i18n.locale, timeout };
190
- let res = null;
191
- if (search) {
192
- const extraParams = (_b = (_a2 = core.config)._getExtraParams) == null ? void 0 : _b.call(_a2, "query", CURR_PAYMENT_METHOD);
193
- res = await getPicPayInfo(
194
- {
195
- sessionId: session.sessionId,
196
- clientKey: session.clientKey,
197
- paymentMethod: CURR_PAYMENT_METHOD
198
- },
199
- extraParams,
200
- requestOptions
201
- );
202
- } else {
203
- const paymentParams = await getPaymentParams();
204
- const extraParams = (_d = (_c = core.config)._getExtraParams) == null ? void 0 : _d.call(_c, "payment", CURR_PAYMENT_METHOD);
205
- if (security) {
206
- (_e = SFPRef.current) == null ? void 0 : _e.payment(paymentParams, extraParams);
207
- return { end: true };
208
- } else {
209
- res = await picPay(paymentParams, extraParams, requestOptions);
210
- }
211
- }
212
- return processAfterPayment(res, search);
213
- } catch (error) {
214
- if (isTimeoutError(error)) {
215
- if (search) {
216
- return { end: false };
217
- } else {
218
- onTimeout();
219
- return { end: true };
220
- }
221
- } else {
222
- processPaymentError(error);
223
- return { end: true };
224
- }
225
- }
226
- };
227
- const processAfterPayment = async (res, search = false) => {
228
- var _a2;
229
- !search && ((_a2 = props.onSubmitResponse) == null ? void 0 : _a2.call(props, res, getPaymentMethodContext()));
230
- const { errorMessage, errorCode, payInfo, sessionId } = res;
231
- sessionId && (session.sessionId = sessionId);
232
- let end = true;
233
- await processPaymentStatus(res, {
234
- onProcessing: () => {
235
- if (redirectMode === "auto" && (payInfo == null ? void 0 : payInfo.targetUrl)) {
236
- redirectToPayment(payInfo);
237
- return;
238
- }
239
- !search && startReFetchPayInfo();
240
- end = false;
241
- },
242
- onSuccess: () => {
243
- processOnSuccess(res);
244
- },
245
- onFailure: () => {
246
- processPaymentError({ message: errorMessage, code: errorCode });
247
- },
248
- onCanceled: () => {
249
- var _a3, _b;
250
- setSubmitButtonStatus("unSubmit");
251
- (_a3 = props.onTimeout) == null ? void 0 : _a3.call(props, "channel", getPaymentMethodContext());
252
- (_b = core.payment) == null ? void 0 : _b.resetCurrPaymentMethod();
253
- },
254
- onExpired: () => {
255
- var _a3;
256
- setSubmitButtonStatus("unSubmit");
257
- (_a3 = props.onExpired) == null ? void 0 : _a3.call(props, getPaymentMethodContext());
258
- },
259
- onDefault: () => {
260
- var _a3;
261
- (_a3 = core.payment) == null ? void 0 : _a3.resetCurrPaymentMethod();
262
- setSubmitButtonStatus("unSubmit");
263
- }
264
- });
265
- return { end };
266
- };
267
- const processPaymentError = (error) => {
268
- const message = (error == null ? void 0 : error.i18nKey) ? i18n.get(error.i18nKey) : error.message;
269
- message && setErrorMsg(message);
270
- processOnError(new PayKKaError("API_ERROR", message, { code: error == null ? void 0 : error.code, cause: error }));
271
- setSubmitButtonStatus("unSubmit");
272
- };
273
116
  const validateFormSilently = () => {
274
117
  var _a2;
275
118
  (_a2 = formRef.current) == null ? void 0 : _a2.validate(void 0, false).then(() => setValidated(true)).catch(() => setValidated(false));
@@ -279,18 +122,19 @@ const PicPay = w((props, ref) => {
279
122
  }, [form]);
280
123
  const onSubmit = async () => {
281
124
  var _a2;
282
- setErrorMsg("");
125
+ setErrorMessage("");
283
126
  (_a2 = formRef.current) == null ? void 0 : _a2.validate(async (errors) => {
284
127
  var _a3;
285
128
  (fieldStatus == null ? void 0 : fieldStatus.address.show) && addressCore.setValidateAllFields(true);
286
- (_a3 = props.onSubmit) == null ? void 0 : _a3.call(props, errors, getPaymentMethodContext());
129
+ const submitResult = await ((_a3 = props.onSubmit) == null ? void 0 : _a3.call(props, errors, getPaymentMethodContext()));
130
+ if (submitResult === false)
131
+ return;
287
132
  if (errors) {
288
- setSubmitButtonStatus("unSubmit");
133
+ setPaymentButtonStatus("unSubmit");
289
134
  return;
290
135
  }
291
- setErrorMsg("");
292
- setSubmitButtonStatus("loading");
293
- await pay();
136
+ setPaymentButtonStatus("loading");
137
+ await payment();
294
138
  });
295
139
  };
296
140
  const onFieldsFocus = (data) => {
@@ -303,10 +147,10 @@ const PicPay = w((props, ref) => {
303
147
  }
304
148
  };
305
149
  const onAfterPayment = (data) => {
306
- processAfterPayment(data.response);
150
+ processAfterPayment(data.response, false);
307
151
  };
308
152
  const onPaymentError = (data) => {
309
- processPaymentError(data.error);
153
+ processOnError(data.error);
310
154
  };
311
155
  const onFieldValidStatusChanged = (data) => {
312
156
  var _a2;
@@ -321,19 +165,12 @@ const PicPay = w((props, ref) => {
321
165
  dom && validateFormSilently();
322
166
  };
323
167
  const Button = () => {
324
- var _a2;
325
- const transAmount = (_a2 = session == null ? void 0 : session.checkout) == null ? void 0 : _a2.transAmount;
326
- const amountText = (transAmount == null ? void 0 : transAmount.amount) ? formatAmount(transAmount).jointSymbol() : "";
327
- const text = i18n.get("common.pay") + (amountText ? ` ${amountText}` : "");
328
168
  return /* @__PURE__ */ u(
329
- SubmitButton,
169
+ PaymentButton,
330
170
  {
331
171
  className: bem("button"),
332
- status: submitButtonStatus,
172
+ status: paymentButtonStatus,
333
173
  disabled,
334
- text,
335
- loadingText: i18n.get("common.payProcessing"),
336
- successText: i18n.get("common.paySuccess"),
337
174
  onClick: onSubmit,
338
175
  verified: validated
339
176
  }
@@ -350,7 +187,7 @@ const PicPay = w((props, ref) => {
350
187
  ) }) });
351
188
  };
352
189
  const ErrorMessage = () => {
353
- return /* @__PURE__ */ u(b, { children: !!errorMsg && /* @__PURE__ */ u(Info, { content: errorMsg }) });
190
+ return /* @__PURE__ */ u(b, { children: !!errorMessage && /* @__PURE__ */ u(Info, { content: errorMessage }) });
354
191
  };
355
192
  const Address = () => {
356
193
  return /* @__PURE__ */ u(b, { children: (fieldStatus == null ? void 0 : fieldStatus.address.show) && /* @__PURE__ */ u("div", { className: fieldClassNames, children: /* @__PURE__ */ u(
@@ -371,7 +208,7 @@ const PicPay = w((props, ref) => {
371
208
  session,
372
209
  core
373
210
  },
374
- children: isCheckoutEnabled && i18n.ready.value && /* @__PURE__ */ u("div", { className: core.theme.className, children: [
211
+ children: isEnabled && i18n.ready.value && /* @__PURE__ */ u("div", { className: core.theme.className, children: [
375
212
  showGuideCard && /* @__PURE__ */ u(GuideCard, { type: PaymentCategory.PIC_PAY }),
376
213
  /* @__PURE__ */ u(Form, { form, ref: setFormRef, onFormChange: (form2) => setForm(form2), children: /* @__PURE__ */ u("div", { className: normalizedClass(COMMON_CLASS_NAME, bem()), children: [
377
214
  Email(),
@@ -388,7 +225,7 @@ const PicPay = w((props, ref) => {
388
225
  onFocus: onFieldsFocus,
389
226
  onAfterPayment,
390
227
  onPaymentError,
391
- onPaymentTimeout: ({ message }) => onTimeout(i18n.get(message)),
228
+ onPaymentTimeout: () => processOnTimeout("retry"),
392
229
  onValidStatusChanged: onFieldValidStatusChanged,
393
230
  onEvent: (type, data) => {
394
231
  var _a2, _b;