@zezosoft/react-native-zezopay 1.0.2 → 1.0.3

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 (52) hide show
  1. package/README.md +4 -4
  2. package/lib/module/ZezoPay/ZezoPay.js +41 -27
  3. package/lib/module/ZezoPay/ZezoPay.js.map +1 -1
  4. package/lib/module/ZezoPay/components/PaymentMethod.js.map +1 -1
  5. package/lib/module/ZezoPay/components/Summary.js.map +1 -1
  6. package/lib/module/ZezoPay/components/VoucherBox.js +76 -27
  7. package/lib/module/ZezoPay/components/VoucherBox.js.map +1 -1
  8. package/lib/module/ZezoPay/http/api-sdk.js +14 -0
  9. package/lib/module/ZezoPay/http/api-sdk.js.map +1 -0
  10. package/lib/module/ZezoPay/http/services/baseService.js +28 -0
  11. package/lib/module/ZezoPay/http/services/baseService.js.map +1 -0
  12. package/lib/module/ZezoPay/http/services/payments/payments.js +51 -0
  13. package/lib/module/ZezoPay/http/services/payments/payments.js.map +1 -0
  14. package/lib/module/ZezoPay/http/services/payments/payments.types.js +2 -0
  15. package/lib/module/ZezoPay/http/services/payments/payments.types.js.map +1 -0
  16. package/lib/module/ZezoPay/http/utils/errorFormatter.js +49 -0
  17. package/lib/module/ZezoPay/http/utils/errorFormatter.js.map +1 -0
  18. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js +187 -203
  19. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js.map +1 -1
  20. package/lib/typescript/src/ZezoPay/ZezoPay.d.ts.map +1 -1
  21. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts +2 -2
  22. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts.map +1 -1
  23. package/lib/typescript/src/ZezoPay/components/Summary.d.ts +1 -1
  24. package/lib/typescript/src/ZezoPay/components/Summary.d.ts.map +1 -1
  25. package/lib/typescript/src/ZezoPay/components/VoucherBox.d.ts +6 -3
  26. package/lib/typescript/src/ZezoPay/components/VoucherBox.d.ts.map +1 -1
  27. package/lib/typescript/src/ZezoPay/http/api-sdk.d.ts +21 -0
  28. package/lib/typescript/src/ZezoPay/http/api-sdk.d.ts.map +1 -0
  29. package/lib/typescript/src/ZezoPay/http/services/baseService.d.ts +9 -0
  30. package/lib/typescript/src/ZezoPay/http/services/baseService.d.ts.map +1 -0
  31. package/lib/typescript/src/ZezoPay/http/services/payments/payments.d.ts +25 -0
  32. package/lib/typescript/src/ZezoPay/http/services/payments/payments.d.ts.map +1 -0
  33. package/lib/typescript/src/ZezoPay/http/services/payments/payments.types.d.ts +100 -0
  34. package/lib/typescript/src/ZezoPay/http/services/payments/payments.types.d.ts.map +1 -0
  35. package/lib/typescript/src/ZezoPay/http/utils/errorFormatter.d.ts +6 -0
  36. package/lib/typescript/src/ZezoPay/http/utils/errorFormatter.d.ts.map +1 -0
  37. package/lib/typescript/src/ZezoPay/types/index.d.ts +27 -6
  38. package/lib/typescript/src/ZezoPay/types/index.d.ts.map +1 -1
  39. package/lib/typescript/src/ZezoPay/utils/hooks/useZezoPay.d.ts +23 -29
  40. package/lib/typescript/src/ZezoPay/utils/hooks/useZezoPay.d.ts.map +1 -1
  41. package/package.json +2 -3
  42. package/src/ZezoPay/ZezoPay.tsx +49 -28
  43. package/src/ZezoPay/components/PaymentMethod.tsx +4 -4
  44. package/src/ZezoPay/components/Summary.tsx +1 -1
  45. package/src/ZezoPay/components/VoucherBox.tsx +100 -51
  46. package/src/ZezoPay/http/api-sdk.ts +27 -0
  47. package/src/ZezoPay/http/services/baseService.ts +37 -0
  48. package/src/ZezoPay/http/services/payments/payments.ts +66 -0
  49. package/src/ZezoPay/http/services/payments/payments.types.ts +120 -0
  50. package/src/ZezoPay/http/utils/errorFormatter.ts +88 -0
  51. package/src/ZezoPay/types/index.ts +41 -7
  52. package/src/ZezoPay/utils/hooks/useZezoPay.ts +234 -231
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ // utils/formatAPIError.ts
4
+
5
+ /**
6
+ * Converts any kind of error (network, backend, unknown) into a consistent APIError format
7
+ */
8
+ export function formatAPIError(err) {
9
+ const error = err;
10
+ if (error?.code === 'ECONNREFUSED' || error?.message?.includes('Network Error')) {
11
+ return {
12
+ type: 'network_error',
13
+ status: error.code,
14
+ message: 'Network error: check your connection.',
15
+ path: error?.config?.url || '',
16
+ location: ''
17
+ };
18
+ }
19
+ const isHtml = error?.response?.headers?.['content-type']?.includes('text/html') || typeof error?.response?.data === 'string' && error.response.data.startsWith('<!DOCTYPE html>');
20
+ if (isHtml) {
21
+ return {
22
+ type: 'invalid_route',
23
+ status: error?.response?.status || 404,
24
+ message: 'This API endpoint does not exist or cannot be called.',
25
+ path: error?.config?.url || '',
26
+ location: ''
27
+ };
28
+ }
29
+ const firstError = error?.response?.data?.errors?.[0];
30
+ const errorObj = error?.response?.data?.error;
31
+ const message = firstError?.msg || errorObj?.message || error?.response?.data?.message;
32
+ if (message) {
33
+ return {
34
+ type: firstError?.type || errorObj?.type || 'backend_error',
35
+ status: error?.response?.status,
36
+ message,
37
+ path: firstError?.path || errorObj?.path || error?.config?.url || '',
38
+ location: firstError?.location || errorObj?.location || ''
39
+ };
40
+ }
41
+ return {
42
+ type: 'unknown_error',
43
+ status: error?.response?.status,
44
+ message: error?.message || 'An unknown error occurred.',
45
+ path: error?.config?.url || '',
46
+ location: ''
47
+ };
48
+ }
49
+ //# sourceMappingURL=errorFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatAPIError","err","error","code","message","includes","type","status","path","config","url","location","isHtml","response","headers","data","startsWith","firstError","errors","errorObj","msg"],"sourceRoot":"../../../../../src","sources":["ZezoPay/http/utils/errorFormatter.ts"],"mappings":";;AAAA;;AA+BA;AACA;AACA;AACA,OAAO,SAASA,cAAcA,CAACC,GAAY,EAAY;EACrD,MAAMC,KAAK,GAAGD,GAAoB;EAElC,IACEC,KAAK,EAAEC,IAAI,KAAK,cAAc,IAC9BD,KAAK,EAAEE,OAAO,EAAEC,QAAQ,CAAC,eAAe,CAAC,EACzC;IACA,OAAO;MACLC,IAAI,EAAE,eAAe;MACrBC,MAAM,EAAEL,KAAK,CAACC,IAAI;MAClBC,OAAO,EAAE,uCAAuC;MAChDI,IAAI,EAAEN,KAAK,EAAEO,MAAM,EAAEC,GAAG,IAAI,EAAE;MAC9BC,QAAQ,EAAE;IACZ,CAAC;EACH;EAEA,MAAMC,MAAM,GACVV,KAAK,EAAEW,QAAQ,EAAEC,OAAO,GAAG,cAAc,CAAC,EAAET,QAAQ,CAAC,WAAW,CAAC,IAChE,OAAOH,KAAK,EAAEW,QAAQ,EAAEE,IAAI,KAAK,QAAQ,IACvCb,KAAK,CAACW,QAAQ,CAACE,IAAI,CAAYC,UAAU,CAAC,iBAAiB,CAAE;EAElE,IAAIJ,MAAM,EAAE;IACV,OAAO;MACLN,IAAI,EAAE,eAAe;MACrBC,MAAM,EAAEL,KAAK,EAAEW,QAAQ,EAAEN,MAAM,IAAI,GAAG;MACtCH,OAAO,EAAE,uDAAuD;MAChEI,IAAI,EAAEN,KAAK,EAAEO,MAAM,EAAEC,GAAG,IAAI,EAAE;MAC9BC,QAAQ,EAAE;IACZ,CAAC;EACH;EAEA,MAAMM,UAAU,GAAGf,KAAK,EAAEW,QAAQ,EAAEE,IAAI,EAAEG,MAAM,GAAG,CAAC,CAAC;EACrD,MAAMC,QAAQ,GAAGjB,KAAK,EAAEW,QAAQ,EAAEE,IAAI,EAAEb,KAAK;EAC7C,MAAME,OAAO,GACXa,UAAU,EAAEG,GAAG,IAAID,QAAQ,EAAEf,OAAO,IAAIF,KAAK,EAAEW,QAAQ,EAAEE,IAAI,EAAEX,OAAO;EAExE,IAAIA,OAAO,EAAE;IACX,OAAO;MACLE,IAAI,EAAEW,UAAU,EAAEX,IAAI,IAAIa,QAAQ,EAAEb,IAAI,IAAI,eAAe;MAC3DC,MAAM,EAAEL,KAAK,EAAEW,QAAQ,EAAEN,MAAM;MAC/BH,OAAO;MACPI,IAAI,EAAES,UAAU,EAAET,IAAI,IAAIW,QAAQ,EAAEX,IAAI,IAAIN,KAAK,EAAEO,MAAM,EAAEC,GAAG,IAAI,EAAE;MACpEC,QAAQ,EAAEM,UAAU,EAAEN,QAAQ,IAAIQ,QAAQ,EAAER,QAAQ,IAAI;IAC1D,CAAC;EACH;EAEA,OAAO;IACLL,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAEL,KAAK,EAAEW,QAAQ,EAAEN,MAAM;IAC/BH,OAAO,EAAEF,KAAK,EAAEE,OAAO,IAAI,4BAA4B;IACvDI,IAAI,EAAEN,KAAK,EAAEO,MAAM,EAAEC,GAAG,IAAI,EAAE;IAC9BC,QAAQ,EAAE;EACZ,CAAC;AACH","ignoreList":[]}
@@ -2,264 +2,248 @@
2
2
 
