@fiddupay/fiddupay-node 2.4.4 → 2.4.6

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 (94) hide show
  1. package/README.md +33 -2
  2. package/dist/src/client.d.ts +19 -0
  3. package/dist/src/client.d.ts.map +1 -0
  4. package/dist/src/client.js +148 -0
  5. package/dist/src/client.js.map +1 -0
  6. package/dist/src/errors/index.d.ts +28 -0
  7. package/dist/src/errors/index.d.ts.map +1 -0
  8. package/dist/src/errors/index.js +59 -0
  9. package/dist/src/errors/index.js.map +1 -0
  10. package/dist/src/index.d.ts +41 -0
  11. package/dist/src/index.d.ts.map +1 -0
  12. package/dist/src/index.js +98 -0
  13. package/dist/src/index.js.map +1 -0
  14. package/dist/src/resources/analytics.d.ts +23 -0
  15. package/dist/src/resources/analytics.d.ts.map +1 -0
  16. package/dist/src/resources/analytics.js +36 -0
  17. package/dist/src/resources/analytics.js.map +1 -0
  18. package/dist/src/resources/balances.d.ts +23 -0
  19. package/dist/src/resources/balances.d.ts.map +1 -0
  20. package/dist/src/resources/balances.js +54 -0
  21. package/dist/src/resources/balances.js.map +1 -0
  22. package/dist/src/resources/contact.d.ts +19 -0
  23. package/dist/src/resources/contact.d.ts.map +1 -0
  24. package/dist/src/resources/contact.js +17 -0
  25. package/dist/src/resources/contact.js.map +1 -0
  26. package/dist/src/resources/customers.d.ts +104 -0
  27. package/dist/src/resources/customers.d.ts.map +1 -0
  28. package/dist/src/resources/customers.js +106 -0
  29. package/dist/src/resources/customers.js.map +1 -0
  30. package/dist/src/resources/invoices.d.ts +14 -0
  31. package/dist/src/resources/invoices.d.ts.map +1 -0
  32. package/dist/src/resources/invoices.js +19 -0
  33. package/dist/src/resources/invoices.js.map +1 -0
  34. package/dist/src/resources/merchants.d.ts +102 -0
  35. package/dist/src/resources/merchants.d.ts.map +1 -0
  36. package/dist/src/resources/merchants.js +104 -0
  37. package/dist/src/resources/merchants.js.map +1 -0
  38. package/dist/src/resources/payments.d.ts +71 -0
  39. package/dist/src/resources/payments.d.ts.map +1 -0
  40. package/dist/src/resources/payments.js +206 -0
  41. package/dist/src/resources/payments.js.map +1 -0
  42. package/dist/src/resources/refunds.d.ts +31 -0
  43. package/dist/src/resources/refunds.d.ts.map +1 -0
  44. package/dist/src/resources/refunds.js +66 -0
  45. package/dist/src/resources/refunds.js.map +1 -0
  46. package/dist/src/resources/sandbox.d.ts +11 -0
  47. package/dist/src/resources/sandbox.d.ts.map +1 -0
  48. package/dist/src/resources/sandbox.js +16 -0
  49. package/dist/src/resources/sandbox.js.map +1 -0
  50. package/dist/src/resources/security.d.ts +56 -0
  51. package/dist/src/resources/security.d.ts.map +1 -0
  52. package/dist/src/resources/security.js +70 -0
  53. package/dist/src/resources/security.js.map +1 -0
  54. package/dist/src/resources/transactions.d.ts +25 -0
  55. package/dist/src/resources/transactions.d.ts.map +1 -0
  56. package/dist/src/resources/transactions.js +21 -0
  57. package/dist/src/resources/transactions.js.map +1 -0
  58. package/dist/src/resources/wallets.d.ts +64 -0
  59. package/dist/src/resources/wallets.d.ts.map +1 -0
  60. package/dist/src/resources/wallets.js +78 -0
  61. package/dist/src/resources/wallets.js.map +1 -0
  62. package/dist/src/resources/webhooks.d.ts +17 -0
  63. package/dist/src/resources/webhooks.d.ts.map +1 -0
  64. package/dist/src/resources/webhooks.js +130 -0
  65. package/dist/src/resources/webhooks.js.map +1 -0
  66. package/dist/src/resources/withdrawals.d.ts +39 -0
  67. package/dist/src/resources/withdrawals.d.ts.map +1 -0
  68. package/dist/src/resources/withdrawals.js +69 -0
  69. package/dist/src/resources/withdrawals.js.map +1 -0
  70. package/dist/src/types/index.d.ts +531 -0
  71. package/dist/src/types/index.d.ts.map +1 -0
  72. package/dist/src/types/index.js +8 -0
  73. package/dist/src/types/index.js.map +1 -0
  74. package/dist/tests/error-handling.test.d.ts +2 -0
  75. package/dist/tests/error-handling.test.d.ts.map +1 -0
  76. package/dist/tests/error-handling.test.js +168 -0
  77. package/dist/tests/error-handling.test.js.map +1 -0
  78. package/dist/tests/fiddupay.test.d.ts +2 -0
  79. package/dist/tests/fiddupay.test.d.ts.map +1 -0
  80. package/dist/tests/fiddupay.test.js +336 -0
  81. package/dist/tests/fiddupay.test.js.map +1 -0
  82. package/dist/tests/sdk-integration.test.d.ts +2 -0
  83. package/dist/tests/sdk-integration.test.d.ts.map +1 -0
  84. package/dist/tests/sdk-integration.test.js +229 -0
  85. package/dist/tests/sdk-integration.test.js.map +1 -0
  86. package/dist/tests/setup.d.ts +2 -0
  87. package/dist/tests/setup.d.ts.map +1 -0
  88. package/dist/tests/setup.js +22 -0
  89. package/dist/tests/setup.js.map +1 -0
  90. package/dist/tests/webhooks.test.d.ts +2 -0
  91. package/dist/tests/webhooks.test.d.ts.map +1 -0
  92. package/dist/tests/webhooks.test.js +63 -0
  93. package/dist/tests/webhooks.test.js.map +1 -0
  94. package/package.json +1 -1
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const src_1 = __importDefault(require("../src"));
7
+ const errors_1 = require("../src/errors");
8
+ describe('FidduPay SDK - Integration Test Suite', () => {
9
+ let client;
10
+ beforeAll(() => {
11
+ client = new src_1.default({
12
+ apiKey: 'sk_sandbox_integration_key',
13
+ environment: 'sandbox',
14
+ timeout: 30000
15
+ });
16
+ });
17
+ describe('Client Initialization', () => {
18
+ it('should create client with valid configuration', () => {
19
+ expect(client).toBeInstanceOf(src_1.default);
20
+ expect(client.payments).toBeDefined();
21
+ expect(client.merchants).toBeDefined();
22
+ expect(client.refunds).toBeDefined();
23
+ expect(client.wallets).toBeDefined();
24
+ expect(client.analytics).toBeDefined();
25
+ expect(client.security).toBeDefined();
26
+ expect(client.withdrawals).toBeDefined();
27
+ expect(client.sandbox).toBeDefined();
28
+ expect(client.webhooks).toBeDefined();
29
+ });
30
+ it('should validate API key format', () => {
31
+ expect(() => {
32
+ new src_1.default({ apiKey: 'invalid_key' });
33
+ }).toThrow(errors_1.FidduPayValidationError);
34
+ });
35
+ it('should accept valid API key formats', () => {
36
+ expect(() => {
37
+ new src_1.default({ apiKey: 'sk_sandbox_valid_key' });
38
+ }).not.toThrow();
39
+ expect(() => {
40
+ new src_1.default({ apiKey: 'sk_live_valid_key' });
41
+ }).not.toThrow();
42
+ });
43
+ });
44
+ describe('Resource Availability', () => {
45
+ it('should have all payment methods available', () => {
46
+ expect(typeof client.payments.create).toBe('function');
47
+ expect(typeof client.payments.retrieve).toBe('function');
48
+ expect(typeof client.payments.list).toBe('function');
49
+ expect(typeof client.payments.createAddressOnly).toBe('function');
50
+ });
51
+ it('should have all merchant methods available', () => {
52
+ expect(typeof client.merchants.register).toBe('function');
53
+ expect(typeof client.merchants.rotateApiKey).toBe('function');
54
+ expect(typeof client.merchants.switchEnvironment).toBe('function');
55
+ expect(typeof client.merchants.getBalance).toBe('function');
56
+ expect(typeof client.merchants.updateSettings).toBe('function');
57
+ expect(typeof client.merchants.getSettings).toBe('function');
58
+ });
59
+ it('should have all refund methods available', () => {
60
+ expect(typeof client.refunds.create).toBe('function');
61
+ expect(typeof client.refunds.retrieve).toBe('function');
62
+ expect(typeof client.refunds.list).toBe('function');
63
+ });
64
+ it('should have all wallet methods available', () => {
65
+ expect(typeof client.wallets.setup).toBe('function');
66
+ expect(typeof client.wallets.checkGasRequirements).toBe('function');
67
+ expect(typeof client.wallets.gasCheck).toBe('function');
68
+ expect(typeof client.wallets.revoke).toBe('function');
69
+ });
70
+ it('should have all analytics methods available', () => {
71
+ expect(typeof client.analytics.export).toBe('function');
72
+ });
73
+ it('should have all security methods available', () => {
74
+ expect(typeof client.security.getEvents).toBe('function');
75
+ expect(typeof client.security.getAlerts).toBe('function');
76
+ expect(typeof client.security.acknowledgeAlert).toBe('function');
77
+ expect(typeof client.security.getSettings).toBe('function');
78
+ expect(typeof client.security.updateSettings).toBe('function');
79
+ });
80
+ it('should have all withdrawal methods available', () => {
81
+ expect(typeof client.withdrawals.create).toBe('function');
82
+ expect(typeof client.withdrawals.list).toBe('function');
83
+ expect(typeof client.withdrawals.cancel).toBe('function');
84
+ });
85
+ it('should have all sandbox methods available', () => {
86
+ expect(typeof client.sandbox.simulatePayment).toBe('function');
87
+ });
88
+ it('should have all webhook methods available', () => {
89
+ expect(typeof client.webhooks.verifySignature).toBe('function');
90
+ expect(typeof client.webhooks.constructEvent).toBe('function');
91
+ expect(typeof client.webhooks.generateSignature).toBe('function');
92
+ });
93
+ });
94
+ describe('Configuration Validation', () => {
95
+ it('should handle different environment settings', () => {
96
+ const sandboxClient = new src_1.default({
97
+ apiKey: 'sk_sandbox_sandbox',
98
+ environment: 'sandbox'
99
+ });
100
+ expect(sandboxClient).toBeInstanceOf(src_1.default);
101
+ const prodClient = new src_1.default({
102
+ apiKey: 'live_production_key',
103
+ environment: 'production'
104
+ });
105
+ expect(prodClient).toBeInstanceOf(src_1.default);
106
+ });
107
+ it('should handle custom timeout settings', () => {
108
+ const customClient = new src_1.default({
109
+ apiKey: 'sk_sandbox_custom',
110
+ timeout: 60000
111
+ });
112
+ expect(customClient).toBeInstanceOf(src_1.default);
113
+ });
114
+ it('should handle custom base URL', () => {
115
+ const customClient = new src_1.default({
116
+ apiKey: 'sk_sandbox_custom',
117
+ baseURL: 'https://custom.api.fiddupay.com'
118
+ });
119
+ expect(customClient).toBeInstanceOf(src_1.default);
120
+ });
121
+ });
122
+ describe('Error Handling', () => {
123
+ it('should throw validation error for missing API key', () => {
124
+ expect(() => {
125
+ new src_1.default({});
126
+ }).toThrow(errors_1.FidduPayValidationError);
127
+ });
128
+ it('should throw validation error for invalid API key format', () => {
129
+ expect(() => {
130
+ new src_1.default({ apiKey: 'invalid' });
131
+ }).toThrow(errors_1.FidduPayValidationError);
132
+ });
133
+ it('should throw validation error for empty API key', () => {
134
+ expect(() => {
135
+ new src_1.default({ apiKey: '' });
136
+ }).toThrow(errors_1.FidduPayValidationError);
137
+ });
138
+ });
139
+ describe('Type Safety', () => {
140
+ it('should enforce correct crypto types', () => {
141
+ const validCryptoTypes = ['SOL', 'ETH', 'BNB', 'MATIC', 'ARB', 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL'];
142
+ validCryptoTypes.forEach(cryptoType => {
143
+ expect(() => {
144
+ const paymentData = {
145
+ amount_usd: '100.00',
146
+ crypto_type: cryptoType,
147
+ description: 'Test payment'
148
+ };
149
+ // This should not throw a validation error for valid crypto types
150
+ expect(paymentData.crypto_type).toBe(cryptoType);
151
+ }).not.toThrow();
152
+ });
153
+ });
154
+ it('should enforce correct payment status types', () => {
155
+ const validStatuses = ['PENDING', 'CONFIRMING', 'CONFIRMED', 'FAILED', 'EXPIRED'];
156
+ validStatuses.forEach(status => {
157
+ expect(validStatuses).toContain(status);
158
+ });
159
+ });
160
+ });
161
+ describe('SDK Coverage', () => {
162
+ it('should cover all major resource categories', () => {
163
+ const expectedResources = [
164
+ 'payments',
165
+ 'merchants',
166
+ 'refunds',
167
+ 'wallets',
168
+ 'analytics',
169
+ 'security',
170
+ 'withdrawals',
171
+ 'sandbox',
172
+ 'webhooks'
173
+ ];
174
+ expectedResources.forEach(resource => {
175
+ expect(client).toHaveProperty(resource);
176
+ expect(client[resource]).toBeDefined();
177
+ });
178
+ });
179
+ it('should provide comprehensive payment operations', () => {
180
+ const paymentMethods = ['create', 'retrieve', 'list', 'createAddressOnly'];
181
+ paymentMethods.forEach(method => {
182
+ expect(client.payments).toHaveProperty(method);
183
+ expect(typeof client.payments[method]).toBe('function');
184
+ });
185
+ });
186
+ it('should provide comprehensive merchant operations', () => {
187
+ const merchantMethods = ['register', 'rotateApiKey', 'switchEnvironment', 'getBalance', 'updateSettings'];
188
+ merchantMethods.forEach(method => {
189
+ expect(client.merchants).toHaveProperty(method);
190
+ expect(typeof client.merchants[method]).toBe('function');
191
+ });
192
+ });
193
+ it('should provide webhook utilities', () => {
194
+ const webhookMethods = ['verifySignature', 'constructEvent', 'generateSignature'];
195
+ webhookMethods.forEach(method => {
196
+ expect(client.webhooks).toHaveProperty(method);
197
+ expect(typeof client.webhooks[method]).toBe('function');
198
+ });
199
+ });
200
+ });
201
+ describe('Mock Integration Tests', () => {
202
+ it('should handle successful API responses', async () => {
203
+ // Mock a successful payment creation
204
+ const mockPayment = {
205
+ payment_id: 'pay_test_123',
206
+ status: 'PENDING',
207
+ amount_usd: '100.00',
208
+ crypto_amount: '0.05',
209
+ crypto_type: 'ETH',
210
+ deposit_address: '0x123...',
211
+ created_at: new Date().toISOString(),
212
+ expires_at: new Date().toISOString()
213
+ };
214
+ // This test validates the structure without making actual API calls
215
+ expect(mockPayment.payment_id).toBe('pay_test_123');
216
+ expect(mockPayment.status).toBe('PENDING');
217
+ expect(mockPayment.crypto_type).toBe('ETH');
218
+ });
219
+ it('should handle error responses appropriately', () => {
220
+ // Test error handling structure
221
+ const mockError = new errors_1.FidduPayAPIError('Test error', 400, 'VALIDATION_ERROR');
222
+ expect(mockError).toBeInstanceOf(errors_1.FidduPayAPIError);
223
+ expect(mockError.message).toBe('Test error');
224
+ expect(mockError.statusCode).toBe(400);
225
+ expect(mockError.code).toBe('VALIDATION_ERROR');
226
+ });
227
+ });
228
+ });
229
+ //# sourceMappingURL=sdk-integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-integration.test.js","sourceRoot":"","sources":["../../tests/sdk-integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const globals_1 = require("@jest/globals");
4
+ // Mock axios to prevent actual HTTP requests
5
+ const mockAxios = {
6
+ create: globals_1.jest.fn(() => ({
7
+ request: globals_1.jest.fn(() => Promise.resolve({
8
+ data: { success: true },
9
+ status: 200,
10
+ statusText: 'OK',
11
+ headers: {},
12
+ config: {}
13
+ })),
14
+ interceptors: {
15
+ request: { use: globals_1.jest.fn() },
16
+ response: { use: globals_1.jest.fn() }
17
+ }
18
+ })),
19
+ isAxiosError: globals_1.jest.fn(() => false)
20
+ };
21
+ globals_1.jest.mock('axios', () => mockAxios);
22
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":";;AAAA,2CAAqC;AAErC,6CAA6C;AAC7C,MAAM,SAAS,GAAQ;IACnB,MAAM,EAAE,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;SACb,CAAC,CAAC;QACH,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,cAAI,CAAC,EAAE,EAAE,EAAE;YAC3B,QAAQ,EAAE,EAAE,GAAG,EAAE,cAAI,CAAC,EAAE,EAAE,EAAE;SAC/B;KACJ,CAAC,CAAC;IACH,YAAY,EAAE,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;CACrC,CAAC;AAEF,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=webhooks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.test.d.ts","sourceRoot":"","sources":["../../tests/webhooks.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const webhooks_1 = require("../src/resources/webhooks");
4
+ const errors_1 = require("../src/errors");
5
+ describe('Webhooks', () => {
6
+ const secret = 'whsec_test123';
7
+ const payload = JSON.stringify({
8
+ id: 'evt_test123',
9
+ type: 'payment.confirmed',
10
+ data: {
11
+ payment_id: 'pay_test123',
12
+ status: 'CONFIRMED'
13
+ },
14
+ created_at: '2026-01-25T12:00:00Z'
15
+ });
16
+ describe('generateSignature', () => {
17
+ it('should generate valid signature', () => {
18
+ const signature = webhooks_1.Webhooks.generateSignature(payload, secret);
19
+ expect(signature).toMatch(/^t=\d+,v1=[a-f0-9]{64}$/);
20
+ });
21
+ });
22
+ describe('verifySignature', () => {
23
+ it('should verify valid signature', () => {
24
+ const signature = webhooks_1.Webhooks.generateSignature(payload, secret);
25
+ const isValid = webhooks_1.Webhooks.verifySignature(payload, signature, secret);
26
+ expect(isValid).toBe(true);
27
+ });
28
+ it('should reject invalid signature', () => {
29
+ const invalidSignature = 't=1234567890,v1=invalid';
30
+ const isValid = webhooks_1.Webhooks.verifySignature(payload, invalidSignature, secret);
31
+ expect(isValid).toBe(false);
32
+ });
33
+ it('should reject expired signature', () => {
34
+ const oldTimestamp = Math.floor(Date.now() / 1000) - 400; // 400 seconds ago
35
+ const signature = `t=${oldTimestamp},v1=somehash`;
36
+ const isValid = webhooks_1.Webhooks.verifySignature(payload, signature, secret, 300);
37
+ expect(isValid).toBe(false);
38
+ });
39
+ });
40
+ describe('constructEvent', () => {
41
+ it('should construct valid webhook event', () => {
42
+ const signature = webhooks_1.Webhooks.generateSignature(payload, secret);
43
+ const event = webhooks_1.Webhooks.constructEvent(payload, signature, secret);
44
+ expect(event.id).toBe('evt_test123');
45
+ expect(event.type).toBe('payment.confirmed');
46
+ expect(event.data).toBeDefined();
47
+ });
48
+ it('should throw error for invalid signature', () => {
49
+ const invalidSignature = 't=1234567890,v1=invalid';
50
+ expect(() => {
51
+ webhooks_1.Webhooks.constructEvent(payload, invalidSignature, secret);
52
+ }).toThrow(errors_1.FidduPayError);
53
+ });
54
+ it('should throw error for invalid payload', () => {
55
+ const invalidPayload = 'invalid json';
56
+ const signature = webhooks_1.Webhooks.generateSignature(invalidPayload, secret);
57
+ expect(() => {
58
+ webhooks_1.Webhooks.constructEvent(invalidPayload, signature, secret);
59
+ }).toThrow(errors_1.FidduPayError);
60
+ });
61
+ });
62
+ });
63
+ //# sourceMappingURL=webhooks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.test.js","sourceRoot":"","sources":["../../tests/webhooks.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiddupay/fiddupay-node",
3
- "version": "2.4.4",
3
+ "version": "2.4.6",
4
4
  "description": "Official Node.js SDK for FidduPay cryptocurrency payment gateway",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",