@paykka/card-checkout-ui 0.5.17 → 0.7.0

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 (189) hide show
  1. package/dist/card-checkout-ui.js +22 -0
  2. package/dist/card-checkout-ui.umd.cjs +19 -5
  3. package/dist/es/api/index.js +0 -2
  4. package/dist/es/api/modules/checkout/index.js +1 -15
  5. package/dist/es/api/modules/checkout/map.js +22 -4
  6. package/dist/es/api/modules/encrypted-card/index.js +54 -0
  7. package/dist/es/api/modules/get-browser-params.js +2 -2
  8. package/dist/es/api/modules/index.js +0 -2
  9. package/dist/es/components/AccountNameField/index.js +2 -3
  10. package/dist/es/components/AddressField/index.js +4 -7
  11. package/dist/es/components/AliPay/index.js +13 -12
  12. package/dist/es/components/ApplePay/index.js +75 -19
  13. package/dist/es/components/Card/index.js +335 -143
  14. package/dist/es/components/CardBrands/index.js +0 -2
  15. package/dist/es/components/CardExpireDateField/index.js +6 -6
  16. package/dist/es/components/CardHolderNameField/index.js +5 -5
  17. package/dist/es/components/CardIBANField/index.js +2 -3
  18. package/dist/es/components/CardNo/index.js +0 -2
  19. package/dist/es/components/CardNumberField/index.js +32 -20
  20. package/dist/es/components/CardSecurityCodeField/index.js +6 -6
  21. package/dist/es/components/CardSelector/index.js +1 -3
  22. package/dist/es/components/CombinedCardInfo/index.js +99 -0
  23. package/dist/es/components/EmailField/EmailField.js +2 -3
  24. package/dist/es/components/EncryptedCard/index.js +408 -0
  25. package/dist/es/components/GooglePay/index.js +108 -36
  26. package/dist/es/components/RecurringTip/index.js +0 -2
  27. package/dist/es/components/SecuredFieldsProvider/index.js +230 -1
  28. package/dist/es/components/SecuredIframe/index.js +192 -22
  29. package/dist/es/components/Sepa/index.js +36 -32
  30. package/dist/es/components/SubmitButton/index.js +0 -2
  31. package/dist/es/components/ThreeDS/index.js +94 -0
  32. package/dist/es/components/WechatPay/index.js +31 -30
  33. package/dist/es/components/index.js +4 -2
  34. package/dist/es/components/internal/Button/Button.js +0 -2
  35. package/dist/es/components/internal/Button/index.js +0 -2
  36. package/dist/es/components/internal/CheckBox/CheckBox.js +0 -2
  37. package/dist/es/components/internal/CheckBox/index.js +0 -2
  38. package/dist/es/components/internal/Form/FormItem.js +28 -24
  39. package/dist/es/components/internal/Form/index.js +1 -0
  40. package/dist/es/components/internal/Form/type.js +13 -1
  41. package/dist/es/components/internal/Info/Info.js +0 -2
  42. package/dist/es/components/internal/Info/index.js +0 -2
  43. package/dist/es/components/internal/Input/Input.js +11 -13
  44. package/dist/es/components/internal/Input/index.js +1 -0
  45. package/dist/es/components/internal/Input/type.js +11 -1
  46. package/dist/es/components/internal/LoadingCheck/LoadingCheck.js +0 -2
  47. package/dist/es/components/internal/LoadingCheck/index.js +0 -2
  48. package/dist/es/components/internal/Modal/Modal.js +40 -0
  49. package/dist/es/components/internal/Modal/modal2.js +1 -0
  50. package/dist/es/components/internal/Select/Select.js +2 -2
  51. package/dist/es/components/internal/Select/SelectMenu.js +0 -2
  52. package/dist/es/components/internal/Select/SelectMenuItem.js +0 -2
  53. package/dist/es/components/internal/icons/Icon3DSFail.js +3 -0
  54. package/dist/es/components/internal/icons/Icon3DSInfo.js +62 -0
  55. package/dist/es/components/internal/icons/Icon3DSSuccess.js +3 -0
  56. package/dist/es/config.js +12 -8
  57. package/dist/es/constant.js +13 -2
  58. package/dist/es/core/PayKKaCheckout.js +116 -0
  59. package/dist/es/core/Session.js +7 -6
  60. package/dist/es/core/environment.js +26 -0
  61. package/dist/es/core/error.js +21 -0
  62. package/dist/es/core/index.js +0 -2
  63. package/dist/es/core/query.js +1 -8
  64. package/dist/es/hooks/index.js +0 -2
  65. package/dist/es/hooks/useBreakpoints.js +57 -0
  66. package/dist/es/hooks/useI18n.js +0 -1
  67. package/dist/es/hooks/usePayState.js +20 -33
  68. package/dist/es/i18n/index.js +0 -2
  69. package/dist/es/i18n/locales/de-DE.js +11 -1
  70. package/dist/es/i18n/locales/en-GB.js +11 -1
  71. package/dist/es/i18n/locales/es-ES.js +11 -1
  72. package/dist/es/i18n/locales/fr-FR.js +11 -1
  73. package/dist/es/i18n/locales/index.js +8 -6
  74. package/dist/es/i18n/locales/ja-JP.js +11 -1
  75. package/dist/es/i18n/locales/ko-KR.js +11 -1
  76. package/dist/es/i18n/locales/pt-PT.js +11 -1
  77. package/dist/es/i18n/locales/ru-RU.js +11 -1
  78. package/dist/es/i18n/locales/zh-CN.js +11 -1
  79. package/dist/es/i18n/locales/zh-HK.js +11 -1
  80. package/dist/es/i18n/locales/zh-TW.js +11 -1
  81. package/dist/es/i18n/util.js +11 -8
  82. package/dist/es/index.js +15 -2
  83. package/dist/es/out/fraud-detection.js +99 -0
  84. package/dist/es/style.css +194 -4
  85. package/dist/es/types/{radar.js → fraud-detection.js} +1 -1
  86. package/dist/es/types/index.js +49 -1
  87. package/dist/es/types/message.js +28 -0
  88. package/dist/es/utils/card-brand/brands.js +21 -45
  89. package/dist/es/utils/card-brand/index.js +3 -2
  90. package/dist/es/utils/iframe.js +23 -0
  91. package/dist/es/utils/index.js +11 -1
  92. package/dist/es/utils/load.js +14 -0
  93. package/dist/es/utils/style.js +84 -0
  94. package/dist/style.css +1 -1
  95. package/dist/types/api/modules/checkout/map.d.ts +1 -0
  96. package/dist/types/api/modules/checkout/type.d.ts +14 -1
  97. package/dist/types/api/modules/encrypted-card/index.d.ts +6 -0
  98. package/dist/types/api/modules/encrypted-card/type.d.ts +31 -0
  99. package/dist/types/api/modules/get-browser-params.d.ts +3 -3
  100. package/dist/types/components/AddressField/type.d.ts +1 -0
  101. package/dist/types/components/AliPay/type.d.ts +4 -4
  102. package/dist/types/components/ApplePay/type.d.ts +19 -7
  103. package/dist/types/components/ApplePay/utils.d.ts +3 -0
  104. package/dist/types/components/Card/type.d.ts +64 -6
  105. package/dist/types/components/CardExpireDateField/type.d.ts +1 -0
  106. package/dist/types/components/CardHolderNameField/type.d.ts +1 -1
  107. package/dist/types/components/CardNumberField/type.d.ts +3 -0
  108. package/dist/types/components/CardSecurityCodeField/type.d.ts +1 -0
  109. package/dist/types/components/CombinedCardInfo/CombinedCardInfo.d.ts +5 -0
  110. package/dist/types/components/CombinedCardInfo/index.d.ts +2 -0
  111. package/dist/types/components/CombinedCardInfo/type.d.ts +16 -0
  112. package/dist/types/components/EncryptedCard/EncryptedCard.d.ts +4 -0
  113. package/dist/types/components/EncryptedCard/index.d.ts +4 -0
  114. package/dist/types/components/EncryptedCard/output.d.ts +9 -0
  115. package/dist/types/components/EncryptedCard/type.d.ts +85 -0
  116. package/dist/types/components/GooglePay/type.d.ts +20 -8
  117. package/dist/types/components/GooglePay/utils.d.ts +2 -0
  118. package/dist/types/components/SecuredFieldsProvider/index.d.ts +1 -0
  119. package/dist/types/components/SecuredFieldsProvider/type.d.ts +29 -100
  120. package/dist/types/components/SecuredFieldsProvider/utils/index.d.ts +1 -1
  121. package/dist/types/components/SecuredIframe/useSecuredInput.d.ts +7 -2
  122. package/dist/types/components/Sepa/type.d.ts +4 -4
  123. package/dist/types/components/ThreeDS/components/ThreeDSAuth/ThreeDSAuth.d.ts +3 -0
  124. package/dist/types/components/ThreeDS/components/ThreeDSAuth/index.d.ts +2 -0
  125. package/dist/types/components/ThreeDS/components/ThreeDSAuth/type.d.ts +17 -0
  126. package/dist/types/components/ThreeDS/components/ThreeDSIframe/ThreeDSIframe.d.ts +2 -0
  127. package/dist/types/components/ThreeDS/components/ThreeDSIframe/index.d.ts +1 -0
  128. package/dist/types/components/ThreeDS/components/ThreeDSIframe/output.d.ts +1 -0
  129. package/dist/types/components/ThreeDS/components/ThreeDSIframe/type.d.ts +5 -0
  130. package/dist/types/components/ThreeDS/components/ThreeDSStatus/ThreeDSStatus.d.ts +3 -0
  131. package/dist/types/components/ThreeDS/components/ThreeDSStatus/output.d.ts +1 -0
  132. package/dist/types/components/ThreeDS/components/ThreeDSStatus/type.d.ts +6 -0
  133. package/dist/types/components/ThreeDS/index.d.ts +1 -0
  134. package/dist/types/components/WechatPay/type.d.ts +4 -4
  135. package/dist/types/components/index.d.ts +2 -0
  136. package/dist/types/components/internal/Form/FormItem.d.ts +1 -1
  137. package/dist/types/components/internal/Form/type.d.ts +7 -0
  138. package/dist/types/components/internal/Input/Input.d.ts +1 -1
  139. package/dist/types/components/internal/Input/type.d.ts +7 -0
  140. package/dist/types/components/internal/Loading/Loading.d.ts +1 -0
  141. package/dist/types/components/internal/Loading/index.d.ts +1 -0
  142. package/dist/types/components/internal/Modal/Modal.d.ts +5 -0
  143. package/dist/types/components/internal/Modal/index.d.ts +0 -0
  144. package/dist/types/components/internal/Modal/type.d.ts +20 -0
  145. package/dist/types/components/internal/icons/Icon3DSFail.d.ts +2 -0
  146. package/dist/types/components/internal/icons/Icon3DSInfo.d.ts +2 -0
  147. package/dist/types/components/internal/icons/Icon3DSSuccess.d.ts +2 -0
  148. package/dist/types/components/internal/icons/index.d.ts +3 -0
  149. package/dist/types/config.d.ts +7 -3
  150. package/dist/types/constant.d.ts +7 -2
  151. package/dist/types/core/PayKKaCheckout.d.ts +28 -0
  152. package/dist/types/core/Session.d.ts +1 -1
  153. package/dist/types/core/context.d.ts +1 -0
  154. package/dist/types/core/environment.d.ts +4 -0
  155. package/dist/types/core/error.d.ts +16 -0
  156. package/dist/types/core/index.d.ts +2 -0
  157. package/dist/types/core/query.d.ts +2 -2
  158. package/dist/types/hooks/index.d.ts +1 -0
  159. package/dist/types/hooks/useBreakpoints.d.ts +15 -0
  160. package/dist/types/hooks/usePayState.d.ts +6 -25
  161. package/dist/types/i18n/locales/de-DE.d.ts +8 -0
  162. package/dist/types/i18n/locales/en-GB.d.ts +8 -0
  163. package/dist/types/i18n/locales/es-ES.d.ts +8 -0
  164. package/dist/types/i18n/locales/fr-FR.d.ts +8 -0
  165. package/dist/types/i18n/locales/index.d.ts +2 -2
  166. package/dist/types/i18n/locales/ja-JP.d.ts +8 -0
  167. package/dist/types/i18n/locales/ko-KR.d.ts +8 -0
  168. package/dist/types/i18n/locales/pt-PT.d.ts +8 -0
  169. package/dist/types/i18n/locales/ru-RU.d.ts +8 -0
  170. package/dist/types/i18n/locales/zh-CN.d.ts +8 -0
  171. package/dist/types/i18n/locales/zh-HK.d.ts +8 -0
  172. package/dist/types/i18n/locales/zh-TW.d.ts +8 -0
  173. package/dist/types/index.d.ts +2 -2
  174. package/dist/types/out/fraud-detection.d.ts +9 -0
  175. package/dist/types/types/{radar.d.ts → fraud-detection.d.ts} +3 -2
  176. package/dist/types/types/index.d.ts +100 -1
  177. package/dist/types/types/message.d.ts +170 -0
  178. package/dist/types/utils/card-brand/brands.d.ts +4 -18
  179. package/dist/types/utils/card-brand/index.d.ts +10 -9
  180. package/dist/types/utils/format.d.ts +0 -1
  181. package/dist/types/utils/index.d.ts +4 -0
  182. package/dist/types/utils/load.d.ts +7 -0
  183. package/dist/types/utils/style.d.ts +29 -0
  184. package/package.json +63 -63
  185. package/dist/card-checkout-ui.iife.js +0 -8
  186. package/dist/es/components/SecuredFieldsProvider/SecuredFieldsProvider.js +0 -222
  187. package/dist/es/out/radar.js +0 -123
  188. package/dist/types/out/radar.d.ts +0 -14
  189. /package/dist/types/{components/SecuredFieldsProvider/utils → utils}/iframe.d.ts +0 -0
