@zezosoft/react-native-zezopay 1.0.2 → 1.0.4

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 (223) hide show
  1. package/README.md +15 -7
  2. package/lib/module/index.js +1 -1
  3. package/lib/module/zezopay/ZezoPay.js +248 -0
  4. package/lib/module/zezopay/ZezoPay.js.map +1 -0
  5. package/lib/module/{ZezoPay → zezopay}/components/Header.js +28 -10
  6. package/lib/module/zezopay/components/Header.js.map +1 -0
  7. package/lib/module/zezopay/components/PayButton.js +192 -0
  8. package/lib/module/zezopay/components/PayButton.js.map +1 -0
  9. package/lib/module/{ZezoPay → zezopay}/components/PaymentMethod.js +96 -70
  10. package/lib/module/zezopay/components/PaymentMethod.js.map +1 -0
  11. package/lib/module/{ZezoPay → zezopay}/components/Summary.js +54 -43
  12. package/lib/module/zezopay/components/Summary.js.map +1 -0
  13. package/lib/module/zezopay/components/VoucherBox.js +206 -0
  14. package/lib/module/zezopay/components/VoucherBox.js.map +1 -0
  15. package/lib/module/zezopay/components/index.js +8 -0
  16. package/lib/module/zezopay/components/index.js.map +1 -0
  17. package/lib/module/zezopay/context/ZezoPayContext.js +24 -0
  18. package/lib/module/zezopay/context/ZezoPayContext.js.map +1 -0
  19. package/lib/module/zezopay/context/index.js +4 -0
  20. package/lib/module/zezopay/context/index.js.map +1 -0
  21. package/lib/module/zezopay/hooks/index.js +5 -0
  22. package/lib/module/zezopay/hooks/index.js.map +1 -0
  23. package/lib/module/zezopay/hooks/useAsync.js +44 -0
  24. package/lib/module/zezopay/hooks/useAsync.js.map +1 -0
  25. package/lib/module/zezopay/hooks/useZezoPay.helpers.js +217 -0
  26. package/lib/module/zezopay/hooks/useZezoPay.helpers.js.map +1 -0
  27. package/lib/module/zezopay/hooks/useZezoPay.js +219 -0
  28. package/lib/module/zezopay/hooks/useZezoPay.js.map +1 -0
  29. package/lib/module/zezopay/index.js +10 -0
  30. package/lib/module/zezopay/index.js.map +1 -0
  31. package/lib/module/zezopay/payments/providers/iap/IAP.js +201 -0
  32. package/lib/module/zezopay/payments/providers/iap/IAP.js.map +1 -0
  33. package/lib/module/zezopay/payments/providers/index.js +12 -0
  34. package/lib/module/zezopay/payments/providers/index.js.map +1 -0
  35. package/lib/module/zezopay/payments/providers/payment-gateways.types.d.js +2 -0
  36. package/lib/module/zezopay/payments/providers/payment-gateways.types.d.js.map +1 -0
  37. package/lib/module/zezopay/payments/providers/razorpay/Razorpay.js +40 -0
  38. package/lib/module/zezopay/payments/providers/razorpay/Razorpay.js.map +1 -0
  39. package/lib/module/zezopay/payments/providers/stripe/Stripe.js +58 -0
  40. package/lib/module/zezopay/payments/providers/stripe/Stripe.js.map +1 -0
  41. package/lib/module/zezopay/services/api-sdk.js +24 -0
  42. package/lib/module/zezopay/services/api-sdk.js.map +1 -0
  43. package/lib/module/zezopay/services/baseService.js +55 -0
  44. package/lib/module/zezopay/services/baseService.js.map +1 -0
  45. package/lib/module/zezopay/services/common.types.js +2 -0
  46. package/lib/module/zezopay/services/common.types.js.map +1 -0
  47. package/lib/module/zezopay/services/digitalProducts/digitalProducts.js +72 -0
  48. package/lib/module/zezopay/services/digitalProducts/digitalProducts.js.map +1 -0
  49. package/lib/module/zezopay/services/digitalProducts/digitalProducts.types.js +4 -0
  50. package/lib/module/zezopay/services/digitalProducts/digitalProducts.types.js.map +1 -0
  51. package/lib/module/zezopay/services/digitalProducts/index.js +5 -0
  52. package/lib/module/zezopay/services/digitalProducts/index.js.map +1 -0
  53. package/lib/module/zezopay/services/iap/iap.js +20 -0
  54. package/lib/module/zezopay/services/iap/iap.js.map +1 -0
  55. package/lib/module/zezopay/services/iap/iap.types.js +2 -0
  56. package/lib/module/zezopay/services/iap/iap.types.js.map +1 -0
  57. package/lib/module/zezopay/services/iap/index.js +5 -0
  58. package/lib/module/zezopay/services/iap/index.js.map +1 -0
  59. package/lib/module/zezopay/services/index.js +10 -0
  60. package/lib/module/zezopay/services/index.js.map +1 -0
  61. package/lib/module/zezopay/services/payments/index.js +5 -0
  62. package/lib/module/zezopay/services/payments/index.js.map +1 -0
  63. package/lib/module/zezopay/services/payments/payments.js +52 -0
  64. package/lib/module/zezopay/services/payments/payments.js.map +1 -0
  65. package/lib/module/zezopay/services/payments/payments.types.js +52 -0
  66. package/lib/module/zezopay/services/payments/payments.types.js.map +1 -0
  67. package/lib/module/zezopay/services/subscriptions/index.js +5 -0
  68. package/lib/module/zezopay/services/subscriptions/index.js.map +1 -0
  69. package/lib/module/zezopay/services/subscriptions/plan/index.js +5 -0
  70. package/lib/module/zezopay/services/subscriptions/plan/index.js.map +1 -0
  71. package/lib/module/zezopay/services/subscriptions/plan/plan.js +57 -0
  72. package/lib/module/zezopay/services/subscriptions/plan/plan.js.map +1 -0
  73. package/lib/module/zezopay/services/subscriptions/plan/plan.types.js +4 -0
  74. package/lib/module/zezopay/services/subscriptions/plan/plan.types.js.map +1 -0
  75. package/lib/module/zezopay/services/utils/errorFormatter.js +49 -0
  76. package/lib/module/zezopay/services/utils/errorFormatter.js.map +1 -0
  77. package/lib/module/zezopay/services/utils/index.js +4 -0
  78. package/lib/module/zezopay/services/utils/index.js.map +1 -0
  79. package/lib/module/zezopay/theme.js +40 -0
  80. package/lib/module/zezopay/theme.js.map +1 -0
  81. package/lib/module/{ZezoPay → zezopay}/types/index.js.map +1 -1
  82. package/lib/module/{ZezoPay → zezopay}/utils/index.js +2 -1
  83. package/lib/module/zezopay/utils/index.js.map +1 -0
  84. package/lib/typescript/src/index.d.ts +1 -1
  85. package/lib/typescript/src/zezopay/ZezoPay.d.ts.map +1 -0
  86. package/lib/typescript/src/{ZezoPay → zezopay}/components/Header.d.ts +2 -0
  87. package/lib/typescript/src/zezopay/components/Header.d.ts.map +1 -0
  88. package/lib/typescript/src/{ZezoPay → zezopay}/components/PayButton.d.ts +2 -0
  89. package/lib/typescript/src/zezopay/components/PayButton.d.ts.map +1 -0
  90. package/lib/typescript/src/zezopay/components/PaymentMethod.d.ts +15 -0
  91. package/lib/typescript/src/zezopay/components/PaymentMethod.d.ts.map +1 -0
  92. package/lib/typescript/src/zezopay/components/Summary.d.ts +11 -0
  93. package/lib/typescript/src/zezopay/components/Summary.d.ts.map +1 -0
  94. package/lib/typescript/src/zezopay/components/VoucherBox.d.ts +14 -0
  95. package/lib/typescript/src/zezopay/components/VoucherBox.d.ts.map +1 -0
  96. package/lib/typescript/src/zezopay/components/index.d.ts +6 -0
  97. package/lib/typescript/src/zezopay/components/index.d.ts.map +1 -0
  98. package/lib/typescript/src/zezopay/context/ZezoPayContext.d.ts +10 -0
  99. package/lib/typescript/src/zezopay/context/ZezoPayContext.d.ts.map +1 -0
  100. package/lib/typescript/src/zezopay/context/index.d.ts +2 -0
  101. package/lib/typescript/src/zezopay/context/index.d.ts.map +1 -0
  102. package/lib/typescript/src/zezopay/hooks/index.d.ts +4 -0
  103. package/lib/typescript/src/zezopay/hooks/index.d.ts.map +1 -0
  104. package/lib/typescript/src/zezopay/hooks/useAsync.d.ts +8 -0
  105. package/lib/typescript/src/zezopay/hooks/useAsync.d.ts.map +1 -0
  106. package/lib/typescript/src/zezopay/hooks/useZezoPay.d.ts +41 -0
  107. package/lib/typescript/src/zezopay/hooks/useZezoPay.d.ts.map +1 -0
  108. package/lib/typescript/src/zezopay/hooks/useZezoPay.helpers.d.ts +23 -0
  109. package/lib/typescript/src/zezopay/hooks/useZezoPay.helpers.d.ts.map +1 -0
  110. package/lib/typescript/src/zezopay/index.d.ts +8 -0
  111. package/lib/typescript/src/zezopay/index.d.ts.map +1 -0
  112. package/lib/typescript/src/zezopay/payments/providers/iap/IAP.d.ts +17 -0
  113. package/lib/typescript/src/zezopay/payments/providers/iap/IAP.d.ts.map +1 -0
  114. package/lib/typescript/src/zezopay/payments/providers/index.d.ts +9 -0
  115. package/lib/typescript/src/zezopay/payments/providers/index.d.ts.map +1 -0
  116. package/lib/typescript/src/zezopay/payments/providers/razorpay/Razorpay.d.ts.map +1 -0
  117. package/lib/typescript/src/zezopay/payments/providers/stripe/Stripe.d.ts +7 -0
  118. package/lib/typescript/src/zezopay/payments/providers/stripe/Stripe.d.ts.map +1 -0
  119. package/lib/typescript/src/zezopay/services/api-sdk.d.ts +31 -0
  120. package/lib/typescript/src/zezopay/services/api-sdk.d.ts.map +1 -0
  121. package/lib/typescript/src/zezopay/services/baseService.d.ts +9 -0
  122. package/lib/typescript/src/zezopay/services/baseService.d.ts.map +1 -0
  123. package/lib/typescript/src/zezopay/services/common.types.d.ts +25 -0
  124. package/lib/typescript/src/zezopay/services/common.types.d.ts.map +1 -0
  125. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.d.ts +15 -0
  126. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.d.ts.map +1 -0
  127. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.types.d.ts +79 -0
  128. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.types.d.ts.map +1 -0
  129. package/lib/typescript/src/zezopay/services/digitalProducts/index.d.ts +3 -0
  130. package/lib/typescript/src/zezopay/services/digitalProducts/index.d.ts.map +1 -0
  131. package/lib/typescript/src/zezopay/services/iap/iap.d.ts +13 -0
  132. package/lib/typescript/src/zezopay/services/iap/iap.d.ts.map +1 -0
  133. package/lib/typescript/src/zezopay/services/iap/iap.types.d.ts +47 -0
  134. package/lib/typescript/src/zezopay/services/iap/iap.types.d.ts.map +1 -0
  135. package/lib/typescript/src/zezopay/services/iap/index.d.ts +3 -0
  136. package/lib/typescript/src/zezopay/services/iap/index.d.ts.map +1 -0
  137. package/lib/typescript/src/zezopay/services/index.d.ts +9 -0
  138. package/lib/typescript/src/zezopay/services/index.d.ts.map +1 -0
  139. package/lib/typescript/src/zezopay/services/payments/index.d.ts +3 -0
  140. package/lib/typescript/src/zezopay/services/payments/index.d.ts.map +1 -0
  141. package/lib/typescript/src/zezopay/services/payments/payments.d.ts +26 -0
  142. package/lib/typescript/src/zezopay/services/payments/payments.d.ts.map +1 -0
  143. package/lib/typescript/src/zezopay/services/payments/payments.types.d.ts +121 -0
  144. package/lib/typescript/src/zezopay/services/payments/payments.types.d.ts.map +1 -0
  145. package/lib/typescript/src/zezopay/services/subscriptions/index.d.ts +3 -0
  146. package/lib/typescript/src/zezopay/services/subscriptions/index.d.ts.map +1 -0
  147. package/lib/typescript/src/zezopay/services/subscriptions/plan/index.d.ts +3 -0
  148. package/lib/typescript/src/zezopay/services/subscriptions/plan/index.d.ts.map +1 -0
  149. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.d.ts +19 -0
  150. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.d.ts.map +1 -0
  151. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.types.d.ts +64 -0
  152. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.types.d.ts.map +1 -0
  153. package/lib/typescript/src/zezopay/services/utils/errorFormatter.d.ts +6 -0
  154. package/lib/typescript/src/zezopay/services/utils/errorFormatter.d.ts.map +1 -0
  155. package/lib/typescript/src/zezopay/services/utils/index.d.ts +2 -0
  156. package/lib/typescript/src/zezopay/services/utils/index.d.ts.map +1 -0
  157. package/lib/typescript/src/zezopay/theme.d.ts +38 -0
  158. package/lib/typescript/src/zezopay/theme.d.ts.map +1 -0
  159. package/lib/typescript/src/zezopay/types/index.d.ts +85 -0
  160. package/lib/typescript/src/zezopay/types/index.d.ts.map +1 -0
  161. package/lib/typescript/src/{ZezoPay → zezopay}/utils/index.d.ts.map +1 -1
  162. package/package.json +14 -7
  163. package/lib/module/ZezoPay/Payments/Providers/PaymentGateways.types.d.js +0 -2
  164. package/lib/module/ZezoPay/Payments/Providers/PaymentGateways.types.d.js.map +0 -1
  165. package/lib/module/ZezoPay/Payments/Providers/Razorpay/Razorpay.js +0 -39
  166. package/lib/module/ZezoPay/Payments/Providers/Razorpay/Razorpay.js.map +0 -1
  167. package/lib/module/ZezoPay/Payments/Providers/index.js +0 -10
  168. package/lib/module/ZezoPay/Payments/Providers/index.js.map +0 -1
  169. package/lib/module/ZezoPay/ZezoPay.js +0 -178
  170. package/lib/module/ZezoPay/ZezoPay.js.map +0 -1
  171. package/lib/module/ZezoPay/components/Header.js.map +0 -1
  172. package/lib/module/ZezoPay/components/PayButton.js +0 -143
  173. package/lib/module/ZezoPay/components/PayButton.js.map +0 -1
  174. package/lib/module/ZezoPay/components/PaymentMethod.js.map +0 -1
  175. package/lib/module/ZezoPay/components/Summary.js.map +0 -1
  176. package/lib/module/ZezoPay/components/VoucherBox.js +0 -124
  177. package/lib/module/ZezoPay/components/VoucherBox.js.map +0 -1
  178. package/lib/module/ZezoPay/index.js +0 -5
  179. package/lib/module/ZezoPay/index.js.map +0 -1
  180. package/lib/module/ZezoPay/utils/hooks/useAsync.js +0 -32
  181. package/lib/module/ZezoPay/utils/hooks/useAsync.js.map +0 -1
  182. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js +0 -265
  183. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js.map +0 -1
  184. package/lib/module/ZezoPay/utils/index.js.map +0 -1
  185. package/lib/typescript/src/ZezoPay/Payments/Providers/Razorpay/Razorpay.d.ts.map +0 -1
  186. package/lib/typescript/src/ZezoPay/Payments/Providers/index.d.ts +0 -7
  187. package/lib/typescript/src/ZezoPay/Payments/Providers/index.d.ts.map +0 -1
  188. package/lib/typescript/src/ZezoPay/ZezoPay.d.ts.map +0 -1
  189. package/lib/typescript/src/ZezoPay/components/Header.d.ts.map +0 -1
  190. package/lib/typescript/src/ZezoPay/components/PayButton.d.ts.map +0 -1
  191. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts +0 -12
  192. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts.map +0 -1
  193. package/lib/typescript/src/ZezoPay/components/Summary.d.ts +0 -7
  194. package/lib/typescript/src/ZezoPay/components/Summary.d.ts.map +0 -1
  195. package/lib/typescript/src/ZezoPay/components/VoucherBox.d.ts +0 -9
  196. package/lib/typescript/src/ZezoPay/components/VoucherBox.d.ts.map +0 -1
  197. package/lib/typescript/src/ZezoPay/index.d.ts +0 -3
  198. package/lib/typescript/src/ZezoPay/index.d.ts.map +0 -1
  199. package/lib/typescript/src/ZezoPay/types/index.d.ts +0 -66
  200. package/lib/typescript/src/ZezoPay/types/index.d.ts.map +0 -1
  201. package/lib/typescript/src/ZezoPay/utils/hooks/useAsync.d.ts +0 -6
  202. package/lib/typescript/src/ZezoPay/utils/hooks/useAsync.d.ts.map +0 -1
  203. package/lib/typescript/src/ZezoPay/utils/hooks/useZezoPay.d.ts +0 -46
  204. package/lib/typescript/src/ZezoPay/utils/hooks/useZezoPay.d.ts.map +0 -1
  205. package/src/ZezoPay/Payments/Providers/PaymentGateways.types.d.ts +0 -48
  206. package/src/ZezoPay/Payments/Providers/Razorpay/Razorpay.ts +0 -46
  207. package/src/ZezoPay/Payments/Providers/index.ts +0 -8
  208. package/src/ZezoPay/ZezoPay.tsx +0 -176
  209. package/src/ZezoPay/components/Header.tsx +0 -107
  210. package/src/ZezoPay/components/PayButton.tsx +0 -132
  211. package/src/ZezoPay/components/PaymentMethod.tsx +0 -263
  212. package/src/ZezoPay/components/Summary.tsx +0 -188
  213. package/src/ZezoPay/components/VoucherBox.tsx +0 -133
  214. package/src/ZezoPay/index.ts +0 -2
  215. package/src/ZezoPay/types/index.ts +0 -70
  216. package/src/ZezoPay/utils/hooks/useAsync.ts +0 -38
  217. package/src/ZezoPay/utils/hooks/useZezoPay.ts +0 -320
  218. package/src/ZezoPay/utils/index.ts +0 -16
  219. package/src/index.tsx +0 -1
  220. /package/lib/module/{ZezoPay → zezopay}/types/index.js +0 -0
  221. /package/lib/typescript/src/{ZezoPay → zezopay}/ZezoPay.d.ts +0 -0
  222. /package/lib/typescript/src/{ZezoPay/Payments/Providers/Razorpay → zezopay/payments/providers/razorpay}/Razorpay.d.ts +0 -0
  223. /package/lib/typescript/src/{ZezoPay → zezopay}/utils/index.d.ts +0 -0
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+
3
+ /// <reference path="../payments/providers/payment-gateways.types.d.ts" />
4
+ import { useCallback, useEffect, useMemo, useState } from 'react';
5
+ import { useAsync } from "./useAsync.js";
6
+ import { ZezoPayClient, PaymentProvider } from "../services/index.js";
7
+ import { Platform } from 'react-native';
8
+ import { getErrorMessage, getItemPrice, processPaymentOrder } from "./useZezoPay.helpers.js";
9
+ export const SUPPORTED_PROVIDERS = [PaymentProvider.RAZORPAY, PaymentProvider.STRIPE, PaymentProvider.APPLE_IAP, PaymentProvider.GOOGLE_IAP];
10
+ export const useZezoPay = ({
11
+ publicKey,
12
+ user,
13
+ subscription,
14
+ digitalProduct,
15
+ cart: initialCart = [],
16
+ paymentHandler: customHandler,
17
+ callbacks
18
+ }) => {
19
+ if (!publicKey) throw new Error('publicKey is required');
20
+ if (!user?._id || !user?.name) throw new Error('User must have _id and name');
21
+ const zezoPayClient = useMemo(() => new ZezoPayClient({
22
+ publicKey
23
+ }), [publicKey]);
24
+ const platform = Platform.OS;
25
+ const [provider, setProvider] = useState(null);
26
+ const [cartItems, setCartItems] = useState(initialCart);
27
+ const [coupon, setCoupon] = useState('');
28
+ const [couponData, setCouponData] = useState(null);
29
+ const [loadingPayment, setLoadingPayment] = useState(false);
30
+ const [couponLoading, setCouponLoading] = useState(false);
31
+ const [success, setSuccess] = useState(false);
32
+ const [error, setError] = useState('');
33
+ const allowedProviders = useMemo(() => {
34
+ const base = [PaymentProvider.RAZORPAY, PaymentProvider.STRIPE];
35
+ const sku = (platform === 'android' ? subscription?.android_sku_id ?? digitalProduct?.android_sku_id : subscription?.ios_sku_id ?? digitalProduct?.ios_sku_id) ?? null;
36
+ if (!sku) return base;
37
+ const iapProvider = platform === 'android' ? PaymentProvider.GOOGLE_IAP : PaymentProvider.APPLE_IAP;
38
+ return [...base, iapProvider];
39
+ }, [platform, subscription?.android_sku_id, subscription?.ios_sku_id, digitalProduct?.android_sku_id, digitalProduct?.ios_sku_id]);
40
+ const {
41
+ result: providers,
42
+ loading,
43
+ error: providersError
44
+ } = useAsync(async () => {
45
+ const data = (await zezoPayClient.payments.providers({
46
+ platform
47
+ }))?.data || [];
48
+ const supported = data.filter(p => allowedProviders.includes(p.provider));
49
+ if (!supported.length) throw new Error('No supported payment providers available');
50
+ return supported;
51
+ }, [zezoPayClient, allowedProviders, platform]);
52
+ useEffect(() => {
53
+ const first = providers?.[0];
54
+ if (first && !provider) {
55
+ setProvider(first.provider);
56
+ }
57
+ }, [providers, provider]);
58
+ const rawAmount = useMemo(() => cartItems.reduce((sum, item) => sum + getItemPrice(item), 0), [cartItems]);
59
+ const totalAmount = useMemo(() => {
60
+ if (!couponData) return rawAmount;
61
+ const discounted = couponData.type === 'percentage' ? rawAmount * (100 - couponData.discount) / 100 : rawAmount - couponData.discount;
62
+ return Math.max(0, discounted);
63
+ }, [rawAmount, couponData]);
64
+ const removeItem = useCallback(id => setCartItems(prev => prev.filter(item => item.id !== id)), []);
65
+ const cartSummary = useMemo(() => cartItems.length ? {
66
+ summary: cartItems
67
+ } : undefined, [cartItems]);
68
+ const defaultHandler = useCallback(async ({
69
+ provider: checkoutProvider,
70
+ subscription: checkoutSubscription,
71
+ digitalProduct: checkoutDigitalProduct,
72
+ userInfo,
73
+ platform: checkoutPlatform
74
+ }) => {
75
+ if (!checkoutProvider || !allowedProviders.includes(checkoutProvider)) throw new Error(`Invalid provider: ${checkoutProvider}`);
76
+
77
+ // For IAP subscription flows, ensure user is not already subscribed
78
+ if ((checkoutProvider === PaymentProvider.APPLE_IAP || checkoutProvider === PaymentProvider.GOOGLE_IAP) && checkoutSubscription && userInfo?._id) {
79
+ try {
80
+ const activeRes = await zezoPayClient.subscriptions.plans.getActiveSubscription(userInfo._id);
81
+ const activeSub = activeRes?.data;
82
+ const hasActiveSubscription = !!activeSub && activeSub.isActive && (activeSub.status === 'active' || activeSub.status === 'trial');
83
+ if (hasActiveSubscription) {
84
+ throw new Error('You already have an active IAP subscription');
85
+ }
86
+ } catch {
87
+ // If there is no active subscription or the endpoint is unavailable,
88
+ // we silently continue and allow the checkout to proceed.
89
+ }
90
+ }
91
+ const basePayload = {
92
+ provider: checkoutProvider,
93
+ userId: userInfo._id,
94
+ metadata: {
95
+ userInfo,
96
+ ...(cartSummary || {})
97
+ },
98
+ ...(coupon && {
99
+ coupon_code: coupon
100
+ })
101
+ };
102
+ let payload;
103
+ if (checkoutSubscription) payload = {
104
+ ...basePayload,
105
+ type: 'subscription',
106
+ subscriptionId: checkoutSubscription._id
107
+ };else if (checkoutDigitalProduct) payload = {
108
+ ...basePayload,
109
+ type: 'digital-product',
110
+ digitalProductId: checkoutDigitalProduct._id
111
+ };else {
112
+ if (rawAmount <= 0) throw new Error('Amount must be greater than zero');
113
+ payload = {
114
+ ...basePayload,
115
+ type: 'normal',
116
+ price: rawAmount
117
+ };
118
+ }
119
+ const result = await zezoPayClient.payments.checkout(payload, checkoutPlatform);
120
+ if (result.status !== 200) throw new Error(`Checkout failed with status ${result.status}`);
121
+ return result.data;
122
+ }, [allowedProviders, cartSummary, coupon, zezoPayClient, rawAmount]);
123
+ const executePayment = customHandler ?? defaultHandler;
124
+ const processPayment = useCallback(async order => {
125
+ await processPaymentOrder({
126
+ zezoPayClient,
127
+ order,
128
+ provider,
129
+ callbacks,
130
+ publicKey,
131
+ user,
132
+ digitalProduct,
133
+ setSuccess,
134
+ setError
135
+ });
136
+ }, [provider, user, callbacks, publicKey, digitalProduct, zezoPayClient]);
137
+ const applyCoupon = useCallback(async code => {
138
+ if (!code) return;
139
+ setCouponLoading(true);
140
+ setError('');
141
+ try {
142
+ const res = await zezoPayClient.payments.verifyCoupon({
143
+ userId: user._id,
144
+ code,
145
+ userInfo: user
146
+ });
147
+ const data = res?.data?.data;
148
+ if (!data || res.status !== 200) {
149
+ setError(res?.data?.message || 'Invalid or expired coupon');
150
+ return;
151
+ }
152
+ setCouponData({
153
+ type: data.type,
154
+ discount: data.discount
155
+ });
156
+ setCoupon(code);
157
+ } catch (err) {
158
+ setError(getErrorMessage(err, 'Coupon verification failed'));
159
+ } finally {
160
+ setCouponLoading(false);
161
+ }
162
+ }, [zezoPayClient, user]);
163
+ const removeCoupon = useCallback(() => {
164
+ setCoupon('');
165
+ setCouponData(null);
166
+ setError('');
167
+ }, []);
168
+ const payNow = useCallback(async () => {
169
+ if (loadingPayment) return;
170
+ if (!provider) return setError('Select a payment provider');
171
+ if (!cartItems.length) return setError('Cart is empty');
172
+ if (totalAmount <= 0) return setError('Amount must be greater than zero');
173
+ setError('');
174
+ setLoadingPayment(true);
175
+ try {
176
+ const order = await executePayment({
177
+ provider,
178
+ subscription,
179
+ digitalProduct,
180
+ platform,
181
+ userInfo: user,
182
+ coupon_code: coupon || undefined,
183
+ metadata: {
184
+ userInfo: user,
185
+ ...(cartSummary || {})
186
+ }
187
+ });
188
+ if (!order) throw new Error('No order data returned');
189
+ await processPayment(order);
190
+ } catch (err) {
191
+ setError(getErrorMessage(err, 'Payment failed'));
192
+ callbacks?.onError?.(err);
193
+ } finally {
194
+ setLoadingPayment(false);
195
+ }
196
+ }, [loadingPayment, provider, cartItems.length, totalAmount, executePayment, subscription, digitalProduct, platform, user, coupon, cartSummary, processPayment, callbacks]);
197
+ return {
198
+ provider,
199
+ setProvider,
200
+ cartItems,
201
+ setCartItems,
202
+ totalAmount,
203
+ rawAmount,
204
+ coupon,
205
+ setCoupon,
206
+ couponLoading,
207
+ removeCoupon,
208
+ loadingPayment,
209
+ success,
210
+ error,
211
+ providers: providers || [],
212
+ loading,
213
+ providersError,
214
+ removeItem,
215
+ payNow,
216
+ applyCoupon
217
+ };
218
+ };
219
+ //# sourceMappingURL=useZezoPay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useState","useAsync","ZezoPayClient","PaymentProvider","Platform","getErrorMessage","getItemPrice","processPaymentOrder","SUPPORTED_PROVIDERS","RAZORPAY","STRIPE","APPLE_IAP","GOOGLE_IAP","useZezoPay","publicKey","user","subscription","digitalProduct","cart","initialCart","paymentHandler","customHandler","callbacks","Error","_id","name","zezoPayClient","platform","OS","provider","setProvider","cartItems","setCartItems","coupon","setCoupon","couponData","setCouponData","loadingPayment","setLoadingPayment","couponLoading","setCouponLoading","success","setSuccess","error","setError","allowedProviders","base","sku","android_sku_id","ios_sku_id","iapProvider","result","providers","loading","providersError","data","payments","supported","filter","p","includes","length","first","rawAmount","reduce","sum","item","totalAmount","discounted","type","discount","Math","max","removeItem","id","prev","cartSummary","summary","undefined","defaultHandler","checkoutProvider","checkoutSubscription","checkoutDigitalProduct","userInfo","checkoutPlatform","activeRes","subscriptions","plans","getActiveSubscription","activeSub","hasActiveSubscription","isActive","status","basePayload","userId","metadata","coupon_code","payload","subscriptionId","digitalProductId","price","checkout","executePayment","processPayment","order","applyCoupon","code","res","verifyCoupon","message","err","removeCoupon","payNow","onError"],"sourceRoot":"../../../../src","sources":["zezopay/hooks/useZezoPay.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ export * from "./types/index.js";
4
+ export * from "./utils/index.js";
5
+ export { default as ZezoPay } from "./ZezoPay.js";
6
+ export * from "./theme.js";
7
+ export * from "./services/index.js";
8
+ export * from "./hooks/index.js";
9
+ export * from "./context/index.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","ZezoPay"],"sourceRoot":"../../../src","sources":["zezopay/index.ts"],"mappings":";;AAAA,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,SAASA,OAAO,IAAIC,OAAO,QAAQ,cAAW;AAC9C,cAAc,YAAS;AACvB,cAAc,qBAAY;AAC1B,cAAc,kBAAS;AACvB,cAAc,oBAAW","ignoreList":[]}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @author Naresh Dhamu
5
+ */
6
+ import { Platform } from 'react-native';
7
+ import { fetchProducts, finishTransaction, initConnection, purchaseErrorListener, purchaseUpdatedListener, requestPurchase } from 'react-native-iap';
8
+ const PURCHASE_TIMEOUT_MS = 5 * 60 * 1000;
9
+
10
+ /** iOS-specific receipt field on Purchase (react-native-iap) */
11
+
12
+ function createPurchaseError(message, code) {
13
+ const err = new Error(message);
14
+ return Object.assign(err, {
15
+ code,
16
+ message
17
+ });
18
+ }
19
+ class IAP {
20
+ connected = false;
21
+ purchaseUpdateSubscription = null;
22
+ purchaseErrorSubscription = null;
23
+ constructor(zezoPayClient) {
24
+ this.zezoPayClient = zezoPayClient;
25
+ this.init();
26
+ }
27
+ init() {
28
+ this.ensureConnection();
29
+ }
30
+ async ensureConnection() {
31
+ if (this.connected) return;
32
+ this.setupGlobalListeners();
33
+ try {
34
+ const result = await initConnection();
35
+ this.connected = Boolean(result);
36
+ if (!result) this.removeGlobalListeners();
37
+ } catch (error) {
38
+ this.removeGlobalListeners();
39
+ throw error;
40
+ }
41
+ }
42
+ setupGlobalListeners() {
43
+ if (!this.purchaseUpdateSubscription) {
44
+ this.purchaseUpdateSubscription = purchaseUpdatedListener(async _purchase => {
45
+ // Required by react-native-iap before initConnection; extend for global handling if needed.
46
+ });
47
+ }
48
+ if (!this.purchaseErrorSubscription) {
49
+ this.purchaseErrorSubscription = purchaseErrorListener(_error => {
50
+ // Required by react-native-iap; extend for global error handling if needed.
51
+ });
52
+ }
53
+ }
54
+ removeGlobalListeners() {
55
+ this.purchaseUpdateSubscription?.remove();
56
+ this.purchaseUpdateSubscription = null;
57
+ this.purchaseErrorSubscription?.remove();
58
+ this.purchaseErrorSubscription = null;
59
+ }
60
+ setupPurchaseListeners(productId, resolve, reject) {
61
+ const tempUpdateListener = purchaseUpdatedListener(async purchase => {
62
+ const purchaseProductId = purchase.productId ?? purchase.ids?.[0];
63
+ if (purchaseProductId === productId) {
64
+ tempUpdateListener.remove();
65
+ tempErrorListener.remove();
66
+ resolve(purchase);
67
+ }
68
+ });
69
+ const tempErrorListener = purchaseErrorListener(error => {
70
+ tempUpdateListener.remove();
71
+ tempErrorListener.remove();
72
+ reject(error);
73
+ });
74
+ return {
75
+ remove: () => {
76
+ tempUpdateListener.remove();
77
+ tempErrorListener.remove();
78
+ }
79
+ };
80
+ }
81
+ async open(options) {
82
+ const iapOptions = options;
83
+ const productId = iapOptions.productId;
84
+ if (!productId) {
85
+ throw new Error('productId is required');
86
+ }
87
+ try {
88
+ await this.ensureConnection();
89
+ if (!this.connected) {
90
+ throw new Error('Failed to connect to IAP service');
91
+ }
92
+ if (iapOptions.prefetchProducts !== false) {
93
+ try {
94
+ await fetchProducts({
95
+ skus: [productId],
96
+ type: iapOptions.productType
97
+ });
98
+ } catch {
99
+ // Prefetch failed; purchase can still proceed.
100
+ }
101
+ }
102
+ const purchaseItem = await this.runPurchaseFlow(productId, iapOptions);
103
+ const shouldFinish = iapOptions.finishTransactionAutomatically !== false;
104
+ if (purchaseItem && shouldFinish) {
105
+ await finishTransaction({
106
+ purchase: purchaseItem,
107
+ isConsumable: iapOptions.isConsumable ?? true
108
+ });
109
+ }
110
+ const purchaseWithIOS = purchaseItem;
111
+ const handlerPayload = {
112
+ provider: iapOptions.provider,
113
+ productId,
114
+ transactionId: purchaseItem?.transactionId ?? undefined,
115
+ transactionReceipt: purchaseItem?.purchaseToken ?? purchaseWithIOS?.originalTransactionIdentifierIOS ?? undefined,
116
+ purchaseToken: purchaseItem?.purchaseToken ?? undefined,
117
+ rawPurchase: purchaseItem
118
+ };
119
+ // Call handler immediately so UI shows success and Pay button exits "processing"
120
+ iapOptions.handler?.(handlerPayload);
121
+ const transactionId = purchaseItem.transactionId ?? purchaseItem.id ?? '';
122
+ const purchaseToken = purchaseItem.purchaseToken ?? '';
123
+ const platform = Platform.OS;
124
+ const provider = iapOptions.provider;
125
+ if (purchaseToken && provider) {
126
+ try {
127
+ await this.zezoPayClient.iap.verifyPurchase({
128
+ platform,
129
+ payload: {
130
+ provider,
131
+ order_id: iapOptions.order_id,
132
+ transaction_id: transactionId,
133
+ purchase_token: purchaseToken,
134
+ iap_product_id: iapOptions.productId ?? '',
135
+ purchase_type: iapOptions.productType,
136
+ is_auto_renewing: iapOptions.productType === 'subs'
137
+ }
138
+ });
139
+ } catch (verifyError) {
140
+ iapOptions.OnError?.(verifyError);
141
+ }
142
+ }
143
+ } catch (error) {
144
+ iapOptions.OnError?.(error);
145
+ throw error;
146
+ }
147
+ }
148
+ runPurchaseFlow(productId, iapOptions) {
149
+ return new Promise((resolve, reject) => {
150
+ const tempListeners = this.setupPurchaseListeners(productId, purchase => {
151
+ cleanup();
152
+ resolve(purchase);
153
+ }, error => {
154
+ cleanup();
155
+ reject(error);
156
+ });
157
+ const timeoutId = setTimeout(() => {
158
+ cleanup();
159
+ reject(createPurchaseError('Purchase timed out. Please try again.', 'purchase-timeout'));
160
+ }, PURCHASE_TIMEOUT_MS);
161
+ const cleanup = () => {
162
+ clearTimeout(timeoutId);
163
+ tempListeners.remove();
164
+ };
165
+ const settle = (value, err) => {
166
+ cleanup();
167
+ if (err) reject(err);else if (value) resolve(value);
168
+ };
169
+ const purchaseRequest = {
170
+ request: {
171
+ apple: {
172
+ sku: productId
173
+ },
174
+ google: {
175
+ skus: [productId],
176
+ obfuscatedAccountId: iapOptions.order_id,
177
+ obfuscatedProfileId: productId
178
+ }
179
+ },
180
+ type: iapOptions.productType
181
+ };
182
+ requestPurchase(purchaseRequest).then(result => {
183
+ if (Array.isArray(result)) {
184
+ if (result.length === 0) {
185
+ settle(null, createPurchaseError('Purchase was cancelled or returned no result', 'purchase-cancelled'));
186
+ return;
187
+ }
188
+ const first = result[0];
189
+ if (first) settle(first);else settle(null, createPurchaseError('Invalid purchase result', 'developer-error'));
190
+ return;
191
+ }
192
+ if (result && !Array.isArray(result)) settle(result);
193
+ }).catch(error => {
194
+ cleanup();
195
+ reject(error);
196
+ });
197
+ });
198
+ }
199
+ }
200
+ export default IAP;
201
+ //# sourceMappingURL=IAP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","fetchProducts","finishTransaction","initConnection","purchaseErrorListener","purchaseUpdatedListener","requestPurchase","PURCHASE_TIMEOUT_MS","createPurchaseError","message","code","err","Error","Object","assign","IAP","connected","purchaseUpdateSubscription","purchaseErrorSubscription","constructor","zezoPayClient","init","ensureConnection","setupGlobalListeners","result","Boolean","removeGlobalListeners","error","_purchase","_error","remove","setupPurchaseListeners","productId","resolve","reject","tempUpdateListener","purchase","purchaseProductId","ids","tempErrorListener","open","options","iapOptions","prefetchProducts","skus","type","productType","purchaseItem","runPurchaseFlow","shouldFinish","finishTransactionAutomatically","isConsumable","purchaseWithIOS","handlerPayload","provider","transactionId","undefined","transactionReceipt","purchaseToken","originalTransactionIdentifierIOS","rawPurchase","handler","id","platform","OS","iap","verifyPurchase","payload","order_id","transaction_id","purchase_token","iap_product_id","purchase_type","is_auto_renewing","verifyError","OnError","Promise","tempListeners","cleanup","timeoutId","setTimeout","clearTimeout","settle","value","purchaseRequest","request","apple","sku","google","obfuscatedAccountId","obfuscatedProfileId","then","Array","isArray","length","first","catch"],"sourceRoot":"../../../../../../src","sources":["zezopay/payments/providers/iap/IAP.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @author Naresh Dhamu
5
+ * @lastModified Thu 25 Sep 2025 at 11:37 AM
6
+ */
7
+
8
+ import Razorpay from "./razorpay/Razorpay.js";
9
+ import Stripe from "./stripe/Stripe.js";
10
+ import IAP from "./iap/IAP.js";
11
+ export { Razorpay, Stripe, IAP };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Razorpay","Stripe","IAP"],"sourceRoot":"../../../../../src","sources":["zezopay/payments/providers/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,wBAAqB;AAC1C,OAAOC,MAAM,MAAM,oBAAiB;AACpC,OAAOC,GAAG,MAAM,cAAW;AAE3B,SAASF,QAAQ,EAAEC,MAAM,EAAEC,GAAG","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=payment-gateways.types.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["zezopay/payments/providers/payment-gateways.types.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @author Naresh Dhamu
5
+ * @lastModified Thu 25 Sep 2025 at 11:34 AM
6
+ */
7
+ import RazorpayCheckout from 'react-native-razorpay';
8
+ class Razorpay {
9
+ constructor() {
10
+ // init Razorpay
11
+ this.init();
12
+ }
13
+ init() {
14
+ // check if Razorpay already initialized
15
+ }
16
+ async open(options) {
17
+ const razorpayOptions = options;
18
+ RazorpayCheckout.open({
19
+ key: razorpayOptions.publicKey,
20
+ amount: razorpayOptions.amount,
21
+ currency: razorpayOptions.currency,
22
+ name: razorpayOptions.name || '',
23
+ description: razorpayOptions.description ? razorpayOptions.description?.length > 255 ? razorpayOptions.description.slice(0, 255) : razorpayOptions.description : '',
24
+ order_id: razorpayOptions.order_id,
25
+ image: razorpayOptions.image,
26
+ prefill: {
27
+ name: razorpayOptions?.prefill?.user_name || '',
28
+ email: razorpayOptions?.prefill?.user_email || '',
29
+ contact: razorpayOptions?.prefill?.user_phone || ''
30
+ },
31
+ theme: razorpayOptions.theme
32
+ }).then(response => {
33
+ razorpayOptions.handler?.(response);
34
+ }).catch(error => {
35
+ razorpayOptions.OnError?.(error);
36
+ });
37
+ }
38
+ }
39
+ export default Razorpay;
40
+ //# sourceMappingURL=Razorpay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RazorpayCheckout","Razorpay","constructor","init","open","options","razorpayOptions","key","publicKey","amount","currency","name","description","length","slice","order_id","image","prefill","user_name","email","user_email","contact","user_phone","theme","then","response","handler","catch","error","OnError"],"sourceRoot":"../../../../../../src","sources":["zezopay/payments/providers/razorpay/Razorpay.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAOA,gBAAgB,MAAM,uBAAuB;AAEpD,MAAMC,QAAQ,CAA4B;EACxCC,WAAWA,CAAA,EAAG;IACZ;IACA,IAAI,CAACC,IAAI,CAAC,CAAC;EACb;EAEAA,IAAIA,CAAA,EAAG;IACL;EAAA;EAGF,MAAMC,IAAIA,CAACC,OAAmC,EAAE;IAC9C,MAAMC,eAAe,GAAGD,OAA+B;IACvDL,gBAAgB,CAACI,IAAI,CAAC;MACpBG,GAAG,EAAED,eAAe,CAACE,SAAS;MAC9BC,MAAM,EAAEH,eAAe,CAACG,MAAM;MAC9BC,QAAQ,EAAEJ,eAAe,CAACI,QAAQ;MAClCC,IAAI,EAAEL,eAAe,CAACK,IAAI,IAAI,EAAE;MAChCC,WAAW,EAAEN,eAAe,CAACM,WAAW,GACpCN,eAAe,CAACM,WAAW,EAAEC,MAAM,GAAG,GAAG,GACvCP,eAAe,CAACM,WAAW,CAACE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GACzCR,eAAe,CAACM,WAAW,GAC7B,EAAE;MACNG,QAAQ,EAAET,eAAe,CAACS,QAAQ;MAClCC,KAAK,EAAEV,eAAe,CAACU,KAAK;MAC5BC,OAAO,EAAE;QACPN,IAAI,EAAEL,eAAe,EAAEW,OAAO,EAAEC,SAAS,IAAI,EAAE;QAC/CC,KAAK,EAAEb,eAAe,EAAEW,OAAO,EAAEG,UAAU,IAAI,EAAE;QACjDC,OAAO,EAAEf,eAAe,EAAEW,OAAO,EAAEK,UAAU,IAAI;MACnD,CAAC;MACDC,KAAK,EAAEjB,eAAe,CAACiB;IACzB,CAAC,CAAC,CACCC,IAAI,CAAEC,QAAQ,IAAK;MAClBnB,eAAe,CAACoB,OAAO,GAAGD,QAAQ,CAAC;IACrC,CAAC,CAAC,CACDE,KAAK,CAAEC,KAAK,IAAK;MAChBtB,eAAe,CAACuB,OAAO,GAAGD,KAAK,CAAC;IAClC,CAAC,CAAC;EACN;AACF;AAEA,eAAe3B,QAAQ","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @author Naresh Dhamu
5
+ * @lastModified Sat 24 Jan 2026 at 11:20 AM
6
+ */
7
+ import { initPaymentSheet, initStripe, presentPaymentSheet } from '@stripe/stripe-react-native';
8
+ class Stripe {
9
+ constructor() {
10
+ // init Stripe
11
+ this.init();
12
+ }
13
+ init() {
14
+ // check if Stripe already initialized
15
+ }
16
+ async open(options) {
17
+ try {
18
+ const stripeOptions = options;
19
+ if (!stripeOptions.publicKey) throw new Error('Stripe public key is required');
20
+ const clientSecret = stripeOptions.paymentIntentClientSecret || stripeOptions.extraData?.paymentIntentClientSecret || stripeOptions.extraData?.clientSecret || stripeOptions.extraData?.payment_intent_client_secret;
21
+ if (!clientSecret) throw new Error('Stripe payment intent client secret is required');
22
+ await initStripe({
23
+ publishableKey: stripeOptions.publicKey
24
+ });
25
+ const initResult = await initPaymentSheet({
26
+ paymentIntentClientSecret: clientSecret,
27
+ customerId: stripeOptions.customerId || stripeOptions.extraData?.customerId || stripeOptions.extraData?.customer_id,
28
+ customerEphemeralKeySecret: stripeOptions.customerEphemeralKeySecret || stripeOptions.extraData?.customerEphemeralKeySecret || stripeOptions.extraData?.ephemeralKey || stripeOptions.extraData?.customer_ephemeral_key,
29
+ merchantDisplayName: stripeOptions.merchantDisplayName || stripeOptions.name || 'ZezoPay',
30
+ returnURL: stripeOptions.returnURL || stripeOptions.extraData?.returnURL || stripeOptions.extraData?.return_url,
31
+ allowsDelayedPaymentMethods: true,
32
+ defaultBillingDetails: {
33
+ name: stripeOptions?.prefill?.user_name,
34
+ email: stripeOptions?.prefill?.user_email,
35
+ phone: stripeOptions?.prefill?.user_phone
36
+ }
37
+ });
38
+ if (initResult.error) {
39
+ stripeOptions.OnError?.(initResult.error);
40
+ return;
41
+ }
42
+ const presentResult = await presentPaymentSheet();
43
+ if (presentResult.error) {
44
+ stripeOptions.OnError?.(presentResult.error);
45
+ return;
46
+ }
47
+ stripeOptions.handler?.({
48
+ provider: 'stripe',
49
+ paymentIntentClientSecret: clientSecret
50
+ });
51
+ } catch (error) {
52
+ const stripeOptions = options;
53
+ stripeOptions.OnError?.(error);
54
+ }
55
+ }
56
+ }
57
+ export default Stripe;
58
+ //# sourceMappingURL=Stripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["initPaymentSheet","initStripe","presentPaymentSheet","Stripe","constructor","init","open","options","stripeOptions","publicKey","Error","clientSecret","paymentIntentClientSecret","extraData","payment_intent_client_secret","publishableKey","initResult","customerId","customer_id","customerEphemeralKeySecret","ephemeralKey","customer_ephemeral_key","merchantDisplayName","name","returnURL","return_url","allowsDelayedPaymentMethods","defaultBillingDetails","prefill","user_name","email","user_email","phone","user_phone","error","OnError","presentResult","handler","provider"],"sourceRoot":"../../../../../../src","sources":["zezopay/payments/providers/stripe/Stripe.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,SACEA,gBAAgB,EAChBC,UAAU,EACVC,mBAAmB,QACd,6BAA6B;AAEpC,MAAMC,MAAM,CAA4B;EACtCC,WAAWA,CAAA,EAAG;IACZ;IACA,IAAI,CAACC,IAAI,CAAC,CAAC;EACb;EAEAA,IAAIA,CAAA,EAAG;IACL;EAAA;EAGF,MAAMC,IAAIA,CAACC,OAAmC,EAAE;IAC9C,IAAI;MACF,MAAMC,aAAa,GAAGD,OAA6B;MACnD,IAAI,CAACC,aAAa,CAACC,SAAS,EAC1B,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;MAClD,MAAMC,YAAY,GAChBH,aAAa,CAACI,yBAAyB,IACtCJ,aAAa,CAACK,SAAS,EAAED,yBAAoC,IAC7DJ,aAAa,CAACK,SAAS,EAAEF,YAAuB,IAChDH,aAAa,CAACK,SAAS,EAAEC,4BAAuC;MAEnE,IAAI,CAACH,YAAY,EACf,MAAM,IAAID,KAAK,CAAC,iDAAiD,CAAC;MAEpE,MAAMT,UAAU,CAAC;QACfc,cAAc,EAAEP,aAAa,CAACC;MAChC,CAAC,CAAC;MAEF,MAAMO,UAAU,GAAG,MAAMhB,gBAAgB,CAAC;QACxCY,yBAAyB,EAAED,YAAY;QACvCM,UAAU,EACRT,aAAa,CAACS,UAAU,IACvBT,aAAa,CAACK,SAAS,EAAEI,UAAqB,IAC9CT,aAAa,CAACK,SAAS,EAAEK,WAAsB;QAClDC,0BAA0B,EACxBX,aAAa,CAACW,0BAA0B,IACvCX,aAAa,CAACK,SAAS,EAAEM,0BAAqC,IAC9DX,aAAa,CAACK,SAAS,EAAEO,YAAuB,IAChDZ,aAAa,CAACK,SAAS,EAAEQ,sBAAiC;QAC7DC,mBAAmB,EACjBd,aAAa,CAACc,mBAAmB,IAAId,aAAa,CAACe,IAAI,IAAI,SAAS;QACtEC,SAAS,EACPhB,aAAa,CAACgB,SAAS,IACtBhB,aAAa,CAACK,SAAS,EAAEW,SAAoB,IAC7ChB,aAAa,CAACK,SAAS,EAAEY,UAAqB;QACjDC,2BAA2B,EAAE,IAAI;QACjCC,qBAAqB,EAAE;UACrBJ,IAAI,EAAEf,aAAa,EAAEoB,OAAO,EAAEC,SAAS;UACvCC,KAAK,EAAEtB,aAAa,EAAEoB,OAAO,EAAEG,UAAU;UACzCC,KAAK,EAAExB,aAAa,EAAEoB,OAAO,EAAEK;QACjC;MACF,CAAC,CAAC;MAEF,IAAIjB,UAAU,CAACkB,KAAK,EAAE;QACpB1B,aAAa,CAAC2B,OAAO,GAAGnB,UAAU,CAACkB,KAAK,CAAC;QACzC;MACF;MAEA,MAAME,aAAa,GAAG,MAAMlC,mBAAmB,CAAC,CAAC;MACjD,IAAIkC,aAAa,CAACF,KAAK,EAAE;QACvB1B,aAAa,CAAC2B,OAAO,GAAGC,aAAa,CAACF,KAAK,CAAC;QAC5C;MACF;MAEA1B,aAAa,CAAC6B,OAAO,GAAG;QACtBC,QAAQ,EAAE,QAAQ;QAClB1B,yBAAyB,EAAED;MAC7B,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOuB,KAAK,EAAE;MACd,MAAM1B,aAAa,GAAGD,OAA6B;MACnDC,aAAa,CAAC2B,OAAO,GAAGD,KAAK,CAAC;IAChC;EACF;AACF;AAEA,eAAe/B,MAAM","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ import { IAPService } from "./iap/index.js";
4
+ import { PaymentService } from "./payments/index.js";
5
+ import { PlanService } from "./subscriptions/index.js";
6
+ import { DigitalProductsService } from "./digitalProducts/index.js";
7
+ export class ZezoPayClient {
8
+ /**
9
+ * Constructor for the ZezoPay class.
10
+ * @param options
11
+ */
12
+ constructor(options) {
13
+ this.payments = new PaymentService(options);
14
+ this.subscriptions = {
15
+ plans: new PlanService(options)
16
+ };
17
+ this.iap = new IAPService(options);
18
+ this.digitalProducts = new DigitalProductsService(options);
19
+ }
20
+ }
21
+ export * from "./payments/index.js";
22
+ export * from "./subscriptions/index.js";
23
+ export * from "./digitalProducts/index.js";
24
+ //# sourceMappingURL=api-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IAPService","PaymentService","PlanService","DigitalProductsService","ZezoPayClient","constructor","options","payments","subscriptions","plans","iap","digitalProducts"],"sourceRoot":"../../../../src","sources":["zezopay/services/api-sdk.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gBAAO;AAClC,SAASC,cAAc,QAAQ,qBAAY;AAC3C,SAASC,WAAW,QAAQ,0BAAiB;AAC7C,SAASC,sBAAsB,QAAQ,4BAAmB;AAc1D,OAAO,MAAMC,aAAa,CAAC;EAOzB;AACF;AACA;AACA;EACEC,WAAWA,CAACC,OAAiB,EAAE;IAC7B,IAAI,CAACC,QAAQ,GAAG,IAAIN,cAAc,CAACK,OAAO,CAAC;IAC3C,IAAI,CAACE,aAAa,GAAG;MACnBC,KAAK,EAAE,IAAIP,WAAW,CAACI,OAAO;IAChC,CAAC;IACD,IAAI,CAACI,GAAG,GAAG,IAAIV,UAAU,CAACM,OAAO,CAAC;IAClC,IAAI,CAACK,eAAe,GAAG,IAAIR,sBAAsB,CAACG,OAAO,CAAC;EAC5D;AACF;AAEA,cAAc,qBAAY;AAC1B,cAAc,0BAAiB;AAC/B,cAAc,4BAAmB","ignoreList":[]}