@zezosoft/react-native-zezopay 1.0.3 → 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 (238) hide show
  1. package/README.md +11 -3
  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 → zezopay}/components/VoucherBox.js +81 -48
  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/http → zezopay}/services/payments/payments.js +2 -1
  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.map +1 -0
  76. package/lib/module/zezopay/services/utils/index.js +4 -0
  77. package/lib/module/zezopay/services/utils/index.js.map +1 -0
  78. package/lib/module/zezopay/theme.js +40 -0
  79. package/lib/module/zezopay/theme.js.map +1 -0
  80. package/lib/module/{ZezoPay → zezopay}/types/index.js.map +1 -1
  81. package/lib/module/{ZezoPay → zezopay}/utils/index.js +2 -1
  82. package/lib/module/zezopay/utils/index.js.map +1 -0
  83. package/lib/typescript/src/index.d.ts +1 -1
  84. package/lib/typescript/src/zezopay/ZezoPay.d.ts.map +1 -0
  85. package/lib/typescript/src/{ZezoPay → zezopay}/components/Header.d.ts +2 -0
  86. package/lib/typescript/src/zezopay/components/Header.d.ts.map +1 -0
  87. package/lib/typescript/src/{ZezoPay → zezopay}/components/PayButton.d.ts +2 -0
  88. package/lib/typescript/src/zezopay/components/PayButton.d.ts.map +1 -0
  89. package/lib/typescript/src/zezopay/components/PaymentMethod.d.ts +15 -0
  90. package/lib/typescript/src/zezopay/components/PaymentMethod.d.ts.map +1 -0
  91. package/lib/typescript/src/zezopay/components/Summary.d.ts +11 -0
  92. package/lib/typescript/src/zezopay/components/Summary.d.ts.map +1 -0
  93. package/lib/typescript/src/{ZezoPay → zezopay}/components/VoucherBox.d.ts +2 -0
  94. package/lib/typescript/src/zezopay/components/VoucherBox.d.ts.map +1 -0
  95. package/lib/typescript/src/zezopay/components/index.d.ts +6 -0
  96. package/lib/typescript/src/zezopay/components/index.d.ts.map +1 -0
  97. package/lib/typescript/src/zezopay/context/ZezoPayContext.d.ts +10 -0
  98. package/lib/typescript/src/zezopay/context/ZezoPayContext.d.ts.map +1 -0
  99. package/lib/typescript/src/zezopay/context/index.d.ts +2 -0
  100. package/lib/typescript/src/zezopay/context/index.d.ts.map +1 -0
  101. package/lib/typescript/src/zezopay/hooks/index.d.ts +4 -0
  102. package/lib/typescript/src/zezopay/hooks/index.d.ts.map +1 -0
  103. package/lib/typescript/src/zezopay/hooks/useAsync.d.ts +8 -0
  104. package/lib/typescript/src/zezopay/hooks/useAsync.d.ts.map +1 -0
  105. package/lib/typescript/src/{ZezoPay/utils → zezopay}/hooks/useZezoPay.d.ts +13 -12
  106. package/lib/typescript/src/zezopay/hooks/useZezoPay.d.ts.map +1 -0
  107. package/lib/typescript/src/zezopay/hooks/useZezoPay.helpers.d.ts +23 -0
  108. package/lib/typescript/src/zezopay/hooks/useZezoPay.helpers.d.ts.map +1 -0
  109. package/lib/typescript/src/zezopay/index.d.ts +8 -0
  110. package/lib/typescript/src/zezopay/index.d.ts.map +1 -0
  111. package/lib/typescript/src/zezopay/payments/providers/iap/IAP.d.ts +17 -0
  112. package/lib/typescript/src/zezopay/payments/providers/iap/IAP.d.ts.map +1 -0
  113. package/lib/typescript/src/zezopay/payments/providers/index.d.ts +9 -0
  114. package/lib/typescript/src/zezopay/payments/providers/index.d.ts.map +1 -0
  115. package/lib/typescript/src/zezopay/payments/providers/razorpay/Razorpay.d.ts.map +1 -0
  116. package/lib/typescript/src/zezopay/payments/providers/stripe/Stripe.d.ts +7 -0
  117. package/lib/typescript/src/zezopay/payments/providers/stripe/Stripe.d.ts.map +1 -0
  118. package/lib/typescript/src/zezopay/services/api-sdk.d.ts +31 -0
  119. package/lib/typescript/src/zezopay/services/api-sdk.d.ts.map +1 -0
  120. package/lib/typescript/src/{ZezoPay/http → zezopay}/services/baseService.d.ts +1 -1
  121. package/lib/typescript/src/zezopay/services/baseService.d.ts.map +1 -0
  122. package/lib/typescript/src/zezopay/services/common.types.d.ts +25 -0
  123. package/lib/typescript/src/zezopay/services/common.types.d.ts.map +1 -0
  124. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.d.ts +15 -0
  125. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.d.ts.map +1 -0
  126. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.types.d.ts +79 -0
  127. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.types.d.ts.map +1 -0
  128. package/lib/typescript/src/zezopay/services/digitalProducts/index.d.ts +3 -0
  129. package/lib/typescript/src/zezopay/services/digitalProducts/index.d.ts.map +1 -0
  130. package/lib/typescript/src/zezopay/services/iap/iap.d.ts +13 -0
  131. package/lib/typescript/src/zezopay/services/iap/iap.d.ts.map +1 -0
  132. package/lib/typescript/src/zezopay/services/iap/iap.types.d.ts +47 -0
  133. package/lib/typescript/src/zezopay/services/iap/iap.types.d.ts.map +1 -0
  134. package/lib/typescript/src/zezopay/services/iap/index.d.ts +3 -0
  135. package/lib/typescript/src/zezopay/services/iap/index.d.ts.map +1 -0
  136. package/lib/typescript/src/zezopay/services/index.d.ts +9 -0
  137. package/lib/typescript/src/zezopay/services/index.d.ts.map +1 -0
  138. package/lib/typescript/src/zezopay/services/payments/index.d.ts +3 -0
  139. package/lib/typescript/src/zezopay/services/payments/index.d.ts.map +1 -0
  140. package/lib/typescript/src/{ZezoPay/http → zezopay}/services/payments/payments.d.ts +3 -2
  141. package/lib/typescript/src/zezopay/services/payments/payments.d.ts.map +1 -0
  142. package/lib/typescript/src/{ZezoPay/http → zezopay}/services/payments/payments.types.d.ts +22 -1
  143. package/lib/typescript/src/zezopay/services/payments/payments.types.d.ts.map +1 -0
  144. package/lib/typescript/src/zezopay/services/subscriptions/index.d.ts +3 -0
  145. package/lib/typescript/src/zezopay/services/subscriptions/index.d.ts.map +1 -0
  146. package/lib/typescript/src/zezopay/services/subscriptions/plan/index.d.ts +3 -0
  147. package/lib/typescript/src/zezopay/services/subscriptions/plan/index.d.ts.map +1 -0
  148. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.d.ts +19 -0
  149. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.d.ts.map +1 -0
  150. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.types.d.ts +64 -0
  151. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.types.d.ts.map +1 -0
  152. package/lib/typescript/src/zezopay/services/utils/errorFormatter.d.ts.map +1 -0
  153. package/lib/typescript/src/zezopay/services/utils/index.d.ts +2 -0
  154. package/lib/typescript/src/zezopay/services/utils/index.d.ts.map +1 -0
  155. package/lib/typescript/src/zezopay/theme.d.ts +38 -0
  156. package/lib/typescript/src/zezopay/theme.d.ts.map +1 -0
  157. package/lib/typescript/src/{ZezoPay → zezopay}/types/index.d.ts +19 -21
  158. package/lib/typescript/src/zezopay/types/index.d.ts.map +1 -0
  159. package/lib/typescript/src/{ZezoPay → zezopay}/utils/index.d.ts.map +1 -1
  160. package/package.json +13 -5
  161. package/lib/module/ZezoPay/Payments/Providers/PaymentGateways.types.d.js +0 -2
  162. package/lib/module/ZezoPay/Payments/Providers/PaymentGateways.types.d.js.map +0 -1
  163. package/lib/module/ZezoPay/Payments/Providers/Razorpay/Razorpay.js +0 -39
  164. package/lib/module/ZezoPay/Payments/Providers/Razorpay/Razorpay.js.map +0 -1
  165. package/lib/module/ZezoPay/Payments/Providers/index.js +0 -10
  166. package/lib/module/ZezoPay/Payments/Providers/index.js.map +0 -1
  167. package/lib/module/ZezoPay/ZezoPay.js +0 -192
  168. package/lib/module/ZezoPay/ZezoPay.js.map +0 -1
  169. package/lib/module/ZezoPay/components/Header.js.map +0 -1
  170. package/lib/module/ZezoPay/components/PayButton.js +0 -143
  171. package/lib/module/ZezoPay/components/PayButton.js.map +0 -1
  172. package/lib/module/ZezoPay/components/PaymentMethod.js.map +0 -1
  173. package/lib/module/ZezoPay/components/Summary.js.map +0 -1
  174. package/lib/module/ZezoPay/components/VoucherBox.js.map +0 -1
  175. package/lib/module/ZezoPay/http/api-sdk.js +0 -14
  176. package/lib/module/ZezoPay/http/api-sdk.js.map +0 -1
  177. package/lib/module/ZezoPay/http/services/baseService.js +0 -28
  178. package/lib/module/ZezoPay/http/services/baseService.js.map +0 -1
  179. package/lib/module/ZezoPay/http/services/payments/payments.js.map +0 -1
  180. package/lib/module/ZezoPay/http/services/payments/payments.types.js +0 -2
  181. package/lib/module/ZezoPay/http/services/payments/payments.types.js.map +0 -1
  182. package/lib/module/ZezoPay/http/utils/errorFormatter.js.map +0 -1
  183. package/lib/module/ZezoPay/index.js +0 -5
  184. package/lib/module/ZezoPay/index.js.map +0 -1
  185. package/lib/module/ZezoPay/utils/hooks/useAsync.js +0 -32
  186. package/lib/module/ZezoPay/utils/hooks/useAsync.js.map +0 -1
  187. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js +0 -249
  188. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js.map +0 -1
  189. package/lib/module/ZezoPay/utils/index.js.map +0 -1
  190. package/lib/typescript/src/ZezoPay/Payments/Providers/Razorpay/Razorpay.d.ts.map +0 -1
  191. package/lib/typescript/src/ZezoPay/Payments/Providers/index.d.ts +0 -7
  192. package/lib/typescript/src/ZezoPay/Payments/Providers/index.d.ts.map +0 -1
  193. package/lib/typescript/src/ZezoPay/ZezoPay.d.ts.map +0 -1
  194. package/lib/typescript/src/ZezoPay/components/Header.d.ts.map +0 -1
  195. package/lib/typescript/src/ZezoPay/components/PayButton.d.ts.map +0 -1
  196. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts +0 -12
  197. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts.map +0 -1
  198. package/lib/typescript/src/ZezoPay/components/Summary.d.ts +0 -7
  199. package/lib/typescript/src/ZezoPay/components/Summary.d.ts.map +0 -1
  200. package/lib/typescript/src/ZezoPay/components/VoucherBox.d.ts.map +0 -1
  201. package/lib/typescript/src/ZezoPay/http/api-sdk.d.ts +0 -21
  202. package/lib/typescript/src/ZezoPay/http/api-sdk.d.ts.map +0 -1
  203. package/lib/typescript/src/ZezoPay/http/services/baseService.d.ts.map +0 -1
  204. package/lib/typescript/src/ZezoPay/http/services/payments/payments.d.ts.map +0 -1
  205. package/lib/typescript/src/ZezoPay/http/services/payments/payments.types.d.ts.map +0 -1
  206. package/lib/typescript/src/ZezoPay/http/utils/errorFormatter.d.ts.map +0 -1
  207. package/lib/typescript/src/ZezoPay/index.d.ts +0 -3
  208. package/lib/typescript/src/ZezoPay/index.d.ts.map +0 -1
  209. package/lib/typescript/src/ZezoPay/types/index.d.ts.map +0 -1
  210. package/lib/typescript/src/ZezoPay/utils/hooks/useAsync.d.ts +0 -6
  211. package/lib/typescript/src/ZezoPay/utils/hooks/useAsync.d.ts.map +0 -1
  212. package/lib/typescript/src/ZezoPay/utils/hooks/useZezoPay.d.ts.map +0 -1
  213. package/src/ZezoPay/Payments/Providers/PaymentGateways.types.d.ts +0 -48
  214. package/src/ZezoPay/Payments/Providers/Razorpay/Razorpay.ts +0 -46
  215. package/src/ZezoPay/Payments/Providers/index.ts +0 -8
  216. package/src/ZezoPay/ZezoPay.tsx +0 -197
  217. package/src/ZezoPay/components/Header.tsx +0 -107
  218. package/src/ZezoPay/components/PayButton.tsx +0 -132
  219. package/src/ZezoPay/components/PaymentMethod.tsx +0 -263
  220. package/src/ZezoPay/components/Summary.tsx +0 -188
  221. package/src/ZezoPay/components/VoucherBox.tsx +0 -182
  222. package/src/ZezoPay/http/api-sdk.ts +0 -27
  223. package/src/ZezoPay/http/services/baseService.ts +0 -37
  224. package/src/ZezoPay/http/services/payments/payments.ts +0 -66
  225. package/src/ZezoPay/http/services/payments/payments.types.ts +0 -120
  226. package/src/ZezoPay/http/utils/errorFormatter.ts +0 -88
  227. package/src/ZezoPay/index.ts +0 -2
  228. package/src/ZezoPay/types/index.ts +0 -104
  229. package/src/ZezoPay/utils/hooks/useAsync.ts +0 -38
  230. package/src/ZezoPay/utils/hooks/useZezoPay.ts +0 -323
  231. package/src/ZezoPay/utils/index.ts +0 -16
  232. package/src/index.tsx +0 -1
  233. /package/lib/module/{ZezoPay/http → zezopay/services}/utils/errorFormatter.js +0 -0
  234. /package/lib/module/{ZezoPay → zezopay}/types/index.js +0 -0
  235. /package/lib/typescript/src/{ZezoPay → zezopay}/ZezoPay.d.ts +0 -0
  236. /package/lib/typescript/src/{ZezoPay/Payments/Providers/Razorpay → zezopay/payments/providers/razorpay}/Razorpay.d.ts +0 -0
  237. /package/lib/typescript/src/{ZezoPay/http → zezopay/services}/utils/errorFormatter.d.ts +0 -0
  238. /package/lib/typescript/src/{ZezoPay → zezopay}/utils/index.d.ts +0 -0