@@ -1,222 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
- import { w, A, F, y, q, u } from "../../core.js";
8
- import { SessionMode } from "../../constant.js";
9
- import { cdnUrl, cdnOrigin, apiUrl } from "../../config.js";
10
- import { safeParse } from "../../utils/index.js";
11
- var FieldType = /* @__PURE__ */ ((FieldType2) => {
12
- FieldType2["CARD_NUMBER"] = "CARD_NUMBER";
13
- FieldType2["CVV"] = "CVV";
14
- FieldType2["EXPIRE_DATE"] = "EXPIRE_DATE";
15
- return FieldType2;
16
- })(FieldType || {});
17
- var MessageAction = /* @__PURE__ */ ((MessageAction2) => {
18
- MessageAction2["INIT"] = "init";
19
- MessageAction2["FOCUS"] = "focus";
20
- MessageAction2["BIN_VALUE"] = "binValue";
21
- MessageAction2["VALID_WITH_VALUE"] = "validWithValue";
22
- MessageAction2["PAYMENT"] = "payment";
23
- MessageAction2["AFTER_PAYMENT"] = "afterPayment";
24
- MessageAction2["PAYMENT_ERROR"] = "paymentError";
25
- MessageAction2["PAYMENT_TIMEOUT"] = "paymentTimeout";
26
- MessageAction2["VALID_STATUS_CHANGED"] = "validStatusChanged";
27
- return MessageAction2;
28
- })(MessageAction || {});
29
- const SECURED_FILED_ATTR = "data-sf";
30
- const SECURED_IFRAME_CLASS_NAME = "secured-iframe";
31
- const HIDDEN_IFRAME_NAME = "hidden-pay-iframe";
32
- const getFieldElements = (rootNode) => {
33
- return rootNode ? Array.prototype.slice.call(rootNode.querySelectorAll(`[${SECURED_FILED_ATTR}]`)) : [];
34
- };
35
- const createIframe = (src) => {
36
- const iframeEl = document.createElement("iframe");
37
- iframeEl.setAttribute("src", src);
38
- iframeEl.classList.add(SECURED_IFRAME_CLASS_NAME);
39
- iframeEl.setAttribute("allowtransparency", "true");
40
- iframeEl.setAttribute("referrerpolicy", "origin");
41
- Object.defineProperty(iframeEl, "src", { configurable: false, writable: false });
42
- const noIframeElContent = document.createTextNode("<p>Your browser does not support iframes.</p>");
43
- iframeEl.appendChild(noIframeElContent);
44
- return iframeEl;
45
- };
46
- const postMessageToIframe = (data, iframe, targetOrigin = "*") => {
47
- if (!iframe) {
48
- return;
49
- }
50
- const dataStr = JSON.stringify(data);
51
- iframe.postMessage(dataStr, { targetOrigin });
52
- };
53
- class SecuredField {
54
- constructor(config) {
55
- __publicField(this, "iframe");
56
- __publicField(this, "iframeWindow");
57
- __publicField(this, "hiddenIframe");
58
- __publicField(this, "config");
59
- this.config = config;
60
- this.init();
61
- }
62
- /** 初始化表单区域iframe */
63
- init() {
64
- const { iframeSrc, iframeClassName, fieldNode } = this.config;
65
- const iframeEl = createIframe(iframeSrc);
66
- iframeEl.width = "100%";
67
- iframeEl.height = "100%";
68
- iframeEl.style.border = "none";
69
- fieldNode.appendChild(iframeEl);
70
- const iframe = fieldNode.querySelector(`.${iframeClassName}`);
71
- if (!iframe) {
72
- return;
73
- }
74
- this.iframe = iframe;
75
- iframe.addEventListener("load", () => this.onFieldIframeLoad());
76
- }
77
- /** 表单区域iframe加载回调 */
78
- onFieldIframeLoad() {
79
- this.iframeWindow = this.iframe.contentWindow;
80
- const { fieldType, placeholder, style, hiddenIframeName, supportedCardBrands } = this.config;
81
- const data = {
82
- action: MessageAction.INIT,
83
- config: {
84
- fieldType,
85
- placeholder,
86
- style,
87
- hiddenIframeName,
88
- supportedCardBrands
89
- },
90
- hidden: false,
91
- cdnUrl
92
- };
93
- postMessageToIframe(data, this.iframeWindow, cdnOrigin);
94
- }
95
- }
96
- const SecuredFieldsProvider = w((props, ref) => {
97
- const { sessionMode, i18n } = props;
98
- const rootNodeRef = A(null);
99
- const hiddenIframe = A(null);
100
- const payment = (formData) => {
101
- const data = {
102
- action: MessageAction.PAYMENT,
103
- formData,
104
- locale: props.i18n.locale
105
- };
106
- postMessageToIframe(data, hiddenIframe.current.contentWindow, cdnOrigin);
107
- };
108
- F(ref, () => ({
109
- payment,
110
- reload: () => {
111
- if (sessionMode !== SessionMode.EMBEDDED) {
112
- return;
113
- }
114
- window.removeEventListener("message", onReceiveMessage);
115
- if (hiddenIframe.current) {
116
- document.body.removeChild(hiddenIframe.current);
117
- }
118
- init();
119
- }
120
- }));
121
- if (sessionMode !== SessionMode.EMBEDDED) {
122
- return props.children;
123
- }
124
- let fieldNodes = [];
125
- const securedFieldPlaceholderMap = {
126
- [FieldType.CARD_NUMBER]: i18n.get("card.cardNumber.placeholder"),
127
- [FieldType.CVV]: i18n.get("card.cardSecurityCode.placeholder"),
128
- [FieldType.EXPIRE_DATE]: i18n.get("card.cardExpireDate.placeholder")
129
- };
130
- y(() => {
131
- init();
132
- }, []);
133
- const init = async () => {
134
- fieldNodes = getFieldElements(rootNodeRef.current);
135
- if (!fieldNodes.length) {
136
- return;
137
- }
138
- await initHiddenIframe();
139
- initAllFieldIframe();
140
- window.addEventListener("message", onReceiveMessage);
141
- };
142
- const initHiddenIframe = async () => {
143
- const iframeEl = createIframe(`${cdnUrl}/secured-iframe.html`);
144
- iframeEl.name = `${HIDDEN_IFRAME_NAME}-${Date.now()}`;
145
- iframeEl.width = "0";
146
- iframeEl.height = "0";
147
- iframeEl.style.border = "none";
148
- hiddenIframe.current = iframeEl;
149
- const data = {
150
- action: MessageAction.INIT,
151
- hidden: true,
152
- apiUrl,
153
- cdnUrl
154
- };
155
- iframeEl.addEventListener("load", () => {
156
- postMessageToIframe(data, hiddenIframe.current.contentWindow, cdnOrigin);
157
- });
158
- window.document.body.appendChild(iframeEl);
159
- };
160
- const initAllFieldIframe = () => {
161
- fieldNodes.forEach((fieldNode) => {
162
- const fieldType = fieldNode.getAttribute(SECURED_FILED_ATTR);
163
- new SecuredField({
164
- fieldNode,
165
- hiddenIframe: hiddenIframe.current,
166
- hiddenIframeName: hiddenIframe.current.name,
167
- rootNode: rootNodeRef.current,
168
- iframeSrc: `${cdnUrl}/secured-iframe.html`,
169
- iframeClassName: SECURED_IFRAME_CLASS_NAME,
170
- fieldType,
171
- placeholder: securedFieldPlaceholderMap[fieldType],
172
- style: {
173
- paddingLeft: "12px"
174
- },
175
- supportedCardBrands: props.supportedCardBrands,
176
- onFocus: props.onFocus,
177
- onBinValue: props.onBinValue,
178
- onAfterPayment: props.onAfterPayment,
179
- onPaymentError: props.onPaymentError,
180
- onPaymentTimeout: props.onPaymentTimeout,
181
- onValidStatusChanged: props.onValidStatusChanged
182
- });
183
- });
184
- };
185
- const onReceiveMessage = q((event) => {
186
- const { data, origin } = event;
187
- if (origin !== cdnOrigin) {
188
- return;
189
- }
190
- const feedbackData = safeParse(data);
191
- if (!Reflect.has(feedbackData, "action")) {
192
- return;
193
- }
194
- switch (feedbackData.action) {
195
- case MessageAction.FOCUS:
196
- props.onFocus(feedbackData);
197
- break;
198
- case MessageAction.BIN_VALUE:
199
- props.onBinValue(feedbackData);
200
- break;
201
- case MessageAction.AFTER_PAYMENT:
202
- props.onAfterPayment(feedbackData);
203
- break;
204
- case MessageAction.PAYMENT_ERROR:
205
- props.onPaymentError(feedbackData);
206
- break;
207
- case MessageAction.PAYMENT_TIMEOUT:
208
- props.onPaymentTimeout(feedbackData);
209
- break;
210
- case MessageAction.VALID_STATUS_CHANGED:
211
- props.onValidStatusChanged(feedbackData);
212
- break;
213
- }
214
- }, []);
215
- return /* @__PURE__ */ u("div", { ref: rootNodeRef, children: props.children });
216
- });
217
- export {
218
- FieldType,
219
- MessageAction,
220
- SecuredFieldsProvider,
221
- postMessageToIframe
222
- };
@@ -1,123 +0,0 @@
1
- var __accessCheck = (obj, member, msg) => {
2
- if (!member.has(obj))
3
- throw TypeError("Cannot " + msg);
4
- };
5
- var __privateGet = (obj, member, getter) => {
6
- __accessCheck(obj, member, "read from private field");
7
- return getter ? getter.call(obj) : member.get(obj);
8
- };
9
- var __privateAdd = (obj, member, value) => {
10
- if (member.has(obj))
11
- throw TypeError("Cannot add the same private member more than once");
12
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
13
- };
14
- var __privateSet = (obj, member, value, setter) => {
15
- __accessCheck(obj, member, "write to private field");
16
- setter ? setter.call(obj, value) : member.set(obj, value);
17
- return value;
18
- };
19
- var __privateMethod = (obj, member, method) => {
20
- __accessCheck(obj, member, "access private method");
21
- return method;
22
- };
23
- var _PayKKaRadar, _collMap, _p, _realMode, _keyMap, _transferRes, transferRes_fn, _stripeRadarColl, stripeRadarColl_fn;
24
- import { ECollMode } from "../types/radar.js";
25
- var define_import_meta_env_default = { VITE_API_URL: "https://checkout.aq.paykka.com", VITE_CDN_ORIGIN: "https://checkout.aq.paykka.com", VITE_CDN_DIR: "/cp", BASE_URL: "/", MODE: "production", DEV: false, PROD: true, SSR: false };
26
- const stripeKeyMap = {
27
- eu: "pk_live_51QSXl2G2tOepMLcRVNu0S2T6MxyB1AIgCP5g7qMQvAviQS37v0wkPhJRKqfcbTql6ZkCkGktux4ixfXuZtFy6ZpP00awbGlLEq",
28
- hk: "pk_live_51QSXh9Azq7GQL5iqwZNLz3KJ896MIUnai4H7H0z9DtlklJkgoH1VAlHKy382vWPqDm80nTy8MKUdJIKs0fFbTlKx006WcKWEDu",
29
- us: define_import_meta_env_default.VITE_STRIPE_KEY
30
- };
31
- const DEFAULT_ENV = "eu";
32
- let instance = null;
33
- function getPayKKaRadarInstance(env, mode) {
34
- if (!instance) {
35
- instance = new PayKKaRadar(env, mode);
36
- }
37
- return instance;
38
- }
39
- class PayKKaRadar {
40
- constructor(env = DEFAULT_ENV, mode = [ECollMode.STRIPE_RADAR]) {
41
- /** 获取 stripe 返回的 radar session id,组件直接调,有没有返回值都直接调,传给后端 */
42
- __privateAdd(this, _transferRes);
43
- __privateAdd(this, _stripeRadarColl);
44
- __privateAdd(this, _PayKKaRadar, { s: "" });
45
- __privateAdd(this, _collMap, {
46
- [ECollMode.STRIPE_RADAR]: () => __privateMethod(this, _stripeRadarColl, stripeRadarColl_fn).call(this)
47
- });
48
- __privateAdd(this, _p, void 0);
49
- __privateAdd(this, _realMode, []);
50
- __privateAdd(this, _keyMap, {
51
- [ECollMode.STRIPE_RADAR]: ""
52
- });
53
- __privateSet(this, _realMode, mode);
54
- if (mode.includes(ECollMode.STRIPE_RADAR)) {
55
- if (typeof env === "string") {
56
- __privateGet(this, _keyMap)[ECollMode.STRIPE_RADAR] = stripeKeyMap[env];
57
- } else {
58
- __privateGet(this, _keyMap)[ECollMode.STRIPE_RADAR] = env[ECollMode.STRIPE_RADAR];
59
- }
60
- }
61
- }
62
- get radarId() {
63
- return __privateMethod(this, _transferRes, transferRes_fn).call(this);
64
- }
65
- /** 创建获取 radar session id 的 promise,缓存单例 */
66
- async createPayKKaRadar() {
67
- if (!__privateGet(this, _p)) {
68
- __privateSet(this, _p, Promise.all(
69
- __privateGet(this, _realMode).map(async (item) => {
70
- if (__privateGet(this, _collMap)[item]) {
71
- return await __privateGet(this, _collMap)[item]();
72
- } else {
73
- throw new Error(`Unsupported collection mode: ${item}`);
74
- }
75
- })
76
- ));
77
- }
78
- await __privateGet(this, _p);
79
- }
80
- }
81
- _PayKKaRadar = new WeakMap();
82
- _collMap = new WeakMap();
83
- _p = new WeakMap();
84
- _realMode = new WeakMap();
85
- _keyMap = new WeakMap();
86
- _transferRes = new WeakSet();
87
- transferRes_fn = function() {
88
- try {
89
- const s = JSON.stringify(__privateGet(this, _PayKKaRadar));
90
- return btoa(s);
91
- } catch (error) {
92
- console.log("[PayKKa Checkout Session SDK]:", error);
93
- return "";
94
- }
95
- };
96
- _stripeRadarColl = new WeakSet();
97
- stripeRadarColl_fn = function() {
98
- return new Promise((resolve, reject) => {
99
- const script = document.createElement("script");
100
- script.type = "text/javascript";
101
- script.src = "https://js.stripe.com/v3/";
102
- script.async = true;
103
- script.onload = async () => {
104
- const stripe = window.Stripe(__privateGet(this, _keyMap)[ECollMode.STRIPE_RADAR]);
105
- const { radarSession, error } = await stripe.createRadarSession();
106
- if (error) {
107
- console.error(error);
108
- reject(error);
109
- } else {
110
- __privateGet(this, _PayKKaRadar).s = radarSession == null ? void 0 : radarSession.id;
111
- resolve(radarSession);
112
- }
113
- };
114
- script.onerror = function() {
115
- reject();
116
- };
117
- script.crossOrigin = "";
118
- document.getElementsByTagName("head")[0].appendChild(script);
119
- });
120
- };
121
- export {
122
- getPayKKaRadarInstance
123
- };
@@ -1,14 +0,0 @@
1
- import { type CollModeType, type envType } from '../types';
2
- export default function getPayKKaRadarInstance(env?: envType | {
3
- [k in CollModeType]?: string;
4
- }, mode?: CollModeType[]): PayKKaRadar;
5
- declare class PayKKaRadar {
6
- #private;
7
- constructor(env?: envType | {
8
- [k in CollModeType]?: string;
9
- }, mode?: CollModeType[]);
10
- get radarId(): string;
11
- /** 创建获取 radar session id 的 promise,缓存单例 */
12
- createPayKKaRadar(): Promise<void>;
13
- }
14
- export {};