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