3
3
  import { useCallback, useEffect, useMemo, useState } from 'react';
4
4
  import { useAsync } from "./useAsync.js";
5
- import { ZezoPayClient } from '@zezosoft/zezopay-client';
6
- import { Platform } from 'react-native';
5
+ import { ZezoPayClient } from "../../http/api-sdk.js";
7
6
  import { Razorpay } from "../../Payments/Providers/index.js";
8
- export const allowedProviders = ['razorpay'];
9
-
10
- /**
11
- * Parameters for the useZezoPay hook
12
- * @interface UseZezoPayParams
13
- */
14
-
15
- /**
16
- * Custom hook to handle payments with ZezoPay SDK.
17
- * Manages payment providers, summary items, and checkout process.
18
- * @param params - Configuration for the ZezoPay client
19
- * @returns Object with payment state and methods
20
- */
7
+ import { Platform } from 'react-native';
8
+ export const SUPPORTED_PROVIDERS = ['razorpay'];
21
9
  export const useZezoPay = ({
22
10
  publicKey,
23
- userInfo,
11
+ user,
24
12
  subscriptionId,
25
- digitalProductId,
26
- summaryItems: initialItems = [],
27
- handlePayment,
28
- callback
13
+ productId,
14
+ cart: initialCart = [],
15
+ paymentHandler: customHandler,
16
+ callbacks
29
17
  }) => {
30
- // Input validation
31
18
  if (!publicKey) throw new Error('publicKey is required');
32
- if (!userInfo?._id || !userInfo?.name) throw new Error('userInfo must include _id and name');
33
-
34
- // SDK client
35
- const zezopay = useMemo(() => new ZezoPayClient({
36
- publicKey,
37
- platform: Platform.OS === 'ios' ? 'ios' : 'android'
19
+ if (!user?._id || !user?.name) throw new Error('User must have _id and name');
20
+ const client = useMemo(() => new ZezoPayClient({
21
+ publicKey
38
22
  }), [publicKey]);
39
23
 
40
24
  // States
41
- const [selectedPayment, setSelectedPayment] = useState(null);
42
- const [summaryItems, setSummaryItems] = useState(initialItems);
43
- const [voucherCode, setVoucherCode] = useState('');
44
- const [isProcessing, setIsProcessing] = useState(false);
45
- const [isSuccess, setIsSuccess] = useState(false);
25
+ const [provider, setProvider] = useState(null);
26
+ const [cartItems, setCartItems] = useState(initialCart);
27
+ const [coupon, setCoupon] = useState('');
28
+ const [loadingPayment, setLoadingPayment] = useState(false);
29
+ const [couponLoading, setCouponLoading] = useState(false); // ✅ coupon loading
30
+ const [success, setSuccess] = useState(false);
46
31
  const [error, setError] = useState('');
47
32
 
48
- // Load payment providers
33
+ // Fetch available providers
49
34
  const {
50
35
  result: providers,
51
36
  loading,
52
- error: providerError
37
+ error: providersError
53
38
  } = useAsync(async () => {
54
- try {
55
- const data = (await zezopay.payments.providers())?.data || [];
56
- const filtered = data.filter(p => allowedProviders.includes(p.provider));
57
- if (!filtered.length) {
58
- throw new Error('No supported payment providers available');
59
- }
60
- return filtered;
61
- } catch (err) {
62
- throw err;
63
- }
39
+ const data = (await client.payments.providers({
40
+ platform: Platform.OS
41
+ }))?.data || [];
42
+ const supported = data.filter(p => SUPPORTED_PROVIDERS.includes(p.provider));
43
+ if (!supported.length) throw new Error('No supported payment providers available');
44
+ return supported;
64
45
  }, [publicKey]);
65
46
 
66
- // Auto-select first provider
47
+ // Auto select first provider
67
48
  useEffect(() => {
68
- if (providers?.length && !selectedPayment) {
69
- setSelectedPayment(providers[0]?.provider);
70
- }
71
- }, [providers, selectedPayment]);
49
+ if (providers?.length && !provider) setProvider(providers?.[0]?.provider);
50
+ }, [providers, provider]);
72
51
 
73
- // Total price calculation
74
- const totalPrice = useMemo(() => {
75
- if (!summaryItems.length) return 0;
76
- return Number(summaryItems.reduce((sum, item) => {
52
+ // Cart totals
53
+ const totalAmount = useMemo(() => {
54
+ return cartItems.reduce((sum, item) => {
77
55
  let price = item.price || 0;
78
56
  if (item.discount) {
79
- if (typeof item.discount === 'number') {
80
- price = price * (100 - item.discount) / 100;
81
- } else if (item.discount.type === 'percentage') {
82
- price = price * (100 - item.discount.amount) / 100;
83
- } else if (item.discount.type === 'fixed') {
84
- price = Math.max(0, price - item.discount.amount); // Prevent negative prices
85
- }
57
+ if (typeof item.discount === 'number') price *= (100 - item.discount) / 100;else if (item.discount.type === 'percentage') price *= (100 - item.discount.amount) / 100;else if (item.discount.type === 'fixed') price = Math.max(0, price - item.discount.amount);
86
58
  }
87
59
  return sum + price;
88
- }, 0).toFixed(2));
89
- }, [summaryItems]);
90
-
91
- // Remove item from summary
92
- const removeItem = useCallback(id => {
93
- setSummaryItems(prev => prev.filter(item => item.id !== id));
94
- }, []);
60
+ }, 0);
61
+ }, [cartItems]);
62
+ const rawAmount = useMemo(() => cartItems.reduce((sum, item) => sum + (item.price || 0), 0), [cartItems]);
63
+ const removeItem = useCallback(id => setCartItems(prev => prev.filter(item => item.id !== id)), []);
95
64
 
96
65
  // Default checkout handler
97
- const defaultHandlePayment = useCallback(async ({
98
- provider,
66
+ const defaultHandler = useCallback(async ({
67
+ provider: checkoutProvider,
99
68
  subscriptionId: subId,
100
- digitalProductId: dpId,
101
- userInfo: paymentUserInfo
69
+ digitalProductId: prodId,
70
+ userInfo
102
71
  }) => {
103
- if (!provider || !allowedProviders.includes(provider)) {
104
- throw new Error(`Invalid payment provider: ${provider || 'none'}`);
105
- }
106
-
107
- // Common payload properties
72
+ if (!checkoutProvider || !SUPPORTED_PROVIDERS.includes(checkoutProvider)) throw new Error(`Invalid provider: ${checkoutProvider}`);
108
73
  const basePayload = {
109
- provider,
110
- userId: paymentUserInfo._id,
74
+ provider: checkoutProvider,
75
+ userId: userInfo._id,
111
76
  metadata: {
112
- userInfo: paymentUserInfo
77
+ userInfo,
78
+ ...(cartItems.length && {
79
+ summary: cartItems
80
+ })
113
81
  },
114
- ...(voucherCode && {
115
- coupon_code: voucherCode
116
- }) // Include coupon_code if provided
82
+ ...(coupon && {
83
+ coupon_code: coupon
84
+ })
117
85
  };
118
-
119
- // Construct payload based on type
120
86
  let payload;
121
- if (subId) {
122
- payload = {
123
- ...basePayload,
124
- type: 'subscription',
125
- subscriptionId: subId
126
- };
127
- } else if (dpId) {
128
- payload = {
129
- ...basePayload,
130
- type: 'digital-product',
131
- digitalProductId: dpId
132
- };
133
- } else {
134
- if (totalPrice <= 0) {
135
- throw new Error('Price must be greater than zero for normal payments');
136
- }
87
+ if (subId) payload = {
88
+ ...basePayload,
89
+ type: 'subscription',
90
+ subscriptionId: subId
91
+ };else if (prodId) payload = {
92
+ ...basePayload,
93
+ type: 'digital-product',
94
+ digitalProductId: prodId
95
+ };else {
96
+ if (rawAmount <= 0) throw new Error('Amount must be greater than zero');
137
97
  payload = {
138
98
  ...basePayload,
139
99
  type: 'normal',
140
- price: totalPrice
100
+ price: rawAmount
141
101
  };
142
102
  }
143
- try {
144
- const result = await zezopay.payments.checkout(payload);
145
- if (result.status !== 200) {
146
- throw new Error(`Checkout failed with status: ${result.status}`);
147
- }
148
- return result.data;
149
- } catch (err) {
150
- throw err;
151
- }
152
- }, [voucherCode, totalPrice, zezopay.payments]);
153
- const paymentFn = handlePayment || defaultHandlePayment;
103
+ const result = await client.payments.checkout({
104
+ ...payload,
105
+ ...(coupon && {
106
+ coupon_code: coupon
107
+ })
108
+ });
109
+ if (result.status !== 200) throw new Error(`Checkout failed with status ${result.status}`);
110
+ return result.data;
111
+ }, [coupon, client.payments, cartItems, rawAmount]);
112
+ const executePayment = customHandler || defaultHandler;
154
113
 
155
- // Payment handler
156
- const paymentHandler = useCallback(async order => {
157
- if (!selectedPayment) {
158
- throw new Error('No payment provider selected');
159
- }
160
- if (!order?.orderId || !order?.price || !order?.currency) {
161
- throw new Error('Invalid order details: missing orderId, price, or currency');
162
- }
163
- try {
164
- if (selectedPayment === 'razorpay') {
165
- const razorpay = new Razorpay();
166
- await razorpay.open({
167
- amount: order.price * 100,
168
- currency: order.currency,
169
- order_id: order.orderId,
170
- publicKey: order.publicKey || publicKey,
171
- // Fallback to publicKey
172
- handler(response) {
173
- if (response.razorpay_payment_id) {
174
- callback?.onSuccess?.({
175
- status: 'success',
176
- order_id: response.razorpay_order_id,
177
- signature: response.razorpay_signature,
178
- payment_id: response.razorpay_payment_id
179
- });
180
- setIsSuccess(true);
181
- setError('');
182
- } else {
183
- const err = new Error('Payment failed: No payment ID received');
184
- setError(err.message);
185
- callback?.onFailure?.(err);
186
- }
187
- },
188
- OnError(err) {
189
- const errorMessage = err?.description || err?.message || err?.details?.error?.description || 'Payment failed unexpectedly';
190
- setError(errorMessage);
191
- callback?.onFailure?.(err);
192
- },
193
- prefill: {
194
- user_email: userInfo.email,
195
- user_name: userInfo.name,
196
- user_phone: userInfo.phone
114
+ // Razorpay payment processor
115
+ const processPayment = useCallback(async order => {
116
+ if (!provider) throw new Error('No payment provider selected');
117
+ if (!order?.orderId || !order?.price || !order?.currency) throw new Error('Invalid order');
118
+ if (provider === 'razorpay') {
119
+ const razorpay = new Razorpay();
120
+ await razorpay.open({
121
+ amount: order.price * 100,
122
+ currency: order.currency,
123
+ order_id: order.orderId,
124
+ publicKey: order.publicKey || publicKey,
125
+ handler(response) {
126
+ if (response.razorpay_payment_id) {
127
+ callbacks?.onSuccess?.({
128
+ status: 'success',
129
+ order_id: response.razorpay_order_id,
130
+ signature: response.razorpay_signature,
131
+ payment_id: response.razorpay_payment_id
132
+ });
133
+ setSuccess(true);
134
+ setError('');
135
+ } else {
136
+ const err = new Error('Payment failed: missing payment ID');
137
+ setError(err.message);
138
+ callbacks?.onFailure?.(err);
197
139
  }
198
- });
199
- } else {
200
- throw new Error(`Unsupported payment provider: ${selectedPayment}`);
201
- }
140
+ },
141
+ OnError(err) {
142
+ const msg = err?.description || err?.message || err?.details?.error?.description || 'Payment failed';
143
+ setError(msg);
144
+ callbacks?.onFailure?.(err);
145
+ },
146
+ prefill: {
147
+ user_email: user.email,
148
+ user_name: user.name,
149
+ user_phone: user.phone
150
+ }
151
+ });
152
+ } else throw new Error(`Unsupported provider: ${provider}`);
153
+ }, [provider, user, callbacks, publicKey]);
154
+
155
+ // Apply coupon
156
+ const applyCoupon = useCallback(async code => {
157
+ if (!code) return;
158
+ setCouponLoading(true);
159
+ setError('');
160
+ try {
161
+ const res = await client.payments.verifyCoupon({
162
+ userId: user._id,
163
+ code
164
+ });
165
+ const data = res?.data?.data;
166
+ if (!data || res.status !== 200) return setError(res?.data?.message || 'Invalid or expired coupon');
167
+ if (data.type === 'percentage') setCartItems(prev => prev.map(item => ({
168
+ ...item,
169
+ discount: {
170
+ type: 'percentage',
171
+ amount: data.discount
172
+ }
173
+ })));else if (data.type === 'amount') setCartItems(prev => prev.map((item, i) => i === 0 ? {
174
+ ...item,
175
+ discount: {
176
+ type: 'fixed',
177
+ amount: data.discount
178
+ }
179
+ } : item));
180
+ setCoupon(code);
202
181
  } catch (err) {
203
- throw err;
182
+ setError(err?.message || 'Coupon verification failed');
183
+ } finally {
184
+ setCouponLoading(false);
204
185
  }
205
- }, [selectedPayment, userInfo, callback, publicKey]);
186
+ }, [client.payments, user._id]);
206
187
 
207
- // Handle pay now
208
- const handlePayNow = useCallback(async () => {
209
- if (isProcessing) return; // Prevent multiple submissions
210
- if (!selectedPayment) {
211
- setError('Please select a payment provider');
212
- return;
213
- }
214
- if (!summaryItems.length) {
215
- setError('Cart is empty. Add items to proceed.');
216
- return;
217
- }
218
- if (totalPrice <= 0) {
219
- setError('Total price must be greater than zero');
220
- return;
221
- }
188
+ // Remove coupon
189
+ const removeCoupon = useCallback(() => {
190
+ setCoupon('');
191
+ setCartItems(prev => prev.map(item => ({
192
+ ...item,
193
+ discount: undefined
194
+ })));
222
195
  setError('');
223
- setIsProcessing(true); // ✅ Set processing to true at the start
196
+ }, []);
224
197
 
198
+ // Pay now
199
+ const payNow = useCallback(async () => {
200
+ if (loadingPayment) return;
201
+ if (!provider) return setError('Select a payment provider');
202
+ if (!cartItems.length) return setError('Cart is empty');
203
+ if (totalAmount <= 0) return setError('Amount must be greater than zero');
204
+ setError('');
205
+ setLoadingPayment(true);
225
206
  try {
226
- const order = await paymentFn({
227
- provider: selectedPayment,
207
+ const order = await executePayment({
208
+ provider,
228
209
  subscriptionId,
229
- digitalProductId,
230
- userInfo
210
+ digitalProductId: productId,
211
+ userInfo: user,
212
+ metadata: {
213
+ userInfo: user,
214
+ ...(cartItems.length && {
215
+ summary: cartItems
216
+ })
217
+ }
231
218
  });
232
- if (!order) {
233
- const err = new Error('No order data returned from checkout');
234
- setError(err.message);
235
- callback?.onError?.(err);
236
- return;
237
- }
238
- await paymentHandler(order);
219
+ if (!order) throw new Error('No order data returned');
220
+ await processPayment(order);
239
221
  } catch (err) {
240
- const errorMessage = err.message || 'Payment failed unexpectedly';
241
- setError(errorMessage);
242
- callback?.onError?.(err);
222
+ setError(err.message || 'Payment failed');
223
+ callbacks?.onError?.(err);
243
224
  } finally {
244
- setIsProcessing(false);
225
+ setLoadingPayment(false);
245
226
  }
246
- }, [isProcessing, selectedPayment, summaryItems, totalPrice, paymentFn, subscriptionId, digitalProductId, userInfo, paymentHandler, callback]);
227
+ }, [loadingPayment, provider, cartItems, totalAmount, executePayment, subscriptionId, productId, user, processPayment, callbacks]);
247
228
  return {
248
- selectedPayment,
249
- setSelectedPayment,
250
- summaryItems,
251
- setSummaryItems,
252
- totalPrice,
253
- voucherCode,
254
- setVoucherCode,
255
- isProcessing,
256
- isSuccess,
229
+ provider,
230
+ setProvider,
231
+ cartItems,
232
+ setCartItems,
233
+ totalAmount,
234
+ coupon,
235
+ setCoupon,
236
+ couponLoading,
237
+ removeCoupon,
238
+ loadingPayment,
239
+ success,
257
240
  error,
258
241
  providers: providers || [],
259
242
  loading,
260
- providerError,
243
+ providersError,
261
244
  removeItem,
262
- handlePayNow
245
+ payNow,
246
+ applyCoupon
263
247
  };
264
248
  };
265
249
  //# sourceMappingURL=useZezoPay.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useState","useAsync","ZezoPayClient","Platform","Razorpay","allowedProviders","useZezoPay","publicKey","userInfo","subscriptionId","digitalProductId","summaryItems","initialItems","handlePayment","callback","Error","_id","name","zezopay","platform","OS","selectedPayment","setSelectedPayment","setSummaryItems","voucherCode","setVoucherCode","isProcessing","setIsProcessing","isSuccess","setIsSuccess","error","setError","result","providers","loading","providerError","data","payments","filtered","filter","p","includes","provider","length","err","totalPrice","Number","reduce","sum","item","price","discount","type","amount","Math","max","toFixed","removeItem","id","prev","defaultHandlePayment","subId","dpId","paymentUserInfo","basePayload","userId","metadata","coupon_code","payload","checkout","status","paymentFn","paymentHandler","order","orderId","currency","razorpay","open","order_id","handler","response","razorpay_payment_id","onSuccess","razorpay_order_id","signature","razorpay_signature","payment_id","message","onFailure","OnError","errorMessage","description","details","prefill","user_email","email","user_name","user_phone","phone","handlePayNow","onError"],"sourceRoot":"../../../../../src","sources":["ZezoPay/utils/hooks/useZezoPay.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useState","useAsync","ZezoPayClient","Razorpay","Platform","SUPPORTED_PROVIDERS","useZezoPay","publicKey","user","subscriptionId","productId","cart","initialCart","paymentHandler","customHandler","callbacks","Error","_id","name","client","provider","setProvider","cartItems","setCartItems","coupon","setCoupon","loadingPayment","setLoadingPayment","couponLoading","setCouponLoading","success","setSuccess","error","setError","result","providers","loading","providersError","data","payments","platform","OS","supported","filter","p","includes","length","totalAmount","reduce","sum","item","price","discount","type","amount","Math","max","rawAmount","removeItem","id","prev","defaultHandler","checkoutProvider","subId","digitalProductId","prodId","userInfo","basePayload","userId","metadata","summary","coupon_code","payload","checkout","status","executePayment","processPayment","order","orderId","currency","razorpay","open","order_id","handler","response","razorpay_payment_id","onSuccess","razorpay_order_id","signature","razorpay_signature","payment_id","err","message","onFailure","OnError","msg","description","details","prefill","user_email","email","user_name","user_phone","phone","applyCoupon","code","res","verifyCoupon","map","i","removeCoupon","undefined","payNow","onError"],"sourceRoot":"../../../../../src","sources":["ZezoPay/utils/hooks/useZezoPay.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ZezoPay.d.ts","sourceRoot":"","sources":["../../../../src/ZezoPay/ZezoPay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA8GnC,CAAC;AA4CF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"ZezoPay.d.ts","sourceRoot":"","sources":["../../../../src/ZezoPay/ZezoPay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQ5C,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAkInC,CAAC;AA4CF,eAAe,OAAO,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { PaymentProviderData } from '@zezosoft/zezopay-client';
2
1
  import React from 'react';
2
+ import type { IReadyPaymentProvider } from '../http/api-sdk';
3
3
  interface PaymentMethodProps {
4
- providers: PaymentProviderData[];
4
+ providers: IReadyPaymentProvider[];
5
5
  selectedProvider: string | null;
6
6
  onProviderChange: (provider: string) => void;
7
7
  isLoading?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethod.d.ts","sourceRoot":"","sources":["../../../../../src/ZezoPay/components/PaymentMethod.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,UAAU,kBAAkB;IAC1B,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;;AA2PD,wBAAmC"}
1
+ {"version":3,"file":"PaymentMethod.d.ts","sourceRoot":"","sources":["../../../../../src/ZezoPay/components/PaymentMethod.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,UAAU,kBAAkB;IAC1B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;;AA2PD,wBAAmC"}
@@ -1,4 +1,4 @@
1
- import type { ISummaryItem } from '@zezosoft/zezopay-client';
1
+ import type { ISummaryItem } from '../types';
2
2
  export declare const Summary: ({ items, displayCurrency, onRemoveItem, }: {
3
3
  items: ISummaryItem[];
4
4
  displayCurrency?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Summary.d.ts","sourceRoot":"","sources":["../../../../../src/ZezoPay/components/Summary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,eAAO,MAAM,OAAO,8CAIjB;IACD,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CACjD,4CA4FA,CAAC"}
1
+ {"version":3,"file":"Summary.d.ts","sourceRoot":"","sources":["../../../../../src/ZezoPay/components/Summary.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,8CAIjB;IACD,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CACjD,4CA4FA,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import React from 'react';
2
2
  interface VoucherBoxProps {
3
- voucher: string;
4
- setVoucher: (v: string) => void;
5
- onApply?: () => void;
3
+ onApply?: ({ voucherCode }: {
4
+ voucherCode: string;
5
+ }) => void;
6
+ loading?: boolean;
7
+ couponApplied?: boolean;
8
+ onRemove?: () => void;
6
9
  }
7
10
  declare const VoucherBox: React.FC<VoucherBoxProps>;
8
11
  export default VoucherBox;
@@ -1 +1 @@
1
- {"version":3,"file":"VoucherBox.d.ts","sourceRoot":"","sources":["../../../../../src/ZezoPay/components/VoucherBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4CzC,CAAC;AA6DF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"VoucherBox.d.ts","sourceRoot":"","sources":["../../../../../src/ZezoPay/components/VoucherBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4EzC,CAAC;AA6EF,eAAe,UAAU,CAAC"}