@@ -1,66 +0,0 @@
1
- import type { AxiosResponse } from 'axios';
2
- import type {
3
- ICheckoutPayload,
4
- ICheckoutResult,
5
- ICouponResponse,
6
- IOptions,
7
- PaymentProviderList,
8
- } from '../../api-sdk';
9
- import BaseService from '../baseService';
10
-
11
- class PaymentService extends BaseService {
12
- constructor(options: IOptions) {
13
- super(options);
14
- }
15
-
16
- /**
17
- * Get available payment providers
18
- */
19
- async providers({
20
- platform = 'web',
21
- }: {
22
- platform?: 'web' | 'ios' | 'android';
23
- } = {}): Promise<AxiosResponse<PaymentProviderList>> {
24
- return this.request<PaymentProviderList>({
25
- method: 'GET',
26
- url: '/api/v1/payments/ready',
27
- headers: {
28
- 'x-platform': platform,
29
- },
30
- });
31
- }
32
-
33
- /**
34
- * Create a checkout session
35
- */
36
- async checkout(
37
- payload: ICheckoutPayload,
38
- platform?: 'web' | 'ios' | 'android'
39
- ): Promise<AxiosResponse<ICheckoutResult>> {
40
- return this.request<ICheckoutResult>({
41
- method: 'POST',
42
- url: '/api/v1/payments/checkout',
43
- data: payload,
44
- headers: {
45
- 'x-platform': platform || 'web',
46
- },
47
- });
48
- }
49
- /**
50
- * Verify a coupon
51
- */
52
- async verifyCoupon(payload: {
53
- code: string;
54
- userId: string;
55
- }): Promise<AxiosResponse<ICouponResponse>> {
56
- return this.request<ICouponResponse>({
57
- method: 'POST',
58
- url: `/api/v1/payments/apply-coupon/${payload.code}`,
59
- data: {
60
- userId: payload.userId,
61
- },
62
- });
63
- }
64
- }
65
-
66
- export default PaymentService;
@@ -1,120 +0,0 @@
1
- /**
2
- * Supported payment providers
3
- */
4
- export type PaymentProvider =
5
- | 'stripe'
6
- | 'razorpay'
7
- | 'phonepe'
8
- | 'ccavenue'
9
- | string;
10
-
11
- /**
12
- * Payment provider info used in UI
13
- */
14
- export interface IReadyPaymentProvider {
15
- logo: string;
16
- provider: PaymentProvider;
17
- }
18
-
19
- /**
20
- * Basic user info attached to payments
21
- */
22
- export interface UserInfo {
23
- _id: string;
24
- name: string;
25
- email?: string;
26
- phone?: string;
27
- }
28
-
29
- /**
30
- * Extra metadata for payments
31
- */
32
- export interface PaymentMeta {
33
- isPaymentInitiatedEnabled?: boolean;
34
- userInfo: UserInfo;
35
- summary?: Record<string, any>;
36
- [key: string]: any; // Allow flexible fields
37
- }
38
-
39
- /**
40
- * Base checkout input shared across types
41
- */
42
- export interface BaseCheckoutInput {
43
- userId: string;
44
- provider: PaymentProvider;
45
- metadata: PaymentMeta;
46
- currency?: string;
47
- coupon_code?: string;
48
- }
49
-
50
- /**
51
- * Checkout payload variations
52
- */
53
- export type ICheckoutPayload =
54
- | (BaseCheckoutInput & { type: 'normal'; price: number })
55
- | (BaseCheckoutInput & { type: 'subscription'; subscriptionId: string })
56
- | (BaseCheckoutInput & { type: 'digital-product'; digitalProductId: string });
57
-
58
- /**
59
- * Checkout API response
60
- */
61
- export interface ICheckoutResult {
62
- status: boolean;
63
- price: number;
64
- currency:
65
- | 'INR'
66
- | 'USD'
67
- | 'EUR'
68
- | 'GBP'
69
- | 'JPY'
70
- | 'AUD'
71
- | 'CAD'
72
- | 'CNY'
73
- | 'SGD'
74
- | string;
75
- provider: PaymentProvider;
76
- real_price: number;
77
- orderId: string;
78
- publicKey: string;
79
- extraData?: Record<string, any>;
80
- }
81
-
82
- /**
83
- * Verification of payment status
84
- */
85
- export interface IPaymentVerify {
86
- _id: string;
87
- userId: string;
88
- orderId: string;
89
- status: 'success' | 'failed' | 'pending';
90
- meta_data: PaymentMeta;
91
- [key: string]: any;
92
- }
93
-
94
- export interface IPaymentVerification {
95
- message: string;
96
- data: IPaymentVerify;
97
- }
98
-
99
- /**
100
- * List of supported providers
101
- */
102
- export type PaymentProviderList = IReadyPaymentProvider[];
103
-
104
- export interface ICouponValidity {
105
- start_date: string; // ISO date string
106
- end_date: string; // ISO date string
107
- }
108
-
109
- export interface ICouponData {
110
- _id: string;
111
- name: string;
112
- discount: number; // percentage or fixed amount
113
- type: 'percentage' | 'amount';
114
- validity: ICouponValidity;
115
- }
116
-
117
- export interface ICouponResponse {
118
- message: string;
119
- data: ICouponData;
120
- }
@@ -1,88 +0,0 @@
1
- // utils/formatAPIError.ts
2
-
3
- import type { APIError } from '../api-sdk';
4
-
5
- interface IBackendError {
6
- response?: {
7
- status?: number;
8
- headers?: Record<string, string>;
9
- data?: {
10
- message?: string;
11
- error?: {
12
- type?: string;
13
- message?: string;
14
- path?: string;
15
- location?: string;
16
- };
17
- errors?: {
18
- type?: string;
19
- msg?: string;
20
- path?: string;
21
- location?: string;
22
- }[];
23
- };
24
- };
25
- config?: {
26
- url?: string;
27
- };
28
- code?: string;
29
- message?: string;
30
- }
31
-
32
- /**
33
- * Converts any kind of error (network, backend, unknown) into a consistent APIError format
34
- */
35
- export function formatAPIError(err: unknown): APIError {
36
- const error = err as IBackendError;
37
-
38
- if (
39
- error?.code === 'ECONNREFUSED' ||
40
- error?.message?.includes('Network Error')
41
- ) {
42
- return {
43
- type: 'network_error',
44
- status: error.code,
45
- message: 'Network error: check your connection.',
46
- path: error?.config?.url || '',
47
- location: '',
48
- };
49
- }
50
-
51
- const isHtml =
52
- error?.response?.headers?.['content-type']?.includes('text/html') ||
53
- (typeof error?.response?.data === 'string' &&
54
- (error.response.data as string).startsWith('<!DOCTYPE html>'));
55
-
56
- if (isHtml) {
57
- return {
58
- type: 'invalid_route',
59
- status: error?.response?.status || 404,
60
- message: 'This API endpoint does not exist or cannot be called.',
61
- path: error?.config?.url || '',
62
- location: '',
63
- };
64
- }
65
-
66
- const firstError = error?.response?.data?.errors?.[0];
67
- const errorObj = error?.response?.data?.error;
68
- const message =
69
- firstError?.msg || errorObj?.message || error?.response?.data?.message;
70
-
71
- if (message) {
72
- return {
73
- type: firstError?.type || errorObj?.type || 'backend_error',
74
- status: error?.response?.status,
75
- message,
76
- path: firstError?.path || errorObj?.path || error?.config?.url || '',
77
- location: firstError?.location || errorObj?.location || '',
78
- };
79
- }
80
-
81
- return {
82
- type: 'unknown_error',
83
- status: error?.response?.status,
84
- message: error?.message || 'An unknown error occurred.',
85
- path: error?.config?.url || '',
86
- location: '',
87
- };
88
- }
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- export { default as ZezoPay } from './ZezoPay';
@@ -1,104 +0,0 @@
1
- // types.ts
2
-
3
- import type {
4
- ICheckoutResult,
5
- PaymentMeta,
6
- PaymentProvider,
7
- UserInfo,
8
- } from '../http/api-sdk';
9
-
10
- /* Summary Item */
11
- export interface ISummaryItem {
12
- id: string | number;
13
- name: string;
14
- price: number;
15
- duration?: string;
16
- image?: string;
17
- discount?: number | { amount: number; type: 'percentage' | 'fixed' };
18
- }
19
- /* Handle Payment Type */
20
- export type HandlePayment = ({
21
- provider,
22
- subscriptionId,
23
- digitalProductId,
24
- userInfo,
25
- coupon_code,
26
- metadata,
27
- }: {
28
- provider: PaymentProvider;
29
- subscriptionId?: string | null;
30
- digitalProductId?: string | null;
31
- userInfo: UserInfo;
32
- coupon_code?: string | null;
33
- metadata?: PaymentMeta | null;
34
- }) => Promise<ICheckoutResult | null>;
35
-
36
- /* Callbacks */
37
- export interface ZezoPayCallbacks {
38
- onSuccess?: (response: any) => void;
39
- onFailure?: (error: any) => void;
40
- onError?: (error: any) => void;
41
- }
42
-
43
- export type PaymentDetails = {
44
- userId: string;
45
- price: number;
46
- metadata?: {
47
- isPaymentInitiatedEnabled?: boolean;
48
- userInfo?: UserInfo;
49
- };
50
- };
51
-
52
- export type ZezoPayProps = {
53
- publicKey: string;
54
- subscriptionId?: string;
55
- digitalProductId?: string;
56
- summaryItems: SummaryItem[];
57
- userInfo: UserInfo;
58
- title: string;
59
- onBack: () => void;
60
- callbacks?: ZezoPayCallbacks;
61
- handlePayment?: HandlePayment;
62
- voucher?: boolean;
63
- };
64
-
65
- export type PaymentProviderType =
66
- | 'razorpay'
67
- | 'stripe'
68
- | 'ccavenue'
69
- | 'phonepe';
70
-
71
- export type ZezoPayHookProps = {
72
- publicKey: string;
73
- userInfo: {
74
- _id: string;
75
- name: string;
76
- email?: string;
77
- phone?: string;
78
- };
79
- handlePayment?: (args: {
80
- provider: PaymentProviderType;
81
- subscriptionId?: string;
82
- digitalProductId?: string;
83
- userInfo: { _id: string; name: string; email?: string; phone?: string };
84
- }) => Promise<any>;
85
- subscriptionId?: string;
86
- digitalProductId?: string;
87
- summaryItems?: SummaryItem[];
88
- validateVoucherCode?: (code: string) => number;
89
- callbacks?: ZezoPayCallbacks;
90
- };
91
-
92
- export type Discount = {
93
- type: 'percentage' | 'fixed';
94
- amount: number;
95
- };
96
-
97
- export type SummaryItem = {
98
- id: string;
99
- name: string;
100
- price: number;
101
- discount?: number | { type: 'percentage' | 'fixed'; amount: number };
102
- duration?: string;
103
- image?: string;
104
- };
@@ -1,38 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- export function useAsync<T>(asyncFn: () => Promise<T>, deps: any[] = []) {
4
- const [result, setResult] = useState<T | null>(null);
5
- const [loading, setLoading] = useState(true);
6
- const [error, setError] = useState<Error | null>(null);
7
-
8
- useEffect(() => {
9
- let mounted = true;
10
- setLoading(true);
11
-
12
- asyncFn()
13
- .then((res) => {
14
- if (mounted) {
15
- setResult(res);
16
- setError(null);
17
- }
18
- })
19
- .catch((err) => {
20
- if (mounted)
21
- setError(
22
- err instanceof Error
23
- ? err
24
- : new Error(err.msg || err.message || 'Unknown error')
25
- );
26
- })
27
- .finally(() => {
28
- if (mounted) setLoading(false);
29
- });
30
-
31
- return () => {
32
- mounted = false;
33
- };
34
- // eslint-disable-next-line react-hooks/exhaustive-deps
35
- }, deps);
36
-
37
- return { result, loading, error };
38
- }